研究課題/領域番号 |
20K20625
|
研究機関 | 北陸先端科学技術大学院大学 |
研究代表者 |
小川 瑞史 北陸先端科学技術大学院大学, 先端科学技術研究科, 教授 (40362024)
|
研究分担者 |
NGUYEN MinhLe 北陸先端科学技術大学院大学, 先端科学技術研究科, 教授 (30509401)
寺内 多智弘 早稲田大学, 理工学術院, 教授 (70447150)
関 浩之 名古屋大学, 情報学研究科, 教授 (80196948)
|
研究期間 (年度) |
2020-07-30 – 2026-03-31
|
キーワード | バイナリコード / マルウェア解析 / 記号実行 / 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の合成の実装を進めている。 またバイナリコード解析のための基礎理論として、述語制約解消に基づく関係的性質検証(分担者・寺内)、可視レジスタプッシュダウンオートマトンに基づくモデル合成(分担者・関)を進めた。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
COVID19の影響により、関連国際会議の開催が確定しないなど、論文投稿より記号実行器実装を優先して進めた。(Github.com において実装を公開。)自然言語処理を用いたARM命令セットの形式的意味のマニュアルからの抽出や、記号実行器によるマルウェア解析による制御構造からの特徴命令列抽出などの人工知能的手法を想定した研究項目の進捗は、研究員雇用を行う予定であったベトナム人留学生(複数名)がすべて来日できず、遅れている。 代わりに記号実行や自動解析の基礎理論については研究を進めた。本報告にあげる論文発表は、研究分担者によるものだけであるが、研究代表者側も2021年末頃に国際会議投稿を再開したが、不採録となり、再投稿の準備を進めている。
|
今後の研究の推進方策 |
R4年度の実装面では、ARM上のAndroid OSにおけるマルウェアの解析実験を進め、マルウェア手法の分類のための観察を行う。Androidマルウェアは通常apkファイル(Javaで記述され、一部システムコールやネイティブコード実行を含む)であり、異実行環境間の実解析を合成する必要がある。動的記号実行器Coranaの拡張としてシステムコールをAPIスタッブとして扱うCorana/APIの実装はR3年度に進めてきた。apkファイルの記号実行にはJava部分を既存ツールSymbolic Path Finderで解析し、ネイティブコード部分をCorana/APIで解析し、その結果を合成する実装が必要となる。R4年度は実装を進め、それを用いてAndroidマルウェア解析実験を進める。 R4年度の研究面では、(1)APIスタッブなど異環境間の解析結果の合成の正当性の定式化のため、Awarenessに焦点をおいた認識論理による記述の明確化、(2)ループ不変式自動生成(バイナリではループの定義自体が問題となる。当面は暗号化されたコードの復号ループなど単純なものに限る)、(3)法令工学など自然言語処理を用いたマニュアルから実行ステップ内の含意関係抽出を用いたARM命令の操作的意味抽出、を進める。 COVID19の状況も落ち着きを取り戻しつつあり、入学後来日できず休学が続いていたベトナム人学生数名のプロジェクト参加、および国際会議開催の正常化が見込まれるため、見送ってきた論文投稿も活性化する。またフランス・ロレーヌ大学、ベトナム・ベトナム国家大学ハノイ校やレクイドン大学などとの訪問交流・共同研究も徐々に再開する。
|
次年度使用額が生じた理由 |
予算には主に旅費および学生の研究員雇用(主にベトナムからの優秀な大学院留学生を確保し研究員雇用)を想定していたが、COVID19の影響により海外旅費および留学生の誘致がまったく進めることができず、大幅な繰越となった。 今後、COVID19の状況が安定次第、国際共同研究のための短期・中期滞在および来日できないでいるベトナム人留学生らの研究員雇用などを活性化させる。
|
備考 |
ARM命令セットの動的記号実行器CORANAおよびそのAPIスタッブ拡張を加えたCORANA/APIの実装公開。
|