跳到主要內容區塊

ntuccepaper2019

專題報導

高風險協定分析
  • 卷期:v0048
  • 出版日期:2019-03-20

作者:游子興 / 臺灣大學計算機及資訊網路中心資訊網路組


傳統資安設備部署與防護之思維皆在抵擋由外對內之攻擊,皆是假設攻擊與異常的封包皆是由Internet 發起而對內網發動攻擊。但在許多實際案例中,內部網路因設定不正確的各式連網設備或伺服器,往往成為駭客發動 DDoS Attack(distributed denial-of-service attack) 阻斷服務[1]之可怕幫兇。

 

高風險協定

因此針對某些特定的服務與port,其原始設計應侷限在內網使用,若在連線Internet的骨幹線路上偵測到該封包協定的運作,可能就存有高度之風險。圖1為容易被駭客利用成為DDoS 反射式攻擊之高風險協定。例如 Port 389 LDAP 放大攻擊,其原始用途是微軟 Windows Server中,負責架構中大型網路環境的集中式目錄管理服務 AD (Active Directory),提供內網使用者做權限控管之用,但若此port 開放可由 Internet 任意存取,則將可能被駭客利用作為DDoS 反射式攻擊伺服器。

 


圖1. 高風險協定-DDoS攻擊

 

另一份清單(圖2)為不宜對Internet開放之協定列表,其中最有名的莫過於 port 445,其原始用途為提供內網網路芳鄰傳輸分享檔案,但卻因歷史包袱相容性而存在許多漏洞,從早期Conficker 病毒到近期之 WannyCry 勒索病毒[2],皆是利用 port 445 之漏洞進行攻擊,若不開放從Internet外網存取內網之 port 445,則能避免各種利用此協定漏洞的攻擊。 再舉 port 9100 為例,此協定為印表機列印文件所使用之協定,理論上應該僅會在辦公室內之內部網路使用,但若不小心開放讓Internet存取,則駭客即可從遠端控制印表機列印任意文件,也就是在2017年發生之印表機勒索事件[3],駭客其實並未入侵任何電腦,僅是利用此協定從遠端列印勒索文件而已。

 


圖2. 高風險協定-不宜對Internet開放

 

高風險協定偵測方法

針對這些高風險協定之偵測方法,本文提出可利用頻寬分流管理器之流量複製功能,將這些特定的port 流量從骨幹複製出後送給後端分析工具,如Wireshark、ELK Stack 等進行後續的分析(圖3)。

 


圖3. 高風險協定偵測架構圖

 

使用分流交換器 Mirror 流量功能並加上過濾條件後進行分析,可將TANet 骨幹流量Mirror 後過濾僅剩下 Port 53(DNS) 之封包,將封包導入 Wireshark 進行分析,因此種封包屬於正常連線封包,一般IPS 資安設備無法用特徵碼偵測。

 

DNS 放大攻擊

DDoS 阻斷服務攻擊中最常見之DNS 放大攻擊(圖4),其原理是利用Open DNS Resolver 服務,詢問某個 DNS記錄之 Any Type Records,若內網中有網路設備或伺服器提供外網 Open DNS Resolver 服務[4],則隨時可能被駭客利用作為放大攻擊之反射伺服器。而此種封包內容,因為全屬正常DNS 詢問與回覆之內容,無法使用資安設備之異常特徵碼辨識出來,因此如何診斷找出這些異常的內網服務,將變成刻不容緩的議題。

 


圖4. DNS 放大攻擊

 

所謂DNS 放大攻擊之原理,就是使用小量的詢問封包,卻可得到大量之回覆結果。以如下圖5 為例,詢問 FQDN: pigedit.com Type: Any 之 DNS 記錄,可得到非常大量之回覆內容。

 



圖5. DNS 放大攻擊原理

 

若以 Wireshark 進行封包分析,詢問之封包大小僅有71 Bytes,但卻可得到 5407 Bytes之回覆結果,計算可得有 76倍之放大效果。

 


圖6. DNS 放大攻擊封包分析

 

Find Open DNS Resolver in TANet

