フロー技術を活用した ネットワークセキュリティの研究 後藤滋樹,下田晃弘 グローバルCOEプログラム アンビエントSoC教育研究の国際拠点 (早稲田大学 理工学術院)
本資料の構成 背景(パケットとフロー) 1. 測定 サンプリングによる測定 2. セキュリティ 2.1 仮想センサ 2.2 仮想ハニーポット
概要 インターネットのパケットを個別に観測するのではなく、フローの単位で分析することは従来から広く行なわれてきた。ところで意味のある観測をしようとすれば多量のデータを対象とする必要がある。ネットワークが広帯域になると観測するべきデータが膨大になり分析が難しくなる。これまでにパケットのサンプリング方法が提案されているが、どの程度まで比率を下げることができるか、定量的な評価をするのが難しかった。ここで紹介する研究では、トラフィックの傾向を把握するためのサンプリングの方法を検討する。これが第一の話題である。 次にセキュリティの話題に移る。ネットワークの観測をすると、不思議なことに「使用されていない筈のアドレス」を宛先とするパケットが見つかる。この原因の多くはマルウェアつまりウィルスの拡散、DoSアタックの影響、ボットの活動などである。このような宛先の不明なパケットを捕捉して分析することはセキュリティの面で有意義である。ここでは仮想的なセンサー(マシン)を実現して多量の「宛先の不明なパケット」を分析する方法を紹介する。さらに「宛先の不明なパケット」を受動的に受信して分析するだけではなく、パケットに意図的に応答する技術を紹介する。これは仮想的なハニーポットを実現するものである。応答を返すことにより、セキュリティの分析をさらに進めることができる。
OpenFlow (GENI) Press Releases National LambdaRail (NLR) Deploys New, Wide-Area Backbone Network for National Science Foundation-Funded GENI "Future Internets" Project August 17, 2010 http://www.nlr.net/
Open Flow Demo at SC 08 http://jpnoc.net/OpenFlow-DEMO.m4v movie by Jin Tanaka
NetFPGA-1G Hardware Xilinx Virtex-2 Pro FPGA PCI Host Interface SRAM DRAM 4 * Gigabit Ethernet ports
Anagran FR-1000 Caspian Networks NEC NetFPGA
IPパケットはdatagram (バラバラ) Analyze packet by packet Limitation of simple packet analysis Malicious activities in normal packets DoS (Denial of Service) attack Port Scan
フローにまとめる Protocol Machine Flow — a sequence of packets Source and destination IP address (or AS#) Port numbers (application) Valid flow and Invalid flow A flow is classified by the protocol machine.
フローにまとめる Protocol Machine The original protocol machine for TCP Defined in RFC 793 Deterministic automaton Our new extended protocol machine Non-deterministic automaton It covers packet losses and duplicated packets.
広帯域ネットワークの利用増 → 測定が難しくなる 1. 広帯域ネットワークの利用増 → 測定が難しくなる 対象とするデータ量が膨大になる 例:早稲田大学のSINET対外接続は10Gbps もし使用量1.6Gbps=0.2GB/sec としても 1時間のデータ(60秒×60分) 720GB 個々のパケットではなくフローとして把握 サンプリング(1), フィルタリング(2) できるだけ即時に処理(2) 多地点のデータを分散管理(2)
サンプリングによる測定 T. Mori, T. Takine, J. Pan, R. Kawahara. M. Uchida, and S. Goto, Identifying Heavy-Hitter Flows From Sampled Flow Statistics, IEICE Transactions on Communications, Vol. E90-B, No.11, pp. 3061--3072, Nov. 2007. 電子情報通信学会 論文賞 2009年5月29日 授賞式 電気通信普及財団 テレコムシステム技術賞 2010年3月15日 授賞式
電気通信普及財団賞 ネットワーク内を流れるトラフィックをチェックして、長時間大量のパケットを流すフローを識別することは重要な問題である。この研究は、すべてのパケットではなく、サンプリングにより高精度且つスケーラブルにそのようなフローを特定する理論的手法を確立し、実トラフィックデータを用いて実証したもので、実社会で求められている優れた仕事である。
1. サンプリングによる エレファントフローの特定 1. サンプリングによる エレファントフローの特定 エレファントフロー とは「巨大なフロー 」 P2Pによって発生したフロー 今日では巨大フローは一般ユーザーが発生する CATV,DSL, FTTH 加入者 帯域の消費が著しい ネットワークによらない普遍的な現象 (2:8の法則) エレファントフローを検出・制御すると 制御対象とするフロー数が少なくて済む 制御する効果が大きい
分析の対象とするデータ OC48c パケットトレース(PMA project, NLANR) 分析の対象とするデータ OC48c パケットトレース(PMA project, NLANR) N=10,000,000 (約2分の片道トラフィック) 総フロー数: 737,800 エレファントフロー数 (Xj >= 10,000) : 167 エレファントフローのトラフィック量占有率 : 59.3% Pr[Xj = x]
パケットサンプリングとフロー計測 パケットサンプリング Nパケットに1パケットをサンプルする フロー計測のコストを削減することが目的 メモリ消費量、アクセススピード 超高速ネットワークに対するスケーラビリティを提供 標準化、実装が進んでいる技術 サンプリングにより、フロー統計情報の一部は失われる
課題とアプローチ: 課題 本研究のアプローチ ベイズの定理を用いる サンプルしたパケットからエレファント フローを特定する エレファントフローを特定するためには パケットカウントの閾値をどのように 定めれば良いか? 本研究のアプローチ ベイズの定理を用いる
ベイズの定理 フローj: 母集団におけるパケット数が Xj=x である条件 のもとでサンプルしたパケット数が Yj=y である確率 (超幾何分布) フローj: サンプルしたパケット数が Yj≧y である条件の もとで母集団におけるパケット数が Xj≧x である確率 (i.e., フローjがエレファントフローである確率) (A) (B)
False probabilities: フローjについてサンプルしたパケット数が を満たしたらエレファントフローであると特定する False positive ratio: = Pr [特定したフローがエレファントでない] = False negative ratio: = Pr [エレファントフローが特定されない] = = 誤って検出 見逃し
False率のトレードオフ (事前分布はIPCL) 誤検出 見逃し サンプリングレートが低いほど、トレードオフが顕著
応用例: 誤検出(NPR)を小さくする (≦ 0.05) 応用例: 誤検出(NPR)を小さくする (≦ 0.05) f=1/1,000 f=1/10,000 False positive 小 特定したフローは高確率でエレファント ただし、未検出のエレファントフローが増える
事前分布と閾値 閾値 の算出には,事前分布の情報が必要 事前分布の情報をどのように得るか? 同一ネットワークの近い時間帯でのデータを使う 閾値 の算出には,事前分布の情報が必要 事前分布の情報をどのように得るか? 同一ネットワークの近い時間帯でのデータを使う - 予め,測定しておく サンプルしたフローの分布から、元の分布を推定 - Yjの分布からXjの分布を推定 [Duffield,SIGCOMM’03] 分布の普遍的な性質を利用する 多くの場合,Xj の分布は形状母数≒1.0 のパレート分布で 近似可能 算出された閾値は、広い範囲の分布に対して同じ値
様々な事前分布: 経験分布 (計測データ) 理論分布 (パレート分布) OC48c link [PMA, NLANR] GbE link [PMA, NLANR] 理論分布 (パレート分布) IPCL: PMA Project, NLANR IPKS: Indianapolis—Kansas City CESCA: RedIRIS, beta=0.5 beta=0.75 Pr[Xj > x] beta=1.0 beta=1.25 beta=1.5 x
評価結果: false率 経験分布 パレート分布 false-positive false-negative false-positive
評価結果: 閾値 min s.t. FPR< 0.05 経験分布 パレート分布
エレファントフロー特定の応用例 PD (Priority discarding), WFQ (Waited Fair Queueing) 等のキュースケジューリングアルゴリズム と併用 ネットワーク輻輳時に、帯域を支配しているエレファントフローに属するパケットを優先的に廃棄/低優先キューに割り当て CSFQ (Core Stateless Fair Queueing)等の スケーラブルなネットワーク制御アーキテクチャに適合 エッジノードはエレファントフローマーキング。コアノードは マークを元に diffserv 的な制御を実施。 極端なエレファントフローの発生を検出したら、迅速に オペレータに通知する (anomaly detection)
1. のまとめ サンプルしたパケットからエレファントフローを特定する方法を提案し、実データにより評価した アイディアの要点: フロー毎にサンプルされるパケットカウントと、そのフローがエレファントフローである確率の関係を事前に算出 ベイズの定理を利用。事前分布の情報が必要。 実データおよび理論分布を用い、提案手法の 有効性を示した 本手法で計算した閾値 は、他のネットワークに 対しても有効 (非一様性の普遍性より)
2.1 仮想センサ(Dark IP) Block all incoming packets 実センサ Firewall PC Anomaly packets logging No response Attacker Firewall PC Sensor Box (Dark IP) Pass through all incomming packets
仮想センサ Normal Servers No service offered Attackers Unused IP space Normal Hosts Mutual Access No service offered One-way Access Attackers Unused IP space Netflow packets Virtual Sensors
Netflow AS 1000 AS 2000 Host A Host B export Netflow v5 record Fa 1/0 IP Y.Y.Y.Y /24 port 20 IP X.X.X.X /24 port 23221 export Netflow v5 record Start Time 2006/3/10 12:31:15 SrcIP X.X.X.X DstIP Y.Y.Y.Y End Time 2006/3/10 12:31:18 SrcMask /24 DstMask Protocol 6 SrcPort 23221 DstPort 20 TOS 80 SrcAS 1000 DstAS 2000 Flags 10 SrcIF Fa 1/0 DstIF Fa 0/0 Packets 1200 KBytes 6400
フローから仮想センサを抽出 Flow Attributes virtual sensors candidates Flow-tools Virtual Sensor Detection Algorithm Flow Attributes virtual sensors Netflow Database candidates Anomaly Packets Collector Results Output Netflow Router
ヒューリスティックなアルゴリズム Virtual Sensor Candidates Virtual Sensors 状態遷移の詳細な説明は割愛 Virtual Sensor Candidates Virtual Sensors Senders List (cache) Not seen or Not communicating 3 2 1 6 4 7 5 8
(Target of flow-observation) 実証実験 Wide area network Anomaly packets A worm infected host Scanning packets Intermediate Router (Target of flow-observation) An malicious host Autonomous System
実センサと仮想センサ Port 135/tcp
2.1 まとめ 仮想センサ(Virtual Dark IP)はフロー情報から仮想センサを抽出する提案 2.1 まとめ 仮想センサ(Virtual Dark IP)はフロー情報から仮想センサを抽出する提案 物理的な実センサの代りに使える 仮想センサは、多数のセンサを実現することができる
2.2 仮想ハニーポット Passive: 実センサ、仮想センサ X ? Active: Honeypots 2.2 仮想ハニーポット Passive: 実センサ、仮想センサ Stealth observation to detect indiscriminative attacks Network telescopes (CAIDA, 2004) Active: Honeypots Honeypots: definitions and value of honeypots (2002) X ? Purpose Detect anomaly packet DDoS, scanning… logging server Purpose Inspect detail of attacks - targeted vulnerability - malware/worm species honeypot
仮想ハニーポット(DarkPots) Vacancy Checker Forwarder Analyzer Vacancy checker Gateway Router (ACLs deployed) Enterprise / Campus Network The Internet Vacancy checker Forwarder Analyzers emulated response list of unused-IPs DarkPots System mirroring
構成要素1: Vacancy Checker Locate unused IP address space Packet capturing Heuristic method described in our earlier study. inactive for certain period marked as unused detect any activity marked as used Possibly false positive Firewall configuration of the gateway (ACLs) Monitoring both inside and outside gateway, Estimate which packet is blocked or passed the gateway. A blocked IP address is used for monitoring apparently unused from the Internet side Vacancy checker
構成要素2: Forwarder Function Allocation of unused IP addresses list Monitors outside of the gateway traffic Allocation of unused IP addresses list Each lists corresponds to one of the analyzers. Flexible allocation patterns (e.g. continuous or random patterns) Forward a packet to an analyzer overwrite destination MAC address List A for analyzer A to analyzers Vacancy checker unused-IPs list Unused IPs List B for analyzer B Forwarder List C for analyzer C Gateway Router Enterprise / Campus Network
構成要素3: Analyzer Analyzers for various roles. Easy to implement sensor / responder / honeypot any service is capable Easy to implement A service should have a configuration for binding to any Interface (e.g. 0.0.0.0) Setup sub-interfaces : eth0:1, eth0:2, ..... eth0:n Assign allocated unused IP addresses Response packets : directly routed to the Internet Analyzers response Forwarder Gateway Router The Internet
処理の手順: DarkPots × × #4 forwarding to analyzer # 5 responding #3 filter with unused-IP address list Forwarder #2 mirroring blocked by firewall destination is inactive #1 attacks × × Gateway The Internet Enterprise / Campus Network
3種類の Analyzer A: Passive Sensor receive only for logging B: Reflector syn A: Passive Sensor receive only for logging B: Reflector respond to SYN flagged packet but other packets will not be sent. creates TCP half connection C: Honeypot Installed Npenthes software as one of the case-study of honeypots. Passive Sensor Reflector Honeypot honeypot service iptables syn/ack reflector logging honeypot response syn/ack response no response syn syn
Unused-IP address allocation Assign unused-IP address to each analyzer. Random selection without duplication. 2560 IPs assigned for each analyzers. passive reflector honeypot A: Passive Sensors B: Reflector C: Honeypots campus network : A.B.C.D/16 x-axis :3rd octets of IPv4 y-axis :4th octets of IPv4
3つのAnalyserで観測されたIPアドレス The number of source IP address (unique hosts) on passive sensors is slightly larger than others. passive reflector honeypot ほぼ同数
C.D.F analysis on # of received packets per attacker 60% of attackers sent less than 3 packets in passive mode (A) 90% of attackers sent out more than 4–8 packets in the active (B) and interactive modes (C). Passive Reflector HoneyPot
TCPフラグの分析 BにおけるFIN/PSH/ACKが特徴的 passive reflector honeypot too many duplicated packets
Mode Cにおける観測 top 7 heavy-hitters ある時間帯に活動、多くの国に分布している
The second experiment: ランダムアドレスと連続アドレスの比較 Two honeypot analyzers in parallel random address block continuous address block Assign 2,560 IP addresses each Purpose : inspecting the effect of allocation patterns random continuous x-axis :4th octets of IPv4 y-axis :3rd octets of IPv4
連続アドレスは攻撃されやすい 分散アドレスは観測に適している Continuous Random The upper plot shows the number of attacks on each of malware species, and the lower table, represent the total number of attacks with unique malware hashes and species. Both upper and lower figures use the same source from Nepenthes logs. We notice that the count of attacks in continuous allocation, is larger than that of random allocation. In contrast the number of species on random allocation, is larger than than of the continuous allocation. We expect this is due to the scanning pattern of botnets. Because, other study reported that some botnets implement a scan algorithm which targets neighbor subnets on a priority basis. Therefore the analyzer with continuous address space, should subject to the target of the same botnets. # 亜種: subspecies マルウェアの名前はAvastによる attack count Continuous Random
2.2 まとめ 稼働しているネットワークに影響が少ない 未使用のIPアドレスを活用して測定に用いる 大規模なネットワークに適用可能 2.2 まとめ 稼働しているネットワークに影響が少ない ミラーポートを利用してデータを収集 未使用のIPアドレスを活用して測定に用いる パケット収集とファイアウオール情報の照合 大規模なネットワークに適用可能 数種類の分析手法を同時に走行可能 既存手法と新手法との比較が容易 観測対象とするIPアドレスを自由に選択 Akihiro Shimoda, BEST student paper award, SAINT 2010.