シグネチャ毎の送信元IP数

TCPフィンガープリントによる
悪意のある通信の分析
早稲田大学大学院 基幹理工学研究科
後藤研究室 修士2年
5108B034-7 木佐森幸太
1
研究の背景

ボットの脅威の拡大、検出の難しさ

カーネルマルウェアの増加
– カーネルモードで動作するマルウェア
– すべての動作をカーネルモードで実行できるマルウェアをフル
カーネルマルウェア(FKM) と呼ぶ
– FKMは既存OSのTCP/IP実装とは異なる独自のネットワークドラ
イバを実装

cf. Srizbi.trojan
※カーネルモード:CPU の動作モードの中で最も高いレベル。一般に
OSのカーネルはカーネルモードで動作する。
2
研究の目的

カーネルマルウェアの可能性がある通信をTCPフィン
ガープリントによって識別する手法を提案する
– ハニーポットの通信データの分析を行い、既存のOSとは異なるシ
グネチャで攻撃などの悪意のある通信が行われていることを示す
– 上記分析により得られたシグネチャを実ネットワーク上の通信
データに適用し、その有効性を示す
3
Passive TCP fingerprinting


TCP/IP の仕様はRFC で定義されているが,OS 毎にそ
の実装は異なる
fingerprintingとは、通信を分析することで対象システムの
OSを推定する技術
– active:対象システムに対して通信を行い、得られたデータから
OSを推定する(nmapが有名)
– passive:対象システムに対して通信を行わず、取得済みの通信
データを分析してOSを推定する

今回はp0fというツールを用い、Passive fingerprintingを
行った
4
p0f


p0fにはいくつかのモードがあるが、今回用いたのはSYN
パケットを分析対象とするモード
判定に用いるのは以下のデータ
–
–
–
–
–
ウィンドウサイズ
TTL の初期値
Don’t Fragment ビット
SYN パケット全体のサイズ
TCP オプション(NOP、EOL、ウィンドウスケール、最大セグメント
サイズ、SACK、タイムスタンプ等)
– その他特徴的な点など

これらを集約し、シグネチャとしてデータベース化している
5
CCC DATAsetの分析

サイバークリーンセンターが運用するハニーポットのデー
タから作成された、マルウェア研究用のデータセット
– CCC DATAset 2008,2009の2年分が存在
– そのうち、2台のハニーポットの通信を2日間フルキャプチャしたも
のを使用

p0fを適用した結果、既存のOSではないと判定されたシグ
ネチャが多数得られた
– TTLを2の累乗の値に切り上げ、初期値として推定、集約
– アウトバウンド1種、インバウンド43種のシグネチャが得られた


このシグネチャを総称して、MWSシグネチャと呼ぶことに
する
以後、インバウンドの通信のみを分析対象とする
6
MWSシグネチャの例

60352:64:0:52:M1240,N,W2,N,N,S:.:MWS:60352_1
–
–
–
–
–
ウィンドウサイズが60352バイト
TTLの初期値が64
Don’t Fragmentビットが0
SYNパケット全体のサイズが52バイト
以下のTCPオプションが設定されている

最大セグメントサイズ、NOPオプション、ウィンドウスケールオプション、
SACK
– その他の特徴はなし
– OSの名称、詳細(バージョン等)

今回は、ウィンドウサイズの値により分類し、名称を付けた
7
CCC DATAsetの分析:全体(1)

既存シグネチャ、MWSシグネチャのSYNパケット数の比較
– 2009年度は2008年度に比べ全体的に通信量が減少している
– 両年度とも、SYNパケットの半分以上がMWSシグネチャによるもの
8
CCC DATAsetの分析:全体(2)

シグネチャ毎の送信元IPアドレス数
– SYNパケット数ほどではないが全体的に減少している
– 送信元ホストの半分以上がMWSシグネチャによる通信をしてい
る
9
CCC DATAsetの分析:
シグネチャ別SYNパケット数

シグネチャ毎のSYNパケット数(2009)
10
CCC DATAsetの分析:
シグネチャ別送信元IP数

シグネチャ毎の送信元IP数(2009)
11
CCC DATAsetの分析:
MWSシグネチャの送信先ポート(2009) (1)


両年度を通じて登場頻度の高いシグネチャについて、
2009年のデータにおける送信先ポートを分析
左: 16384_1、右: 53760_4
12
CCC DATAsetの分析:
MWSシグネチャの送信先ポート(2009) (2)


左: 60352_3、右: 60352_6
135、139、445、 1433、2967の各ポートは、いずれも
ポートスキャンの対象(脆弱性があるもの)として著
名なもの
13
CCC DATAsetの分析:
頻度の高い通信パターンの分析(1)

