Slide 1

Slide 1 text

ファジーハッシュについて 宮本

Slide 2

Slide 2 text

ファジーハッシュ:類似マルウェアへ対応するために 従来のハッシュの問題点: 4バイトだけ異なる2つのマルウェア検体。ハッシュを計算すると全く違う値。 4バイトをランダムに書き換えて新しいマルウェアを大量に作成する場合、 作成可能なハッシュの異なるマルウェアの数は、2564=約43億通り。 →ハッシュ値を使ったレピュテーションで対応するのは困難→ファジーハッシュ 2

Slide 3

Slide 3 text

VirusTotalでもファジーハッシュ ファイルの類似を調べる ssdeep:ファジーハッシュ →ファイルの全体的な類似 authentihash,imphash →実行ファイルの部分一致 ssdeep 3

Slide 4

Slide 4 text

ssdeep値のフォーマット 「:」が区切り目 「:」が区切り目 3×2nで表すブロックサイズ 64未満分割チェックサム連結値 32未満分割チェックサム連結 値 イメージ 図 ファイルを分割し、各分割ブロックごとに1文字のチェックサムを出して連結する ファイルが類似していると、結果も類似するという特徴 ファイル チェックサム 連結値 4

Slide 5

Slide 5 text

使用例 4つのマルウェア検体(イメージ) ほぼ共通だけど、最後の0.3%だけランダム文字列な4検体 5

Slide 6

Slide 6 text

VirusTotalで「追加情報」を確認してみると ファイル1 ファイル2 ファイル3 ファイル4 6

Slide 7

Slide 7 text

ssdeepだけ拡大 ファイル1のssdeep値 3072:5f2+b0QUvhzaW3LYZmhjU6zloI4b4eI4weQ50zGQS2Qmuuy2Fw7deCkTu6bFp: V8p57YZ8jUMlrb3e807QPxjy1 ファイル2のssdeep値 3072:5f2+b0QUvhzaW3LYZmhjU6zloI4b4eI4weQ50zGQS2Qmuuy2Fw7deCkTu6bFR: V8p57YZ8jUMlrb3e807QPxjyF ファイル3のssdeep値 3072:5f2+b0QUvhzaW3LYZmhjU6zloI4b4eI4weQ50zGQS2Qmuuy2Fw7deCkTu6bFH: V8p57YZ8jUMlrb3e807QPxjyr ファイル4のssdeep値 3072:5f2+b0QUvhzaW3LYZmhjU6zloI4b4eI4weQ50zGQS2Qmuuy2Fw7deCkTu6bFN: V8p57YZ8jUMlrb3e807QPxjyB 「1ブロック違うだけで他は共通の類似ファイル:98%一致」という比較結果 赤字は異なる部分 7

Slide 8

Slide 8 text

8 機械学習を利用したマルウェア検知 実行前にファイルを静的解析し、機械学習で構築した既知のマルウェア 情報データベースと比較し、類似している物を検知しブロックする ファイルから抽出する情報: • ファイルタイプ、証明書、アイコン、画面リソース、テキスト • パッカー、コンパイラ、コンパイル時間、エントリーポイント • インポートハッシュ(関数呼出しの一致) • ファジーハッシュ(ファイル類似性) Suspicious Origin Packed or Encrypted Suspicious URL New Application Suspicious Email Low Age Certificate Document Type Low Prevalence High # of Rapid Changes Suspicious Email Link クラウドに集めた マルウェアの情報と 類似しているか比較