網(wǎng)絡(luò)原來(lái)如此之基于流量數(shù)據(jù)統(tǒng)計(jì)的攻擊檢測(cè)技術(shù)
?引言
隨著商業(yè)銀行數(shù)據(jù)中心逐漸向開(kāi)放化轉(zhuǎn)型,在提升用戶體驗(yàn),支撐場(chǎng)景金融發(fā)展的同時(shí),其對(duì)外開(kāi)放的服務(wù)特性也加大了網(wǎng)絡(luò)安全管控風(fēng)險(xiǎn),同時(shí)日益復(fù)雜的IT架構(gòu)也增加了信息系統(tǒng)漏洞和安全缺陷的幾率。隨著網(wǎng)絡(luò)安全環(huán)境日益復(fù)雜嚴(yán)峻,銀行面對(duì)大量不可預(yù)知的資產(chǎn)探查、掃描攻擊和踩點(diǎn)等惡意行為,單獨(dú)依靠人工或者單個(gè)系統(tǒng)很難做到面面俱到;而攻擊方往往只需抓住一個(gè)漏洞,就可以攻破系統(tǒng)、突破邊界。本文主要展示如何簡(jiǎn)單快速地通過(guò)網(wǎng)絡(luò)流量分析統(tǒng)計(jì)方法來(lái)分析并發(fā)現(xiàn)這些攻擊行為。
應(yīng)用于網(wǎng)絡(luò)端口掃描檢測(cè)
1、端口掃描攻擊介紹?
攻擊者入侵滲透的第一步就是掌握目標(biāo)的資產(chǎn)并找到防守薄弱點(diǎn)作為突破口,各類(lèi)網(wǎng)絡(luò)端口掃描是最常見(jiàn)最簡(jiǎn)單有效一種手段。
端口掃描是一種有效探查互聯(lián)網(wǎng)開(kāi)放端口的手段,攻擊者將請(qǐng)求發(fā)送到目標(biāo)服務(wù)器的IP地址,以發(fā)現(xiàn)提供服務(wù)的端口,然后利用服務(wù)中的漏洞進(jìn)行下一步攻擊。端口掃描攻擊通常是重大網(wǎng)絡(luò)攻擊的序曲。掃描會(huì)短時(shí)間會(huì)發(fā)起大量的SYN包端口掃描,有可能會(huì)造成以下幾種安全設(shè)備的告警:
(1)網(wǎng)絡(luò)防火墻設(shè)備
大量并發(fā)的syn請(qǐng)求會(huì)對(duì)防火墻新建會(huì)話性能造成較大壓力,引起防火墻會(huì)話數(shù)高報(bào)警,但是由于訪問(wèn)目標(biāo)分散,半連接會(huì)話存續(xù)時(shí)間短,整體流量小,防火墻上不會(huì)留下任何日志記錄,幾乎無(wú)法進(jìn)行定位。
(2)DDOS抗拒絕服務(wù)攻擊設(shè)備
DDOS攻擊防護(hù)設(shè)備通常具備如syn flood等各類(lèi)攻擊檢測(cè)能力,為減少誤報(bào),通常需要安全運(yùn)營(yíng)人員持續(xù)進(jìn)行優(yōu)化調(diào)整,通常策略設(shè)置方式為針對(duì)單個(gè)系統(tǒng)或目標(biāo)服務(wù)器IP設(shè)置具有一定容忍度的syn flood閾值,如果設(shè)置過(guò)大可能會(huì)出現(xiàn)部分掃描行為不會(huì)觸發(fā)DDOS告警。
(3)其它安全類(lèi)設(shè)備
由于設(shè)備自身的防護(hù)機(jī)制,一般情況下對(duì)于較為敏感的安全設(shè)備,如果被外部掃描到確實(shí)可能會(huì)觸發(fā)相關(guān)安全告警,以此來(lái)及時(shí)發(fā)現(xiàn)攻擊者掃描行為,收集相關(guān)攻擊信息。有些攻擊者為了避免被發(fā)現(xiàn),通常會(huì)將掃描速率降到極低的程度,花費(fèi)數(shù)天的時(shí)間慢慢收集信息,以防止被發(fā)現(xiàn),此類(lèi)掃描行為的特征是流量低、會(huì)話少、行為隱蔽,難以被發(fā)現(xiàn)。
除了端口安全掃描,還有基于UDP協(xié)議的DNS掃描、SIP服務(wù)掃描等等,因?yàn)椴幌馮CP協(xié)議有建鏈過(guò)程,使得這種掃描更難被發(fā)現(xiàn)。
2、流量統(tǒng)計(jì)分析方法?
網(wǎng)絡(luò)端口掃描低流量、無(wú)會(huì)話、源目的地址分散的特性使得傳統(tǒng)的流量分析手段無(wú)法做到及時(shí)發(fā)現(xiàn)和阻斷,但是通過(guò)研究分析其原理,我們不難總結(jié)出流量統(tǒng)計(jì)數(shù)據(jù)的特征,幾乎所有的端口掃描工具都是基于TCP的半連接方式,速度快,流量小,其基本原理如下:

