核心概念
低リソースISAのバイナリコードを高リソースISAに無監督で翻訳することで、高リソースISAで訓練されたモデルを使って低リソースISAのバイナリを分析できるようにする。
要約
本研究では、低リソースISAのバイナリコードを高リソースISAに無監督で翻訳するモデル「UNSUPERBINTRANS」を提案している。
まず、命令埋め込み(instruction embedding)を生成する。命令セットアーキテクチャ(ISA)ごとに単一アーキテクチャ命令埋め込み(MAIE)を生成し、それらを共通の空間にマッピングすることで、クロスアーキテクチャ命令埋め込み(CAIE)を得る。
次に、CAIE を使ってUNSUPERBINTRANSモデルを訓練する。このモデルは、低リソースISAのバイナリを高リソースISAのバイナリに翻訳することができる。
最後に、翻訳されたバイナリを使って、高リソースISAで訓練されたモデルを適用することで、低リソースISAのバイナリを分析できる。
具体的には、コード類似性検出と脆弱性発見の2つのタスクで評価を行った。その結果、UNSUPERBINTRANS は高い精度を達成し、低リソースISAの分析に有効であることが示された。
統計
低リソースISA(ARM)のバイナリには1234という定数が含まれている
高リソースISA(x86)のバイナリには0xFFFFFFFFというメモリアドレスが含まれている
低リソースISAの関数には「LOC_」というラベルが含まれている
引用
"バイナリコード分析は、ソフトウェアセキュリティ研究において非常に重要な役割を果たす。"
"深層学習ベースのバイナリ分析は、優れた成果を上げている。しかし、大量のデータが必要であり、低リソースISAでは十分なデータが得られないため、広く採用されていない。"
"我々の洞察は、バイナリをアセンブリ言語で表現できるということである。低リソースISAのバイナリを高リソースISAに翻訳すれば、高リソースISAで訓練されたモデルを使って分析できる。"