Skip to main content
QUICK REVIEW

[論文レビュー] Similarity-based matching meets Malware Diversity

Mathias Payer, Stephen Crane|arXiv (Cornell University)|Sep 27, 2014
Advanced Malware Detection Techniques参考文献 43被引用数 6
ひとこと要約

この論文は、マルウェアバイナリ内のコードとデータの両方をランダムに変更することで、類似性ベースの検出を無効にする、マルウェア多様化という技術を導入する。LLVMベースのマルチコンパイラーを活用し、命令置換、再順序化、ゴミコード挿入、データ符号化を適用することで、著者らは、多様化されたマルウェアインスタンスが最小限の共通部分列や構造的特徴を共有することを示し、bindiffのような高度なツールでさえも、シグネチャベースおよび類似性ベースの検出を回避できることを実証した。

ABSTRACT

Similarity metrics, e.g., signatures as used by anti-virus products, are the dominant technique to detect if a given binary is malware. The underlying assumption of this approach is that all instances of a malware (or even malware family) will be similar to each other. Software diversification is a probabilistic technique that uses code and data randomization and expressiveness in the target instruction set to generate large amounts of functionally equivalent but different binaries. Malware diversity builds on software diversity and ensures that any two diversified instances of the same malware have low similarity (according to a set of similarity metrics). An LLVM-based prototype implementation diversifies both code and data of binaries and our evaluation shows that signatures based on similarity only match one or few instances in a pool of diversified binaries generated from the same source code.

研究の動機と目的

  • 進化を続けるマルウェアファミリーが共通のソースコードを再利用する中で、類似性ベースのマルウェア検出の脆弱性に対処すること。
  • ソフトウェア多様化技術がマルウェア作者によって検出を回避する目的で再利用可能かどうかを調査すること。
  • プロトタイプのマルウェア多様化エンジンの有効性を、ウイルス対策およびマルウェア分析で一般的に用いられる類似性メトリクスの破壊能力を評価すること。
  • 体系的なコードおよびデータランダム化により、ほぼ無限に近い数のユニークなマルウェアインスタンスを生成する可能性を検討すること。

提案手法

  • LLVMベースのマルチコンパイラーを拡張し、バイナリのコード領域およびデータ領域の両方を対象としたマルウェア固有の多様化を実現する。
  • 命令レベルの変換(置換、再順序化、ゴミコード挿入)を適用することで、バイナリレベルの多様性を向上させる。
  • 基本ブロックの再順序化とランダムに生成されたラッパー関数を用いた関数呼び出しの難読化により、制御フローのランダム化を実現する。
  • 複数のデータ符号化方式を用いて、データ構造および定数を多様化し、データベースのシグネチャマッチングを防止する。
  • 類似性評価のために複数のメトリクスを用いる:共通部分列長、bindiffを用いた構造的類似性、バイト単位の類似性。
  • 正規化技術(例:命令ヒストグラム、制御フローグラフマッチング)を用いて、多様化されたバイナリが元の共通ソースに戻せるかどうかを評価する。

実験結果

リサーチクエスチョン

  • RQ1類似性ベースのメトリクスにおいて、機能的に同等のマルウェアバイナリ間でマルウェア多様化が類似性をどの程度低下させるか?
  • RQ2bindiff や ClamAV といった既存のマルウェア検出ツールは、多様化されたマルウェアインスタンスを同じファミリーに同定できるか?
  • RQ3構造的類似性メトリクス(例:bindiff)は、多様化されたマルウェアを検出するのにどの程度有効か、そしてその計算的・検出上の制限は何か?
  • RQ4多様化されたバイナリの正規化は可能か?また、その結果、シグネチャベースの検出の信頼性にどのような影響を与えるか?

主な発見

  • 多様化されたマルウェアインスタンス間の最長共通部分列の平均長は10バイト未満であり、シグネチャベースの検出は無効であると判明した。
  • bindiff は多様化されたバイナリ間で非常に低い構造的類似性を報告し、非多様化されたバージョンと比較して類似性スコアが著しく低下した。
  • システムライブラリ(例:libc)への関数呼び出しが、残存する構造的類似性の主な要因であった。これは、さらなる多様化の重要なターゲットであることを示している。
  • ライブラリ呼び出しにラッパー関数を用いることで、bindiff が共通性を検出する能力が著しく低下した。これは、多様性を高めるための有望な方向性である。
  • 命令ヒストグラムおよび制御フローグラフマッチングによる正規化は、特定の変換(例:nop挿入、命令再順序化)に対しては可能であったが、無害なコードからのゴミコード挿入に対しては不可能であった。
  • マルウェア多様化は、コンパイラー段階の自由度を活用することで、類似性ベースの検出を効果的に回避し、ほぼ無限に近い数のユニークなマルウェアインスタンスの生成を可能にする。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。