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 連携活動期間は短い