網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法

埃文科技發表於2022-09-21

 前言:在網路取證領域,網路攻擊溯源一直是一個重要的追蹤方式

近年來,網路安全事件層出不窮,各種網路攻擊給國家、社會和個人帶來了嚴重的危害,如分散式拒絕服務攻擊DDoS)、基於殭屍網路Botnet的高階可持續攻擊APT)、利用遠端控制木馬的資訊竊取等。在這些攻擊方法中,攻擊者會向目標主機,也就是受害主機傳送特定的攻擊資料包。


從受害主機的角度來看,能夠觀察到這些攻擊資料包,如果能追蹤這些攻擊資料包的來源,定位攻擊者的真正位置,受害主機不但可以採用應對措施,如在合適的位置過濾攻擊資料包,而且可以對攻擊者採取法律手段。因此在網路取證領域,網路攻擊溯源一直是一個重要的追蹤方式


 網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法


一、什麼是網路攻擊溯源

在網路空間中,網路攻擊源追蹤是指當檢測到網路攻擊事件發生後,能夠追蹤定位真正的攻擊者的主機,以幫助司法人員對攻擊者採取法律手段。近二十年,研究人員對網路攻擊源追蹤技術進行了大量研究。


更具象化的來說網路攻擊源追蹤是指,在網路空間中,安全人員在檢測到攻擊行為發生的情況下,如何追蹤定位攻擊者的主機?雖然從司法取證的角度,更希望能識別出攻擊者本人,以便於對嫌疑人採取法律手段,但這需要將網路空間中的“主機”與現實物理空間中的“人”進行關聯。所以網路空間中,如何識別出攻擊者直接使用的主機才是最重要的


網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 


二、五種常見掩蓋真實IP的網路攻擊追蹤問題

由於攻擊者可以採用不同的形式來隱藏自身真實的IP地址,如虛假IP地址或跳板的方式,那麼可以將攻擊源追蹤問題分為下面5個問題:虛假IP溯源、殭屍網路溯源、匿名網路溯源、跳板溯源、區域網溯源,由此對這五種問題進行追蹤溯源。


 虛假IP溯源:取證人員檢測到的攻擊資料包中,其源IP地址是偽造的。例如,典型的SYN Flood攻擊。

網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 

在這種網路攻擊中,攻擊者將攻擊資料包中的源IP地址替換為偽造的IP地址,受害主機收到資料包後,將響應資料包傳送給偽造的IP地址主機,這些主機可能存在也可能不存在。這樣在受害主機端,無法得到攻擊主機的IP地址。


除此之外, 還有一種特殊的“反射攻擊”, 如Smurf 攻擊、DNS放大攻擊等在這種攻擊中,攻擊者將攻擊資料包中的源IP地址替換為受害者的IP地址,將攻擊資料包傳送給反射主機,反射主機收到資料包後,響應資料包將傳送給受害主機。從受害主機端觀察,只能判斷這些資料包來自反射主機,無法知道真正攻擊者的IP地址。


 殭屍網路溯源:攻擊者利用殭屍網路發動攻擊,取證人員檢測到攻擊資料包中,其源IP地址來自於Botnet中的bot主機,在這種情況下如何追蹤定位攻擊者的主機?

網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 

在這種攻擊中,攻擊者利用C&C型或P2P型Botnet,先傳送控制指令, bot主機接收到控制指令後,向設定的攻擊目標發動攻擊。在受害主機端,可以看到攻擊資料包來自 bot主機,而無法識別出真正的Botmaster。


 匿名網路溯源:攻擊者利用匿名網路,如“Tor”,發動攻擊,取證人員檢測到攻擊資料包中,其源IP地址來自於匿名網路,在這種情況下如何追蹤定位攻擊者的主機?Tor 網路就是匿名網路典型的攻擊場。

網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 

在這種攻擊中,攻擊者的攻擊資料包透過匿名網路進行轉發,在受害主機端,只能觀察到攻擊資料包來自於出口路由器,而不能發現真正的攻擊者。


 跳板溯源:攻擊者利用多個“跳板主機”,即透過控制多個主機轉發攻擊資料包,取證人員檢測到攻擊資料包,其源IP地址是最後一跳“跳板主機”的IP地址,前一段時間西北工業大學被NAS攻擊中,就運用了54臺跳板來隱藏真正的IP地址。

網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 

在這種攻擊中,攻擊者事先控制多個跳板主機,利用跳板轉發攻擊資料包。在受害主機端,只能看到攻擊資料包來自於最後一跳的主機,而不能識別出真正的攻擊者。很顯然,跳板路徑越長,越難追蹤攻擊者。


 區域網路溯源:攻擊者位於私有網路內,其攻擊資料包中的源IP地址經過了閘道器的VAT(Network Address Transform)地址轉換。

在這種攻擊中,由於攻擊者的IP地址是私有IP地址,在受害主機端只能看到NAT閘道器的IP地址。在大型私有網路內,特別是無線區域網中,尋找定位攻擊者並不是一件簡單的事情。