ホストAはMWS 60352_6シグネチャで通信
– 以下SYNパケットのみ
21:26:41
21:26:41
21:26:43
21:26:43
21:26:43
21:26:43
ホストA:9109 -> ハニーポットA:135 (scan)
ホストA:9110 -> ハニーポットA:135 (rpc)
ホストA:9197 -> ハニーポットA:135 (rpc)
ホストA:9203 -> ハニーポットA:1013 (シェルコード送信)
ハニーポットA:1028 -> ホストA:3450 (malware 要求)
ハニーポットA:1028 -> ホストA:3450 (malware 要求)
※各行冒頭はタイムスタンプ
14
CCC DATAsetの分析:
頻度の高い通信パターンの分析(2)

ホストBはMWS 53760_4シグネチャで通信
00:35:11 ホストB:56101 -> ハニーポットB:135 (rpc)
00:35:13 ハニーポットB:1027 -> ホストB:47602 (malware 要求)
00:35:13 ハニーポットB:1027 -> ホストB:47602 (malware 要求)

CCC DATAsetの攻撃元データ(マルウェアのダウンロー
ド記録)に、ダウンロードが成功した記録が残されている
2009-03-13 00:35:13, ハニーポットB,1027, ホストB,47602,
TCP,c925531e659206849bf7********************,
PE_VIRUT.AV,C:\WINNT\system32\csrs.exe
15
CCC DATAsetの分析:
頻度の高い通信パターンの分析(3)

ホストCは、最初のSYNパケットのみMWS 16384_1シグネ
チャで通信

2つ目・3つ目のSYNパケットはWindowsのシグネチャであった
00:57:09 ホストC:6000 -> ハニーポットB:135 (scan)
00:57:13 ホストC:3197 -> ハニーポットB:135 (rpc)
00:57:15 ホストC:4139 -> ハニーポットB:135 (rpc)
16
CCC DATAsetの分析:
シグネチャ毎の通信内容


一度以上通信が成立したシグネチャについてまとめ
た表
MWSシグネチャではftpとshellコード送信が多く、他
はほとんどないことがわかる
シグネチャ
MWS 60352_6
MWS 53760_4
MWS 60352_3
MWS 65535_7
MWS 60352_2
MWS 60352_1
すべての通信
ftp
http
irc
232
50
38
12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
shell
558
307
66
21
18
6
694
563
202
1660
17
smb
sql
0
0
0
0
0
0
0
0
0
0
0
0
9234
723
MWSシグネチャの拡張

DFビット
– CCC DATAsetにおけるインバウンド通信は、すべてDFビットが0
だった
– DFビットは通信環境により削除されることがある
– MWSシグネチャのDFビットを1にしたMWS+DFシグネチャを作成

最大セグメントサイズオプション
– 最大セグメントサイズの値は通信環境により左右されることが多
い
– 最大セグメントサイズの値のみが異なるシグネチャについて、こ
れをワイルドカードとして6種に集約し、MWS_Genシグネチャを作
成

以降、MWSシグネチャ、MWS+DFシグネチャ、MWS_Genシ
グネチャの順に優先度を付けて分析を行った
18
他のネットワーク通信データの分析:
早稲田大学(1)


早稲田大学の対外接続回線におけるすべての通信デー
タ (SYNパケットのみ、09/12/25~09/12/31)を分析
シグネチャ種別ごとの統計
– SYNパケット数では合計8.5%、送信元IP数では合計5.5%程度
SYN パケット数
送信元IP数
MWS
5.140%
0.007%
MWS+DF
0.904%
0.770%
MWS Gen
2.569%
4.656%
UNKNOWN
20.180%
6.444%
既存OS
71.207%
90.272%
19
他のネットワーク通信データの分析:
早稲田大学(2)

各種MWSシグネチャ別に集計を行ったところ、MWS
16384_1シグネチャによるSYNパケット数が圧倒的に多
かった
– 送信元IP数は少数

他に上位にきているシグネチャ4種の送信先ポート番号を
集計したところ、445番ポートが最も多かった
– 135 番、139 番、2967 番、1433 番も多い
– 他にHTTP (80 番、8080 番)、HTTPS(443 番)、SMTP (25 番)、
bittorent(6886 番、6889 番)など
– ターゲット不明のポート番号も
20
他のネットワーク通信データの分析:
企業のsmtp通信データ(1)


