SlideShare a Scribd company logo
FFRI,Inc.
Fourteenforty Research Institute, Inc.
株式会社FFRI
http://www.ffri.jp
Monthly Research
VirtualBoxを利用したマルウェア実行時検査の自動化
Ver2.00.01
FFRI,Inc.
1. 背景と目的
2. 検査の概要
– 自動的な実行時検査
– 仮想化ソフトウェアと自動化手法
– Oracle VM VirtualBoxとその自動化手法
– VBoxManageの使用例
3. 自動化スクリプト
– FFRI AutoMonkey
– 設計コンセプト
– スループット
– パフォーマンス
4. 参考情報
5. フィードバック
Agenda
2
FFRI,Inc.
• マルウェア検知エンジンの評価等において大量マルウェアの自動検査が必要
• 検査方式はon-demand(ユーザー要求時), on-access(アクセス発生時)に大分される
• 中でもプログラム実行時(on-execute)の検知はマルウェアを1件ずつ実行する必要が
ありファイル一括での検査が困難
• そのため仮想化技術等を利用した自動化が必要
• 本書では、Oracle VM VirtualBoxを利用した実行時検査の自動化手法を紹介
1.背景と目的
3
malware scanning on-demand
on-access on-read/write
on-execute
■マルウェア検査方式の種類
FFRI,Inc.
• 基本的には下記のステップで1件ずつマルウェアを実行し、検査結果を得る
1. マルウェアを1件ずつゲストにコピー
2. 当該マルウェアをWindowsゲスト内で一定時間実行
3. ゲスト内に設置した仕組みにより検知、分析等を行う
4. 実行終了または一定時間経過後、検知・分析結果を保全する
5. ゲストの環境をマルウェア実行前に復元する
6. 1に戻る
• 上記より実現に必要な機能は以下の通り
a. ゲストにファイルをコピーする機能(copy-to)
b. ゲスト内のプログラムを実行する機能(exec)
c. ゲストからファイルをコピーする機能(copy-from)
d. ゲストの状態を復元する機能(revert)
→ いずれの機能もホスト-ゲスト間でTCP/IP等で通信することで実現可能
但し、今回は可能な限りこれら作り込みをしない方式を模索
2.1.自動的な実行時検査
4
FFRI,Inc.
ソフトウェア ライセンス copy-to copy-from exec revert 手法
VMware Workstation Proprietary ○ ○ ○ ○ VIX API
VMware ESX(#1) Proprietary ○ ○ ○ ○ VIX API
Oracle VM VirtualBox GPL2 ○ ○ ○ ○ VBoxManage
QEMU + KVM GPL2(#2) × × × ○ Libvirt
2.2.仮想化ソフトウェアと自動化手法
5
#1 ESXiは、評価ライセンスを利用することで60日間VIX APIを利用可能
#2 QEMUはGPL2, KVMはコンポーネント毎にGPL/GPL2/LGPL等
• 仮想化ソフトウェアが標準的(一部 3rd party)に備えている仕組みを利用
• VMware(有償)およびVirtualBoxは必要な機能を完備
→ 本書ではコストメリットからVirtualBoxを利用した方法を検討
• QEMU+KVMは3rd partyソフトウェアで実現可能 (例: libguestfs + winexe)
– “Malware Analysis: Collaboration, Automation & Tuning”, Shmoocon 2013
http://www.slideshare.net/xabean/malware-analysis-16674048
FFRI,Inc.
• x86仮想化ソフトウェアのひとつ、現在はオラクルが開発
• バージョン4.0以降、完全なオープンソースソフトウェアとして提供
• 比較的広範囲のホスト/ゲストOSをサポート
– ホストOS:Windows, Linux, Mac OS X, Solaris
– ゲストOS:Windows, Linux, FreeBSD, OpenBSD, Mac OS X Server, Solaris等
• VBoxManageによるCLIベースの自動化が可能
– guestの起動、サスペンド、レジューム、電源断、クローニング、状態確認
– guestからのファイルコピー、guestへのファイルコピー
– guest内プログラムの実行
– スナップショットの取得、復元
– 仮想マシンのハードウェア制御、等
2.3.Oracle VM VirtualBoxとその自動化手法
6
FFRI,Inc.
2.4.VBoxManageの使用例
7
% vboxmanage startvm vm
% vboxmanage controlvm vm poweroff
% vboxmanage snapshot vm restore snapshot-1
% vboxmanage guestcontrol exec vm --image “c:/windows/system32/calc.exe” ¥
--username admin --timeout 60000 --wait-exit
% vboxmanage guestcontrol vm copyto “/some/file” “c:/file.txt” --username admin
ゲストの起動
ゲストの停止
スナップショットの復元
ゲスト内プログラムの実行
ゲストへのファイルコピー
FFRI,Inc.
• VBoxManageを利用した自動化スクリプト(bashスクリプト)
– auto-monkey.sh: 検体のコピー、実行、ログ取得、イメージ復元を自動化
– watch-monkey.sh:auto-monkey.shを監視、停止時に処理を再開
• 複数同時実行も可能、各スクリプトはそれぞれ個別に動作
• 下記にて配布、使い方はREADMEを参照(3条項BSDライセンス)
– http://www.ffri.jp/research/freeware.htm
3.1.FFRI AutoMonkey
8
VirtualBox(guest)
malware
log
auto-monkey.sh
watch-monkey.sh
VirtualBox(guest)
malware
log
auto-monkey.sh
watch-monkey.sh
image
snapshot
image
snapshot
FFRI,Inc.
• “シンプルに動作し続ける”
• 大量のマルウェアを処理する上で残処理時間を予測することは重要
– ハングアップしたまま停止するといつ終わるか分からない
• VBoxManageやVIX API等の安定性はこれら自動化の生命線
• 但し、多くの場合長時間実行し続けるとエラーが発生する
– エラーによる処理の失敗
• 即座にスクリプトの実行を中止
• watch-monkey.shにより自動的に再開
– エラーによるハングアップ(stuck)
• watch-monkey.shがハングアップを監視し、関連プロセスを終了・再開
3.2.コンセプト
9
FFRI,Inc.
• 1ホスト、7ゲストで7セッション同時実行
• 20,000件のマルウェアを1件60秒間実行
– 所要時間:37時間15分
– スループット:8.95件/分
※60秒以内にマルウェアの実行が完了した場合、直ちに次マルウェアを
処理するためこれらの値は処理対象となるマルウェアによって変動
• ホスト及びゲスト環境は下表の通り
3.3.スループット
10
ハードウェア CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Memory: 8GB
HDD: 1.8TB x 1
ホストOS Ubuntu 13.04 + VirtualBox 4.2
ゲストOS Windows XP SP3(x86) + FFR yarai 2.3
CPU:1 CPU
Memory:750MB
FFRI,Inc.
• プロセッサ全体で常時70%程度がアイドル状態(各コア単体でも同様の傾向)
3.4.パフォーマンス – プロセッサ
11
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0:05
0:55
1:45
2:35
3:25
4:15
5:05
5:55
6:45
7:35
8:25
9:15
10:05
10:55
11:45
12:35
13:25
14:15
15:05
15:55
16:45
17:35
18:25
19:15
20:05
20:55
21:45
22:35
23:25
load
all processsor statistics
%idle
%steal
%iowait
%system
%nice
%user
FFRI,Inc.
• 常時80~90%程度のメモリを消費(但し、実メモリ使用量は2.5GB~4.0GBを推移)
3.4.パフォーマンス – メモリ
12
0
500000
1000000
1500000
2000000
2500000
3000000
3500000
4000000
4500000
5000000
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0:05
1:05
2:05
3:05
4:05
5:05
6:05
7:05
8:05
9:05
10:05
11:05
12:05
13:05
14:05
15:05
16:05
17:05
18:05
19:05
20:05
21:05
22:05
23:05
memory utilization statistics
kbmemused
kbmemfree
kbmemused
-(kbbuffers+kbcached)
FFRI,Inc.
• ディスクビジー率(%util)は、おおよそ30%で安定
• キューイングされたリクエスト数も4~10件で安定
3.4.パフォーマンス - Disk IO
13
0
10
20
30
40
50
60
70
80
90
0
2
4
6
8
10
12
0:05
0:55
1:45
2:35
3:25
4:15
5:05
5:55
6:45
7:35
8:25
9:15
10:05
10:55
11:45
12:35
13:25
14:15
15:05
15:55
16:45
17:35
18:25
19:15
20:05
20:55
21:45
22:35
23:25
0:00
Usage of block device(/dev/sda)
avgqu-sz
%util
FFRI,Inc.
• 1ホスト7ゲストの環境でCPU, メモリ, IOいずれも大きなボトルネックに
ならずに連続動作可能
• IOに若干の懸念が想定されるが10ゲスト程度までスループットを通さずに
同時実行可能と考えられる(メモリ使用率より)
• 但し、ゲスト内で実行する処理次第で要件が異なるため注意が必要
3.4.パフォーマンス – 考察
14
FFRI,Inc.
• http://www.ffri.jp/assets/files/research/freeware/FFRIAutoMonkey-1.0.tgz
• https://www.virtualbox.org/manual/UserManual.html
• http://www.slideshare.net/xabean/malware-analysis-16674048
• http://www.youtube.com/watch?v=peHdyUlchSM
• http://libguestfs.org/
• http://sourceforge.net/projects/winexe/files/
4.参考情報
15
FFRI,Inc.
• E-Mail
– research-feedback@ffri.jp
• Twitter
– @FFRI_Research
5.フィードバック
16

More Related Content

PDF
Mr201306 機械学習のセキュリティ技術応用
PDF
Android: 設計上の技術的な問題点
PDF
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
PDF
Deep Learningによる株価変動の予想
PDF
深層強化学習でマルチエージェント学習(前篇)
PDF
ロボット介護機器安全試験方法
PDF
深層強化学習でマルチエージェント学習(後篇)
PPTX
面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜
Mr201306 機械学習のセキュリティ技術応用
Android: 設計上の技術的な問題点
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
Deep Learningによる株価変動の予想
深層強化学習でマルチエージェント学習(前篇)
ロボット介護機器安全試験方法
深層強化学習でマルチエージェント学習(後篇)
面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

More from FFRI, Inc. (20)

PDF
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
PDF
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
PDF
TrustZone use case and trend (FFRI Monthly Research Mar 2017)
PDF
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
PDF
An Overview of the Android Things Security (FFRI Monthly Research Jan 2017)
PDF
Black Hat Europe 2016 Survey Report (FFRI Monthly Research Dec 2016)
PDF
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
PDF
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
PDF
Introduction of Threat Analysis Methods(FFRI Monthly Research 2016.9)
PDF
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
PDF
About security assessment framework “CHIPSEC” (FFRI Monthly Research 2016.7)
PDF
Black Hat USA 2016 Pre-Survey (FFRI Monthly Research 2016.6)
PDF
Black Hat Asia 2016 Survey Report (FFRI Monthly Research 2016.4)
PDF
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
PDF
CODE BLUE 2015 Report (FFRI Monthly Research 2015.11)
PDF
Latest Security Reports of Automobile and Vulnerability Assessment by CVSS v3...
PDF
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
PDF
A Survey of Threats in OS X and iOS(FFRI Monthly Research 201507)
PDF
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
PDF
Trend of Next-Gen In-Vehicle Network Standard and Current State of Security(F...
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
TrustZone use case and trend (FFRI Monthly Research Mar 2017)
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
An Overview of the Android Things Security (FFRI Monthly Research Jan 2017)
Black Hat Europe 2016 Survey Report (FFRI Monthly Research Dec 2016)
An Example of use the Threat Modeling Tool (FFRI Monthly Research Nov 2016)
STRIDE Variants and Security Requirements-based Threat Analysis (FFRI Monthly...
Introduction of Threat Analysis Methods(FFRI Monthly Research 2016.9)
Black Hat USA 2016 Survey Report (FFRI Monthly Research 2016.8)
About security assessment framework “CHIPSEC” (FFRI Monthly Research 2016.7)
Black Hat USA 2016 Pre-Survey (FFRI Monthly Research 2016.6)
Black Hat Asia 2016 Survey Report (FFRI Monthly Research 2016.4)
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
CODE BLUE 2015 Report (FFRI Monthly Research 2015.11)
Latest Security Reports of Automobile and Vulnerability Assessment by CVSS v3...
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
A Survey of Threats in OS X and iOS(FFRI Monthly Research 201507)
Security of Windows 10 IoT Core(FFRI Monthly Research 201506)
Trend of Next-Gen In-Vehicle Network Standard and Current State of Security(F...
Ad

Mr201309 automated on-execute test using virtualbox jpn