Skip to main content
QUICK REVIEW

[論文レビュー] Semantic-aware Binary Code Representation with BERT

Hyungjoon Koo, Soyeon Park|arXiv (Cornell University)|Jun 10, 2021
Software Engineering Research参考文献 55被引用数 11
ひとこと要約

本稿では、文脈情報を保持しながら語彙外語(OOV)問題を最小限に抑えるために、適切にバランスの取れた命令正規化を適用することで、意味的意識を持つバイナリコード表現を学習するBERTベースのモデル、DeepSemanticを提案する。バイナリ類似度比較において、SOTAを上回り、DeepBinDiffおよびSAFEをそれぞれ平均49.84%および15.83%上回る性能を達成しており、バイナリ関数上で事前学習されたBERTモデルを微調整することで、コンパイラの起源予測においても優れた結果を示している。

ABSTRACT

A wide range of binary analysis applications, such as bug discovery, malware analysis and code clone detection, require recovery of contextual meanings on a binary code. Recently, binary analysis techniques based on machine learning have been proposed to automatically reconstruct the code representation of a binary instead of manually crafting specifics of the analysis algorithm. However, the existing approaches utilizing machine learning are still specialized to solve one domain of problems, rendering recreation of models for different types of binary analysis. In this paper, we propose DeepSemantic utilizing BERT in producing the semantic-aware code representation of a binary code. To this end, we introduce well-balanced instruction normalization that holds rich information for each of instructions yet minimizing an out-of-vocabulary (OOV) problem. DeepSemantic has been carefully designed based on our study with large swaths of binaries. Besides, DeepSemantic leverages the essence of the BERT architecture into re-purposing a pre-trained generic model that is readily available as a one-time processing, followed by quickly applying specific downstream tasks with a fine-tuning process. We demonstrate DeepSemantic with two downstream tasks, namely, binary similarity comparison and compiler provenance (i.e., compiler and optimization level) prediction. Our experimental results show that the binary similarity model outperforms two state-of-the-art binary similarity tools, DeepBinDiff and SAFE, 49.84% and 15.83% on average, respectively.

研究の動機と目的

  • バイナリコードからハイレベルな意味的意味を回復する課題に対処すること。これは、ソースレベルの構造を欠き、コンパイル中に大きく変換されるためである。
  • 複数の下流タスクに対して再訓練なしに一般化可能な統合的かつ移譲可能なバイナリ解析用表現モデルを開発すること。
  • バイナリコード表現における語彙外語(OOV)問題を最小限に抑えつつ、豊富な意味的および構文的情報を保持すること。
  • 単一の事前学習済みBERTベースアーキテクチャを用いて、効果的なバイナリ類似度検出およびツールチェーンの起源予測を可能にすること。

提案手法

  • 低レベルのマシン命令を意味的に意味のある、語彙にやさしい表現にマッピングする、適切にバランスの取れた命令正規化技術を提案する。これはBERTに適した表現を提供する。
  • 各関数を正規化された命令のシーケンスとして扱うことで、BERTアーキテクチャをバイナリコード処理に適応する。これにより、文脈に基づく表現学習が可能になる。
  • 汎用的なコード表現のための事前学習済みBERTモデルを活用し、その後、バイナリ類似度やコンパイラの起源予測などの特定の下流タスクで微調整する。
  • 下流タスク用にシーケンスレベルの分類ヘッドを用い、勾配ベース最適化によるエンドツーエンド学習を可能にする。
  • 関数内における命令間の長距離依存関係や構造的文脈を捉えるために自己注意メカニズムを活用する。
  • 1億800万件の命令および170万件の関数を対象とした実証的分析に基づき、命令の詳細さとOOV削減のバランスを取る制御された語彙マッピングを採用する。

実験結果

リサーチクエスチョン

  • RQ1微調整を関数レベルのシーケンス上で行う場合、BERTベースのモデルは意味的意識を持つバイナリコード表現を適切に学習できるか?
  • RQ2命令正規化は、学習された表現の品質およびバイナリコードモデリングにおけるOOV率にどのように影響するか?
  • RQ3単一の事前学習済みBERTモデルが、類似度検出やコンパイラの起源予測といった多様なバイナリ解析タスクにどれほど一般化できるか?
  • RQ4本手法は、DeepBinDiff や SAFE といったSOTAツールと比較して、バイナリ類似度タスクでどのように性能を発揮するか?

主な発見

  • バイナリ類似度モデルであるDS-BinSimは、類似度検出タスクにおいて、DeepBinDiffを平均49.84%、SAFEを平均15.83%上回っている。
  • コンパイラの起源予測においても優れた性能を発揮しており、学習された表現の堅牢性がツールチェーン推論に有効であることが示された。
  • 既存のツールにおけるマッチング基本ブロックペアの大部分(83%)は、5命令以下であるため、ブロックレベルの粒度では意味的理解に不十分であることが示された。
  • 関数レベルの表現は、基本ブロックレベルの分析よりもより多くの文脈的情報を捉えていることが実証されており、同じ命令列でも異なる関数からのものでマッチングが失敗する率が14.1%に達するなど、その有効性が裏付けられている。
  • バイナリ内の命令分布はZipfの法則に従うことが判明し、言語的構造に類似していることが示された。これは、BERTのようなNLP指向モデルの適用を支持する。
  • Order mattersのソースコードにアクセスできない状況下でも、同等のBERTベースの手法であるDeepSemanticはバイナリ類似度で優れた性能を示しており、本手法の有効性と一般化能力が裏付けられている。

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

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

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

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