卒業論文B 合同審査会

OSのシグネチャを用いた
悪意のある通信の検出法
後藤研究室 学部4年
1G06R129-3 棚澤 崇行
卒業論文B 合同審査会 2010/2/1 (Mon.)
研究背景

マルウェアにおける脅威の傾向

カーネル・マルウェアの出現

独自に実装されたネットワークドライバを用いて、
カーネルモードで通信を行う
一度感染したら、ファイアウォールでは通信を遮断できない

頻繁な亜種の出現、自己更新機能


近年のマルウェアに対し、
既存の対策では
ボットネット、ボットの感染拡大
 攻撃者が外部から感染マシンをコントロール可能
効果が薄れてきている
マルウェアとは


2
malware (malicious software)
悪意のあるソフトウェアの総称
卒業論文B 合同審査会
2010/2/1 (Mon.)
先行研究

『TCPフィンガープリントによる悪意のある通信の検出』
後藤研 M2 木佐森さん, MWS 2009, pp.553--558, 2009.10.
概要
 独自に実装されたネットワークドライバ発のパケットは、既存
のOSとは異なるTCPヘッダの特徴をもつことが知られている
 そこで、



“一般的なOSでは利用されないTCPフィンガープリント (= TCPヘッダ
の特徴) を有する攻撃パケットはFKM感染ホストが発信した”
と仮定した上で、FKM感染ホストの実態調査、および
通信パターンの分析を行っている

MWSシグネチャを定義
3
FKM (Full Kernel Malware)
・・・すべての機能をカーネル
モードで動作するマルウェア
卒業論文B 合同審査会
2010/2/1 (Mon.)
passive TCP fingerprinting, p0f

passive TCP fingerprinting



受信した通信パケットの特徴から、受動的に通信相手のOSを
特定する技術
TCP/IPではオプション等の実装がOSごとに異なることを利用
p0f


