作者:童鵬哲/臺灣大學計資中心北區學術資訊安全維運中心
李美雯/臺灣大學計算機及資訊網路中心程式設計師
一、 前言
近期本校某論壇網站持續遭受外部DDoS(Distributed Denial of Service)攻擊,導致服務一度中斷,有賴於本校與國際專線維運團隊聯防成功阻擋部份國外攻擊,以致未爆發更嚴重的災情。
DDoS為分散式阻斷服務(Distributed Denial of Service)攻擊之簡稱。DDoS攻擊的主要目的是癱瘓遭受攻擊之目標主機的網路及所提供的服務,造成對方在一定時間內網路癱瘓。其攻擊類型眾多,透過巨大的網路流量,塞爆受害者之網路頻寬,導致遭受攻擊之主機服務停擺,主要分為SYN FLOOD攻擊、UDP FLOOD攻擊、DNS反射放大攻擊、NTP反射放大攻擊、ICMP攻擊、HTTP連線攻擊等等。
近年來,全球DDoS攻擊的最大流量已從2010年的100Gbps提升至2016年底僵屍大軍Leet所造成的650Gbps攻擊等級[1]。台灣也經常遭受DDoS攻擊,如去年年初的證券商遭受DDoS攻擊,平均封包數高達每秒70萬個封包。去年HiNet所遭遇到的DDoS攻擊,最大流量也達到了150Gbps以上,更連續兩個月達110Gbps以上[2]。
二、 NTP攻擊
此次本校網站所遭受的DDoS攻擊,透過MRTG圖形的分析,可以發現網站原本順暢的流量,突然從晚上8時30分左右下行流量開始暴增(藍色線條),如下圖所示。
圖1、 下行網路流量突然暴增至440Mbps
藍色線條的下行網路即時流量,從原本的10Mbps突然飆至440Mbps。透過設備側錄部分網路流量分析,發現封包不僅IP來源不固定且連線皆為NTP網路校時協定,且封包內容皆為回覆NTP服務指令MONLIST的UDP封包,如下圖所示。由網路封包分析確認,此攻擊類型屬於NTP放大攻擊。
圖2、 不同來源IP皆透過NTP服務與伺服器連線
由遭受攻擊的論壇伺服器封包量來看,僅僅只有兩秒的時間,伺服器便被塞了10萬個UDP封包,即時流量更高達165Mbps,如下圖所示。
圖3、 瞬間流量高達165Mbps
NTP放大式攻擊是利用NTP伺服器的弱點 (CVE-2013-5211)[3]進行攻擊。因NTP(Network Time Protocol)服務協定之創立時代較為久遠,當時並未對使用者權限嚴密管制,導致任何人皆能使用此指令,要求提供NTP服務之伺服器回應。
雖然NTP攻擊從2015年被大量使用至今已近3年,官方早已釋出新版本提供更新,但至今的DDoS攻擊裡仍舊有許多NTP攻擊,像去年年初,台灣有不少證券商公司,遭受DDoS攻擊,其攻擊種類以NTP攻擊佔大部分[4],如下圖所示。
圖4、 證券商所遭受的DDoS攻擊以NTP攻擊為主
從上圖資料能清楚了解,NTP攻擊到目前為止仍然很有效,表示仍有不少NTP伺服器並未更新至新版本,使得漏洞依舊存在,進而被有心人士加以利用。
三、 技術分析
MONLIST指令屬於NTP伺服器的管理人員測試指令,主要目的在於查看NTP伺服器的連線狀況,並回傳服務伺服器中近期與其他HOST端的連線IP,供管理人員作為分析依據。
MONLIST指令一次最多能回傳600組IP連線資訊,透過UDP封包一次回傳6組IP的方式,如下圖所示,最多能回傳100個UDP封包。而攻擊者正是利用該特性,只要執行一個指令也就是傳送一個封包,就能產生100個封包的放大效果[5],再配合UDP因無檢查機制,能任意假造來源IP,攻擊者便能指定任意欲攻擊的主機,若有上百台主機甚至更多,DDoS放大攻擊效益便可輕易達成。
圖5、 每筆封包皆包含6個IP連線細節
我們實際透過此指令[ntpdc –c monlist (IP)]進行測試[9],能發現只要傳送一個234bytes的指令封包,具有漏洞的NTP伺服器便會回傳482*100bytes大小的封包量,放大率高達200倍以上,輕易地達成放大攻擊效果,如下圖所示,若能再透過特殊編寫設計的封包,攻擊放大倍率更能高達500倍以上。
圖6、 Monlist指令對於具有漏洞之主機,立即回傳訊息
圖7、 一個查詢封包,便能造成100個封包的回應
而針對UDP封包並不會作發送及接收者之檢驗,我們能輕易假造來源IP[6]。透過攻擊測試主機(IP:192.168.111.131)假造IP(1.1.1.1)傳送10個UDP 53 port封包至指定電腦(IP : 192.168.111.130),我們可以發現指定電腦(IP : 192.168.111.130)所側錄到之封包確實顯示來源IP為1.1.1.1,如下圖。
圖8、 從測試攻擊主機(192.168.111.131)發送10個假造來源封包給指定主機
圖9、 指定主機(192.168.111.130)成功接收到假造UDP封包
四、 建議措施
從上述的攻擊模擬分析,可輕易假造DDoS攻擊封包,也能假造來源IP擾亂追查,且因其攻擊封包型態皆屬正常,傳統防火牆以及入侵偵測防禦系統皆無法防禦。
目前阻檔DDoS攻擊的方法 [7],包含防火牆ACL阻擋、switch速率限制、router轉導異常流量、DDoS防禦設備、加大頻寬、或將攻擊導入流量清洗中心。當前的攻擊,除小規模攻擊能依靠自身設備進行阻擋之外,若遇上大規模攻擊需要仰賴TANet或ISP清洗中心協助與聯防。
而此次所討論的NTP攻擊,除了攻擊者與被攻擊者外,居於中間被有心人士所利用於攻擊的NTP伺服器,更不能再放任不管了。建議架設NTP伺服器的管理者,盡快確認伺服器所使用的NTP軟體至少需升級至版本4.2.7p26(目前已釋出版本4.2.8p11)[8]。更新後,並於NTP服務的設定檔(/etc/ntp.conf)加上disable monitor,將monlist功能關閉,同時確認是否加上restrict 127.0.0.1,限制使用者來源IP[9]。若NTP伺服器能有效阻絕漏洞,將能大量減少NTP放大攻擊。
五、 參考文獻
[1]. iThome (2016-12-30)〈又出現新的殭屍大軍Leet,攻擊規模達到650Gbps還會隱藏IP〉。網址:https://www.ithome.com.tw/news/110739
[2]. iThome (2017-12-01)〈中華電信:臺灣今年第二季DDoS最大攻擊流量已經達到111Gbps〉。網址:https://www.ithome.com.tw/news/118953
[3]. CVE-2013-5211 (2013-08-15)。網址:http://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2013-5211
[4]. iThome (2017-02-06)〈第一波10家券商DDoS攻擊勒索名單曝光,2月7日警戒超大流量Tb級攻擊〉。網址:https://www.ithome.com.tw/news/111714
[5]. 淺談基於NTP 的反射和放大攻擊 (2014-02-14)。網址:http://drops.xmd5.com/static/drops/papers-926.html
[6]. hping〈hping security tool - man page〉。2017-12-05取自網址:http://www.hping.org/manpage.html
[7]. iThome (2016-12-17)〈如何抵擋Tb級DDoS攻擊〉。網址:https://www.ithome.com.tw/news/110137
[8]. ntp.org〈Current versions of NTP〉。網址:http://www.ntp.org/downloads.html
[9]. SANS ISC InfoSec Forums (2013-12-28)〈NTP reflection attack〉。網址:https://isc.sans.edu/forums/diary/NTP+reflection+attack/17300/