劉書健 吳 晟
(昆明理工大學信息工程與自動化學院,昆明 650504)
基于Zmap的DoS攻擊可行性分析與研究
劉書健 吳 晟
(昆明理工大學信息工程與自動化學院,昆明 650504)
模擬了Zamp發(fā)動DoS攻擊的過程,并利用Wireshark抓取數(shù)據(jù)包進行分析,總結(jié)出這種DoS攻擊的特點。最后提出了通過建立防火墻過濾數(shù)據(jù)包的策略來避免這種攻擊。
Zmap DoS 掃描 Wireshark 網(wǎng)絡(luò)安全
隨著云計算與大數(shù)據(jù)時代的到來,網(wǎng)絡(luò)瞬時狀態(tài)也變得日益重要,Zmap作為一款非常優(yōu)秀的探測網(wǎng)絡(luò)狀況的工具應(yīng)運而生,它縮短了掃描時間,為互聯(lián)網(wǎng)的研究工作開辟了新的可能性,但是Zmap使用不當很可能會發(fā)動DoS惡意攻擊行為,致使網(wǎng)絡(luò)狀況變得擁塞,給人們的正常生活帶來不便。因此筆者對基于Zmap的DoS攻擊進行了分析,并尋找到對抗DoS攻擊的方法。
Nmap因要保證功能的全面性,需要記錄所有會話的連接狀態(tài),直至會話結(jié)束,這在一定程度上造成了主機、網(wǎng)絡(luò)帶寬等資源的浪費,而Zmap則完全是一種“無連接狀態(tài)”的工具。這個“無連接狀態(tài)”是指Zmap在掃描時會向網(wǎng)絡(luò)上的其他主機發(fā)出請求,隨后立即釋放會話連接狀態(tài)。與此同時,Zmap不需要記錄所有請求的列表,而是在發(fā)出的數(shù)據(jù)包中對個別信息進行編碼,這樣一來Zmap就能對回復數(shù)據(jù)包進行解析與鑒別。
主機與服務(wù)器之間進行TCP連接建立“三次握手”交互的過程中[1],主機需要記錄與服務(wù)器交互的會話狀態(tài)。這種狀態(tài)的記錄量隨著服務(wù)器訪問量的增加也會逐步增長,從而占用服務(wù)器更多的CPU、內(nèi)存等資源。為了解決該問題,基于Zmap的掃描略去了3次交互,只進行第一個SYN,然后等待對方回復SYN-ACK,隨后立即取消連接,這樣會釋放連接所占用的CPU等資源。雖然這樣會因網(wǎng)絡(luò)原因丟失一定比例的數(shù)據(jù),但根據(jù)設(shè)計者的實驗表明,這個比例僅在2%左右[2]。
Zmap網(wǎng)絡(luò)掃描的核心是對回復報文的判斷。Zmap設(shè)計了相應(yīng)的算法對回復報文進行校驗。傳統(tǒng)的TCP/IP協(xié)議需要記錄狀態(tài),而Zmap則是將掃描時發(fā)送的探測報文的源端信息進行哈希,將其處理保存到源端口和序列號這兩個字段中,當接收到回復報文的時候,就可以根據(jù)發(fā)送端IP、接收端口號、確認號這些字段進行校驗,避免了狀態(tài)存儲,更接近網(wǎng)絡(luò)帶寬極限[3]。
2.1DoS概況
Denial of Service簡稱DoS[4],即拒絕服務(wù)。DoS攻擊指惡意地攻擊網(wǎng)絡(luò)協(xié)議的漏洞或直接通過暴力手段耗盡被攻擊對象的資源,目的是讓目標主機或網(wǎng)絡(luò)無法提供正常的服務(wù)或資源(包括網(wǎng)絡(luò)帶寬、文件系統(tǒng)空間容量、開放的進程或者允許的連接)訪問,使目標系統(tǒng)服務(wù)系統(tǒng)停止響應(yīng)甚至崩潰。最常見的DoS攻擊有計算機網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內(nèi)存容量多大、網(wǎng)絡(luò)帶寬的速度多快都無法避免這種攻擊帶來的后果。
2.2常規(guī)DoS防御
常規(guī)的DoS攻擊是重復請求導致過載的拒絕服務(wù)攻擊。當對資源的重復請求超過資源的支付能力時就會造成拒絕服務(wù)攻擊(例如,對已經(jīng)滿載的Web服務(wù)器進行過多的請求使其過載)。對于這種常規(guī)的DoS攻擊可以采用如下常規(guī)方法進行防御:
a. 利用數(shù)據(jù)包標記的IP追蹤技術(shù)[5];
b. 限制并發(fā)的SYN半連接數(shù)量并縮短SYN半連接的time out時間;
c. 利用負載均衡技術(shù),把不同應(yīng)用層次的服務(wù)分布到不同的服務(wù)器,甚至可以分布到不同的地點,這樣更為直接地緩解服務(wù)器壓力;
d. 增強服務(wù)器的容忍性[6];
e. 限制在防火墻外與網(wǎng)絡(luò)文件共享;
f. 限制DoS攻擊的使用資源[7]。
3.1實驗過程
Zmap發(fā)起的DoS攻擊如下:
zmap-p 80-P 1000000-s 2000-60000-S 20.20.20.0-200.200.200.200-o destHost.csv
其中,-p表示掃描目標主機的端口號;-P表示掃描時向每個目標主機發(fā)包的個數(shù);-s,源主機發(fā)送數(shù)據(jù)包的端口設(shè)置;-S,指定發(fā)送數(shù)據(jù)包的IP地址;-o,掃描后得到的結(jié)果保存的文件。
執(zhí)行以上的命令意味著,用20.20.20.0~200.200.200.200這個地址范圍內(nèi)的每個IP作為源地址對網(wǎng)絡(luò)中的每個IP地址(Zmap黑名單配置文件之外)的80端口發(fā)送1 000 000個數(shù)據(jù)包,并將結(jié)果文件保存至destHost.csv中。其過程如圖1所示。
圖1 Zmap模擬DoS攻擊的過程
3.2實驗分析
相對于常規(guī)的DoS攻擊,Zmap發(fā)起的DoS攻擊具有以下特點:
a. 可以偽造不同源IP地址的數(shù)據(jù)包對目標主機進行攻擊。模擬攻擊的實驗過程中,啟動Wireshark[8]進行抓包(圖2),Source一列中顯示的是源地址是在20.20.20.0~200.200.200.200(這里僅顯示了一部分)范圍內(nèi)的IP地址,這說明Zmap可以偽造IP地址對目標主機發(fā)起攻擊。
b. 可以對不同目標主機同時發(fā)動DoS攻擊。Zmap中的配置文件保存在/etc/zmap/blacklist.conf和/etc/zmap/zmap.conf中,這里可以修改配置文件/etc/zmap/blacklist.conf來達到設(shè)置黑名單的功能,即攻擊的時候可以對目標主機進行選擇。
c. 占用源主機的資源很少。Zmap攻擊的數(shù)據(jù)包與常規(guī)網(wǎng)絡(luò)數(shù)據(jù)包的差別不大,但是當它在與其他主機進行TCP連接時,源主機將不保存連接狀態(tài),這使得源主機可以節(jié)省更多的資源去發(fā)送數(shù)據(jù)包,加劇這種攻擊的破壞性。
d. 發(fā)送的數(shù)據(jù)包的MAC地址相同。利用wireshark進行分析,Zmap發(fā)出的數(shù)據(jù)包的MAC地址都是相同的。如圖3所示,數(shù)據(jù)包1的MAC地址(00:0c:29:9c:b6:9a);如圖4所示,數(shù)據(jù)包2的MAC地址也是(00:0c:29:9c:b6:9a)。
圖2 Wireshark抓取數(shù)據(jù)包示意圖
圖3 數(shù)據(jù)包1的分析圖示
圖4 數(shù)據(jù)包2的分析圖示
圖3、4分別表示的是源IP地址為58.87.248.232與58.87.248.233相對目的地址為7.120.108.96建立TCP連接的數(shù)據(jù)包示意圖。從圖中可以看出,雖然Zmap可以偽造不同IP地址的數(shù)據(jù)包,但是其數(shù)據(jù)包的MAC地址都是相同的,這為今后的防御提供了啟發(fā)。
3.3實驗結(jié)論與防御
基于上文的分析,筆者發(fā)現(xiàn),Zmap發(fā)起的DoS攻擊都是從一個網(wǎng)卡中發(fā)出的。因此,目標主機可以對多對數(shù)據(jù)包按協(xié)議層進行拆分,倘若發(fā)現(xiàn)大量數(shù)據(jù)包里的MAC地址都相同,即使IP地址都是偽造的,也可以斷定這是非正常訪問,因此可以及時采取策略進行過濾。因此可以得知,對Zmap發(fā)起的這種DoS攻擊可以通過過濾相同MAC地址的數(shù)據(jù)包來進行防御:
iptables-A INPUT-m mac--mac-source 00:0c:29:9c:b6:9a-j DROP
這是Linux下對進入網(wǎng)卡的數(shù)據(jù)包進行過濾的一條防火墻策略,該命令將會把MAC地址為00:0c:29:9c:b6:9a的數(shù)據(jù)包自動過濾掉。為防止誤丟棄數(shù)據(jù)包的情況,筆者建議,當異常數(shù)據(jù)包的情況得以遏制時,刪除本條防火墻策略。
在詳細敘述Zmap的工作原理和模擬發(fā)動DoS攻擊過程的基礎(chǔ)上,對其特點進行分析,提出了過濾相同MAC地址數(shù)據(jù)包的方法,可通過設(shè)置防火墻命令來過濾相同MAC地址的數(shù)據(jù)包以進行修補和完善。
[1] 潘兆楠. Profibus與Modbus總線協(xié)議轉(zhuǎn)換的研究與應(yīng)用[J].化工機械,2015,42(1):151~153.
[2] Heidemann J, Pradkin Y, Govindan R, et al.Census and Survey of the Visible Internet[C]. Proceedings of the 8th ACM SIGCOMM Conference on Internet Measurement.NewYork:IMC,2008:169~182.
[3] Black J, Halevi S, Krawczyk H, et al.UMAC:Fast and Secure Message Authentication[C].19th Annual International Cryptology Conference.California:CRYPTO,1999:216~233.
[4] 劉昭斌,劉文芝,魏俊穎.基于INTRANET的入侵防御系統(tǒng)模型的研究[J].化工自動化及儀表,2006,33(2):45~48.
[5] 李淵.防御拒絕服務(wù)攻擊的路徑標識技術(shù)研究[D].寧波:寧波大學,2009.
[6] 湯明亮.面向DoS攻擊的路由回溯技術(shù)研究[D].長沙:國防科學技術(shù)大學,2008.
[7] 殷勤.防御拒絕服務(wù)攻擊的網(wǎng)絡(luò)安全機制研究[D].上海:上海交通大學,2006.
[8] 趙魏雨,唐文秀.基于BP神經(jīng)網(wǎng)絡(luò)聚類算法的P2P流量識別[J].化工自動化及儀表,2013,40(4):515~518.
AnalysisandStudyofDoSAttackFeasibilityBasedonZmap
LIU Shu-jian, WU Sheng
(FacultyofInformationEngineeringandAutomation,KunmingUniversityofScienceandTechnology,Kunming650504,China)
DoS attack initiated by Zmap was simulated; and making use of Wireshark capture packet to analyze this attack was analyzed and this attack’s features were summarize and a strategy of establishing a firewall to filter fake packets was proposed so as to avoid this attack.
Zmap, DoS, scan, Wireshark, network security
2015-11-13(修改稿)
國家自然科學基金項目(51467007)
TP393.08
A
1000-3932(2016)07-0725-04