Skip to main content
QUICK REVIEW

[論文レビュー] SoK: All You Ever Wanted to Know About x86/x64 Binary Disassembly But Were Afraid to Ask

Chengbin Pang, Ruotong Yu|arXiv (Cornell University)|Jul 28, 2020
Manufacturing Process and Optimization被引用数 7
ひとこと要約

本稿は、3,788個のバイナリを用いて9つのオープンソースツールを分析することで、x86/x64バイナリディスアセンブリに関する知識の包括的かつ体系的な整理を提示する。ディスアセンブリ戦略はアルゴリズム的およびヒューリスティックベースのアプローチに分類され、すべてのツールが原則に基づいたアルゴリズムを採用しているものの、ヒューリスティクスに大きく依存しており、コードカバレッジと正しさの間でトレードオフが生じ、それが各ツールの強みと弱みを規定していることが明らかになった。

ABSTRACT

Disassembly of binary code is hard, but necessary for improving the security of binary software. Over the past few decades, research in binary disassembly has produced many tools and frameworks, which have been made available to researchers and security professionals. These tools employ a variety of strategies that grant them different characteristics. The lack of systematization, however, impedes new research in the area and makes selecting the right tool hard, as we do not understand the strengths and weaknesses of existing tools. In this paper, we systematize binary disassembly through the study of nine popular, open-source tools. We couple the manual examination of their code bases with the most comprehensive experimental evaluation (thus far) using 3,788 binaries. Our study yields a comprehensive description and organization of strategies for disassembly, classifying them as either algorithm or else heuristic. Meanwhile, we measure and report the impact of individual algorithms on the results of each tool. We find that while principled algorithms are used by all tools, they still heavily rely on heuristics to increase code coverage. Depending on the heuristics used, different coverage-vs-correctness trade-offs come in play, leading to tools with different strengths and weaknesses. We envision that these findings will help users pick the right tool and assist researchers in improving binary disassembly.

研究の動機と目的

  • バイナリディスアセンブリ研究における体系的整理の欠如が、ツール選定や研究進展を妨えているという問題に対処する。
  • 人気のあるオープンソースディスアセンブラー間の設計的・行動的差異を理解する。
  • 個々のアルゴリズムおよびヒューリスティクスが、ツール全体のディスアセンブリ結果に与える影響を測定する。
  • 9つのツールの実証的評価に基づいて、ディスアセンブリ戦略の分類体系を提供する。
  • 研究者および実務家が適切なツールを選定し、今後のディスアセンブリ技術の改善を支援する。

提案手法

  • 著者は、9つの広く使われているオープンソースディスアセンブラーのコードベースを手動で分析し、内部戦略を逆算した。
  • これまでで最も包括的な実験的評価を実施し、多様なソフトウェアカテゴリにまたがる3,788個のバイナリを分析した。
  • ディスアセンブル結果の正確性とコードカバレッジを測定し、個々のアルゴリズムおよびヒューリスティクスの寄与を特定することに焦点を当てた。
  • 設計および影響に基づき、ディスアセンブル技術を原則に基づいたアルゴリズムまたはヒューリスティクスベースの拡張に分類した。
  • アルゴリズム的基盤とヒューリスティクス駆動の拡張の区別を明確にする、体系的な戦略分類を構築した。
  • 正しさとカバレッジのトレードオフを評価するための定量的メトリクスを用い、ツール固有の行動プロファイルを明らかにした。

実験結果

リサーチクエスチョン

  • RQ1現代のオープンソースツールで一般的に用いられるディスアセンブリ戦略は何か。また、それらはどのように異なるか。
  • RQ2実際の運用において、ディスアセンブラーはどの程度ヒューリスティクスに依存しているのか。
  • RQ3異なるヒューリスティクスの選択が、カバレッジとディスアセンブルの正しさのトレードオフにどのように影響するか。
  • RQ4個々のアルゴリズムが、各ツールの全体的なディスアセンブル品質にどの程度の影響を及ぼしているか。
  • RQ5現在のツールの設計的選択は、今後の研究およびツール開発にどのように活かせるか。

主な発見

  • 9つのツールすべてが原則に基づいたアルゴリズムを基盤として採用しているが、コードカバレッジの向上のためにヒューリスティクスに大きく依存している。
  • ヒューリスティクスの選択が、カバレッジと正しさのトレードオフに顕著に影響を与え、ツールごとに明確な行動プロファイルが形成されている。
  • 同じコアアルゴリズムを使用しているにもかかわらず、ヒューリスティクスの違いにより、ディスアセンブルの正確性やカバレッジに顕著な差が生じている。
  • 本研究では、ヒューリスティクス戦略がディスアセンブル結果のばらつきの主な要因であることが特定された。アルゴリズム設計ではなく、ヒューリスティクスの違いがその主因である。
  • 実験的評価により、1つのツールが同時に高いカバレッジと高い正しさを達成することは不可能であることが確認され、このトレードオフの本質が裏付けられた。
  • 本研究の結果は、マルウェア分析やバイナリハードニングなどの特定のユースケースに応じたツール選定に役立つ明確な分類体系と実証的根拠を提供する。

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

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

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

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