圖1 掃描原理
掃描器向服務(wù)器端口發(fā)起SYN包建立連接,服務(wù)器如果返回SYN ACK則說(shuō)明服務(wù)器端口存活,如果服務(wù)器端口不活則不會(huì)有任何返回。在這種模型下,一般會(huì)在掃描流量數(shù)據(jù)中存在兩種特征:一是出現(xiàn)大量無(wú)響應(yīng)的SYN數(shù)據(jù)包;二是單個(gè)IP地址會(huì)訪問(wèn)大量的“IP+端口”的業(yè)務(wù)組合(正常用戶一般只會(huì)用到網(wǎng)站對(duì)外發(fā)布的少量幾個(gè)服務(wù))。
針對(duì)特征一,將一段時(shí)間周期內(nèi)SYN數(shù)據(jù)報(bào)文總數(shù)和SYN ACK數(shù)據(jù)報(bào)文總數(shù)進(jìn)行分析,如果發(fā)現(xiàn)兩者差值出現(xiàn)明顯上升,就說(shuō)明存在端口掃描事件的發(fā)生。

圖2 特征一(Syn-syn/ack)
通過(guò)將這段時(shí)間內(nèi)的單個(gè)客戶端Syn-syn/ack數(shù)量進(jìn)行排名,即可發(fā)現(xiàn)疑似掃描客戶端的真實(shí)地址。

圖3 客戶端分析排名?
針對(duì)特征二,對(duì)于掃描客戶端的判斷更為直接,我們把一個(gè)“IP+端口”算做一個(gè)應(yīng)用,正常客戶端,哪怕是互聯(lián)網(wǎng)模擬監(jiān)控探測(cè)的節(jié)點(diǎn),訪問(wèn)的“應(yīng)用數(shù)量”也不應(yīng)超過(guò)網(wǎng)站真正發(fā)布的互聯(lián)網(wǎng)應(yīng)用數(shù)量,如果統(tǒng)計(jì)發(fā)現(xiàn)單個(gè)客戶端IP在某一段時(shí)間范圍內(nèi)(例如1小時(shí)、3小時(shí)、當(dāng)天或者一周等)訪問(wèn)的“應(yīng)用數(shù)量”遠(yuǎn)超過(guò)正式發(fā)布的互聯(lián)網(wǎng)門(mén)戶、小程序和移動(dòng)APP應(yīng)用數(shù)量,那么這個(gè)客戶端IP地址基本可以確認(rèn)存在異常訪問(wèn);結(jié)合特征一提到的Syn-syn/ack分析方法進(jìn)行驗(yàn)證,即可快速確認(rèn)這些IP地址全都屬于掃描,非正常用戶客戶端行為。
為此,我們專(zhuān)門(mén)設(shè)計(jì)了基于流量數(shù)據(jù)的自動(dòng)統(tǒng)計(jì)表格:

