Skip to main content
QUICK REVIEW

[論文レビュー] Unsupervised Features Extraction for Binary Similarity Using Graph Embedding Neural Networks

Roberto Baldoni, Giuseppe Antonio Di Luna|arXiv (Cornell University)|Oct 23, 2018
Software Engineering Research参考文献 21被引用数 9
ひとこと要約

本稿では、アノテートド・コントロールフローグラフ(ACFG)から特徴を抽出するための非教師あり特徴学習手法を提案する。手動による特徴工学の代わりに、word2vec風の命令文埋め込み(i2v)を用いて頂点特徴を自動的に導出することで、バイナリ類似度タスクにおいて最先端手法より2%の性能向上を達成するとともに、埋め込み空間における意味的クラスタリングを可能にした。

ABSTRACT

In this paper we consider the binary similarity problem that consists in determining if two binary functions are similar only considering their compiled form. This problem is know to be crucial in several application scenarios, such as copyright disputes, malware analysis, vulnerability detection, etc. The current state-of-the-art solutions in this field work by creating an embedding model that maps binary functions into vectors in $\mathbb{R}^{n}$. Such embedding model captures syntactic and semantic similarity between binaries, i.e., similar binary functions are mapped to points that are close in the vector space. This strategy has many advantages, one of them is the possibility to precompute embeddings of several binary functions, and then compare them with simple geometric operations (e.g., dot product). In [32] functions are first transformed in Annotated Control Flow Graphs (ACFGs) constituted by manually engineered features and then graphs are embedded into vectors using a deep neural network architecture. In this paper we propose and test several ways to compute annotated control flow graphs that use unsupervised approaches for feature learning, without incurring a human bias. Our methods are inspired after techniques used in the natural language processing community (e.g., we use word2vec to encode assembly instructions). We show that our approach is indeed successful, and it leads to better performance than previous state-of-the-art solutions. Furthermore, we report on a qualitative analysis of functions embeddings. We found interesting cases in which embeddings are clustered according to the semantic of the original binary function.

研究の動機と目的

  • バイナリ関数類似度の課題に、ソースコードに依存せずにマルウェア分析、脆弱性検出、著作権紛争の分野で対処すること。
  • 手動で設計されたACFG特徴の代わりに、非教師あり学習手法を用いることで、特徴工学における人為的バイアスを低減すること。
  • 非教師あり命令文埋め込みモデル(例:i2v)が、バイナリ関数のグラフ埋め込みの質を向上させることを評価すること。
  • 学習された埋め込みがアセンブリコードの意味的・構文的構造を捉え、意味的なクラスタリングや類推的推論を可能にすることを調査すること。
  • 同じソースコードから生成されたバイナリにとどまらず、埋め込みの一般化能力を調査し、ソフトウェア解析の幅広い応用可能性を検討すること。

提案手法

  • コンパイル済みバイナリ関数から、各基本ブロックを頂点とするアノテートド・コントロールフローグラフ(ACFG)を構築し、アセンブリ命令から特徴を抽出する。
  • 大規模なアセンブリコードコーパスで事前学習された非教師あり命令文埋め込みモデル(i2v)を用い、個々の命令文を密なベクトルにマッピングする。
  • 各基本ブロック内の命令文埋め込みの重み付き平均を用いて頂点特徴ベクトルを計算し、最良のパフォーマンスを示したバージョン(i2v_attention)ではアテンション機構を適用する。
  • 構造ベースのグラフニューラルネットワーク(Structure2Vec)を用い、ACFG全体をR^n空間内の固定サイズのベクトルに埋め込むことで、構造的および意味的類似度を保持する。
  • 次元削減のためt-SNEを用い、関数埋め込みの意味的クラスタリングを視覚化し、定性的に分析する。
  • 標準的なバイナリ類似度ベンチマークを用いて性能を評価し、非教師あり特徴学習と手動による特徴工学の両者を比較する。

実験結果

リサーチクエスチョン

  • RQ1i2vのような非教師あり命令文埋め込みモデルは、手動で設計された特徴よりも、バイナリ類似度のための効果的なACFG埋め込みを生成することができるか?
  • RQ2学習された埋め込みは、算術演算やメモリアクセスパターンのようなアセンブリ命令間の意味的関係を捉えているか?
  • RQ3同じソースコードからコンパイルされた場合や異なる最適化が施された場合でも、関数の意味的動作に基づいて意味的なクラスタリングが埋め込み空間に現れるか?
  • RQ4ベクトル演算によって命令変換(例:add → sub)が捉えられるような類推的推論の兆候が、埋め込み空間に見られるか?
  • RQ5埋め込みは、同じソースコードから生成されたバイナリにとどまらず、一般化できる程度に拡張可能か?これは、ソフトウェア解析の幅広い応用への可能性を示唆する。

主な発見

  • アテンション重み付き命令文埋め込みを用いるi2v_attentionモデルは、手動による特徴工学に基づく最先端手法よりも、バイナリ類似度タスクで2%の性能向上を達成した。
  • 定性的なt-SNE可視化により、関数埋め込みが意味的タイプ(例:AESヘルパー関数、Camellia暗号化/復号化関数)ごとに明確にクラスタリングされていることが確認され、埋め込み空間における意味的保存性が裏付けられた。
  • i2vモデルは、アセンブリ命令間の構文的および意味的関係を効果的に捉えており、例としてadd → sub や ldr → str の変換を示すベクトルアナロジーの結果が得られた。
  • 異なるコンパイラやアーキテクチャから生成された同じ関数の埋め込みは、密にクラスタリングされており、コンパイル差異に対して強い耐性を示した。
  • サンプリングベースの特徴抽出法は性能が低く、バイナリ類似度タスクには不適切であることが判明した。
  • 結果から、非教師あり命令文埋め込みは、同じソースコードから生成されたバイナリにとどまらず一般化可能であることが示され、ソフトウェア解析の幅広い応用への可能性を示唆した。

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

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

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

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