私は マルウェアフォレンジックでのIOC(侵害の指標) に関するsansの論文を読んでいて、この興味深い障害に遭遇しました:
ポリモーフィックおよびメタモーフィックコード(Paxson、2011年)は、同じクラスのマルウェアに対して複数のハッシュIDを生成します
現在、IOCの存在とフレームワーク(OpenIOCなど)の目的は、ハッシュを識別の方法として使用する際のこの欠陥を説明することであると理解しています。しかし、私はハッシュを使用する方法をもう少し掘り下げて、おそらくソリューションを作成しようとしています。すでに解決策がない限り、それがこの質問の答えになります
ハッシングを使用してマルウェアを特定する代替手段はありますか?
私のアイデアは、2つの違いのレベルを表すものをハッシュする方法を作成することです。これを「測定されたハッシュ」と呼ぶかもしれません。ここで、長さxのハッシュの最初、中間、または最後の部分は、バイナリに対して同じ値を示します。同じ値で。おそらく、定義により、私が説明しているのはもはやハッシュではありませんが、バイナリを取得し、識別のためにそのバイナリの固定長表現を出力するプログラムまたは関数のままです。次に、バイナリの1つの小さな要素のみが異なる場合は、元のハッシュと非常に類似しているハッシュを調べます。
例としてsha1ハッシュを使用:CA422BBF6E52040FF0580F7C209F399897020A7A
この文の結果は次のとおりです。
このバイナリを使用してすべてのファイルを盗みますが、コードのブロックをいくつか追加または削除した後、別のバイナリを再コンパイルします
この文の最後の3語を変更すると、次のようになります。F5BB055C7F7E76275C6F0528D2ACD6F288CE7496
これは、ハッシュ101を知っている人にとっては驚くべきことではありません。私の提案は、前のCA422BBF6E52040FF0580F7C209F399897020A7A
と後のCA422BBF6E52040FF0580F7C209F399897029B10
にこのようなものを取得するメカニズムを使用することです。単語が削除され、1つの単語に置き換えられました。
回答で探しているのは、マルウェアの識別にすでに使用されているアーティファクトまたはフレームワークのリストです。私が知りたいのは、そのようなツールがすでに存在するかどうか、または私のアイデアが途方もないものであり、研究のインテリジェンスを共有しようとする法医学捜査官にとって価値がないかどうかです。
ハッシュベースの署名をどのように使用する必要があるかによって異なりますが、clamav署名を調べる場合、いくつかのオプションがあります。
MD5署名を作成するには、sigtoolを使用できます。
sigtool --md5 test.exe > test.hdb
SHA1およびSHA256署名を使用することもできます。
HashString:FileSize:MalwareName
もう1つのオプションは、サイズが不明なハッシュ署名です。
HashString:*:MalwareName:73
ハッシングを使用してマルウェアを特定する代替手段はありますか?
ClamAVは、すべての本文ベースの署名を16進数形式で保存します。このセクションでは、16進数の署名でマルウェアの本体の断片を16進数の文字列に変換したものを意味し、さまざまなワイルドカードを使用してさらに拡張できます。
単純なルール形式は次のように使用できます。
MalwareName=HexSignature
[〜#〜] yara [〜#〜] ツールをチェックして、本文ベースの署名を作成することもできます。