Transcript Slides
東海大学 ◎大類 将之 菊池 浩明
日立製作所 寺田真敏
マルウェアの移り変わり
第1期
第2期
スキャン
侵入
BO PS
TR
潜伏
WO
感染
MW
A
BO
MW
B
MW
C
MW
D
感染
ボットネット
第3期
BO
MW
DL2
DL1
PS
DL3
攻撃者
連携活動
ボットネット
複数のMW間の相関を発見する必要性
ボットネットA:PE+TROJ+WORM
ボットネットB:BKDR+TSPY+WORM
連携活動の発見
ボットネットの同定やトレースへの活用
連携を発見する事の困難さ
曜日
PE1
月
3
火
1
水
2
木
金
TROJ1
2
2
1
3
3
1
2
1
4
2
2
3
1
1
連携パターン 2 = 64通り
1週間分
7日
検査回数
448回
1
2
6
WORM1 WORM2
2
3
1
3
TORJ2
2
5
土
日
PE2
1
3
5
3
← 約4億通り
← 約2千回
← 約8千兆回
アソシエーション分析
X(前件部) ⇒ Y (結論部) という相関ルー
ルを抽出するデータマイニング手法
支持度(Support)と確信度(Confidence)に
最小値を設定する事で,膨大な組み合わ
せから,効率よくルールを抽出できる.
支持度 = ルールの出現率
確信度 = ルールの関連性の強さ
相関ルールの抽出例
X(PE1) → Y(TROJ1, WORM1)
曜日
PE1
月
3
火
1
水
2
木
金
2
N=7 X=5
2
TORJ2
1
1
3
3
1
2
2
1
4
2
2
3
1
1
X∩Y = 4
支持度 = X∩Y/N = 4/7日 60 %
確信度 =X∩Y/X = 4/5日 80 %
WORM1 WORM2
2
3
1
3
TROJ1
2
5
土
日
PE2
1
3
5
3
相関ルールの抽出例
X(PE1, PE2) → Y(TROJ1, WORM1)
曜日
PE1
月
3
火
1
水
2
木
金
2
N=7 X=2
2
TORJ2
WORM1 WORM2
2
1
1
3
3
1
2
3
2
1
4
2
2
3
1
1
1
3
TROJ1
2
5
土
日
PE2
X∩Y = 2
支持度 = X∩Y/N = 2/7日 30 %
確信度 =X∩Y/X = 2/3日 100 %
1
3
5
3
Aprioriの原理
最小値を指定して枝狩りしていく
最小確信度
0.6
最小支持度
0.8
8千兆の
ルール
実験目的
攻撃通信データと攻撃元データを使用し,
連携パターンを抽出
各データは約20分間隔で145個のタイム
スロットに分割
スロット
0
20分間隔
MW名
MW1
MW2
MW3
感染なし
1
MW1
MW2
144
MW1
MW2
MW3
MW4
MW3
MW4
…
2
実験方法
攻撃通信データを手動で詳しく解析し,連
携パターンを探す
Aprioriで機械抽出し,手動解析と比較
実験1
ハニーポットや観測期間への応用
実験2
実験3
実験4
実験方法
攻撃元データ
ハニーポットID(Honey001~096)
001
002
1年間(365日)
2008/05
2008/06
攻撃通信データ
2008/07
09年3月13日と14日
Honey003(XP)
2009/04
004
094
実験4
実験3
2009/02
2009/0
3
003
13日
14日
実験1,実験2
実験4
実験3
実験2
実験1
観測期間によるパターンの変化
ハニーポット間の連携パターン
DLサーバ間の連携パターン
MW間の連携パターン
手動解析の結果
時刻
DLホストIPアドレス
MW名
0:02:11
124.86.***.111
PE_VIRUT.AV
0:03:48
67.215.*.206
TROJ_BUZUS.AGB
0:03:48
72.10.***.195
WORM_SWTYMLAI.CD
PE_VIRUT.AV
17/58
TROJ_BUZUS.AGB
WORM_SWTYMLAI.CD
実験1 MWの相関ルール抽出
最小支持度10% 最小確信度80%
前件部
前件部
No.
51 PE_
2
VIRUT.AV
6 PE_
3
TROJ_BUZUS.AGB
VIRUT.AV
TROJ_BUZUS.AGB
TROJ_
BUZUS.AGB
WORM_SWTYMLA
I.CD
WORM_
結論部
結論部
⇒
⇒
⇒
⇒
BKDR_POEBOT.GN
SWTYMLAI.CD ⇒
支持
確信
WORM_SWTYMLAI
41.4
100
WORM_
29.3
100
.CD
SWTYMLAI.CD
TROJ_BUZUS.AGB
TROJ_
WORM_SWTYMLAI
BUZUS.AGB
46.6
88.9
10.3
100
29.3 100
.CD
4
WORM_SWTYMLAI BKDR_POEBOT.GN
⇒
.CD
TROJ_BUZUS.AGB
10.3
100
5
PE_VIRUT.AV
TROJ_BUZUS.AGB
WORM_SWTYMLAI
.CD
29.3
100
6
PE_VIRUT.AV
WORM_SWTYMLA
⇒
I.CD
TROJ_BUZUS.AGB
29.3
100
手動の連携パターンを自動抽出!
⇒
実験2 DLサーバの相関ルール
No.
最小支持度10% 最小確信度50%
前件部
結論部
支持
確信
41.4
100
11 114.145.51.166
114.145.51. ⇒ 122.18.195.123
122.18.195. 41.4
100
⇒
2 122.18.195.123
46.6
88.9
⇒ 114.145.51.166
166
123
3 67.215.1.206
72.10.165.195
10.3
100
2 122.18.195. ⇒ 114.145.51. 46.6 88.9
⇒
4 72.10.166.195
10.3
100
⇒ 67.215.1.206
123
166
対応MW
PE⇒PE
PE⇒PE
PE⇒PE
TROJ⇒WORM
PE⇒PE
WORM⇒TROJ
複数のDLサーバを使用するMWでは正確
な連携パターンが抽出できない
実験3 観測地点間の差
スロット数3以上 最小確信度80%
前件部
No.
11
TROJ_BUZUS.AGB
2
BUZUS.AGB
WORM_SWTYMLAI.
2
3
TROJ_
TROJ_BUZUS.AGB
CD
WORM_
BKDR_VANBOT.GN
SWTYMLAI.CD
結論部
WORM_SWTYMLAI.
⇒
⇒ WORM_
CD
⇒
SWTYMLAI.CD
TROJ_BUZUS.AGB
⇒ TROJ_
⇒
WORM_SWTYMLAI.
BUZUS.AGB
CD
64 WORM_
WORM_SWTYMLAI.C PE_
BKDR_VANBOT.GN ⇒ TROJ_
TROJ_BUZUS.AGB
⇒
D
SWTYMLAI.CD
5
VIRUT.AV
TROJ_DLOADR.CBK
76 TROJ_
PE_
WORM_SWTYMLAI.C PE_VIRUT.AV
7
BUZUS.AGB
D
VIRUT.AV
TROJ_BUZUS.AGB
PE_VIRUT.AV
Honey数
36
36
36
36
12
7
12
BUZUS.AGB
⇒ UNKNOWN
⇒ WORM_
TROJ_BUZUS.AGB
⇒
SWTYMLAI.CD
⇒
WORM_SWTYMLAI.
CD
8
77
7
実験3 観測地点間の差
1台のハニーポットで
しか観測されていない
ルールが多い
複数のハニーポットで
観測されたルール
実験3 観測地点間の差
1台のハニーポットで
しか観測されていない
大規模なボットネットの可能性
ルールが多い
複数のハニーポットで
観測されたルール
実験4 観測時期の差
スロット数3以上 最小確信度80%
前件部
MW名
PE
TROJ
WO
RM
PE_
VIRUT.AV
結論部
WORM_
TSPY_
⇒
SWTYMLAI.CD
KOLABC.CH
TROJ_
WORM_
⇒
BUZUS.AGB
SWTYMLAI.CD
TSPY_
WORM_
⇒
KOLABC.CH
SWTYMLAI.CD
実験4 観測時期の差
実験4 観測時期の差
連携活動期間は短い
結論
各実験より, PE_VIRUT.AV, TROJ_BUZUS.AGB,
WORM_SWTYMLAI.CD 間の強い相関
実験1 手動解析で発見した連携活動とほぼ同じ結
果を抽出できた
実験2 IPアドレスでは,複数のDLサーバを使用す
るMWに関する有効なルールが抽出できない
実験3 広範囲で観測されたルールは大規模なボッ
トネットである
実験4 連携活動期間は短い