[論文レビュー] FASER: Binary Code Similarity Search through the use of Intermediate Representations
FASERは、中間表現(ESIL)とLongformerベースのトランスフォーマーモデルを用いたクロスアーキテクチャバイナリ関数類似性検索手法を提案する。手動による特徴工学的設計、事前学習、動的解析を不要とし、一般関数検索および脆弱性検出の両タスクで最先端の性能を達成。特にMIPSとRISC-Vのような類似アーキテクチャ間で強いゼロショット転送可能性を示す。
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.
研究の動機と目的
- 手動による特徴工学的設計や動的解析を必要とせずに、クロスアーキテクチャバイナリ関数類似性検索を可能にすること。
- 中間表現(特にESIL)がバイナリコード解析におけるディープラーニングモデルの入力として有効であるかを評価すること。
- 従来の事前学習パラダイムと比較して、関数類似性の目的関数に直接学習させることで、より優れた性能が得られるかを調査すること。
- 特にRISC-Vを含む未学習の命令セットアーキテクチャ間でゼロショット転送性能を評価すること。
- 共通の中間形式で表現された場合、異なるISA間の意味的類似性がどの程度存在するかを調査すること。
提案手法
- 本手法は、radare2の評価可能な文字列中間言語(ESIL)を用い、クロスアーキテクチャで意味を保持するバイナリ関数の表現とする。
- ESIL文字列はトークン化され、関数表現における長距離依存関係を捉えるためにLongformerトランスフォーマーモデルに供給される。
- 関数類似性を直接最適化するために、三重項損失を最小化するように、深層度量学習によりモデルを学習する。
- 事前学習やアーキテクチャの微調整なしにエンドツーエンドで学習され、入力としてのIRと度量学習の目的関数に依存する。
- アーキテクチャ間でのESIL表現における意味的類似性を活用することで、ゼロショット検索を実現する。
- データセットはARM、MIPS、RISC-Vのバイナリから構築され、関数はESILに変換され、学習用に正規化される。

実験結果
リサーチクエスチョン
- RQ1ESILのような中間表現が、手動による特徴工学的設計を不要とし、効果的なクロスアーキテクチャバイナリ関数検索を可能にするか?
- RQ2関数類似性の目的関数に直接学習させることで、事前学習ベースのベースラインを上回る性能が得られるか?
- RQ3未学習のアーキテクチャ(例:RISC-V)において、ゼロショット設定での一般化性能はどの程度高いか?
- RQ4ESILで表現された場合、特定のISA(例:MIPSとRISC-V)間に意味的類似性バイアスが存在するか?
- RQ5動的解析や追加のデータソースなしに、脆弱性検出タスクで優れた性能を達成できるか?
主な発見
- FASERは、一般関数検索および標的脆弱性検出の両タスクで、すべてのベースライン手法を上回る性能を示した。
- FASER RNモデルは脆弱性検索タスクで最良の性能を達成し、ペアワイズ比較のオーバーヘッドなしにGMNと同等またはそれを上回った。
- RISC-V → MIPS検索における平均順位と中央順位は、それぞれ154および101.5であり、RISC-V → ARM(251および172)と比較して顕著に低く、ESILにおけるMIPSとRISC-Vの間でより強い意味的類似性があることを示唆している。
- 未学習のアーキテクチャ間でのゼロショット検索は全体的に性能が低く、平均順位と中央順位が高かった。これは、類似しないISAへの一般化能力が限定的であることを示している。
- RISC-Vバイナリを学習データに含めることで、MIPSとの固有の意味的類似性に起因するデータの不均衡を是正できる可能性がある。
- 本研究では、事前学習が強力な性能を発揮するための必要条件ではないことが示された。類似性目的関数に対する直接的な度量学習が、優れた結果をもたらした。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。