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