仮想化技術に基づいたマルウェア解析のためのシステムコールトレース手法に関する研究

 
大月 勇人
NTTセキュアプラットフォーム研究所 研究員

[背景]増え続けるマルウェアの脅威が問題となっている
[問題]解析に耐性を持つマルウェアの解析に時間がかかる
[貢献]仮想化技術や分岐記録を用いたマルウェア解析手法の提案


 コンピュータとネットワークの普及に伴い,マルウェアの脅威が問題となっている.対策を講じるためはまずマルウェアの解析を行い,その特徴を理解することが必要となる.しかし,近年のマルウェアには解析を妨害するさまざまな技術が組み込まれており,解析が困難になっている.マルウェアを実行してその挙動を観測する動的解析では,解析下にあることを検出して挙動を変えるアンチデバッグ機能や,他の動作中のアプリケーション(プロセス)へ感染することで挙動を隠蔽する機能が解析時の課題となる.これらの機能を持つマルウェアを解析可能とする既存の動的解析システムは,観測オーバヘッドが大きく解析に時間がかかるものが多い.次々に新種や亜種が出現している現状では,個々のマルウェアの解析に時間を費やすことはできない.以上から,本研究では,動的解析の課題を解決し,かつ低オーバヘッドでの挙動観測を可能とすることを目的として2つの手法を提案する.

 1つめの提案手法であるAlkanetは,仮想計算機モニタ(VMM)をベースとしたシステムコールトレーサである.VMMは,仮想化技術を用いて物理計算機上に仮想計算機(VM)を構築し,管理するソフトウェアである.Alkanetでは,軽量なVMMであるBitVisorにVM内で動作するマルウェアの挙動を観測する機能を実現した.これにより,マルウェアに検出されにくく,かつ観測オーバヘッドを小さく抑えての挙動観測を可能としている.Alkanetは,マルウェアが呼び出すWindowsの機能(システムコール)を記録することでその挙動を明らかにする.実際にマルウェア解析に有効であることに加えて,典型的なアンチデバッグ手法に対して耐性があることや既存システムと比べて十分な速度で挙動観測が可能であることを確認した.

 もう1つの提案手法であるBTSトレースは,他のプロセスに感染するマルウェアに対する解析精度を向上させる.このようなマルウェアは,正規プロセスの内部に自身の実行コードを挿入することで,そのプロセスに悪意ある挙動を実行させる.したがって,感染対象となったプロセス本来の挙動と,マルウェアによって挿入されたコードによる挙動を識別可能とすることが必要である.そこで,BTSトレースでは,Windowsが持つメモリ管理情報に現れる特徴などからマルウェアが感染したメモリ領域を識別する.さらに,近年のプロセッサに搭載されている分岐記録機能Branch Trace Storeを活用することで,当該領域を起源とする挙動の識別を可能とした.Alkanetに本手法を適用することで,マルウェアの挙動と正規プロセス本来の挙動とを正確に識別して解析可能であることを確認した.

 本研究では,動的解析を妨害する機能を持つマルウェアを短時間で解析可能とする手法を提案し,その有効性を確認した.なお,本研究はWindows XP環境を対象に進めていたが,すでに64ビット版のWindows 10などの新しいWindowsに対する有効性も確認している.
 


 
 (2016年6月10日受付)
取得年月日:2016年3月
学位種別:博士(工学)
大学:立命館大学



推薦文
:(コンピュータセキュリティ研究会)


本論文はマルウェアの動的解析のためのシステムコールトレーサを提案するものである.提案手法は仮想計算機モニタ内にゲストOS観測機構を構築し,オーバヘッドの大幅軽減とマルウェアのアンチデバッグ機能の無効化に成功するなど,実問題に対して有効で新たな手法を提案し,高度な実装によって解決しているので推薦する.


著者からの一言


本研究を進めるにあたり,長い間ご助言,ご協力いただきました先生方や研究室の学生諸氏には深く感謝しております.コンピュータやネットワークの発展とともに,マルウェアやサイバー攻撃に利用される技術も日々多様かつ複雑になっているため,今後も対策技術の発展に寄与すべく尽力したいと考えています.