前言:在網絡取證領域,網絡攻擊溯源一直是一個重要的追蹤方式。
近年來,網絡安全事件層出不窮,各種網絡攻擊給國家、社會和個人帶來了嚴重的危害,如分布式拒絕服務攻擊(DDoS)、基于僵尸網絡(Bo.NET)的高級可持續攻擊(APT)、利用遠程控制木馬的信息竊取等。在這些攻擊方法中,攻擊者會向目標主機,也就是受害主機,發送特定的攻擊數據包。
從受害主機的角度來看,能夠觀察到這些攻擊數據包,如果能追蹤這些攻擊數據包的來源,定位攻擊者的真正位置,受害主機不但可以采用應對措施,如在合適的位置過濾攻擊數據包,而且可以對攻擊者采取法律手段。因此在網絡取證領域,網絡攻擊溯源一直是一個重要的追蹤方式。
一、什么是網絡攻擊溯源
在網絡空間中,網絡攻擊源追蹤是指當檢測到網絡攻擊事件發生后,能夠追蹤定位真正的攻擊者的主機,以幫助司法人員對攻擊者采取法律手段。近二十年,研究人員對網絡攻擊源追蹤技術進行了大量研究。
更具象化地來說網絡攻擊源追蹤是指,在網絡空間中,安全人員在檢測到攻擊行為發生的情況下,如何追蹤定位攻擊者的主機?雖然從司法取證的角度,更希望能識別出攻擊者本人,以便于對嫌疑人采取法律手段,但這需要將網絡空間中的“主機”與現實物理空間中的“人”進行關聯。所以網絡空間中,如何識別出攻擊者直接使用的主機才是最重要的。
二、五種常見掩蓋真實IP的網絡攻擊追蹤問題
由于攻擊者可以采用不同的形式來隱藏自身真實的IP地址,如虛假IP地址或跳板的方式,那么可以將攻擊源追蹤問題分為下面5個問題:虛假IP溯源、僵尸網絡溯源、匿名網絡溯源、跳板溯源、局域網溯源,由此對這五種問題進行追蹤溯源。
1.虛假IP溯源:取證人員檢測到的攻擊數據包中,其源IP地址是偽造的。例如,典型的SYN Flood攻擊。
在這種網絡攻擊中,攻擊者將攻擊數據包中的源IP地址替換為偽造的IP地址,受害主機收到數據包后,將響應數據包發送給偽造的IP地址主機,這些主機可能存在也可能不存在。這樣在受害主機端,無法得到攻擊主機的IP地址。
除此之外, 還有一種特殊的“反射攻擊”, 如Smurf 攻擊、DNS放大攻擊等在這種攻擊中,攻擊者將攻擊數據包中的源IP地址替換為受害者的IP地址,將攻擊數據包發送給反射主機,反射主機收到數據包后,響應數據包將發送給受害主機。從受害主機端觀察,只能判斷這些數據包來自反射主機,無法知道真正攻擊者的IP地址。
2.僵尸網絡溯源:攻擊者利用僵尸網絡發動攻擊,取證人員檢測到攻擊數據包中,其源IP地址來自于Botnet中的bot主機,在這種情況下如何追蹤定位攻擊者的主機?
在這種攻擊中,攻擊者利用C&C型或P2P型Botnet,先發送控制指令, bot主機接收到控制指令后,向設定的攻擊目標發動攻擊。在受害主機端,可以看到攻擊數據包來自 bot主機,而無法識別出真正的Botmaster。
3.匿名網絡溯源:攻擊者利用匿名網絡,如“Tor”,發動攻擊,取證人員檢測到攻擊數據包中,其源IP地址來自于匿名網絡,在這種情況下如何追蹤定位攻擊者的主機?Tor 網絡就是匿名網絡典型的攻擊場。
在這種攻擊中,攻擊者的攻擊數據包通過匿名網絡進行轉發,在受害主機端,只能觀察到攻擊數據包來自于出口路由器,而不能發現真正的攻擊者。
4.跳板溯源:攻擊者利用多個“跳板主機”,即通過控制多個主機轉發攻擊數據包,取證人員檢測到攻擊數據包,其源IP地址是最后一跳“跳板主機”的IP地址,前一段時間西北工業大學被NAS攻擊中,就運用了54臺跳板來隱藏真正的IP地址。
在這種攻擊中,攻擊者事先控制多個跳板主機,利用跳板轉發攻擊數據包。在受害主機端,只能看到攻擊數據包來自于最后一跳的主機,而不能識別出真正的攻擊者。很顯然,跳板路徑越長,越難追蹤攻擊者。
5.局域網絡溯源:攻擊者位于私有網絡內,其攻擊數據包中的源IP地址經過了網關的VAT(Network Address Transform)地址轉換。
在這種攻擊中,由于攻擊者的IP地址是私有IP地址,在受害主機端只能看到NAT網關的IP地址。在大型私有網絡內,特別是無線局域網中,尋找定位攻擊者并不是一件簡單的事情。
在實際的網絡攻擊事件中, 可能并不嚴格遵守上述各種攻擊場景, 但大致可以歸為上述某個或某幾個問題。
三、虛假IP地址攻擊溯源
當攻擊數據包中的源IP地址是偽造的時,如何找到發送攻擊數據包的真實IP地址?這一問題也被稱為IP追蹤(IPTraceback)。對該問題, 需要按照不同背景、情況,不同分類方法來實施溯源方法。
1.背景:取證人員可以控制骨干網絡上的全部或大部分路由器,并且可以修改路由軟件。
取證人員可以在事先給骨干網絡的路由器增加新的功能,在不影響正常路由的情況下修改標準的IP協議,以幫助發現真實的IP地址。
基于這一條件的方法主要有概率包標記算法、確定包標記算法、ICMP標記算法等。同時還有一些組合方法,例如采用數據包標記和數據包記錄的混合方法;綜合了 ICMP 和 PPM 算法, 路由器對于 IP 數據包以一定概率進行標記, 并且同時把IP地址填入ICMP包中等等。
2.背景:取證人員可以控制骨干網絡上的路由器,但不能修改路由軟件。
根據此種情況,取證人員可以事先觀察記錄流經骨干網絡路由器的IP數據包,但不能改變標準的路由協議。
主要思路是,在路由器上記錄所有流經的數據包,當攻擊發生時,受害主機向其上游路由器進行查詢,路由器比對所記錄的數據包,可以構造出該數據包所經過的路徑。該方法優點是可以回溯單個數據包,但缺點是需要考慮路由器存儲空間受限的問題。
所以針對此種情況,Alex C.Snoeren、Craig Partridge等人在《Single-packet IP traceback》設計了一個追蹤系統SPIE,不是讓路由器記錄整個數據包,而是利用bloom filter記錄數據包的摘要,大大減少了所需的存儲空間。然后通過查詢每個路由器上的數據包摘要,可以重構出攻擊路徑。
還可以根據部分路由器進行數據包記錄的情況, 并且對于多個攻擊源問題, 該方法只需要追蹤屬于多個攻擊源的數據包就可以識別出多個攻擊源。
在《Session based logging (SBL) for IP-traceback on network forensics》中提出一種基于Session的數據包記錄方法, 即只記錄TCP數據流中的連接建立請求SYN數據包和連接終止 FIN 數據包, 忽略掉流中間的數據包, 從而大大減少所需的存儲空間。
在《Passive IP traceback: disclosing the locations of IP spoofers from path backscatter》中針對跨自治域的追蹤問題,可以利用路由器的IP包記錄方法, 結合鏈路層的mac地址來識別虛假IP地址, 實現了一個原型系統。
由于在這種情況下不能改變現有路由結構, 另外一個思路是在現有路由結構上建立一個覆蓋網絡(Overlay Network), 通過新設計的覆蓋網絡來實現數據包跟蹤。
3.背景:取證人員不能控制骨干網絡上的路由器,但可以在網絡上部署監控器。
這種情況下,取證人員只能在網絡合適的位置部署監控器收集數據包,這里的網絡不是指骨干網絡,而是指終端網絡。
在大流量數據包情況下,由于網絡阻塞等各種原因,路由器會有一定幾率產生目標不可達的ICMP報文,由于攻擊數據包的源IP地址是虛假的,一般是隨機產生的,這些ICMP報文會被發往這些虛假的IP地址,其中包含路由器的IP地址以及原數據包的源和目的IP地址。
因此部署在網絡上的監控器會收到這些ICMP報文,根據發送這些ICMP報文的路由器,可以構造出這些數據包的攻擊路徑。Robert Stone和Centertrack在《an IP overlay network for tracking DoS floods》提出了,利用NetworkTelescope 項目(能夠覆蓋1/256的IPv4地址)收集的數據,結合骨干網的拓撲結構,可以在一定程度上發現攻擊源。
但是溯源追蹤的方法要求攻擊數據包的流量比較大,并且在攻擊正在進行的時候實施,一旦攻擊結束,這種方法就無法找到真實的IP地址。
4.背景:取證人員既不能控制骨干路由器, 也不能部署監控器, 但知道骨干網絡拓撲結構。
在取證人員只知道骨干網絡的拓撲結構, 沒有權限控制骨干網中的路由器, 也沒有條件部署遍及全網的監控器的情況下,我們可以采取以下幾種追蹤溯源的方法。
Hal Burch和Bill Cheswick在《Tracing anonymous packets to their
Approximate source》提出了一種鏈路測試的方法。在大流量數據包的情況下,從被攻擊目標出發,由近及遠,依次對被攻擊目標的上游路由器進行UDP泛洪。若某條鏈路上存在攻擊流量,由于泛洪流量的存在,將導致攻擊流量丟包。根據這一現象,即可以判斷出某條鏈路上是否存在攻擊流量,從而構造出攻擊路徑。
不過該方法只能對單個攻擊流量進行檢測,若同時存在多個攻擊流量,則很難區分不同的攻擊流量。這種方法同樣要求攻擊數據包流量較大,并且一旦攻擊結束,方法也就失效了。另外,這種方法本身就是一種 DoS攻擊,會影響正常的數據流量。
也可以采取一種基于蟻群的算法, 即受害主機發出一些蟻群, 這些蟻群根據鏈路中負載的程度來選擇路徑, 鏈路負載越 大說明越可能是攻擊流量, 因此蟻群選擇該路徑的概率越大。當所有蟻群達到所監控網絡邊緣時, 根據 蟻群所走過的路徑, 則可以構造出最有可能的攻擊路徑。
5.背景:取證人員既不能控制骨干路由器、不能部署監控器, 也不知道拓撲結構。
如果取證人員不掌握任何資源, 在這一條件下似乎不可能追蹤到真實的IP地址。但可以采取某種方法, 獲得骨干網絡的拓撲結構, 從而將問題轉化為拓撲結構的情況,。如Dawn Xiaodong Song,和Adrian Perrig在《 Advanced and authenticated marking schemes for IP traceback》就是利用了traceroute 獲取網絡拓撲結構。
所以對于一般虛假IP溯源問題的解決,可以根據情況的不同采用不同的檢測方法進行追溯。不過現如今網絡攻擊環境、攻擊手法復雜且技術不斷升級,我們也需要升級我們的檢測方法,提高網絡攻擊溯源的技術水平,這樣才能更好地保護我們的網絡安全。