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
© Copyright 2024 ExpyDoc