透過高風險協定Mirror流量分析,可藉此偵測連線單位是否有允許回覆來自 Internet IP 詢問非 .edu.tw 結尾之 DNS Query 連線記錄,若有的話表示該單位有 Open DNS Resolver 存在,可能存在被駭客利用成為 DDoS 攻擊之幫兇。Wireshark Display Filter:

 

ip.geoip.src_asnum == 1659 && !ip.geoip.dst_asnum == 1659

 

&& dns.flags.response == 0x8180&& !dns.resp.name contains "edu.tw"

 


圖7. Open Resolver DNS 偵測

 

Find DDoS Attacker(BOT) in TANet

另外由封包分析可找出是否有來自TANet 內網,假造受害者 IP詢問 Internet Open DNS Resolver 回覆給受害者,分析條件為: 

 

方向: TANet to Internet 
來源IP: Victim (Internet) 
目的IP: Open DNS Resolver (Internet) 
DNS Type: Request 
Query Type: Any

 

依據上述條件若有發現異常封包,可找出假造IP來源之介面告知連線單位,或進一步在路由器開啟 URPF(Unicast Reverse Path Forwarding) 功能,禁止假造 IP 的封包由路由器通過。

 

Find DDoS Victim in TANet

目的在判斷TANet 是否目前正遭受來自 Internet 之 DNS 放大攻擊,分析條件為: 

 

方向: Internet to TANet 
來源IP: Open DNS Resolver (Internet) 
目的IP: Victim (TANet) 
DNS Type: Only Reply 而無 Request 
Query Type: Any

 

依據上述條件若有發現異常封包且封包數量與流量皆不小,則可判斷目前 TANet 有 IP 正在遭受 DDoS 攻擊,緩解攻擊之方法可將受害者 IP 導入 DDoS 清洗機進行清洗,或在上游路由器使用 ACL 封鎖攻擊來源 IP 等方法。

 

Find Botnet in TANet

Botnet 殭屍網路顧名思義就是由駭客透過 C&C(Command and Controller) Server 可遠端進行操控的電腦,殭屍網路通常需在間隔一段時間後自動與C&C Server 連線進行報到之動作,傳統報到之方法為使用 FQDN 固定網域名稱之連線方式,此方式若該網域名稱已被網管列為黑名單,則所有殭屍網路將無法連線 C&C Server 形同失效。因此新一代之殭屍網路駭客想出了一個使用動態演算法DOA(Domain Generation Algorithm)產生 FQDN 之網域名稱來連線 C&C Server,演算法可能依據日期、隨機或字典,生成一串特殊字元(比如 kvbtltjwoxf52b68nslulzgvevh44bvatey)再添加Top Level Domain Name而得到域名 AGD(Algorithmically-Generated Domain)。駭客僅需成功註冊其中之一AGD即可控制殭屍網路,但對於網管而言,因為連線 C&C Server 之 FQDN 每天皆不同,不大可能阻擋所有之AGD。本為針對 Botnet 提出之分析條件為: 

 

方向: DNS Server to Client 
來源IP: DNS Server (Internet or TANet) 
目的IP: Botnet (TANet) 
DNS Type: Reply 
DNS Answer: NXdomain (Non-exist domain)

 

依據上述條件以次數進行排序,依據 Damballa Labs 統計,92% 正常使用者每日 NXDomain 不超過10 次,因此若有來源IP每日有超過 10次以上之NXDomain 查詢記錄,則合理懷疑該電腦可能已成為殭屍網路。

 

結論

在現今資安設備已趨近成熟的情況下,本文提出可預先偵測高風險協定之分析方法與實作方式,將駭客入侵之風險與可能降至最低,防範於未然。

 

參考資料 

1.What is a DDoS Attack 
https://www.digitalattackmap.com/understanding-ddos/
2.WannaCry 
https://zh.wikipedia.org/zh-tw/WannaCry
3.比特幣集體勒索又來了
https://www.ithome.com.tw/news/112282
4.開放性DNS 解析伺服器之防治 TANET2013臺灣網際網路研討 2013