1. Canaan Kao, Chuang Wang, I-Ju Liao
canaan@totoro.cs.nthu.edu.tw
canaan_kao@trend.com.tw
SOME THINGS BEFORE NETWORK ATTACK
(A LONG TIME OBSERVATION)
網路攻擊之前的二三事
2. AGENDA
? The Motivation
? Port Scan 101
? IDS/IDP-based Port Scan Detection
? Honeypot-based Port Scan Detection
? Play with SDN switch
? A Long Time Observation
? A legacy of Anti-Botnet Project
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 2
3. WHO AM I?
? 十幾年前,在讀大學的時候,寫 OpenSource 的網
管軟體報告,抽簽抽到 Snort.
? 後來在一家做 IDS/IPS 的公司,寫了十幾年的 code。
? 之後意外地,在我青春的尾巴,執行了教育部的
Anti-botnet 計畫五年,辦了四屆的 Botnet of Taiwan
(BoT)研討會。
? 不要問我今年有沒有 BoT2014?
? 去年不小心成為 Anti-Virus 廠商的員工。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 3
4. WHO AM I?
一些曾經講過的
? 2010 Spam Source Detection at Home
? http://www.anti-botnet.edu.tw/content/confs/BoT2010.PPTs/B5.php
? 2012 The Botnet Traffic Forensics System
? http://www.anti-botnet.edu.tw/content/confs/BoT2012.PPTs/B5.php
? 2013 APT/Malware Traffic Detection
? http://www.anti-botnet.edu.tw/content/confs/BoT2013.PPTs/B5.php
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 4
12. THE MOTIVATION
一個問題
? 假設有一個攻擊 智慧冰箱 的 Malware,
且這個 Malware 已經殖入你的行動裝置。
而你回家的時候,它也跟你一起回家。
? 它要怎麼知道你家有可以攻擊的 智慧冰
箱 呢?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 12
13. THE MOTIVATION
? 最簡單的 probe 方式就是 port scan。
? IDS / IPS / FW 應該要有反應?不是嗎?
? 等一下會解釋為什麼它們可能不會叫。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 13
14. PORT SCAN 101
? 基本上 Port Scan 可以分成兩種:
? Vertical Scans
? Single Host Target
? Nmap 預設是這種
? Horizontal Scans
? Single Service Port Target
? aka Port Sweep Scan
? Bot/Malware 比較常用這種
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 14
15. PORT SCAN 101
? Port Scan 最主要想知道兩件事
? 1. 目標機器有沒有開?
? 發 TCP Syn 無回?
? 2. 如果有開(有回),那 Service 有沒有開?
? 回 SYN+ACK
? 回 RST+ACK
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 15
16. PORT SCAN 101
? 不過 Port Scan人人會 ,巧妙各有不同。
? Nmap
? Bot/Malware
? Bot/Malware 的掃法和你想的不太一樣
? Internet Scan
? 這陣子很流行
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 16
17. Port Scan 101
Nmap (1K ports/30 seconds)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 17
22. PORT SCAN 101
MASSCAN -P80 140.114.71.0/24 --RATE=10000
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 22
23. PORT SCAN 101
MASSCAN -P80 140.114.71.0/24 --RATE=10000
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 23
24. PORT SCAN 101
INTERNET SCAN (一些相關單位)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 24
Source: us-14-Schloesser-Internet-Scanning-Current-State-And-Lessons-Learned.pdf
25. PORT SCAN 101
INTERNET SCAN
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 25
? 以前,我們會想,我們把重要的 Service
放在 Internet Scanning 掃不到的地方,不就
好了?
? 例如: 放在 LAN 端,有 FW 保護,不開
Virtual Server 或是 Port Mapping,只對內
服務,這樣不就沒事了?
26. IDS/IDP-BASED PORT SCAN DETECTION
? Snort v2.9.2 的 default setting 是這樣
? 預設是 disabled
? Detection Level: low
? For getting few false positives.
? Time window is 60 seconds.
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 26
27. IDS/IDP-BASED PORT SCAN DETECTION
? 基本上是計算單位時間內發現的 port scan 事
件次數。
? 是一個 threshold。
? 只要低於 threshold 就可以繞過。
? False Positive?
? 某些正常連線看起來會像 port scan 的
行為。
? 那基準值/參考值是什麼?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 27
28. IDS/IDP-BASED PORT SCAN DETECTION
? 如果你今天買了台具備偵測 Port Scan 能
力的 IDS / IPS / FW,你會怎麼驗?
? 大家都愛 Nmap ?
? 有人會養個 bot 掃掃看嗎?
? 所以針對 bot / malware 所發出的 port
scan ,如果你買的那個資安設備不會
叫,是可以了解/諒解的。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 28
29. IDS/IDP-BASED PORT SCAN DETECTION
? 如果今天 port scan 的 packets,不經過 IDS /
IPS / FW呢?
? 法外之地?
? LAN <-> LAN traffic
? 如果Traffic有流經FW的 LAN Ports,之前
的資安設備會假設這個方向的 traffic 應
該不會有攻擊,所以 通常不檢查,採
用硬體交換居多。
? Wireless LAN (WLAN) <-> LAN traffic
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 29
30. IDS/IDP-BASED PORT SCAN DETECTION
對於 PORT SCAN可能不會叫的原因
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 30
? 偵測的功能沒開?
? 大家可以回去檢查一下 Home GW 的預
設值
? 偵測的方式對不上
? 清朝的劍與明朝的官
? Threshold 被繞過
? Traffic 沒經過
31. HONEYPOT-BASED PORT SCAN DETECTION
? 因為 LAN <-> LAN之間的 Attack 不會被 FW /
IDS 看到,所以為了偵測 LAN <-> LAN 之間
的 Attack,我們使用了 HoneyPot。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 31
32. HONEYPOT-BASED PORT SCAN DETECTION
WHAT IS HONEYPOT?
? 就我個人的定義:
? 所有可以用來誘使壞人或是惡意程式展露
其行為或意圖的系統
? 所以它可以是
? 一台 Server
? 一個 VM
? 一個 Web Client
? ….
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 32
33. HONEYPOT-BASED PORT SCAN DETECTION
? 簡單地說,這個方法就是用一個影武者設
備(H),放在需要被保護的主機(S)的旁邊,
H 的 IP 也設在 S 的附近。
? H 完全不開 services,或是只開少量的
services,外界完全不知道 H 的存在,所
以 H 只要收到來自不明主機(A)的一個
TCP SYN for a closed port,就可以大膽判定
A 是 Scanner。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 33
34. HONEYPOT-BASED PORT SCAN DETECTION
再看一次 SWEEP SCAN
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 34
35. HONEYPOT-BASED PORT SCAN DETECTION
? 這個方法有個好處
? 不管 scan 是 from WAN 或 from LAN,都可以偵
測。
? NO False-Positive ?
? 對付 Malware with BYOD/IoT 也行。
? 掃再慢都抓得到 ?
? 這個方法的缺點
? 萬一 A 沒掃到 H 呢?
? 偵測到有人在掃,下一步呢?
? FW 可以馬上擋,H 呢?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 35
36. HONEYPOT-BASED PORT SCAN DETECTION
話說當今世上有個神器,叫 SDN SWITCH
http://bradhedlund.s3.amazonaws.com/2011/openflow-scale/openflow-switch.png
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 36
37. HONEYPOT-BASED PORT SCAN DETECTION
實驗
? 為了簡化環境,我們把
? Bot-infected host
? Honeypot (Anti-Scanning)
? 都接在同一台 SDN switch上。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 37
38. HONEYPOT-BASED PORT SCAN DETECTION
SDN SW + HONEYPOT
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 38
SDN
Switch
Private Cloud
SDN Controller
VM (Bot-infected)
VMs (Anti-scanning)
1 1
2
3
4
39. HONEYPOT-BASED PORT SCAN DETECTION
SDN SW + HONEYPOT (THE SCAN BLOCKING RATE)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 39
40. HONEYPOT-BASED PORT SCAN DETECTION
SDN SW + HONEYPOT (THE RESPONSE TIME)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 40
41. ABOUT LAN PORT SCAN DETECTION
小結
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 41
? 這樣看來針對 LAN <-> LAN 的 Scan,用
? SDN SW + Honeypot 或許是一招
? 0.6s 的反應時間
? 98.5% 的阻擋率
? 0% FP rate
? But, 我們還有更好的方法 ?
? Maybe HITCON 2015?
42. 同場加映
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 42
? A Long Time Observation
? A legacy of Anti-Botnet Project (2009-2013)
? http://www.anti-botnet.edu.tw/
46. A LONG TIME OBSERVATION
(A LEGACY OF ANTI-BOTNET PROJECT)
? 這故事是這樣,在2009年的時候,因為
Anti-Botnet Porject 的需要,我放了一個
HoneyPot-based port scan detector (影武者)….
? 因為會掃到影武者的,基本上都可以假設
居心不良,所以我們用這個來產生 bot-like
host distribution map。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 46
47. A LONG TIME OBSERVATION
(WHERE IS TAIWAN?)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 47
48. A LONG TIME OBSERVATION
(A LEGACY OF ANTI-BOTNET PROJECT)
? Anti-Botnet Porject 在 2013 年結束, 但是一
些相關的設施並沒有完全撤除,我在前一
些日子發現我有保留它自 2009 年以來的
log….
? 大數據分析?不,只是久數據。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 48
49. A LONG TIME OBSERVATION
(大約有 1.2M 筆 LOGS)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 49
50. A LONG TIME OBSERVATION
這些年的一些統計
? 有 177,084 個 IP 掃到我們
? 有 23,273 個 TCP ports 被掃到 (Total:1,036,624 hits)
? 有 1,479 個 UDP ports 被掃到 (Total:179,250 hits)
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 50
51. A LONG TIME OBSERVATION
比較熱門的 TCP PORTS
Rank Port # Hit # Ratio
1 1433, MS SQL Server ? 201395 19.43%
2 445, SMB? 185436 17.89%
3 9415, PPLive open proxy ? 64894 6.26%
4 1080, Socks Proxy or Back Door? 43778 4.22%
5 80 31769 3.06%
6 22 28751 2.77%
7 135, Remote Procedure Call (RPC)? 24874 2.40%
8 3306, MySql? 24745 2.39%
9 3389, Windows RDP? 22039 2.13%
10 8080 19998 1.93%
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 51
52. A LONG TIME OBSERVATION
比較熱門的 UDP PORTS
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 52
Rank Port # Hit # Ratio
1 29285 (2009~2012) 132937 74.16%
2 22722 7701 4.30%
3 137, netbios-ns? 4818 2.69%
4 161, snmp? 4767 2.66%
5 5060, SIP? 4669 2.60%
6 53 4091 2.28%
7 5724, Operations Manager - SDK Service? 2969 1.66%
8 7793 2041 1.14%
9 19, chargen? 1113 0.62%
10 33348 618 0.34%
53. A LONG TIME OBSERVATION
當 RDP 發生問題 MS12-020 時(2012/03/13)
? TCP 3389 在整個統計區間的 ratio 是 2.13% .
? 但是在 2012/03 那個月卻是 4%.
? 再往前看 2012/02 那個月已先漲到 3.4%
? 再往前看 2012/01 那個月就回到基本盤 2.0%
? 壞人在 MS12-020 發佈前就已經先拿出來打?
? 如果我們夠 lucky 就可以先被打到 ?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 53
55. A LONG TIME OBSERVATION
(A LEGACY OF ANTI-BOTNET PROJECT)
? 以上就是 Anti-Botnet 計畫的遺產,
? 讓我在計畫結束一年後,還有些東西可以
跟大家分享 ?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 55
56. ADAPT TO THE NEW ERA OF
SECURITY THREATS.
? It was the best of times, it was the worst of times.
? 在 WAN 有 Internet Scanning,在 LAN 有
BYOD / IoT issues。
? 設備需要升級,人腦也需要升級。
? 我有一個夢,當我的冰箱有對外的 TCP
6667 連線時,FW 能警告我,那有多好 ?
? 人補 腦 需要更久的時間。
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 56
57. SUMMARY
? 我們不是只能做事後處理,而是我們面對各種攻
擊時,IDS / IPS / FW 因為各種先天不良、後天失調
的結果可能不會叫。(不是叫大家不要買啦)
? 除了在 FW 的 WAN 的端,LAN 也是戰場了。
? SDN switch 在 LAN <-> LAN Attack 的保護上應該幫得
上忙。
? 如果我們夠幸運的話, HoneyPot-based port scan
detector 也可以當成 0-day 的預警。(久數據的妙用?)
? 在未來,除了智慧家電外,應該也會有智慧網安
的設備出現。
? 所以,在網路攻擊發生之前,我們還是可以做點
事 ?
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 57
60. ONE MORE THING
? 大約今年的十月中
? 相關 Honeypot-based PortScanDetector 會放在
? https://github.com/canaankao/PortScanDetector
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 60
61. REFERENCE
2014/8/22SOME THINGS BEFORE NETWORK ATTACK 61
? 長尾分布的圖是引用自
? http://1.bp.blogspot.com/_UfxPP3QC4us/SbVjYX-
QbiI/AAAAAAAAAY0/v1a7zLipdfQ/s400/long-tail.png