FASER: Binary Code Similarity Search through the use of Intermediate Representations

要約

クロスアーキテクチャ ソフトウェアで関心のある機能を特定できることは、マルウェアの分析、ソフトウェア サプライ チェーンの保護、または脆弱性調査の実施のいずれの場合にも役立ちます。
クロスアーキテクチャのバイナリ コード類似性検索は、数多くの研究で検討され、その目標を達成するためにさまざまなデータ ソースを幅広く使用してきました。
通常使用されるデータ ソースは、関数制御フロー グラフやバイナリ レベル コール グラフ、逆アセンブリ プロセスの出力、動的分析アプローチの出力などのバイナリから派生した一般的な構造を利用します。
あまり注目されていないデータ ソースの 1 つは、バイナリ中間表現です。
バイナリ中間表現には 2 つの興味深い特性があります。それは、その性質上クロス アーキテクチャであり、ダウンストリームでの使用をサポートするために関数のセマンティクスを明示的にエンコードすることです。
このペーパーでは、長いドキュメント変換と中間表現の使用を組み合わせて、手動の特徴量エンジニアリング、事前トレーニング、または動的分析を必要とせずにクロスアーキテクチャ関数検索が可能なモデルを作成する Function as a String Encoded Representation (FASER) を提案します。
ステップ。
私たちのアプローチを 2 つのタスクに対する一連のベースライン アプローチと比較します。
一般機能検索タスクと対象を絞った脆弱性検索タスク。
私たちのアプローチは両方のタスクにわたって強力なパフォーマンスを示し、すべてのベースライン アプローチよりも優れたパフォーマンスを示します。

要約(オリジナル)

Being able to identify functions of interest in cross-architecture software is useful whether you are analysing for malware, securing the software supply chain or conducting vulnerability research. Cross-Architecture Binary Code Similarity Search has been explored in numerous studies and has used a wide range of different data sources to achieve its goals. The data sources typically used draw on common structures derived from binaries such as function control flow graphs or binary level call graphs, the output of the disassembly process or the outputs of a dynamic analysis approach. One data source which has received less attention is binary intermediate representations. Binary Intermediate representations possess two interesting properties: they are cross architecture by their very nature and encode the semantics of a function explicitly to support downstream usage. Within this paper we propose Function as a String Encoded Representation (FASER) which combines long document transformers with the use of intermediate representations to create a model capable of cross architecture function search without the need for manual feature engineering, pre-training or a dynamic analysis step. We compare our approach against a series of baseline approaches for two tasks; A general function search task and a targeted vulnerability search task. Our approach demonstrates strong performance across both tasks, performing better than all baseline approaches.

arxiv情報

著者 Josh Collyer,Tim Watson,Iain Phillips
発行日 2023-10-06 15:17:42+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CR, cs.IR, cs.LG パーマリンク