ある企業網の電子メールサーバに接続したネットワーク
セグメントで収集したTCP ヘッダデータ(SYNパケットのみ、
09/3/1~09/3/31)を分析
シグネチャ種別ごとの統計
– SYNパケット数では合計3%、送信元IP数では4%程度
SYN パケット数
送信元IP数
MWS
0.004%
0.004%
MWS+DF
0.794%
0.240%
MWS_Gen
2.107%
3.500%
UNKNOWN
13.398%
9.728%
既存OS
83.697%
87.758%
21
他のネットワーク通信データの分析:
企業のsmtp通信データ(2)


各種MWSシグネチャ別に集計を行ったところ、他の通信
データと異なりMWS 16384_1シグネチャによるSYNパケッ
ト送信が一切なかった
MWSシグネチャによるSYNパケット送信があったIPアドレ
スについて発信したメールの内容を判別したところスパム
メールであった
– マルウェアの構成によってはスパム送信モジュールを搭載するも
のもあると推定できる
22
他のネットワーク通信データの分析:
MAWIデータセット




WIDE Projectによるインターネット定点観測において取得
されている通信データ
本研究ではその中でも太平洋を横断するネットワーク回
線で毎日取得されているもの(2006年11月~2009年11
月)を分析、月別で集計した
シグネチャ別に集計したところ、多い月ではSYNパケット
全体の10%以上がMWS 16384_1シグネチャによるもの
だった
多くの月においてMWS+DF シグネチャ、MWS_Gen シグネ
チャによるSYNパケットが全体のおよそ1.5% 以上存在し
ていた
23
他のネットワーク通信データの分析:
MWS 16384_1シグネチャ


MWS 16384_1シグネチャについて、早稲田大学のデータ
とMAWIデータセット(2009年11月分のみ)を分析した
少数の送信元IPから大量のSYNパケットが送信されてい
た
通信データ
早稲田大学
MAWI (2009 年11 月)



SYN パケット数
送信元IP 数
12,058,445
166
2,030,839
106
スキャン行為と思われる通信が確認できた
SYNパケットのうち95%程度は、送信元ポートが6000番で
あった
MWS 16384_1シグネチャによるSYNパケット送信の後、既
存OSによるSYNパケット送信がある場合もあった
24
まとめ




ハニーポットの通信データからカーネルマルウェアの可能
性がある(既存OSのTCP/IPスタックと異なる実装である)
シグネチャを抽出、通信の分析を行った
これらのシグネチャによる攻撃通信が多数見られた
他のネットワーク上でもこれらのシグネチャが見られるこ
とが確認できた
今後の課題
– さらに通信内容に踏み込んだ分析
– MWSシグネチャによるSYNパケットの送信元ホストの分析
– シグネチャのアップデート
25

ご清聴ありがとうございました。
26
補足資料
27
p0f (1)

p0fのシグネチャにおけるTCPオプションリスト
N
NOP オプション
E
EOL オプション(オプションリストの終了)
Wnnn
ウィンドウスケールオプション(nnn は値を表す)
Mnnn
最大セグメントサイズオプション(nnn は値を表す)
S
Selective ACK オプション
T
タイムスタンプオプション
T0
タイムスタンプオプション(タイムスタンプ値が0)
?n
上記以外のオプション(n はオプションを表す番号)
28
p0f (2)

p0fのシグネチャにおけるその他の特徴リスト
E
EOL オプションの後にオプションがある
Z
IP パケットにおけるID フィールドが0 である
I
IP パケットでオプションが設定されている
U
緊急ポインタフィールドが0 でない
X
未使用領域が0 でない
A
ACK 番号が0 でない
T
タイムスタンプ・エコー応答の値が0 でない
F
通常設定されないフラグ(URG、PSH など)が設定さ
れている
D
TCP ヘッダの後にデータが存在する
!
TCP オプション部分が正常に読めない
.
上記すべてに該当しない
29
CCC DATAsetの分析:
シグネチャ別SYNパケット数

シグネチャ毎のSYNパケット数(2008)
30
CCC DATAsetの分析:
シグネチャ別送信元IP数

