数理論理手法と人工知能手法の融合に基づくマルウェアの自動意味理解
【研究キーワード】
バイナリコード / マルウェア解析 / 記号実行 / API / ネィティブコード / マルウェア意味解析 / 動的記号実行 / 形式的意味自動抽出 / マルウェア / 自然言語処理 / 形式仕様自動抽出 / 深層学習
【研究成果の概要】
記号実行は1970年頃に提案され、現在では多くの主要言語に対する実装がなされている。バイナリコードでは2015年頃からx86命令セットを対象とするMeyhem,Ankr等の実装が輩出し、マルウェアの制御隠蔽手法に対し有効であることが知られている。
本研究は2021年度には、ARM命令セットにおける動的記号実行器の異環境実行の合成に基づく拡張の実装を進めてきた。単一環境下のARM命令セットの動的記号実行器CORANAの自動生成(国際会議FM2019発表)は既に一定の成功を収めた。しかしマルウェア等バイナリコードはシステム関数呼出しや、ネイティブコード呼出し(例えばAndroid OSのapkファイルではJavaからJNIを用いる)を多用するため、実用的解析には異環境下の記号実行結果の合成手法が必要となる。
異環境下の実行にも二種類あり、ユーザープロセスからAPIを介したシステム機能の呼出し(ファイル検索やシステム時間の問い合わせ等)はユーザーレベルから観察できない。しかしユーザーが異言語で記述し(Java からC関数コンパイルコードの呼出し等)行うネイティブコード実行は観察可能である。前者はAPIスタッブとして実OS環境の実行が自然であり、後者は異なる記号実行器を環境に応じて切り替えることが必要である。
CORANA/API(github.com/vananhnt/corana)はCORANA(github.com/anhvvcs/corana)をもとに前者のAPIスタッブの自動生成法を示し、現在、apkファイルをターゲットとしSymbolic Path FinderとCORANAの合成の実装を進めている。
またバイナリコード解析のための基礎理論として、述語制約解消に基づく関係的性質検証(分担者・寺内)、可視レジスタプッシュダウンオートマトンに基づくモデル合成(分担者・関)を進めた。
【研究代表者】
【研究分担者】 |
NGUYEN MinhLe | 北陸先端科学技術大学院大学 | 先端科学技術研究科 | 教授 | (Kakenデータベース) |
寺内 多智弘 | 早稲田大学 | 理工学術院 | 教授 | (Kakenデータベース) |
関 浩之 | 名古屋大学 | 情報学研究科 | 教授 | (Kakenデータベース) |
|
【研究種目】挑戦的研究(開拓)
【研究期間】2020-07-30 - 2026-03-31
【配分額】25,870千円 (直接経費: 19,900千円、間接経費: 5,970千円)