ファジーハッシュとは【用語集詳細】
ファジー・ハッシュ(Fuzzy Hash)は、近似する入力値に対して、近似するハッシュ値(メッセージ・ダイジェスト)を出力するハッシュ関数です。
Context Triggered Piecewise Hashing(CTPH)とも呼ばれます。
一般的なハッシュ関数と同じく一方向性であるため、ハッシュ値から入力値を推測することはできません。しかし、通常用いられるMD5やSHA1、SHA2が、入力の変更に対して完全に異なるハッシュ値を生成するのに対し、ファジー・ハッシュは入力値が近似している場合、生成されるハッシュ値も似たものとなります。
ファジー・ハッシュは、主にマルウェア検知や解析分野で用いられています。
一般的なマルウェアの特定は、マルウェアのファイルハッシュを利用します。この場合、ファイルハッシュが同一である場合、同一のマルウェアであることがわかります。
しかし攻撃者はマルウェア検知を回避するために、内部コードを変えたり、ポリモーフィック性を持たせることでマルウェアを常に変質させることで、シグネチャによる特定を妨害します。
ファジー・ハッシュは、類似するファイルに対しては類似するハッシュ値を生成するため、マルウェアの亜種や変型を検知することができます。また、機械学習などの技術と合わせて、セキュリティ対策に活用されています。
ファジー・ハッシュアルゴリズムにはssdeepなどがあります。