李臣杰 蔣澤軍



摘 ?要:分布式反射拒絕服務攻擊是近年來流行的新型網絡攻擊方式,其成本低廉、破壞力強且溯源困難。針對這一問題研究基于NTP協議的反射放大型攻擊原理。首先,通過構建實驗模型,復現NTP反射攻擊過程。然后,利用Wireshark軟件分析攻擊效果,并研究NTP協議存在的安全漏洞。最后,提出實驗改進方案及針對性防御策略。該方案具有實現復雜度低、操作便捷等優點,可廣泛應用于網絡工程、網絡安全等專業課程教學中。
關鍵詞:反射;NTP;DDoS;網絡安全;攻擊防御
中圖分類號:TP393.08;TP309.5 ? ? 文獻標識碼:A 文章編號:2096-4706(2020)13-0151-03
Abstract:Distributed reflection denial of service attack is a new popular network attack method in recent years. It has low cost,strong destructive power and difficult to trace its source. To solve this problem,the principle of reflection amplification attack based on NTP protocol is studied. Firstly,the process of NTP reflection attack is reproduced by constructing an experimental model. Then,Wireshark software is used to analyze the attack effect,and the security vulnerabilities of NTP protocol are studied. Finally,the experimental improvement scheme and targeted defense strategy are proposed. The scheme has the advantages of low complexity and convenient operation,which can be widely used in the teaching of network engineering,network security and other professional courses.
Keywords:reflection;NTP;DDoS;network security;attack defense
0 ?引 ?言
分布式拒絕服務(Distributed Denial of Service,DDoS)攻擊是指處于不同位置的多個攻擊者同時向一個或多個目標發起攻擊,耗盡被攻擊網絡的系統資源,使其無法處理合法用戶請求,達到拒絕服務的目的。由于攻擊者分布在不同地方,這類攻擊被稱為分布式拒絕服務攻擊。自1999年全球首次DDoS攻擊以來,其攻擊手段和強度不斷更新,逐步形成了“DDoS即服務”的互聯網黑色產業服務,業已成為互聯網上規模最大、危害最嚴重、防護最困難的攻擊手段。反射放大型DDoS,又稱DRDoS(Distributed Reflection Denial of Service,分布式反射拒絕服務)攻擊,作為DDoS攻擊的一個變種,是近年來最流行的一種DDoS攻擊方式。2019年7月,阿里云安全團隊發布《2019年上半年DDoS攻擊態勢報告》,數據顯示當前存量反射源最多的反射放大攻擊類型為Memcached、NTP、SSDP、CLDAP,攻擊峰值達到TB級。
DRDoS能夠更好地隱藏攻擊者的行蹤,同時利用反射原理帶來巨大攻擊流量,其成本低廉、破壞力強且溯源困難,有數十種UDP協議可被黑客用于反射并放大DDoS攻擊。這給傳統DDoS攻防帶來了新的挑戰,業已成為安全界關注的新焦點。文章將對反射放大攻擊的原理進行分析,重點研究基于NTP的反射放大型攻擊,通過構建實驗模型,分析NTP協議存在的主要安全漏洞,并給出相應的防范建議。依據研究結果,利用我校網絡安全實驗室搭建DRDoS攻防實驗仿真平臺,開展網絡安全專業實驗教學。
2 ?DRDoS攻擊原理
DRDoS攻擊的原理為:攻擊者并不直接發起對目標的攻擊,而是利用互聯網中提供公共開放服務的服務器。攻擊者通過偽造被攻擊者的IP地址,向有開放服務的服務器發送精心構造的請求數據包,該服務器會將響應數據包發送到被攻擊IP,從而對后者間接形成DDoS攻擊。請求數據包遠小于響應包,它們之間相差的倍數即反射攻擊的放大倍數。DRDoS攻擊原理圖如圖1所示。
執行反射攻擊,需要具備4個因素:
(1)一個或多個攻擊端:用于執行IP地址欺騙。
(2)一個脆弱的、易于被利用進行反射放大的協議:任何設計不完善的、存在漏洞的、基于UDP請求的協議都可能被利用。
(3)網絡中的反射服務器列表:支持脆弱協議的服務器。
(4)一個目標IP地址:被攻擊目標的IP地址。
基于以上分析,DRDoS攻擊的整體過程可分為以下幾步:
第一步:攻擊者向目標發送虛假的UDP請求;
第二步:偽造源IP地址,攻擊者將請求包中的源IP地址替換為被攻擊目標的IP地址;
第三步:攻擊者將請求報文發送至網絡中的可反射服務器;
第四步:經過偽造的數據包通過網絡傳輸最終到達反射服務器;
第五步:反射服務器接收到這些虛假的請求包,遵從約定的協議規則,向被攻擊目標發送放大后的響應報文。當然,這些數據包并不是攻擊目標所請求的。攻擊者利用協議漏洞,可有效放大DDoS攻擊的流量,使被攻擊目標產生網絡擁塞甚至服務中斷。
2 ?NTP反射放大攻擊
NTP(Network Time Protocol,網絡時間協議)用來實現網絡中的設備時間同步化,是一種典型的基于UDP的協議,由于協議最初的設計并未考慮認證,網絡中的NTP服務器常被黑客用于反射放大DDoS攻擊,理論放大倍數可達500倍以上。NTP協議包含一個monlist函數,用于監視NTP服務器,當NTP服務器對monlist請求進行響應時,它會向請求方返回與NTP服務器進行同步的最新的600個客戶端IP。這是一個相當巨大的放大倍數,如今網絡上仍存在有大量的NTP服務器可被黑客利用,通過僵尸網絡等方式對目標進行分布式反射放大攻擊。NTP反射放大攻擊的原理圖如圖2所示。
參照圖2,NTP反射放大攻擊的基本流程為:網絡中的NTP反射服務器端提供時間同步服務,攻擊端發送NTP monlist Request給NTP反射服務器,但是源IP地址不是自己的IP地址,而是被攻擊目標的IP地址,NTP反射服務器端收到請求后會向被攻擊目標發送Reponse報文。由于Reponse報文包含了與NTP反射服務器端通信的最近600條時間同步記錄,比Request報文放大很多倍,從而達到反射放大的目的。
3 ?NTP反射放大實驗搭建及分析
3.1 ?實驗配置及拓撲
兩臺PC,安裝Ubuntu操作系統,一臺作為攻擊端,另一臺作為NTP反射服務器(已安裝NTP服務)。一臺服務器,作為被攻擊目標服務器。
在進行實驗之前,需對NTP反射服務器進行配置,Ubuntu系統下,需修改/etc/ntp.conf配置文件,保證monlist字段沒有被禁用,修改配置完成后需重啟NTP服務使其生效。實驗拓撲如圖3所示。
3.2 ?實驗流程
步驟1:攻擊端利用ntpdate-q命令向NTP反射服務器發送查詢請求,偽造NTP客戶端。
參照實驗拓撲圖,具體查詢命令為:ntpdate-q 192.168. 2.100。
步驟2:攻擊端利用腳本工具偽造至少600個客戶端。
由于實驗環境限制,我們只搭建了一臺NTP反射服務器,在實驗條件允許的情況下,可搭建多臺NTP服務器形成反射群,能夠達到更好的反射放大攻擊效果。基于現有實驗拓撲環境,我們通過腳本工具重復步驟1中的查詢命令,每次查詢模擬的源IP地址都不相同,直到偽造600個客戶端IP為止。
步驟3:攻擊端偽造客戶端完成之后,在攻擊端利用命令查詢服務器,可查看到600個IP。
參照實驗拓撲圖,具體查詢命令為:ntpdc -n -c monlist 192.168.2.100 | wc查詢IP詳情,或添加參數-l,直接查詢客戶端IP數量,具體命令為:ntpdc -n -c monlist192.168.2.100 | wc -l。
步驟4:攻擊端偽造源IP為192.168.3.100(被攻擊服務器的IP地址)的ntp monlist消息,發送至NTP反射服務器192.168.2.100。
步驟5:NTP反射服務器響應monlist,返回與NTP服務器進行過時間同步的最后600個客戶端的IP,發送響應報文至被攻擊目標服務器,響應報文按照每6個為1個響應包進行分割,最多有100個響應包,達到反射放大攻擊的目的。
3.3 ?數據包分析
從圖4中我們可以看到每個響應包為482字節,我們請求包的大小為234字節,按照這個數據計算出的放大倍數為:482*100/234=206倍。如果通過編寫攻擊腳本,請求包會更小,這個倍數值會更大,反射放大攻擊的效果也會更好。
通過上述分析可知,本文的實驗方案環境搭建簡單、操作易上手,不局限于一種局域網環境或網絡設備,只需幾臺PC和路由器即可,非常適合我校計算機網絡技術及其相關專業的實驗教學。教師可根據具體教學目標指導學生在課堂進行NTP反射放大攻擊實驗,同時引導學生利用所學知識開展攻防對抗并驗證防御效果,形成理論與實踐相結合的授課模式。在此實驗環境的基礎上,可進一步豐富反射放大攻擊實驗類型,搭建實驗仿真平臺,提升學生對網絡攻防的興趣度,培養其成為掌握網絡攻防技能的專業型、實用型人才。
4 ?防御策略
基于對NTP反射放大型DDoS攻擊的過程及原理分析,除常規防護DDoS的方法(如限速、黑名單)之外,還可采取以下防護策略:
(1)加固NTP服務:升級服務器至最新版本,關閉NTP服務器的monlist功能。
(2)在網絡層或借助運營商實施ACL過濾規則進行防護。
(3)使用抗DDoS設備或通過購買DDoS云清洗服務進行防護。
(4)消除NTP反射服務器站點:反射放大型DDoS的攻防對抗是一場持久戰,我們需要聯合各方資源政府、運營商、安全廠商、標準組織、終端用戶,對網絡中的NTP服務器設備進行安全管理和配置,同時及時更新升級軟硬件版本,以減少和消除反射站點。
5 ?結 ?論
文章對NTP反射放大攻擊原理進行了介紹,搭建實驗環境并分析協議存在的漏洞,然后對關鍵問題提出針對性的防御方案。對于NTP反射型DDoS攻擊,只有通過業界各方齊心協力、協同作戰,才能實現進一步的有效治理。在以后的工作中,我們將繼續研究新型反射放大DDoS攻擊,挖掘新的可用于反射放大的網絡協議,如Memcached、BitTorrent、CLDAP、Kad等,針對不同協議類型,分析協議漏洞,進而探索更有效的防御技術和方案。
參考文獻:
[1] 鮑旭華,洪海,曹志華.破壞之王:DDoS攻擊與防范深度剖析 [M].北京:機械工業出版社,2014:61-69.
[2] 劉旭東.基于NTP的DDoS攻擊方法與防御研究 [J].網絡安全技術與應用,2019(10):17-19.
[3] 周文烽.UDP反射攻擊檢測與響應技術研究 [D].南京:東南大學,2018.
[4] 孫建.基于小波分析的NTP放大反射攻擊檢測與防御研究 [D].保定:河北大學,2017.
[5] 陳飛,畢小紅,王晶晶,等.DDoS攻擊防御技術發展綜述 [J].網絡與信息安全學報,2017,3(10):16-24.
[6] 王東亮,李旭陽,王洪新.基于NTP協議網絡應用時間戳同步機制的研究與應用 [J].電工技術學報,2015,30(S1):477-483.
[7] 林心陽,胡曦明,馬苗,等.基于SSDP的物聯網DDoS反射放大攻擊及防御實驗 [J].現代計算機(專業版),2018(18):20-24+31.
[8] 魏玉人,徐育軍.DDoS攻擊及防御技術綜述 [J].軟件導刊,2017,16(3):173-175.
作者簡介:李臣杰(1987.08—),女,漢族,河南駐馬店人,講師,工學碩士,研究方向:軟件技術、網絡安全;蔣澤軍(1987.02—),男,漢族,河南洛陽人,講師,工學碩士,研究方向:網絡信息安全。