4
代表的な passive TCP fingerprinting のツール
以下の形式のシグネチャとマッチング
[wwww:ttt:D:ss:OOO…:QQ:OS:Details]
表 p0fのシグネチャを構成するフィールド値
wwww
ウィンドウサイズ
ttt
TTL初期値
D
DF (Don't Fragment) ビット
ss
SYNパケット全体のサイズ
OOO
TCPオプション (MSS, NOP, etc)
QQ
その他、特徴的な点など
OS
表示するOS名
details
OSのバージョンなど
MWS シグネチャ

CCC DATAsetの「攻撃通信データ」にp0fを適用した結果、
OSがUNKNOWNと判定されたもの
TTL初期値を2の累乗と推定し、43のシグネチャに集約

CCC DATAsetとは


サイバークリーンセンター (CCC) の収集するデータをもとに
作成された研究用データセット、以下の3つから構成




5
マルウェア検体 (のハッシュ値)
攻撃通信データ ・・・ ハニーポットのパケットダンプファイル
攻撃元データ
マルウェア対策研究人材ワークショップ (MWS) において共有
卒業論文B 合同審査会
2010/2/1 (Mon.)
研究の目的

MWSシグネチャに関する以下の検証を行う

マルウェアがどの過程でMWSシグネチャによる通信を
行うのか


マルウェアの動作実験
MWSシグネチャはどの程度の脅威なのか

Nepenthesにおける攻撃成立率の算出
Nepenthesとは


6
マルウェア収集に特化した低対話型ハニーポット
著名な脆弱性と一部のシェルコードをエミュレート
卒業論文B 合同審査会
2010/2/1 (Mon.)
マルウェアの動作実験



隔離されたネットワークの中でマルウェアを実行
実行からおよそ5分間の通信をキャプチャし、分析
仮想環境、実機環境で比較



仮想環境はVMware ESXi 4.0.0を利用
実機環境は情報通信研究機構 三輪氏らによるMAT (Minimalattack / Malware Analysis Testbed) を利用させていただいた
使用したマルウェア


7
マルウェアや小規模な攻撃の再現を行
い、安全に解析や体験学習に利用する
ためのテストベッド
CCC DATAset で提供されたハッシュ値に一致する検体11種
Nepenthes等によって独自に入手した検体9種
卒業論文B 合同審査会
2010/2/1 (Mon.)
実験環境 (概要図)
Web サーバ
Ubuntu9.10 + Apache2
DNS サーバ
Ubuntu9.10 + bind9
(Promiscuous mode)
仮想スイッチ
観測用マシン
Ubuntu9.10 + tcpdump
感染拡大用マシン
Windows XP SP3 FWなし
感染マシン
Windows XP SP3 FWなし
8
卒業論文B 合同審査会
2010/2/1 (Mon.)
実験結果

実機と仮想マシンによる動作の違い




仮想環境を検出し、動作しない検出が1検体あった
その他挙動の違いはほとんど見られず
いくつかの基本的な動作パターンを確認 (後述)
MWSシグネチャは見つからず
9
卒業論文B 合同審査会
2010/2/1 (Mon.)
マルウェアの動作パターン①

DNSサーバに正引き問い合わせを行い、
別のマルウェアに感染しに
返ってきたIPアドレスのTCP/80に接続要求を行う
いっているのでは?

Webサーバには以下のようなリクエスト
・GET /ecv20.php
・GET /ecv60.php?p=bGlwPTE5Mi4xNjguMC45Jm49MSZ3PTIuNS4xLlNlcnZpY
2UgUGFjayAz
・GET /binaries/relevance.dat
・GET /client.php?str=/yfwar6fICJrSn8buMBjhMYZKTK3COLQMFjoKqBzsag=
・GET /ack.php?version=16\&myVer=6\&
uid=98818A46-0BF2-1041-0326-090000000051\&status=OK\&l=0
・GET /public/controller.php?action=bot\&entity\_list=\&uid=\&first=1\&
guid=2558626374\&v=15\&rnd=8520045
・POST /safebrowsing/downloads?client=navclient-auto-ffox\&appver=3.5.5\&
pver=2.2\&wrkey=AKEgNitUOrc7a5aJHiJXVf9do2jFt-VEdY5mCHM0f6T5v
10
EIjn5d7hgr1GuqHTbeD\_APiw82xUzF4vdn\_RTVYo16LzUNlnWutdQ==
マルウェアの動作パターン②

DNSサーバに正引き問い合わせを行い、
返ってきたIPアドレスのTCP/(80以外) に接続要求を行う

TCP/2345, 3305, 9111 宛の接続要求を確認

TCP/2345 は Doly Trojan が利用することで知られる

TCP/3305, 9111 は不明

以下の可能性が考えられる



11
マルウェア配布サーバのポート
特定のバックドア
未知のワーム、トロイの木馬が利用
卒業論文B 合同審査会
2010/2/1 (Mon.)
マルウェアの動作パターン③

DNSの問い合わせは行わずに外部に接続要求を行う


乱数からIPアドレスを作り出していると思われる
TCP/80, 445宛を確認
パターン②、パターン③では、
感染後すぐに感染活動を行っ
ていると考えられる
12
卒業論文B 合同審査会
2010/2/1 (Mon.)
実験の考察

なぜMWSシグネチャが観測されなかったのか

使用したマルウェアがFKMではなかった


完全に隔離された実験環境では自由度が足りなかった



別検体のダウンロードと思われる挙動
感染の初期段階ではMWSシグネチャが現れない可能性も
動作時間が短かった


ではCCC DATAset のマルウェアは?
ユーザの操作や特定の時間に同期して動作するマルウェアの存在
さらなる情報を手に入れるためには


13
マルウェアの挙動を確認しながら、
徐々に自由度を高めた実験を行う必要がある
卒業論文B 合同審査会
2010/2/1 (Mon.)
Nepenthesにおける攻撃検出率




一般の商用プロバイダの回線につないだホスト上でSYNパ
ケットをキャプチャ (2009年11月22日~12月22日)
外部へのサービスはNepenthesのみ
攻撃パケットが届いた際に、Nepenthesが応答してダウンロー
ドを試みたものを攻撃成立とみなす
簡単のため、以下のように分類




14
ALL
:すべてのパケット
Nepen :上記のうち、Nepenthesにおいて攻撃が成立したことの
あるIPアドレスからのパケット
MWS.Nepen :上記のうち、MWSシグネチャを有するもの
MWS :MWSシグネチャを有するすべてのパケット
卒業論文B 合同審査会
2010/2/1 (Mon.)
MWS.Nepenの攻撃成立回数の推定
表 パケット数、攻撃成立回数とユニークIPアドレス数
パケット数
/
攻撃成立回数
ALL
Nepen
MWS.Nepen
MWS

ユニークな
IPアドレス数
11,072 packets
4,426 packets
3,091 回
1,740 packets
15
832
69.84%
308
(推定) 1,215
回
計測不能
4,003 packets
MWS.Nepenにおける1パケットあたり成立回数
= Nepenにおける1パケットあたりの成立回数

2,287
637
と仮定
1740 packets × 0.6984 ~ 1215 回 と推定
卒業論文B 合同審査会
2010/2/1 (Mon.)
パケット単位の攻撃成立率

すべて


パケット数
/
攻撃成立回数
27.92%
MWS

表 パケット数、攻撃成立回数とユニークIPアドレス数
30.35%
ALL
Nepen
MWS.Nepen
MWS

ユニークな
IPアドレス数
11,072 packets
2,287
4,426 packets
3,091 回
1,740 packets
(推定) 1,215 回
4,003 packets
MWSパケットは全パケットの平均と比べて、
1パケットあたりの攻撃成立が2.43%高い
16
卒業論文B 合同審査会
2010/2/1 (Mon.)
832
308
637
ホスト単位の攻撃成立率

すべて


パケット数
/
攻撃成立回数
36.38%
MWS

表 パケット数、攻撃成立回数とユニークIPアドレス数
48.35%
ALL
Nepen
MWS.Nepen
MWS

ユニークな
IPアドレス数
11,072 packets
2,287
4,426 packets
3,091 回
1,740 packets
(推定) 1,215 回
4,003 packets
832
308
637
MWSパケット発信ホストは全ホストの平均と比べて、
1ホストあたりの攻撃成立率が11.97%高い
17
卒業論文B 合同審査会
2010/2/1 (Mon.)
攻撃成立率から

パケット単位でみると、


しかし、ホスト単位でみると、


MWSパケットの攻撃成立率は、全パケットの平均値と比べて
少し高い程度 (+2.43%)
MWSシグネチャ発信ホストの攻撃成立率は、平均値に比べ
て非常に高い (+11.97%)
つまり、

18
MWSシグネチャ発信ホストによる攻撃は偏りが少なく、同規
模の攻撃を受けた場合、より成立しやすい
卒業論文B 合同審査会
2010/2/1 (Mon.)
まとめ

隔離された環境におけるマルウェアの動作実験

基本的な動作パターンを確認




別検体のダウンロード、アップデート
感染活動
MWSシグネチャは発見できず
Nepenthesにおける攻撃成立率

19
MWSシグネチャ発信ホストからの攻撃パケットは、1ホストあ
たりの攻撃成立率が非常に高く、特に注意が必要である。
卒業論文B 合同審査会
2010/2/1 (Mon.)
今後の課題

外部接続性のある環境でのマルウェアの実行


外部接続性を保ちながらも感染活動を遮断できるような実験
環境の構築
他のハニーポットによる攻撃成立率の評価

20
本研究において算出した攻撃成立率は、Nepenthesの実装に
大きく依存している
卒業論文B 合同審査会
2010/2/1 (Mon.)
ご清聴ありがとうございました
21
卒業論文B 合同審査会
2010/2/1 (Mon.)
実験に使用したマルウェアの検体名

avast! Version4.8 Home Editionによる
(ウイルスデータベースのバージョン 100121-0)
• Win32:Trojan-gen × 4
• Win32:Small-MTP [Trj] × 2
• Win32:Agent-ABSM [Trj] • Win32:Zbot-ALS
• Win32:Agent-UBI [Wrm] • Win32:Virut
• Win32:Agent-SPX [Trj]
• Win32:Bredolab-AP [Trj]
• Win32:MalOb-Z [Cryp]
• Win32:Malware-gen
• Win32:Rbot-GNZ [Trj]
• Win32:Small-ESX [Trj]
• Win32:VB-NUQ [Drp]
• Win32:Virtob
• Win32:Zbot-MML [Trj]
22
• 不明 × 1
卒業論文B 合同審査会
2010/2/1 (Mon.)
MWS シグネチャの分析

各MWSシグネチャの割合
宛先ポート番号
送信元IPアドレスの国別情報
送信元IPアドレスのDNSBL (DNS Blacklist) 掲載

Nepenthesにおける攻撃成立率の算出



23
卒業論文B 合同審査会
2010/2/1 (Mon.)
分析に用いたデータ

CCC_SYN




CCC DATAset の「攻撃通信データ」に含まれるすべてのSYN
パケット
この内、MWSシグネチャを有するものをCCC_MWSとする
収集期間は2009年~~の2日間
HONEY_SYN




24
一般の商用プロバイダの回線につないだホスト上でキャプ
チャしたSYNパケット
この内、MWSシグネチャを有するものをHONEY_MWSとする
収集期間は2009年11月22日~12月22日の約1ヶ月間
Nepenthesを同時実行
卒業論文B 合同審査会
2010/2/1 (Mon.)
分析に用いたデータ
表 : 各データセットにおける攻撃元のOSの割合
パケット数
OS
CCC_SYN
HONEY_SYN
Windows
4,815,260
3,390
MWSシグネチャ
2,619
4,003
Unix / Linux
37
156
Redline
5
0
Novell NetWare
0
815
UNKNOWN
0
27,028
計
4,817,921
35,392
25
卒業論文B 合同審査会
2010/2/1 (Mon.)
MWSシグネチャの割合
S44_2
65535_7 1.91%
2.02%
S122_1
1.37%
others
4.31%
16384_1
8.21%
60352_3
8.86%
60352_6
51.78%
53760_4
21.53%
図:CCC_SYNのMWSシグネチャ
26
65535_7 65535_14
3.03% others
0.68%
1.15%
60352_3
1.75%
60352_6
43.87%
53760_4
49.52%
図:HONEY_SYNのMWSシグネチャ
卒業論文B 合同審査会
2010/2/1 (Mon.)
宛先ポート番号
1600
1400
2000
1355
1898
1814
1800
1600
1200
1400
1000
1200
800
1000
600
800
306
400
351
205
200
163
130
600
400
117
200
89
0
0
135
445
80
139
1013
1433
others
図:CCC_MWSの宛先ポート番号
27
445
135
1957
72
43
18
139
80
1433
41
others
図:HONEY_MWSの宛先ポート番号
卒業論文B 合同審査会
2010/2/1 (Mon.)
送信元IPアドレスの国別情報
others
8.65%
TW
2.59%
unknown
1.15%
PH
1.44%
US
8.07%
CN
26.51%
JP
51.59%
CN
0.65%
TW
6.49%
JP
92.86%
図:CCC_MWSの送信元国別情報 図:HONEY_MWSの送信元国別情報
28
卒業論文B 合同審査会
2010/2/1 (Mon.)
送信元IPアドレスのDNSBL掲載率

DNSBLとは、


主にスパムメールの送信者のIPアドレスを収集したもの
本研究では The Spamhaus Project のものを利用

SBL (Spamhaus Block List)


XBL (Exploits Block List)


ワームやトロイの木馬、公開プロキシなどによってハイジャックされ、
攻撃の踏み台となったIPアドレスのリスト
PBL (Policy Block List)

29
スパムメールの送信、中継に関係したIPアドレスのリスト
動的IPアドレスのリスト
卒業論文B 合同審査会
2010/2/1 (Mon.)
送信元IPアドレスのDNSBL掲載率

CCC_SYN, HONEY_SYNに加え、頻出のシグネチャ
表 DNSBL掲載率
各DNSBLの掲載率
30
SBL
XBL
PBL
CCC_MWS
0.86 %
0.58 %
46.97 %
HONEY_MWS
0.00 %
0.32 %
29.22 %
53760_4
0.00 %
0.00 %
40.14 %
60352_6
0.00 %
0.00 %
41.63 %
16384_1
3.37 %
1.12 %
23.60 %
卒業論文B 合同審査会
2010/2/1 (Mon.)
31
卒業論文B 合同審査会
2010/2/1 (Mon.)