スクリプト実行環境に対する実行遅延・実行停止を回避する機能の自動付与手法
書誌事項
- タイトル別名
-
- Automatically Appending Execution Stall/Stop Prevention to Vanilla Script Engines
説明
マルウェアの動的解析を妨げる要因に,不要な命令の繰り返しによる実行の遅延や,例外による実行の停止がある.これらは,機械語形式のマルウェアでは,実行命令や実行状態を監視し,発生箇所を検出してスキップすることで回避できる.しかし,スクリプト形式のマルウェアでは,言語やエンジンごとに,未知のバイトコードの解析や仮想機械の監視の必要が生じるため,実現が困難である.この問題を解決するため,本研究では,スクリプトエンジンに,実行遅延および実行停止を回避する機能を自動付与する手法を提案する.提案手法では,仮想機械を解析して,実行状態の監視と制御を可能にするとともに,命令セットアーキテクチャを解析して,未知のバイトコードに対しても,制御フローグラフおよびコールグラフを構築可能にする.これらに基づいて,実行遅延・実行停止の発生箇所を検出してスキップする仕組みを付与する.これを Lua と VBScript のエンジンに適用し,本手法の解析結果が正しいことを確認した.さらに,実行遅延・実行停止を引き起こす 286 検体のうち 199 検体に対して,従来の解析環境では観測できない新たな挙動を観測できることを確認した.
Malware widely uses an anti-analysis technique that stalls/stops execution with exceptions and unnecessary loops during analysis. This is generally prevented by detecting and skipping execution stall/stop based on the observation of executed instructions and execution context. However, for malicious scripts, developing such a mechanism is difficult because it requires observation of unknown virtual machines (VMs) with unknown instructions and construction of CFGs/CGs. To address this problem, in this paper, we propose an approach that automatically appends execution stall/stop prevention to vanilla script engines. It first analyzes the target script engine VM for observing and controlling its execution context. It then analyzes the instruction set architecture of the VM for building a control-flow graph with unknown bytecode. With these steps, it appends the code that detects and skips the execution stall/stop. Through the experiments, we proved that our approach could indeed prevent the anti-analysis technique.
収録刊行物
-
- コンピュータセキュリティシンポジウム2021論文集
-
コンピュータセキュリティシンポジウム2021論文集 794-801, 2021-10-19
情報処理学会
- Tweet
詳細情報 詳細情報について
-
- CRID
- 1050574047121480448
-
- NII論文ID
- 170000186010
-
- 本文言語コード
- ja
-
- 資料種別
- conference paper
-
- データソース種別
-
- IRDB
- CiNii Articles