網絡原來如此之基于流量數據統計的攻擊檢測技術
?引言
隨著商業銀行數據中心逐漸向開放化轉型,在提升用戶體驗,支撐場景金融發展的同時,其對外開放的服務特性也加大了網絡安全管控風險,同時日益復雜的IT架構也增加了信息系統漏洞和安全缺陷的幾率。隨著網絡安全環境日益復雜嚴峻,銀行面對大量不可預知的資產探查、掃描攻擊和踩點等惡意行為,單獨依靠人工或者單個系統很難做到面面俱到;而攻擊方往往只需抓住一個漏洞,就可以攻破系統、突破邊界。本文主要展示如何簡單快速地通過網絡流量分析統計方法來分析并發現這些攻擊行為。
應用于網絡端口掃描檢測
1、端口掃描攻擊介紹?
攻擊者入侵滲透的第一步就是掌握目標的資產并找到防守薄弱點作為突破口,各類網絡端口掃描是最常見最簡單有效一種手段。
端口掃描是一種有效探查互聯網開放端口的手段,攻擊者將請求發送到目標服務器的IP地址,以發現提供服務的端口,然后利用服務中的漏洞進行下一步攻擊。端口掃描攻擊通常是重大網絡攻擊的序曲。掃描會短時間會發起大量的SYN包端口掃描,有可能會造成以下幾種安全設備的告警:
(1)網絡防火墻設備
大量并發的syn請求會對防火墻新建會話性能造成較大壓力,引起防火墻會話數高報警,但是由于訪問目標分散,半連接會話存續時間短,整體流量小,防火墻上不會留下任何日志記錄,幾乎無法進行定位。
(2)DDOS抗拒絕服務攻擊設備
DDOS攻擊防護設備通常具備如syn flood等各類攻擊檢測能力,為減少誤報,通常需要安全運營人員持續進行優化調整,通常策略設置方式為針對單個系統或目標服務器IP設置具有一定容忍度的syn flood閾值,如果設置過大可能會出現部分掃描行為不會觸發DDOS告警。
(3)其它安全類設備
由于設備自身的防護機制,一般情況下對于較為敏感的安全設備,如果被外部掃描到確實可能會觸發相關安全告警,以此來及時發現攻擊者掃描行為,收集相關攻擊信息。有些攻擊者為了避免被發現,通常會將掃描速率降到極低的程度,花費數天的時間慢慢收集信息,以防止被發現,此類掃描行為的特征是流量低、會話少、行為隱蔽,難以被發現。
除了端口安全掃描,還有基于UDP協議的DNS掃描、SIP服務掃描等等,因為不像TCP協議有建鏈過程,使得這種掃描更難被發現。
2、流量統計分析方法?
網絡端口掃描低流量、無會話、源目的地址分散的特性使得傳統的流量分析手段無法做到及時發現和阻斷,但是通過研究分析其原理,我們不難總結出流量統計數據的特征,幾乎所有的端口掃描工具都是基于TCP的半連接方式,速度快,流量小,其基本原理如下:
圖1 掃描原理
掃描器向服務器端口發起SYN包建立連接,服務器如果返回SYN ACK則說明服務器端口存活,如果服務器端口不活則不會有任何返回。在這種模型下,一般會在掃描流量數據中存在兩種特征:一是出現大量無響應的SYN數據包;二是單個IP地址會訪問大量的“IP+端口”的業務組合(正常用戶一般只會用到網站對外發布的少量幾個服務)。
針對特征一,將一段時間周期內SYN數據報文總數和SYN ACK數據報文總數進行分析,如果發現兩者差值出現明顯上升,就說明存在端口掃描事件的發生。
圖2 特征一(Syn-syn/ack)
通過將這段時間內的單個客戶端Syn-syn/ack數量進行排名,即可發現疑似掃描客戶端的真實地址。
圖3 客戶端分析排名?
針對特征二,對于掃描客戶端的判斷更為直接,我們把一個“IP+端口”算做一個應用,正??蛻舳耍呐率腔ヂ摼W模擬監控探測的節點,訪問的“應用數量”也不應超過網站真正發布的互聯網應用數量,如果統計發現單個客戶端IP在某一段時間范圍內(例如1小時、3小時、當天或者一周等)訪問的“應用數量”遠超過正式發布的互聯網門戶、小程序和移動APP應用數量,那么這個客戶端IP地址基本可以確認存在異常訪問;結合特征一提到的Syn-syn/ack分析方法進行驗證,即可快速確認這些IP地址全都屬于掃描,非正常用戶客戶端行為。
為此,我們專門設計了基于流量數據的自動統計表格:
圖4 特征二掃描客戶端統計表?
篩選條件為一天之內,應用數量大于已發布應用數量的5倍,新建會話數少于10的客戶端,可以發現表格中列舉的所有客戶端都具備發起大量SYN包只有很少回包的特點,可以判斷為異常掃描客戶端,無需再進行人工抓包分析,并適當結合情報情況進行批量封禁。以上篩選條件較嚴,可以100%確認為掃描客戶端并結合封禁工具可以實現自動封禁。
該方法簡單易行,僅通過兩個條件即可確認掃描地址,同時可以在比較大的時間范圍進行搜索統計,即使是像慢速掃描這樣隱藏較深的探測攻擊,在該方法下也會現出原形。
另外,雖然Syn-syn/ack指標無法直接發現UDP/ICMP協議的掃描,但在統計表中也可以快速發現(Syn-syn/ack為0但是應用數量極大(圖5),通過分析數據包可以看出來是SIP掃描或者其他UDP掃描(圖6)。
圖5 UDP/ICMP掃描客戶端?
圖6 UDP掃描人工抓包確認?
應用于DNS flood攻擊檢測?
除了檢測網絡端口掃描攻擊外,DNS掃描也可以被網絡流量統計方法發現。DNS是典型的基于UDP協議的應用,只要負責網站域名到IP地址的關聯關系查詢,可以說非常重要,是攻擊者非常喜歡的攻擊目標。
通常攻擊方希望通過向網站的DNS權威服務器發起大量的DNS查詢請求,造成權威服務器性能的瓶頸。但是由于DNS的緩存機制,攻擊者如果嘗試發起大量注冊域名的查詢,那么大部分會由運營商遞歸域名服務器的緩存結果中直接返回,查詢請求無法到達真正的權威服務器,因此DNS flood攻擊通常的做法是隨機構造權威域的子域名進行查詢,讓遞歸服務器的緩存無法生效,從而使請求全部透傳到權威服務器。
從上述攻擊行為分析中可以看出來,這種攻擊方式必然會出現單個客戶端IP查詢大量的隨機域名,統計單個IP查詢的域名數量即可定位攻擊源,如下圖。
圖9 客戶端異常遍歷域名場景
由于DNS flood客戶端大部分為運營商遞歸服務器,封禁可能影響部分用戶正常解析使用,我們可以繼續分析該地址的歷史訪問曲線來評估封禁該地址可能造成的影響。如果權威服務器性能足夠的話,建議關注即可。
應用于HTTP攻擊檢測
在應用層攻擊檢測方面,網絡流量統計方法依然可以發揮作用。應用層面的攻擊,攻擊者通常會多次試探不同的URL及參數,嘗試服務可能存在的漏洞。因此,統計單個客戶端訪問的URL數量即可快速定位攻擊者。
圖10顯示單個客戶端訪問URL數量排名,可以明顯看出異??蛻舳藝L試了極大量的URL訪問,對客戶端訪問明細進行確認可以驗證其異常行為(圖11)。該方法對URL目錄遍歷同樣有效。
圖10 客戶端訪問URL數量排名
圖11 客戶端異常行為確認
總結
基于流量統計數據的分析技術可彌補傳統攻擊檢測技術的不足,實現網絡攻擊威脅的提前預警和隱蔽攻擊者的發現,該方法一個顯著的優勢是無需觀察單個的應用系統,基于整體流量統計數據進行網絡威脅攻擊源的發現,為網絡安全防御能力的提升提供了新的思路。?