在實際的網路攻擊事件中, 可能並不嚴格遵守上述各種攻擊場景, 但大致可以歸為上述某個或某幾個問題。


三、虛假IP地址攻擊溯源

當攻擊資料包中的源IP地址是偽造的時,如何找到傳送攻擊資料包的真實IP地址?這一問題也被稱為IP追蹤(IPTraceback)。對該問題, 需要按照不同背景、情況,不同分類方法來實施溯源方法。


背景:取證人員可以控制骨幹網路上的全部或大部分路由器,並且可以修改路由軟體。


取證人員可以在事先給骨幹網路的路由器增加新的功能,在不影響正常路由的情況下修改標準的IP協議,以幫助發現真實的IP地址。

基於這一條件的方法主要有機率包標記演算法、確定包標記演算法、ICMP標記演算法等。同時還有一些組合方法,例如採用資料包標記和資料包記錄的混合方法;綜合了 ICMP 和 PPM 演算法, 路由器對於 IP 資料包以一定機率進行標記, 並且同時把IP地址填入ICMP包中等等。


網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法


背景:取證人員可以控制骨幹網路上的路由器,但不能修改路由軟體。


根據此種情況,取證人員可以事先觀察記錄流經骨幹網路路由器的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), 透過新設計的覆蓋網路來實現資料包跟蹤。


背景:取證人員不能控制骨幹網路上的路由器,但可以在網路上部署監控器。


這種情況下,取證人員只能在網路合適的位置部署監控器收集資料包,這裡的網路不是指骨幹網路,而是指終端網路。

在大流量資料包情況下,由於網路阻塞等各種原因,路由器會有一定機率產生目標不可達的ICMP報文,由於攻擊資料包的源IP地址是虛假的,一般是隨機產生的,這些ICMP報文會被髮往這些虛假的IP地址,其中包含路由器的IP地址以及原資料包的源和目的IP地址。


因此部署在網路上的監控器會收到這些ICMP報文,根據傳送這些ICMP報文的路由器,可以構造出這些資料包的攻擊路徑。Robert Stone和Centertrack在《an IP overlay network for tracking DoS floods》提出了,該方法,利用NetworkTelescope 專案(能夠覆蓋1/256的IPv4地址)收集的資料,結合骨幹網的拓撲結構,可以在一定程度上發現攻擊源。


但是溯源追蹤的方法要求攻擊資料包的流量比較大,並且在攻擊正在進行的時候實施,一旦攻擊結束,這種方法就無法找到真實的IP地址。


背景:取證人員既不能控制骨幹路由器, 也不能部署監控器, 但知道骨幹網路拓撲結構。


在取證人員只知道骨幹網路的拓撲結構, 沒有許可權控制骨幹網中的路由器, 也沒有條件部署遍及全網的監控器的情況下,我們可以採取以下幾種追蹤溯源的方法。


網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法 


Hal Burch和Bill Cheswick在《Tracing anonymous packets to their

approximate source》提出了一種鏈路測試的方法。在大流量資料包的情況下,從被攻擊目標出發,由近及遠,依次對被攻擊目標的上游路由器進行UDP泛洪。若某條鏈路上存在攻擊流量,由於泛洪流量的存在,將導致攻擊流量丟包。根據這一現象,即可以判斷出某條鏈路上是否存在攻擊流量,從而構造出攻擊路徑。


不過該方法只能對單個攻擊流量進行檢測,若同時存在多個攻擊流量,則很難區分不同的攻擊流量。這種方法同樣要求攻擊資料包流量較大,並且一旦攻擊結束,方法也就失效了。另外,這種方法本身就是一種 DoS攻擊,會影響正常的資料流量。


也可以採取一種基於蟻群的演算法, 即受害主機發出一些蟻群, 這些蟻群根據鏈路中負載的程度來選擇路徑, 鏈路負載越 大說明越可能是攻擊流量, 因此蟻群選擇該路徑的機率越大。當所有蟻群達到所監控網路邊緣時, 根據 蟻群所走過的路徑, 則可以構造出最有可能的攻擊路徑。


背景:取證人員既不能控制骨幹路由器、不能部署監控器, 也不知道拓撲結構。


如果取證人員不掌握任何資源, 在這一條件下似乎不可能追蹤到真實的IP地址。但可以採取某種方法, 獲得骨幹網路的拓撲結構, 從而將問題轉化為拓撲結構的情況,。如Dawn Xiaodong Song,和Adrian Perrig在《 Advanced and authenticated

marking schemes for IP traceback》就是利用了traceroute 獲取網路拓撲結構。


網路攻擊中常見掩蓋真實IP的攻擊方式及虛假IP地址追蹤溯源方法


所以對於一般虛假IP溯源問題的解決,可以根據情況的不同採用不同的檢測方法進行追溯。不過現如今網路攻擊環境、攻擊手法複雜且技術不斷升級,我們也需要升級我們的檢測方法,提高網路攻擊溯源的技術水平,這樣才能更好地保護我們的網路安全。

相關文章