i-Pathルータのフロー情報を用いた DoS攻撃検知法 情報理工学専攻 後藤研究室 5108B096-1 野上晋平 1 研究背景 従来のインターネット エンドノードからネットワーク内部の情報が 得られない(ICMPを用いて間接的に得る) ネットワークの多様化 情報開示を求める声の高まり 2 研究概要 本研究ではこれまで注目されてない ルータが持つ情報を活用する ルータを通過するフロー情報を用いて DoS攻撃を検知 複数のルータを使用してDoS攻撃の 送信元を絞り込む 3 i-Pathルータ 産業技術総合研究所の小林克志氏が開発 ネットワーク内部の可視化が目的 エンドノードが通信経路の情報を取得できる 取得できる情報の例 ネットワーク帯域 輻輳状態 遅延 パケットロス 4 可視化の例 30% 1G 30% 1G 20% 500M 60% 2G 60% 10G 1% 100M 40% 3G 50% 1G 30% 700M 40% 2G 40% 2G 5 SHIMヘッダ IPヘッダとTCP/UDPヘッダの間にルータの 持つ情報を書き込むSHIMヘッダを挿入 イーサ ネット ヘッダ IP ヘッダ TCP/ UDP ヘッダ イーサ ネット ヘッダ IP ヘッダ SHIM ヘッダ データ TCP/ UDP ヘッダ データ イーサ ネット トレイラ イーサ ネット トレイラ IPヘッダとTCP/UDPヘッダの間にSHIMヘッダを挿入 6 DoS攻撃 サービス不能(Denial of Service)攻撃 大量のパケットを送りつけ、サーバの資源 (CPU、メモリなど)やネットワーク帯域を占有 してサービスを妨害する DoS攻撃の種類 SYN Flood(TCP), Connection Flood(TCP), ・・・ UDP Flood, ICMP Flood, ・・・ 分散型(DDoS)、反射型(DRDoS) 7 実証実験 i-Pathルータが実現する機能を確認する i-Pathルータの機能をLinuxで実装 1. nf_conntrackでフロー情報を取得 ルータでの 処理 2. MIB(SNMP)に情報を書き込む 3. 観測用ホストがSNMPで得たフロー情報を もとにDoS攻撃の検知を行う 定常状態から外れた場合に検知 複数のルータからDoS攻撃の経路を絞り込む 8 DoS攻撃の検知法 SYN Flood攻撃 SYNフラグとACKフラグ が立っている 内部状態がSYN_RECVのフロー数で判定 Connection Flood攻撃 内部状態がESTABLISHEDのフロー数で判定 UDP Flood攻撃 UDPのフロー数で判定 TCPコネクションが 確立している ICMP Flood攻撃 ICMPのフロー数で判定 9 実験環境 Polling 観測用ホスト 10 実験 DoS攻撃 通常のトラフィック 各ルータでDoS攻撃の検知を行う 11 実験結果(SYN Flood) 12 実験結果(SYN Flood) $ ./detector 02:50:04: Router3: Router4: 02:50:05: Router3: Router4: 02:50:06: Router3: Router4: 02:50:07: Router3: Router4: output01.csv SYN Flood SYN Flood SYN Flood SYN Flood SYN Flood SYN Flood SYN Flood SYN Flood 13 実験結果(Connection Flood) 14 実験結果(Connection Flood) $ ./detector 20:45:59: Router3: Router4: 20:46:04: Router3: Router4: 20:46:07: Router3: Router4: 20:46:08: Router3: Router4: output02.csv Connection Flood Connection Flood Connection Flood Connection Flood Connection Flood Connection Flood Connection Flood Invalid Data SNMPでデータが取得 できなかった 15 実験結果(UDP Flood) 16 実験結果(UDP Flood) $ ./detector 21:23:46: Router3: Router4: 21:23:50: Router3: Router4: 21:23:51: Router3: Router4: 21:23:52: Router3: Router4: output03.csv UDP Flood UDP Flood UDP Flood UDP Flood UDP Flood UDP Flood UDP Flood UDP Flood 17 実験結果(ICMP Flood) 18 実験結果(ICMP Flood) $ ./detector 21:49:15: Router3: Router4: 21:49:16: Router3: Router4: 21:49:17: Router3: Router4: 21:49:18: Router3: Router4: output04.csv ICMP Flood ICMP Flood ICMP Flood ICMP Flood ICMP Flood ICMP Flood ICMP Flood ICMP Flood 19 まとめ ルータのフロー情報を用いてDoS攻撃の 検知を行った 複数のルータを監視することでDoS攻撃の 経路を絞り込めた 20 ご清聴ありがとうございました 21 End-to-End原理 パケットの再送やQoS などの複雑な機能は可 能な限りエンドノードで行うべきだという考え インターネットの基本的な設計原理 TCPにおける再送制御などがこれにあたる 22 i-PathルータとSNMP i-Pathルータ End-to-End原理にもとづいて、エンドノードへの 情報提供を目的とする ルータで情報が開示されれば、どのホストでも 等しく情報が得られる SNMP Managerにより、ホストの集中管理を行う 外部のホストのアクセスは制限される 情報の取得に加えて、一部の設定も行える 23 ネットワークの多様化 ブロードバンドの普及 モバイル機器によるインターネットの利用 P2P など新たな形態のネットワーク →多様化と格差の拡大 ネットワークアプリケーションの最適化、 障害時の原因究明などで困難に直面 24 情報開示を求める声 ネットワーク中立性の観点から情報開示を 求める声が高まっている 米連邦通信委員会(FCC) 規則の制定を目指す 「ISP は正当な理由があればサービスの規制 を行えるが、その場合はネットワークの管理情 報を開示しなければならない」 25 nf_conntrack フローを追跡して情報を保持する (Linuxの持つConnection Tracking機能) 通信中のフローについての情報 プロトコル コネクションの状態、数 送信元と宛先のIPアドレス・ポート番号 パケット数、トラフィック量 26 例:nf_conntrackの情報 内部状態 ipv4 2 tcp 6 299 ESTABLISHED src=192.168.1.2 dst=192.168.2.2 sport=34711 dport=5001 packets=9736 bytes=14373496 src=192.168.2.2 dst=192.168.1.2 コネクションの確立状態 sport=5001 dport=34711 packets=3687 bytes=192812 [ASSURED] mark=0 secmark=0 use=2 27 nf_conntrack 補足 The meaning of the states are: * NONE: initial state * SYN_SENT: SYN-only packet seen * SYN_RECV: SYN-ACK packet seen * ESTABLISHED: ACK packet seen * FIN_WAIT: FIN packet seen * CLOSE_WAIT: ACK seen (after FIN) * LAST_ACK: FIN seen (after FIN) * TIME_WAIT: last ACK seen * CLOSE: closed connection (RST) 28 nf_conntrack 補足 それぞれのタイムアウト時間 [TCP_CONNTRACK_SYN_SENT] = 2 MINS [TCP_CONNTRACK_SYN_RECV] = 60 SECS [TCP_CONNTRACK_ESTABLISHED] = 5 DAYS [TCP_CONNTRACK_FIN_WAIT]= 2 MINS [TCP_CONNTRACK_CLOSE_WAIT] = 60 SECS [TCP_CONNTRACK_LAST_ACK] = 30 SECS [TCP_CONNTRACK_TIME_WAIT] = 2 MINS [TCP_CONNTRACK_CLOSE] = 10 SECS [TCP_CONNTRACK_SYN_SENT2] = 2 MINS 29 i-Pathプロジェクト 情報通信研究機構の委託を受け、産業技術 総合研究所、三菱総合研究所、早稲田大学 後藤滋樹研究室の共同研究 FreeBSDのカーネルをSIRENSに入れ替え実 装 i-Path Project: http://i-path.goto.info.waseda.ac.jp/trac/i-Path/ 30 DoS攻撃の説明 SYN Flood攻撃 TCP で接続の最初に行われるスリーウェイハンドシェイクにおいて、攻 撃者が接続要求(SYNパケット)を大量に送りつける攻撃 Connection Flood攻撃 TCP による接続を大量に確立させる攻撃 UDP Flood攻撃 UDP パケットを大量に送りつける攻撃 ICMP Flood攻撃 ICMP echo request パケットを大量に送りつける攻撃 31 今後の課題 実運用のトラフィックに近い環境で評価を 行い説得力を高める 今回使用しなかったパラメータを使用して 検知の精度を高める 32
© Copyright 2024 ExpyDoc