Skip to main content
QUICK REVIEW

[論文レビュー] A Survey of Binary Code Similarity

Irfan Ul Haq, Juan Caballero|arXiv (Cornell University)|Sep 25, 2019
Software Engineering Research参考文献 104被引用数 16
ひとこと要約

本論文は、4つの次元(応用分野、アプローチの特徴、実装、評価)にわたり61のアプローチを分析することで、バイナリコード類似性分野における最初の包括的サーベイを提示する。本研究は、分野の主要なトレンド、課題、未解決問題(クロスアーキテクチャ対応、オブスクリューション耐性、大規模ファームウェア解析におけるスケーラビリティなど)を体系化し、バイナリ解析およびソフトウェアセキュリティ分野の研究者にとって基盤的リファレンスを提供する。

ABSTRACT

Binary code similarity approaches compare two or more pieces of binary code to identify their similarities and differences. The ability to compare binary code enables many real-world applications on scenarios where source code may not be available such as patch analysis, bug search, and malware detection and analysis. Over the past 20 years numerous binary code similarity approaches have been proposed, but the research area has not yet been systematically analyzed. This paper presents a first survey of binary code similarity. It analyzes 61 binary code similarity approaches, which are systematized on four aspects: (1) the applications they enable, (2) their approach characteristics, (3) how the approaches are implemented, and (4) the benchmarks and methodologies used to evaluate them. In addition, the survey discusses the scope and origins of the area, its evolution over the past two decades, and the challenges that lie ahead.

研究の動機と目的

  • バイナリコード類似性研究における包括的サーベイが不足していたことから、本研究はその分野を体系的に分析することを目的とする。
  • 応用分野、設計的特徴、実装、評価手法に基づいて、61のバイナリコード類似性アプローチを特定・分類することを目的とする。
  • バイナリコード差分から始まり、クロスアーキテクチャ的、意味論的感知型類似性検出へと進化した分野の歴史的経緯をたどることを目的とする。
  • オブスクリューションに対する耐性、数百億の関数へのスケーラビリティ、アプローチ間の公平な評価といった、未解決の課題を浮き彫りにすることを目的とする。
  • 再現可能で比較可能な研究を可能とするために、標準化されたベンチマークとオープンデータセットの導入を提言することを目的とする。

提案手法

  • セキュリティ、ソフトウェア工学、プログラミング言語、機械学習の分野における学会論文100通以上を対象に、体系的文献レビューを実施した。
  • 特定された61のアプローチは、4つの次元(実現可能な応用分野、アプローチ特徴(例:粒度、分析タイプ、類似性タイプ)、実装(プラットフォーム、言語、アーキテクチャ、公開可否)、評価(データセット、メトリクス、耐性テスト))に沿って分類された。
  • 本サーベイは、1対1対比と1対多対比、静的分析と動的分析、ハッシュ、埋め込み表現、インデキシングの使用といった、スケーラビリティを考慮した次元での対比が可能な詳細な表を含む。
  • 著者らは、コンパイラの変更、最適化レベル、異なるオペレーティングシステム、CPUアーキテクチャなどの一般的な変換に対して、アプローチの耐性を評価した。
  • 本サーベイは、特に暗号化処理などのドメインに依存しない関数やドメイン特化関数に対して有効な意味論的類似性技術についても検討している。
  • 本論文は、現在の評価手法の限界(データセットの一貫性の欠如、ソースコードの非公開)を指摘し、標準化されたベンチマークの導入を要請している。

実験結果

リサーチクエスチョン

  • RQ1バイナリコード類似性アプローチによって実現可能な主な応用分野は何か。また、過去20年間でどのように進化してきたか。
  • RQ2異なるバイナリコード類似性アプローチは、粒度、分析タイプ(静的/動的/記号的)、類似性モデリング(構文的/構造的/意味論的)の観点からどのように異なるか。
  • RQ3既存のアプローチで一般的に使用されている実装プラットフォーム、プログラミング言語、対応アーキテクチャは何か。
  • RQ4アプローチはどのように評価されており、データセットの多様性とコード変換への耐性という観点から、現在のベンチマーク手法の限界は何か。
  • RQ5オブスクリューション、クロスアーキテクチャ対応、大規模ファームウェアにおけるスケーラビリティといった、バイナリコード類似性分野における主な未解決課題は何か。

主な発見

  • 分野は、基本的なバイナリ差分から、耐性を高めるために構造的・意味論的類似性に注力する高度なバイナリコード検索へと進化した。
  • 61のバイナリコード類似性アプローチが特定され体系化された。その多くは静的解析と構文的/構造的比較を採用しているが、埋め込み表現を用いた学習ベースの手法の割合も増加している。
  • 調査対象の30%未満のアプローチが公開されており、多くの場合ソースコードが入手不能であるため、再現性と公平な比較が阻害されている。
  • 最大の評価では、8,126枚のファームウェアイメージにまたがる4億2千万の関数が分析されたが、10万枚のIoTファームウェアイメージを想定した500億の関数へのスケーリングは依然として大きな未解決課題である。
  • 現在のアプローチの多くは、Themida や VMProtect といった仮想化ベースのパッケージャーを処理できず、最先端のアンパッケージングツールでも、関数検出が不完全なため20%~60%のコードを逃している。
  • 再現可能で公平なアプローチ間比較を可能とするために、実世界のオブスクリューションと多様なコード変換をカバーする標準化されたオープンベンチマークデータセットの構築が急務である。

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

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

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

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