シグネチャ毎の送信元IP数(2008)
31
MWS_Genシグネチャリスト
– 53760:64:1:64:M*,N,W3,N,N,T0,N,N,S:.:MWS_Gen:53760
– 5808:64:1:60:M*,S,T,N,W0:.:MWS_Gen:5808
– 60352:64:1:52:M*,N,W2,N,N,S:.:MWS_Gen:60352
– 65535:64:1:52:M*,N,W2,N,N,S:.:MWS_Gen:65535_1
– 65535:64:1:64:M*,N,W3,N,N,T0,N,N,S:.:MWS_Gen:65535_2
– 8192:64:1:64:M*,N,W0,N,N,T0,N,N,S:.:MWS_Gen:8192
32
企業のsmtpデータにおける
MWSシグネチャの送信メール内訳
シグネチャ名 スパム 通常メール 送信元IPアドレス数
65535_8
290
0
9
65535_5
252
0
8
65535_3
90
0
4
65535_7
64
0
6
16384_3
25
0
3
65535_4
16
0
7
53760_4
16
0
2
65535_12
9
0
1
33
各種MWSシグネチャごとのSYNパケット数
(早稲田大学)
シグネチャ
MWS 16384_1
SYNパケット数
12,058,445
MWS_Gen 65535_1
2,088,113
MWS_Gen 53760
1,398,351
MWS_Gen 60352
1,335,506
MWS_Gen 65535_2
1,101,716
MWS+DF 8192_1
952,104
MWS+DF 60352_6
244,401
MWS+DF 65535_13
241,613
MWS+DF 53760_4
194,928
MWS_Gen 8192
136,019
その他合計
576,091
34
シグネチャごとの送信先ポート番号
(早稲田大学) (1)
MWS_Gen 65535_1
ポート番号
その他
MWS_Gen 65535_2
SYNパケット数
ポート番号
SYNパケット数
445
1,827,882
445
533,677
80
120,384
80
378,072
6889
48,207
6889
75,996
21053
11,828
21053
20,479
8080
10,566
6649
12,757
25
10,119
28582
10,356
6649
9,778
443
7,436
28582
5,822
8088
6,930
443
4,069
14229
6,648
6886
3,009
25
5,000
36,449
その他
35
44,365
シグネチャごとの送信先ポート番号
(早稲田大学) (2)
MWS_Gen 53760
ポート番号
その他
MWS_Gen 60352
SYNパケット数
ポート番号
SYNパケット数
445
1,322,036
445
1,322,036
1433
7,660
1433
7,660
80
1,843
80
1,843
25
925
25
925
139
368
139
368
135
302
135
302
2967
134
2967
134
6649
54
6649
54
21053
51
21053
51
6889
41
6889
41
2,092
その他
36
2,092
各種MWSシグネチャごとのSYNパケット数
(SMTPデータ)
シグネチャ
SYNパケット数
MWS_Gen 65535_1
65,108
MWS+DF 8192_1
46,206
MWS_Gen 65535_2
40,396
MWS_Gen 60352
24,131
MWS_Gen 53760
13,004
MWS_Gen 8192
3,726
MWS+DF 65535_3
1,624
MWS+DF 60352_3
1,306
MWS+DF 65535_4
1,163
MWS+DF 65535_7
1,016
その他合計
4,126
37
各種MWS シグネチャによるSYN パケット割合の推移
(MAWI) 1
38
各種MWS シグネチャによるSYN パケット割合の推移
(MAWI) 2
39
MWS 16384 1 シグネチャによるSYN パケット割合の推移
(MAWI) 1
40
MWS 16384 1 シグネチャによるSYN パケット割合の推移
(MAWI) 2
41
MWS 16384 1 シグネチャ以外の各種MWS シグネチャによる
SYN パケット割合の推移(MAWI) 1
42
MWS 16384 1 シグネチャ以外の各種MWS シグネチャによる
SYN パケット割合の推移(MAWI) 2
43
MWS Gen シグネチャ4 種によるSYN パケット割合の推移
(MAWI) 1
44
MWS Gen シグネチャ4 種によるSYN パケット割合の推移
(MAWI) 2
45
各種MWS シグネチャによる送信元IP アドレス数の推移
(MAWI) 1
46
各種MWS シグネチャによる送信元IP アドレス数の推移
(MAWI) 2
47
各種MWSシグネチャごとのSYNパケット数
(MAWI)
シグネチャ
MWS 16384_1
SYNパケット数
46,226,393
MWS_Gen 65535_2
3,977,229
MWS_Gen 53760
3,709,951
MWS_Gen 65535_1
2,844,464
MWS_Gen 8192
2,286,077
MWS+DF 8192_1
1,267,833
MWS_Gen 60352
751,435
MWS+DF 53760_4
463,724
MWS+DF 65535_12
254,946
MWS+DF 65535_7
209,522
その他合計
1,121,401
48
MWS 16384 1 シグネチャによる
SYN パケットの送信先ポート番号
早稲田大学
ポート番号
MAWI(2009年11月)
SYNパケット数
ポート番号
SYNパケット数
2967
5,827,791
1521
521,196
1433
2,968,309
1433
502,537
135
1,460,904
2967
312,409
3306
344,411
135
275,083
1521
223,939
445
227,608
8088
201,510
3306
70,647
8080
196,786
8080
36,319
445
84,127
3128
32,218
その他合計
750,668
その他合計
1521 番はOracle データベース、
3306 番はMySQL で用いられるポート番号
49
52,822