Transcript Honeypot
フロー技術を活用した ネットワークセキュリティの研究 後藤滋樹,下田晃弘 グローバルCOEプログラム アンビエントSoC教育研究の国際拠点 (早稲田大学 理工学術院) 本資料の構成 背景(パケットとフロー) 1. 測定 サンプリングによる測定 2.1 仮想センサ 2. セキュリティ 2.2 仮想ハニーポット 2 概要 インターネットのパケットを個別に観測するのではなく、フローの単位で 分析することは従来から広く行なわれてきた。ところで意味のある観測をしようと すれば多量のデータを対象とする必要がある。ネットワークが広帯域になると観 測するべきデータが膨大になり分析が難しくなる。これまでにパケットのサンプリ ング方法が提案されているが、どの程度まで比率を下げることができるか、定量 的な評価をするのが難しかった。ここで紹介する研究では、トラフィックの傾向を 把握するためのサンプリングの方法を検討する。これが第一の話題である。 次にセキュリティの話題に移る。ネットワークの観測をすると、不思議なことに 「使用されていない筈のアドレス」を宛先とするパケットが見つかる。この原因の 多くはマルウェアつまりウィルスの拡散、DoSアタックの影響、ボットの活動など である。このような宛先の不明なパケットを捕捉して分析することはセキュリティ の面で有意義である。ここでは仮想的なセンサー(マシン)を実現して多量の「宛 先の不明なパケット」を分析する方法を紹介する。さらに「宛先の不明なパケッ ト」を受動的に受信して分析するだけではなく、パケットに意図的に応答する技 術を紹介する。これは仮想的なハニーポットを実現するものである。応答を返す ことにより、セキュリティの分析をさらに進めることができる。 3 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/ 4 Open Flow Demo at SC 08 http://jpnoc.net/OpenFlow-DEMO.m4v movie by Jin Tanaka 5 NetFPGA-1G Hardware Xilinx Virtex-2 Pro FPGA PCI Host Interface SRAM DRAM 4 * Gigabit Ethernet ports Anagran FR-1000 Caspian Networks NEC NetFPGA 7 IPパケットはdatagram (バラバラ) • Analyze packet by packet • Limitation of simple packet analysis Malicious activities in normal packets • DoS (Denial of Service) attack • Port Scan 8 フローにまとめる 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. 9 フローにまとめる 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. CLOSED CLOSED passive OPEN/ create TCB CLOSE/delete TCB CLOSE/ delete TCB H2_snd_SYN active OPEN/ snd SYN LISTEN ε H1_snd_SYN SYN_RCVD_0_1 rcv SYN/ snd SYN ACK LISTEN CLOSE/ snd FIN SEND/ snd SYN rcv ACK of SYN/ x FIN_WAIT_1 rcv ACK of FIN/ x FIN_WAIT_2 rcv FIN/ snd ACK of FIN H1_snd_SYN_ACK SYN_RCVD rcv SYN/ snd ACK of SYN SYN_RCVD CLOSE/ snd FIN H1_snd_ACK_of_SYN SYN_RCVD_0_2 ε H2_snd_ACK_of_SYN ESTABLISHED_0 H1_snd_FIN rcv FIN/ snd ACK of SYN rcv FIN/ snd ACK of FIN CLOSING ESTABLISHED LAST_ACK rcv ACK of FIN/ x H1_snd_ACK_of_SYN H1_snd_FIN CLOSE/ snd FIN rcv ACK of FIN/ x H2_snd_FIN FIN_WAIT_1 CLOSE_WAIT_0 H2_snd_FIN H2_snd_ACK_of_FIN H1_snd_ACK_of_FIN CLOSING_0 H1_snd_ACK_of_FIN CLOSED_2 CLOSE_WAIT FIN_WAIT_2 H1_snd_FIN CLOSING LAST_ACK H2_snd_FIN H2_snd_ACK_of_FIN 2MSL timer SYN_SENT H2_snd_SYN_ACK CLOSE_WAIT TIME_WAIT H2_snd_SYN SYN_SENT rcv SYN/ snd ACK of SYN ESTABLISHED H1_snd_SYN ε TIME_WAIT_0 H1_snd_ACK_of_FIN RESETTING H1_snd_RST TIME_WAIT ε H2_snd_ACK_of_FIN CLOSED_2 10 1. 広帯域ネットワークの利用増 → 測定が難しくなる • 対象とするデータ量が膨大になる 例:早稲田大学のSINET対外接続は10Gbps もし使用量1.6Gbps=0.2GB/sec としても 1時間のデータ(60秒×60分) 720GB • 個々のパケットではなくフローとして把握 • サンプリング(1), フィルタリング(2) • できるだけ即時に処理(2) • 多地点のデータを分散管理(2) 11 サンプリングによる測定 • 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日 授賞式 12 電気通信普及財団賞 ネットワーク内を流れるトラフィックをチェックし て、長時間大量のパケットを流すフローを識別 することは重要な問題である。この研究は、す べてのパケットではなく、サンプリングにより高 精度且つスケーラブルにそのようなフローを特 定する理論的手法を確立し、実トラフィックデー タを用いて実証したもので、実社会で求められ ている優れた仕事である。 13 1. サンプリングによる エレファントフローの特定 • エレファントフロー とは「巨大なフロー 」 – P2Pによって発生したフロー – 今日では巨大フローは一般ユーザーが発生する • CATV,DSL, FTTH 加入者 – 帯域の消費が著しい – ネットワークによらない普遍的な現象 (2:8の法則) • エレファントフローを検出・制御すると – 制御対象とするフロー数が少なくて済む – 制御する効果が大きい 14 分析の対象とするデータ • • • • • OC48c パケットトレース(PMA project, NLANR) N=10,000,000 (約2分の片道トラフィック) 総フロー数: 737,800 エレファントフロー数 (Xj >= 10,000) : 167 エレファントフローのトラフィック量占有率 : 59.3% Pr[Xj = x] 15 パケットサンプリングとフロー計測 • パケットサンプリング – Nパケットに1パケットをサンプルする – フロー計測のコストを削減することが目的 • メモリ消費量、アクセススピード – 超高速ネットワークに対するスケーラビリティ を提供 – 標準化、実装が進んでいる技術 – サンプリングにより、フロー統計情報の一部は 失われる 16 課題とアプローチ: • 課題 – サンプルしたパケットからエレファント フローを特定する エレファントフローを特定するためには パケットカウントの閾値をどのように 定めれば良いか? • 本研究のアプローチ ベイズの定理を用いる 17 ベイズの定理 フローj: 母集団におけるパケット数が Xj=x である条件 のもとでサンプルしたパケット数が Yj=y である確率 (A) (超幾何分布) フローj: サンプルしたパケット数が Yj≧y である条件の もとで母集団におけるパケット数が Xj≧x である確率 (i.e., フローjがエレファントフローである確率) (B) 18 False probabilities: フローjについてサンプルしたパケット数が を満たしたらエレファントフローであると特定する • False positive ratio: 誤って検出 = Pr [特定したフローがエレファントでない] = • False negative ratio: 見逃し = Pr [エレファントフローが特定されない] = = 19 False率のトレードオフ (事前分布はIPCL) f=1/1,000 f=1/10,000 誤検出 見逃し サンプリングレートが低いほど、トレードオフが顕著 20 応用例: 誤検出(NPR)を小さくする (≦ 0.05) f=1/1,000 f=1/10,000 False positive 小 特定したフローは高確率でエレファント ただし、未検出のエレファントフローが増える 21 事前分布と閾値 • 閾値 の算出には,事前分布の情報が必要 • 事前分布の情報をどのように得るか? 1. 同一ネットワークの近い時間帯でのデータを使う - 予め,測定しておく 2. サンプルしたフローの分布から、元の分布を推定 - Yjの分布からXjの分布を推定 [Duffield,SIGCOMM’03] 3. 分布の普遍的な性質を利用する – – 多くの場合,Xj の分布は形状母数≒1.0 のパレート分布で 近似可能 算出された閾値は、広い範囲の分布に対して同じ値 22 様々な事前分布: • 経験分布 (計測データ) – – • 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 23 評価結果: false率 false-positive false-negative false-positive false-negative f=1/1,000 f=1/10,000 経験分布 パレート分布 24 評価結果: 閾値 min s.t. FPR< 0.05 経験分布 パレート分布 25 エレファントフロー特定の応用例 • PD (Priority discarding), WFQ (Waited Fair Queueing) 等のキュースケジューリングアルゴリズム と併用 – ネットワーク輻輳時に、帯域を支配しているエレファントフロー に属するパケットを優先的に廃棄/低優先キューに割り当て • CSFQ (Core Stateless Fair Queueing)等の スケーラブルなネットワーク制御アーキテクチャに適合 – エッジノードはエレファントフローマーキング。コアノードは マークを元に diffserv 的な制御を実施。 • 極端なエレファントフローの発生を検出したら、迅速に オペレータに通知する (anomaly detection) 26 1. のまとめ • サンプルしたパケットからエレファントフローを特 定する方法を提案し、実データにより評価した • アイディアの要点: フロー毎にサンプルされるパ ケットカウントと、そのフローがエレファントフロー である確率の関係を事前に算出 – ベイズの定理を利用。事前分布の情報が必要。 • 実データおよび理論分布を用い、提案手法の 有効性を示した – 本手法で計算した閾値 は、他のネットワークに 対しても有効 (非一様性の普遍性より) 27 2.1 仮想センサ(Dark IP) 実センサ Block all incoming packets Anomaly packets logging Attacker No response Pass through all incomming packets Firewall PC Sensor Box (Dark IP) 28 仮想センサ Normal Servers No service offered Mutual Access One-way Access Attackers Unused IP space Netflow packets Virtual Sensors Normal Hosts Netflow AS 1000 AS 2000 Host A Fa 1/0 IP X.X.X.X /24 port 23221 Host B Fa 0/0 IP Y.Y.Y.Y /24 port 20 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 /24 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 30 フローから仮想センサを抽出 Netflow Router virtual sensors candidates Virtual Sensor Detection Algorithm virtual sensors Anomaly Packets Collector Netflow Database Flow-tools Flow Attributes Results Output ヒューリスティックなアルゴリズム 状態遷移の詳細な説明は割愛 1 Not seen or Not communicating Virtual Sensor Candidates 3 4 2 8 Senders List (cache) 6 7 5 Virtual Sensors 実証実験 Wide area network Anomaly packets A worm infected host Scanning packets Intermediate Router (Target of flow-observation) Autonomous System An malicious host 実センサと仮想センサ Port 135/tcp 2.1 まとめ • 仮想センサ(Virtual Dark IP)はフロー情報か ら仮想センサを抽出する提案 – 物理的な実センサの代りに使える • 仮想センサは、多数のセンサを実現すること ができる 2.2 仮想ハニーポット • Passive: 実センサ、仮想センサ ? Purpose Detect anomaly packet DDoS, scanning… X logging server – Stealth observation to detect indiscriminative attacks – Network telescopes (CAIDA, 2004) • Active: Honeypots Purpose Inspect detail of attacks - targeted vulnerability - malware/worm species honeypot – Honeypots: definitions and value of honeypots (2002) 36 仮想ハニーポット(DarkPots) • Vacancy Checker • Forwarder • Analyzer Analyzers emulated response DarkPots System list of unused-IPs Forwarder Vacancy checker mirroring The Internet Gateway Router (ACLs deployed) Enterprise / Campus Network 37 構成要素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 38 構成要素2: Forwarder • Function – 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 unused-IPs list Vacancy checker List B for analyzer B Forwarder Unused IPs List C for analyzer C Gateway Router Enterprise / Campus Network 39 構成要素3: Analyzer • Analyzers for various roles. – 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 The Internet Gateway Router 40 処理の手順: DarkPots #4 forwarding to analyzer # 5 responding #3 filter with unused-IP address list Forwarder #2 mirroring #1 attacks blocked by firewall × destination is inactive × Gateway The Internet Enterprise / Campus Network 41 3種類の Analyzer 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 syn logging no response iptables Passive Sensor syn syn/ack reflector syn/ack response iptables Reflector syn C: Honeypot Installed Npenthes software as honeypot response one of the case-study of honeypots. honeypot service iptables Honeypot 42 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 ほぼ同数 44 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 45 TCPフラグの分析 BにおけるFIN/PSH/ACKが特徴的 passive reflector honeypot too many duplicated packets 46 Mode Cにおける観測 top 7 heavy-hitters • ある時間帯に活動、多くの国に分布している 47 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 48 連続アドレスは攻撃されやすい 分散アドレスは観測に適している Continuous Random マルウェアの名前はAvastによる attack count Continuous Random 49 2.2 まとめ • 稼働しているネットワークに影響が少ない – ミラーポートを利用してデータを収集 • 未使用のIPアドレスを活用して測定に用いる – パケット収集とファイアウオール情報の照合 • 大規模なネットワークに適用可能 – 数種類の分析手法を同時に走行可能 – 既存手法と新手法との比較が容易 – 観測対象とするIPアドレスを自由に選択 Akihiro Shimoda, BEST student paper award, SAINT 2010. 50