圖4 特征二掃描客戶端統(tǒng)計(jì)表?
篩選條件為一天之內(nèi),應(yīng)用數(shù)量大于已發(fā)布應(yīng)用數(shù)量的5倍,新建會(huì)話數(shù)少于10的客戶端,可以發(fā)現(xiàn)表格中列舉的所有客戶端都具備發(fā)起大量SYN包只有很少回包的特點(diǎn),可以判斷為異常掃描客戶端,無(wú)需再進(jìn)行人工抓包分析,并適當(dāng)結(jié)合情報(bào)情況進(jìn)行批量封禁。以上篩選條件較嚴(yán),可以100%確認(rèn)為掃描客戶端并結(jié)合封禁工具可以實(shí)現(xiàn)自動(dòng)封禁。
該方法簡(jiǎn)單易行,僅通過(guò)兩個(gè)條件即可確認(rèn)掃描地址,同時(shí)可以在比較大的時(shí)間范圍進(jìn)行搜索統(tǒng)計(jì),即使是像慢速掃描這樣隱藏較深的探測(cè)攻擊,在該方法下也會(huì)現(xiàn)出原形。
另外,雖然Syn-syn/ack指標(biāo)無(wú)法直接發(fā)現(xiàn)UDP/ICMP協(xié)議的掃描,但在統(tǒng)計(jì)表中也可以快速發(fā)現(xiàn)(Syn-syn/ack為0但是應(yīng)用數(shù)量極大(圖5),通過(guò)分析數(shù)據(jù)包可以看出來(lái)是SIP掃描或者其他UDP掃描(圖6)。

圖5 UDP/ICMP掃描客戶端?

圖6 UDP掃描人工抓包確認(rèn)?
應(yīng)用于DNS flood攻擊檢測(cè)?
除了檢測(cè)網(wǎng)絡(luò)端口掃描攻擊外,DNS掃描也可以被網(wǎng)絡(luò)流量統(tǒng)計(jì)方法發(fā)現(xiàn)。DNS是典型的基于UDP協(xié)議的應(yīng)用,只要負(fù)責(zé)網(wǎng)站域名到IP地址的關(guān)聯(lián)關(guān)系查詢(xún),可以說(shuō)非常重要,是攻擊者非常喜歡的攻擊目標(biāo)。
通常攻擊方希望通過(guò)向網(wǎng)站的DNS權(quán)威服務(wù)器發(fā)起大量的DNS查詢(xún)請(qǐng)求,造成權(quán)威服務(wù)器性能的瓶頸。但是由于DNS的緩存機(jī)制,攻擊者如果嘗試發(fā)起大量注冊(cè)域名的查詢(xún),那么大部分會(huì)由運(yùn)營(yíng)商遞歸域名服務(wù)器的緩存結(jié)果中直接返回,查詢(xún)請(qǐng)求無(wú)法到達(dá)真正的權(quán)威服務(wù)器,因此DNS flood攻擊通常的做法是隨機(jī)構(gòu)造權(quán)威域的子域名進(jìn)行查詢(xún),讓遞歸服務(wù)器的緩存無(wú)法生效,從而使請(qǐng)求全部透?jìng)鞯綑?quán)威服務(wù)器。
從上述攻擊行為分析中可以看出來(lái),這種攻擊方式必然會(huì)出現(xiàn)單個(gè)客戶端IP查詢(xún)大量的隨機(jī)域名,統(tǒng)計(jì)單個(gè)IP查詢(xún)的域名數(shù)量即可定位攻擊源,如下圖。

圖9 客戶端異常遍歷域名場(chǎng)景
由于DNS flood客戶端大部分為運(yùn)營(yíng)商遞歸服務(wù)器,封禁可能影響部分用戶正常解析使用,我們可以繼續(xù)分析該地址的歷史訪問(wèn)曲線來(lái)評(píng)估封禁該地址可能造成的影響。如果權(quán)威服務(wù)器性能足夠的話,建議關(guān)注即可。
應(yīng)用于HTTP攻擊檢測(cè)
在應(yīng)用層攻擊檢測(cè)方面,網(wǎng)絡(luò)流量統(tǒng)計(jì)方法依然可以發(fā)揮作用。應(yīng)用層面的攻擊,攻擊者通常會(huì)多次試探不同的URL及參數(shù),嘗試服務(wù)可能存在的漏洞。因此,統(tǒng)計(jì)單個(gè)客戶端訪問(wèn)的URL數(shù)量即可快速定位攻擊者。
圖10顯示單個(gè)客戶端訪問(wèn)URL數(shù)量排名,可以明顯看出異常客戶端嘗試了極大量的URL訪問(wèn),對(duì)客戶端訪問(wèn)明細(xì)進(jìn)行確認(rèn)可以驗(yàn)證其異常行為(圖11)。該方法對(duì)URL目錄遍歷同樣有效。

圖10 客戶端訪問(wèn)URL數(shù)量排名

圖11 客戶端異常行為確認(rèn)
總結(jié)
基于流量統(tǒng)計(jì)數(shù)據(jù)的分析技術(shù)可彌補(bǔ)傳統(tǒng)攻擊檢測(cè)技術(shù)的不足,實(shí)現(xiàn)網(wǎng)絡(luò)攻擊威脅的提前預(yù)警和隱蔽攻擊者的發(fā)現(xiàn),該方法一個(gè)顯著的優(yōu)勢(shì)是無(wú)需觀察單個(gè)的應(yīng)用系統(tǒng),基于整體流量統(tǒng)計(jì)數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)威脅攻擊源的發(fā)現(xiàn),為網(wǎng)絡(luò)安全防御能力的提升提供了新的思路。?



























