虛假源地址網(wǎng)絡(luò)攻擊分析案例
一、故障描述
問題描述
某政府用戶求助,其網(wǎng)絡(luò)正在遭遇不明問題。由于該用戶承擔(dān)重要的業(yè)務(wù)系統(tǒng)運(yùn)營(yíng),因此,該問題對(duì)其業(yè)務(wù)穩(wěn)定性有較大影響,需要盡快定位問題原因并做出相應(yīng)對(duì)策。
從業(yè)務(wù)操作層面來(lái)講,無(wú)論是內(nèi)部用戶還是外部用戶,在訪問其Web或其他服務(wù)器時(shí),感受較慢;從技術(shù)層面做簡(jiǎn)單的Ping測(cè)試,出現(xiàn)如下現(xiàn)象:
從上面的內(nèi)網(wǎng)Ping測(cè)試結(jié)果來(lái)看,訪問目標(biāo)確實(shí)存在間歇性丟包現(xiàn)象。從丟包結(jié)果明顯看到,這與常見的網(wǎng)絡(luò)擁塞等情況下的丟包狀況不太一樣。
以上信息證明,該網(wǎng)絡(luò)的確存在問題,需要進(jìn)一步分析原因。
網(wǎng)絡(luò)與應(yīng)用結(jié)構(gòu)描述
在進(jìn)行分析前,通過(guò)與技術(shù)負(fù)責(zé)人簡(jiǎn)單的交流,得知其網(wǎng)絡(luò)大致結(jié)構(gòu)如下:
上面的拓?fù)浣Y(jié)構(gòu)簡(jiǎn)明描述了用戶的網(wǎng)絡(luò)和應(yīng)用部署結(jié)構(gòu),需要說(shuō)明的幾點(diǎn)有:
IPS沒有過(guò)多的策略定制;
FW對(duì)所有流量均透明;
流控設(shè)備僅對(duì)內(nèi)部用戶啟用NAT,外網(wǎng)用戶訪問DMZ或DMZ流向外網(wǎng)數(shù)據(jù)均未做NAT;
用戶擁有103.16.80.0/129的公網(wǎng)IP地址,除了路由器和流控設(shè)備使用了2個(gè)外,其他的都用在DMZ區(qū)域。
內(nèi)網(wǎng)用戶訪問方式描述
由于本次故障分析是在內(nèi)網(wǎng)進(jìn)行,所以有必要說(shuō)明一下內(nèi)網(wǎng)用戶在訪問DMZ區(qū)域的數(shù)據(jù)變化及流經(jīng)過(guò)程。
如下圖所示:
假如用戶A要訪問OA服務(wù)器E,其訪問途徑為上圖紅色標(biāo)記的1-4。其中,流控設(shè)備作為A的NAT設(shè)備,同時(shí),A的數(shù)據(jù)會(huì)從流控B發(fā)送到C,然后再返回B到交換機(jī)D到E。
用戶A在內(nèi)網(wǎng)的訪問IP地址變化如下:
發(fā)送數(shù)據(jù)包:A IP——>B:103.16.80.131——>E:103.16.80.189;
返回?cái)?shù)據(jù)包:E:103.16.80.189——>B:103.16.80.131——> A IP;
其中用戶A的IP為私有IP地址(內(nèi)網(wǎng)用戶均使用私有IP)。#p#
二、分析方案及思路
基本分析思路
無(wú)論是外網(wǎng)還是內(nèi)網(wǎng)對(duì)DMZ區(qū)域的主機(jī)Ping操作都呈現(xiàn)相同現(xiàn)象,而內(nèi)網(wǎng)用戶區(qū)域相互Ping測(cè)試則不存在問題,所以,建議先在DMZ區(qū)域交換機(jī)D上設(shè)置端口鏡像并采集和分析。
如果在D設(shè)備上流量可以分析到相關(guān)問題原因或有所新的發(fā)現(xiàn),則根據(jù)發(fā)現(xiàn)再進(jìn)一步部署分析策略。
分析設(shè)備部署
如下圖,將科來(lái)網(wǎng)絡(luò)分析系統(tǒng)接入到交換機(jī)D的流量鏡像端口。由于未知丟包原因或目標(biāo)(幾乎所有DMZ主機(jī)都丟包),建議不設(shè)置任何過(guò)濾器,即捕獲所有數(shù)據(jù)包。
分析檔案與方案選擇
在使用科來(lái)網(wǎng)絡(luò)分析系統(tǒng)前,選擇正確的分析檔案和分析方案,這對(duì)分析效率及數(shù)據(jù)處理性能方面都有極大的優(yōu)化作用。這一步不可忽視。
根據(jù)用戶的實(shí)際網(wǎng)絡(luò)情況,以及對(duì)應(yīng)問題特性,在進(jìn)行數(shù)據(jù)捕獲時(shí),采用如下網(wǎng)絡(luò)檔案和分析方案,且不進(jìn)行任何過(guò)濾器設(shè)置。
三、分析過(guò)程
分析過(guò)程包括數(shù)據(jù)捕獲后的總體分析,異常發(fā)現(xiàn)和分析。此部分對(duì)DMZ區(qū)域交換機(jī)D上捕獲的數(shù)據(jù)進(jìn)行分析。
總體分析
數(shù)據(jù)包基本信息
如下圖,采集時(shí)間約55.5秒的數(shù)據(jù)包,包含25,003個(gè)數(shù)據(jù)包,未設(shè)置任何過(guò)濾器。
統(tǒng)計(jì)信息
從下圖的統(tǒng)計(jì)信息可以查看到,流量分布基本正常;數(shù)據(jù)包大小分布中,64-127字節(jié)的數(shù)據(jù)包數(shù)約為1024-1518字節(jié)數(shù)據(jù)包個(gè)數(shù)的3倍,這說(shuō)明網(wǎng)絡(luò)中小包數(shù)據(jù)過(guò)多。
從會(huì)話及應(yīng)用信息的統(tǒng)計(jì)中看到,在55.5秒時(shí)間內(nèi),DNS查詢和響應(yīng)次數(shù)分別超過(guò)1400個(gè),從數(shù)量來(lái)說(shuō)較偏大。
故障信息統(tǒng)計(jì)
采用分析系統(tǒng)默認(rèn)診斷定義,提示共有6658個(gè)診斷,分布在應(yīng)用層到物理層不等,其中最多的是傳輸層的數(shù)據(jù)包重傳和重復(fù)確認(rèn),超過(guò)了6000個(gè),這說(shuō)明網(wǎng)絡(luò)質(zhì)量情況不佳。
另外,系統(tǒng)提示存在ARP請(qǐng)求風(fēng)暴,通過(guò)分析,確認(rèn)所有的ARP請(qǐng)求數(shù)據(jù)包均為正常數(shù)據(jù)包,且頻率不高,不會(huì)對(duì)網(wǎng)絡(luò)內(nèi)主機(jī)造成影響或欺騙。#p#
問題分析
問題分析部分,主要針對(duì)發(fā)現(xiàn)的異?,F(xiàn)象進(jìn)行分析和驗(yàn)證。
異常發(fā)現(xiàn)
在進(jìn)行內(nèi)部用戶訪問方式描述時(shí)曾提到,網(wǎng)關(guān)103.16.80.129的MAC地址為00:13:7F:71:DD:91,這個(gè)MAC只有當(dāng)數(shù)據(jù)流經(jīng)路由器時(shí)才會(huì)使用到。見下圖:
然而,在進(jìn)行診斷分析時(shí)發(fā)現(xiàn),DMZ內(nèi)部服務(wù)器發(fā)送給應(yīng)在DMZ區(qū)域內(nèi)的IP的流量,竟發(fā)送到了00:13:7F:71:DD:91,甚至對(duì)有些不存在的103.16.80.0段地址的流量也發(fā)送到了這個(gè)MAC。這與分析前了解到的情況并不一樣。
上圖高亮部分證明了上面提到的MAC問題。
另外,高亮部分只是從診斷發(fā)生地址中隨機(jī)選擇的一個(gè)地址的2個(gè)事件,該事件說(shuō)明,103.16.80.130(DNS服務(wù)器)發(fā)向103.16.80.107的流量被發(fā)送到00:13:7F:71:DD:91。
同理分析得到,上圖紅色矩形框選的地址都存在這種問題。#p#
數(shù)據(jù)包分析
對(duì)事件深入分析,雙擊上圖高亮事件,查看相關(guān)數(shù)據(jù)解碼信息。通過(guò)下圖分析到,103.16.80.107向DNS服務(wù)器103.16.80.130發(fā)送域名解析請(qǐng)求,后者對(duì)前者響應(yīng),內(nèi)容為“查詢錯(cuò)誤”。
且不管DNS應(yīng)答錯(cuò)誤原因,單從源IP MAC來(lái)看,說(shuō)明其來(lái)源于廣域網(wǎng)。而經(jīng)過(guò)確認(rèn),某些屬于DMZ區(qū)域的IP也同樣存在這種問題,其作為源IP地址從廣域網(wǎng)來(lái)連接內(nèi)部DNS服務(wù)器,且DNS服務(wù)器全部做了應(yīng)答。
DNS訪問行為分析
上面的分析發(fā)現(xiàn),存在疑問的IP地址基本都向內(nèi)部DNS發(fā)起域名解析請(qǐng)求,這里對(duì)DNS服務(wù)器的訪問情況進(jìn)行分析。
如下圖,5.5秒時(shí)間,共有與DNS服務(wù)器同段的224個(gè)IP向DNS服務(wù)器發(fā)起解析請(qǐng)求,而這些IP地址都是從廣域網(wǎng)發(fā)送過(guò)來(lái)。
四、分析總結(jié)
分析結(jié)論
從上面的分析看到,客戶遇到的網(wǎng)絡(luò)問題其實(shí)是正在遭遇虛假源地址攻擊,大量的假冒地址對(duì)內(nèi)部DNS發(fā)起大量的請(qǐng)求。
然而,這并不能解釋客戶網(wǎng)絡(luò)慢,Ping包丟失的原因,即這種網(wǎng)絡(luò)攻擊為什么會(huì)造成故障存在?
這里對(duì)可能的問題原因進(jìn)行說(shuō)明。
假設(shè)用戶A正在對(duì)DMZ服務(wù)器103.16.80.189進(jìn)行Ping操作,這時(shí),虛假地址103.16.80.189經(jīng)過(guò)Router和FW訪問DNS 103.16.80.130,同時(shí)DNS服務(wù)器對(duì)該虛假地址做出響應(yīng)。造成的影響為,防火墻會(huì)在其接口地址列表中記錄:103.16.80.189地址是從源MAC地址為00:13:7F:71:DD:91的接口轉(zhuǎn)發(fā)過(guò)來(lái)。這時(shí),發(fā)往103.16.80.189的ICMP數(shù)據(jù)包被轉(zhuǎn)發(fā)到了路由器,接著轉(zhuǎn)發(fā)到廣域網(wǎng),結(jié)果石沉大海。如下圖所示:
當(dāng)Ping包無(wú)法到達(dá)目的地時(shí)(會(huì)返回來(lái)錯(cuò)誤的ICMP協(xié)議報(bào)文),路由器更新新的路由信息后,則再發(fā)往路由器的Ping包會(huì)被重定向到正確位置,防火墻更新新的端口地址列表信息,Ping操作成功。
問題驗(yàn)證
為了進(jìn)一步驗(yàn)證分析結(jié)果,以及確認(rèn)問題是由虛假源IP訪問內(nèi)部DNS帶來(lái)的網(wǎng)絡(luò)攻擊。在IPS和FW之間串接一個(gè)Hub,從以下位置捕獲數(shù)據(jù)進(jìn)行分析。
通過(guò)分析捕獲到的數(shù)據(jù),發(fā)現(xiàn)實(shí)際結(jié)果與分析得到的答案一致,如下圖,內(nèi)網(wǎng)用戶對(duì)DMZ區(qū)域主機(jī)的Ping被發(fā)送到了Router。
五、解決方法
分析到問題的原因后,解決方法則變的較為簡(jiǎn)單。
在IPS上設(shè)置策略,禁止DMZ區(qū)域的IP作為源IP訪問DNS服務(wù)器的流量通過(guò)IPS,問題解決。