姜建國, 王繼志,, 孔 斌, 胡 波, 劉吉強(qiáng)1中國科學(xué)院信息工程研究所, 北京 中國 10009 中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院, 北京 中國 10009 山東省計(jì)算中心(國家超級計(jì)算濟(jì)南中心), 濟(jì)南 中國 50101 北京交通大學(xué), 北京 中國10009
近年來, 網(wǎng)絡(luò)安全事件層出不窮, 各種網(wǎng)絡(luò)攻擊給國家、社會和個人帶來了嚴(yán)重的危害, 如分布式拒絕服務(wù)攻擊(DDoS)、基于僵尸網(wǎng)絡(luò)(Botnet)的高級可持續(xù)攻擊(APT)、利用遠(yuǎn)程控制木馬的信息竊取等。在這些攻擊方法中, 攻擊者會向目標(biāo)主機(jī), 也就是受害主機(jī), 發(fā)送特定的攻擊數(shù)據(jù)包。從受害主機(jī)的角度來看, 能夠觀察到這些攻擊數(shù)據(jù)包, 如果能追蹤這些攻擊數(shù)據(jù)包的來源, 定位攻擊者的真正位置,受害主機(jī)不但可以采用應(yīng)對措施, 如在合適的位置過濾攻擊數(shù)據(jù)包, 而且可以對攻擊者采取法律手段。因此在網(wǎng)絡(luò)取證領(lǐng)域, 網(wǎng)絡(luò)攻擊溯源一直是一個熱點(diǎn)問題。
現(xiàn)有的TCP/IP協(xié)議在設(shè)計(jì)之初, 并沒有考慮攻擊源追蹤問題, 不能提供對數(shù)據(jù)包來源的認(rèn)證功能,這使得在現(xiàn)有互聯(lián)網(wǎng)基礎(chǔ)設(shè)施條件下, 對攻擊源追蹤是很困難的事情。因?yàn)橐话阍?IP數(shù)據(jù)包中, 只有源IP地址這一個字段能夠表征該數(shù)據(jù)包的發(fā)送者。對于攻擊者來說, 為了隱藏自身, 可以有意識的采取措施避免數(shù)據(jù)包中的源IP地址暴露自己的真實(shí)IP地址。主要的方法有: 如果攻擊者不需要接收受害主機(jī)的響應(yīng)數(shù)據(jù)包, 如DoS攻擊, 則可以采用虛假IP地址來填充源IP地址字段; 如果攻擊者需要與受害主機(jī)建立連接, 則可以采用先攻擊控制其他主機(jī)作為跳板, 而后從跳板主機(jī)發(fā)動攻擊, 這樣源 IP地址字段中出現(xiàn)的是跳板主機(jī)的IP地址, 而非攻擊者的IP地址。對于取證人員來說, 即使檢測到攻擊數(shù)據(jù)包, 也很難憑借這些攻擊數(shù)據(jù)包去追蹤定位真正的攻擊者。
因此, 目前還不存在一種通用的攻擊源追蹤方法。已有的追蹤方法都有嚴(yán)格的限定條件, 只能適用于一些特定的場景。目前, 對于攻擊源追蹤方法的分類主要依據(jù)所基于的理論, 但事實(shí)上, 這些方法的適用范圍不同、前提條件不同、需要取證人員事先掌握的資源不同, 因此, 本文按照取證人員事先需要掌握的資源為依據(jù), 從實(shí)際應(yīng)用的角度, 將各種攻擊溯源方法進(jìn)行分類, 說明各類方法的適用范圍。
全文組織如下: 第2節(jié)明確了問題的定義, 根據(jù)不同的場景將問題分為5類; 第3節(jié)分別對這5類問題現(xiàn)有的研究成果進(jìn)行了綜述; 第 4節(jié)將已有方法大致歸納為4種類型, 對這4類的優(yōu)缺點(diǎn)進(jìn)行了對比;第5節(jié)總結(jié)了全文并展望未來的研究方向。
本文所說的網(wǎng)絡(luò)攻擊源追蹤是指, 在網(wǎng)絡(luò)空間中, 安全人員在檢測到攻擊行為發(fā)生的情況下, 如何追蹤定位攻擊者的主機(jī)?雖然從司法取證的角度,更希望能識別出攻擊者本人, 以便于對嫌疑人采取法律手段, 但這需要將網(wǎng)絡(luò)空間中的“主機(jī)”與現(xiàn)實(shí)物理空間中的“人”進(jìn)行關(guān)聯(lián), 這超出了本文的范圍。本文的內(nèi)容限定于在網(wǎng)絡(luò)空間中, 如何識別出攻擊者直接使用的主機(jī)。
由于攻擊者可以采用不同的形式來隱藏自身,如虛假 IP地址或跳板的方式, 那么可以將攻擊源追蹤問題分為下面5個子問題: 虛假IP溯源、僵尸網(wǎng)絡(luò)溯源、匿名網(wǎng)絡(luò)溯源、跳板溯源、局域網(wǎng)溯源。下面明確一下這5個子問題的具體含義。
1) 虛假IP溯源: 取證人員檢測到的攻擊數(shù)據(jù)包中, 其源 IP地址是偽造的, 在這種情況下如何追蹤定位攻擊者的主機(jī)?
例如, 典型的SYN Flood攻擊, 見圖1。
在這種攻擊中, 攻擊者將攻擊數(shù)據(jù)包中的源 IP地址替換為偽造的IP地址, 受害主機(jī)收到數(shù)據(jù)包后,將響應(yīng)數(shù)據(jù)包發(fā)送給偽造的 IP地址主機(jī), 這些主機(jī)可能存在也可能不存在。這樣在受害主機(jī)端, 無法得到攻擊主機(jī)的IP地址。
除此之外, 還有一種特殊的“反射攻擊”, 如Smurf攻擊、DNS放大攻擊等, 見圖2。
圖1 SYN Flood攻擊示意Figure 1 The sketch of SYN flood attack
圖2 反射攻擊示意Figure 2 The sketch of reflection attack
在這種攻擊中, 攻擊者將攻擊數(shù)據(jù)包中的源 IP地址替換為受害者的 IP地址, 將攻擊數(shù)據(jù)包發(fā)送給反射主機(jī), 反射主機(jī)收到數(shù)據(jù)包后, 響應(yīng)數(shù)據(jù)包將發(fā)送給受害主機(jī)。從受害主機(jī)端觀察, 只能判斷這些數(shù)據(jù)包來自反射主機(jī), 無法知道真正攻擊者的 IP地址。
2) 僵尸網(wǎng)絡(luò)溯源: 攻擊者利用僵尸網(wǎng)絡(luò)發(fā)動攻擊, 取證人員檢測到攻擊數(shù)據(jù)包中, 其源 IP地址來自于Botnet中的bot主機(jī), 在這種情況下如何追蹤定位攻擊者的主機(jī)?
典型的攻擊場景如圖3。
在這種攻擊中, 攻擊者利用 C&C型或 P2P型Botnet, 先發(fā)送控制指令, bot主機(jī)接收到控制指令后,向設(shè)定的攻擊目標(biāo)發(fā)動攻擊。在受害主機(jī)端, 可以看到攻擊數(shù)據(jù)包來自 bot主機(jī), 而無法識別出真正的Botmaster。
圖3 C&C型Botnet攻擊示意Figure 3 The attack sketch of C&C type of Botnet
3) 匿名網(wǎng)絡(luò)溯源: 攻擊者利用匿名網(wǎng)絡(luò), 如Tor,發(fā)動攻擊, 取證人員檢測到攻擊數(shù)據(jù)包中, 其源 IP地址來自于匿名網(wǎng)絡(luò), 在這種情況下如何追蹤定位攻擊者的主機(jī)?
以Tor網(wǎng)絡(luò)為例, 典型的攻擊場景如圖4所示。
圖4 利用匿名網(wǎng)絡(luò)的攻擊示意Figure 4 The attack sketch based on anonymous network
在這種攻擊中, 攻擊者的攻擊數(shù)據(jù)包通過匿名網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā), 在受害主機(jī)端, 只能觀察到攻擊數(shù)據(jù)包來自于出口路由器, 而不能發(fā)現(xiàn)真正的攻擊者。
4) 跳板溯源: 攻擊者利用多個“跳板主機(jī)”, 即通過控制多個主機(jī)轉(zhuǎn)發(fā)攻擊數(shù)據(jù)包, 取證人員檢測到攻擊數(shù)據(jù)包, 其源 IP地址是最后一跳“跳板主機(jī)”的 IP地址, 在這種情況下如何追蹤定位攻擊者的主機(jī)?
典型的攻擊場景如圖5所示。
圖5 利用多個跳板的攻擊示意Figure 5 The attack sketch based on multi-step stones
在這種攻擊中, 攻擊者事先控制多個跳板主機(jī),利用跳板轉(zhuǎn)發(fā)攻擊數(shù)據(jù)包。在受害主機(jī)端, 只能看到攻擊數(shù)據(jù)包來自于最后一跳的主機(jī), 而不能識別出真正的攻擊者。很顯然, 跳板路徑越長, 越難追蹤攻擊者。
5) 局域網(wǎng)絡(luò)溯源: 攻擊者位于私有網(wǎng)絡(luò)內(nèi), 其攻擊數(shù)據(jù)包中的源 IP地址經(jīng)過了網(wǎng)關(guān)的NAT(Network Address Transform)地址轉(zhuǎn)換, 在這種情況下如何在內(nèi)網(wǎng)中追蹤定位攻擊者主機(jī)?
典型的攻擊場景如圖6所示。
圖6 隱藏在NAT服務(wù)器后的攻擊者Figure 6 The attack sketch hide behind NAT server
在這種攻擊中, 由于攻擊者的IP地址是私有IP地址, 在受害主機(jī)端只能看到NAT網(wǎng)關(guān)的IP地址。在大型私有網(wǎng)絡(luò)內(nèi), 特別是無線局域網(wǎng)中, 尋找定位攻擊者并不是一件簡單的事情。
在實(shí)際的網(wǎng)絡(luò)攻擊事件中, 可能并不嚴(yán)格遵守上述各種攻擊場景, 但大致可以歸為上述某個或某幾個問題。因此, 以上述 5個問題為模型, 來探討解決方案。下面分別對這5個問題的現(xiàn)有方法進(jìn)行綜述。
當(dāng)攻擊數(shù)據(jù)包中的源 IP地址是偽造的時, 如何找到發(fā)送攻擊數(shù)據(jù)包的真實(shí)IP地址?這一問題也被稱為IP追蹤(IP Traceback)。文獻(xiàn)[83]對該問題的早期研究進(jìn)行了總結(jié), 按照不同的分類方法, 將方法分為包標(biāo)記/包記錄、概率性方法/確定性方法等。本文根據(jù)攻擊事件發(fā)生前, 事先需要采取的措施和知道的信息, 分為如下5種情況進(jìn)行討論。
圖7 IP數(shù)據(jù)包中IP首部數(shù)據(jù)結(jié)構(gòu)Figure 7 The data structure of IP header in packets
1) 取證人員可以控制骨干網(wǎng)絡(luò)上的全部或大部分路由器, 并且可以修改路由軟件
這一條件的含義是, 取證人員可以在事先給骨干網(wǎng)絡(luò)的路由器增加新的功能, 在不影響正常路由的情況下修改標(biāo)準(zhǔn)的IP協(xié)議, 以幫助發(fā)現(xiàn)真實(shí)的IP地址。
基于這一條件的方法主要有概率包標(biāo)記算法、確定包標(biāo)記算法、ICMP標(biāo)記算法等。分述如下:
(1) 概率包標(biāo)記算法
概率包標(biāo)記算法(Probabilistic Packet Marking,PPM)在文獻(xiàn)[1]中被提出。文獻(xiàn)[2]幾乎在同時獨(dú)立提出了類似的思路, 但相對來說, 文獻(xiàn)[1]對該問題的研究更全面。假設(shè)攻擊數(shù)據(jù)包的發(fā)包頻率遠(yuǎn)高于正常的數(shù)據(jù)包, 其基本思想是讓路由器對經(jīng)過的每一個數(shù)據(jù)包以一定概率在 IP數(shù)據(jù)包首部中(IP數(shù)據(jù)包結(jié)構(gòu)見圖 7)進(jìn)行標(biāo)記, 從而讓受害主機(jī)能重構(gòu)出攻擊路徑。
文獻(xiàn)[1, 3]對包標(biāo)記算法進(jìn)行了詳細(xì)研究, 提出了從簡單到復(fù)雜的3個算法:
第一個算法是最簡單的算法: 在每個數(shù)據(jù)包頭中加入所經(jīng)過的每個路由器的IP地址。但該方法顯然不可行, 最主要的原因是由于路徑長度事先不可知, 包頭中不可能有充足的空間存放所經(jīng)過的每個路由器的IP地址。這一思想也是最初的確定包標(biāo)記算法的思想。
第二個算法稱為節(jié)點(diǎn)采樣算法, 即每個路由器以一定概率在數(shù)據(jù)包頭中加入自己的IP地址。受害主機(jī)對收到的數(shù)據(jù)包頭中具有相同IP地址的數(shù)據(jù)包進(jìn)行計(jì)數(shù), 然后按照計(jì)數(shù)大小排列相應(yīng)的 IP地址,即得到攻擊路徑。該方法的理論基礎(chǔ)是, 由于每個路由器都是以相同概率隨機(jī)選擇進(jìn)行標(biāo)記的數(shù)據(jù)包,前面路由器已經(jīng)標(biāo)記過的數(shù)據(jù)包可能會被后面路由器的標(biāo)記替換掉, 所以離受害主機(jī)越遠(yuǎn), 受害主機(jī)所收到的該路由器標(biāo)記過的數(shù)據(jù)包越少, 從而可以以數(shù)據(jù)包的個數(shù)來區(qū)分路由器的遠(yuǎn)近。但這種方法要達(dá)到很高的準(zhǔn)確率, 需要大量的數(shù)據(jù)包。
第三個算法稱為邊采樣算法, 主要目的是為了減少重構(gòu)攻擊路徑所需的數(shù)據(jù)包。它在包頭中插入三個域{開始, 結(jié)束, 跳數(shù)}, 記錄數(shù)據(jù)包路徑上的兩個路由器的IP地址和跳數(shù)。當(dāng)數(shù)據(jù)包經(jīng)過中間路由器時, 路由器以一定的概率對數(shù)據(jù)包進(jìn)行標(biāo)記, 若數(shù)據(jù)包在此之前沒有經(jīng)過標(biāo)記, 則把自己的 IP地址填入包頭中的“開始”域, 并把跳數(shù)設(shè)為0。對于不需要標(biāo)記的數(shù)據(jù)包, 若數(shù)據(jù)包已經(jīng)經(jīng)過標(biāo)記, 并且跳數(shù)為0, 則把自己的IP地址填入包頭中的“結(jié)束”域, 并把跳數(shù)加1; 若跳數(shù)不是0, 則只把跳數(shù)加1。該算法的實(shí)質(zhì)是將相鄰的兩個路由器的IP地址存入包頭中, 而跳數(shù)代表了這兩個路由器離受害主機(jī)的遠(yuǎn)近程度。
由于邊采樣算法需要把2個32bit的IP地址和8bit的跳數(shù)共 72bit加入包頭中, 這仍然不可行, 因此對算法進(jìn)行了改進(jìn)。第一個措施是首先把“開始”域中的IP地址和“結(jié)束”域中的IP地址進(jìn)行異或操作, 只在包頭中加入異或后的結(jié)果。由于離受害主機(jī)最近的路由器, 沒有后續(xù)的路由器進(jìn)行異或操作,因此它的IP地址保留下來, 受害主機(jī)利用它的IP地址和其他數(shù)據(jù)包包頭中的信息進(jìn)行異或操作, 就可以逐級恢復(fù)出上游路由器的IP地址。第二個措施是將路由器的 IP地址分段, 將每個分段填入不同的數(shù)據(jù)包, 從而進(jìn)一步縮小所需的包頭空間。具體來說,只需利用IP包頭中的16bit的“標(biāo)識”字段, 其中3bit作為分段的偏移量, 5bit作為跳數(shù), 8bit作為分段。該算法為了識別出多個攻擊源, 避免多個攻擊源的分段發(fā)生沖突, 使用hash函數(shù), 對32bit的IP地址計(jì)算hash值, 將32bit地址擴(kuò)展為64bit, 也就是說需要8個分段才能表達(dá)完整的地址信息, 這也是為什么需要3bit作為分段偏移量。該算法的實(shí)驗(yàn)結(jié)果表明, 這一算法仍然需要上千個數(shù)據(jù)包才能以高準(zhǔn)確率重構(gòu)出攻擊路徑。
上述算法被提出后, 文獻(xiàn)[4, 5]分析了所存在的問題, 主要包括:
第一個問題: IP包頭空間受限問題。上述算法主要利用 IP數(shù)據(jù)包頭中的 16bit的標(biāo)識字段(identification)來填加路由器的標(biāo)記。但由于IP數(shù)據(jù)包頭中的空間不足以填寫完整的路徑信息, 因此路由器需將IP地址分段, 在多個IP數(shù)據(jù)包中寫入分段的IP地址。但由于多個攻擊數(shù)據(jù)包可能從不同的路徑路由到受害主機(jī), 這導(dǎo)致受害主機(jī)進(jìn)行 IP地址重組的時候, 必須考慮 IP地址分段的所有組合情況,計(jì)算負(fù)擔(dān)較重, 錯誤率也較高。而且, 當(dāng)數(shù)據(jù)包經(jīng)過的跳數(shù)較長時, 恢復(fù)出完整的IP地址會更加困難。
第二個問題: 標(biāo)記數(shù)據(jù)包的概率。主要的問題在于數(shù)據(jù)包經(jīng)過的路由器的跳數(shù)越多, 受害者能夠重構(gòu)出攻擊路徑的可能性就越小, 因此就需要更多的攻擊數(shù)據(jù)包才能保證重構(gòu)出攻擊路徑。如果攻擊者在一次攻擊過程中發(fā)送的攻擊數(shù)據(jù)包達(dá)不到要求,則該方法失效。所以這一方法的關(guān)鍵是數(shù)據(jù)包作標(biāo)記的概率與所需數(shù)據(jù)包個數(shù)的折中, 以及如何盡可能降低所需的數(shù)據(jù)包個數(shù)。
第三個問題: 如果骨干網(wǎng)絡(luò)上只有部分路由器支持PPM算法, 受害主機(jī)能否重構(gòu)出攻擊路徑?
第四個問題: 如果存在多個攻擊源同時發(fā)送攻擊數(shù)據(jù)包, PPM算法能夠識別出這多個攻擊路徑?
第五個問題: 如果攻擊者了解路由器所執(zhí)行的PPM算法, 有意識的在IP數(shù)據(jù)包中填加精心構(gòu)造的虛假的包標(biāo)記, 以誤導(dǎo)受害主機(jī), 那么 PPM 算法是否還能準(zhǔn)確地重構(gòu)出攻擊路徑?
針對這些問題, 很多文獻(xiàn)進(jìn)行了研究, 給出了一些解決方案:
針對第一問題, PPM 算法的提出者考慮到了這個問題, 他們是采用對 IP地址進(jìn)行分段的方式來解決。而其他的思路有:
文獻(xiàn)[6]不是在包頭中直接加入路由器的IP地址,而是先對IP地址進(jìn)行hash計(jì)算, 來減少數(shù)據(jù)的長度,但這一方法需要受害主機(jī)知道每個hash值所代表的IP地址。同時針對第五個問題, 為防止攻擊者發(fā)布虛假的標(biāo)記, 文獻(xiàn)[6]還提出一個采用密碼學(xué)方法對標(biāo)記進(jìn)行認(rèn)證的方法。
文獻(xiàn)[7]也不采用直接的IP地址, 而是轉(zhuǎn)化為多項(xiàng)式重構(gòu)問題, 利用編碼理論將路徑信息嵌入包頭,在受害主機(jī)上利用多項(xiàng)式求解重構(gòu)出攻擊路徑。他們給出了三種算法, 分別是確定性路徑編碼算法、隨機(jī)化路徑編碼算法、邊緣編碼算法。
確定性路徑編碼算法: 每個路由器在數(shù)據(jù)包中插入兩個數(shù)值, 一個是隨機(jī)數(shù) xj; 另一個是 yj=(yj–1?xj+IPj) mod p, y的初始值為0。受害主機(jī)只要收到d個數(shù)據(jù)包, d為路徑長度, 求解線性矩陣, 就可以得出路徑上的每個IP地址值。
隨機(jī)化路徑編碼算法: 由于上述算法 y初始值為 0, 暴露了第一個路由器, 因此在隨機(jī)化路徑編碼算法中, 第一個路由器也隨機(jī)選擇 y, 但這將導(dǎo)致受害主機(jī)恢復(fù)出的路徑含有不必要的前綴。
邊緣編碼算法: 由于當(dāng)路徑長度d很長時, 受害主機(jī)求解的計(jì)算量仍然很大, 因此借鑒原PPM算法中邊采樣的思想, 增加一個類似跳數(shù)的參數(shù) l, 該參數(shù)l小于路徑長度d。第一個路由器在包頭中加入?yún)?shù)l, 隨后的路由器將l逐跳減1, 當(dāng)參數(shù)l變?yōu)?, 則路由器不再在包頭中填加標(biāo)記。該方法減少了受害主機(jī)進(jìn)行重構(gòu)的計(jì)算量, 同時該方法也能解決第五個問題。由于攻擊者很難在事先知道路由器所選擇的隨機(jī)數(shù), 因此很難偽造包標(biāo)記。
文獻(xiàn)[111,102]對文獻(xiàn)[7]中基于網(wǎng)絡(luò)編碼的算法進(jìn)行改進(jìn), 不但可以減少重構(gòu)攻擊路徑所需的數(shù)據(jù)包, 還可以同時重構(gòu)出多條攻擊路徑。
文獻(xiàn)[8]提出了一種ASPPM算法, 該算法考慮到PPM 算法可能會暴露骨干網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 導(dǎo)致骨干網(wǎng)絡(luò)的運(yùn)營商不愿意支持PPM算法, 因此提出給路由器分配ID號, 用ID號代替IP地址在數(shù)據(jù)包頭中作標(biāo)記。并且, 這一算法能在數(shù)據(jù)包頭中存放完整的ID號, 避免了IP地址分段的問題。
文獻(xiàn)[9,97]從理論上證明PPM算法中, 數(shù)據(jù)包頭中進(jìn)行標(biāo)記所需的最小 bit數(shù)為 1, 并研究了所需標(biāo)記的bit數(shù)與所需數(shù)據(jù)包數(shù)的關(guān)系。
針對第二個問題, 文獻(xiàn)[10, 11]指出PPM算法中,由于每個路由器對數(shù)據(jù)包做標(biāo)記的概率都一樣, 這導(dǎo)致離受害主機(jī)最遠(yuǎn)的路由器所打的標(biāo)記有可能被后續(xù)的路由器的標(biāo)記所覆蓋, 這使得受害主機(jī)需要更多的數(shù)據(jù)包來重構(gòu)路徑, 而且重構(gòu)路徑的時間較長, 因此提出了一種基于距離的變概率標(biāo)記方法,提高距離越遠(yuǎn)的路由器對數(shù)據(jù)包打標(biāo)記的概率。文獻(xiàn)[12, 13]基于數(shù)據(jù)包頭中的TTL值來計(jì)算給數(shù)據(jù)包打標(biāo)記的概率, 這樣做的目的是降低攻擊者偽造標(biāo)記所造成的影響。文獻(xiàn)[14]沿著這一思路, 對算法進(jìn)行了改進(jìn)。
針對第三個問題, 文獻(xiàn)[6, 15]進(jìn)行了研究。文獻(xiàn)[6]利用其他工具, 如 traceroute, 來獲得受害主機(jī)上游路由的拓?fù)浣Y(jié)構(gòu)來推測缺失的攻擊路徑。而文獻(xiàn)[15]利用數(shù)據(jù)包標(biāo)記來獲得受害主機(jī)上游路由的拓?fù)浣Y(jié)構(gòu)。對于如何區(qū)分經(jīng)過中間路由器的跳數(shù), 文獻(xiàn)[15]利用數(shù)據(jù)包頭中的1bit來標(biāo)記跳數(shù)。
針對第四個問題, 如果存在多個攻擊源, 文獻(xiàn)[8,15-18]采用 PPM 算法以受害主機(jī)為根, 構(gòu)造攻擊路徑構(gòu)成的攻擊樹, 從而識別出多個攻擊源。
針對第五個問題, 除了上述提到的文獻(xiàn)[6, 7],文獻(xiàn)[19]從網(wǎng)絡(luò)取證的角度, 利用 HMAC-SHA1機(jī)制保證路由器標(biāo)記的完整性, 防止其他人修改或者偽造包標(biāo)記。
(2) 確定包標(biāo)記算法
確定包標(biāo)記算法(Deterministic Packet Marking,DPM)與PPM算法是類似的思想, 只是DPM算法對每個數(shù)據(jù)包都進(jìn)行標(biāo)記, 只需少量的數(shù)據(jù)包就可以發(fā)現(xiàn)攻擊源。更確切的說, 該算法應(yīng)被稱為邊緣路由器包標(biāo)記算法。
文獻(xiàn)[20]質(zhì)疑 PPM 算法是否有必要重構(gòu)出整個攻擊路徑, 因?yàn)樗菰吹淖罱K目的是定位攻擊源, 因此提出了算法 DPM, 只需要骨干網(wǎng)絡(luò)的邊緣路由器對數(shù)據(jù)包進(jìn)行標(biāo)記, 中間路由器不需要對數(shù)據(jù)包進(jìn)行標(biāo)記。該算法使用了IP包頭的16bit數(shù)據(jù)包ID標(biāo)識域和1bit的flag域。當(dāng)每一個數(shù)據(jù)包進(jìn)入骨干網(wǎng)絡(luò)時都需要進(jìn)行標(biāo)記。由于所使用的數(shù)據(jù)包包頭沒有足夠空間存放32bit的IP地址, 因此需要兩個數(shù)據(jù)包來存放IP地址, 1bit的flag用來表示是IP地址的前半部分還是后半部分。而數(shù)據(jù)包包頭中存放IP地址前半部分還是后半部分是由路由器隨機(jī)決定。受害主機(jī)只能知道攻擊數(shù)據(jù)包來源的路由器 IP地址,而不知道數(shù)據(jù)包所經(jīng)過的路徑。
文獻(xiàn)[21]對文獻(xiàn)[20]中的DPM算法進(jìn)行了改進(jìn)。作者指出如果存在多個攻擊源, 在原 DPM 算法中,將會有多個路由器對 IP地址進(jìn)行分段, 這導(dǎo)致受害主機(jī)在重構(gòu) IP地址時, 無法分清哪個分段來自哪個路由器, 不能準(zhǔn)確地重構(gòu)出路由器的IP地址。因此,作者采用對IP地址計(jì)算Hash值, 將IP地址分段、Hash值、分段偏移一起填入IP頭部, 從而受害主機(jī)在重構(gòu)IP地址時, 計(jì)算IP地址的Hash值可以驗(yàn)證所重構(gòu)IP地址的正確性。
同時, 文獻(xiàn)[21]還考慮了數(shù)據(jù)包分片對 DPM 算法的影響。由于在不同的鏈路, 所允許的最大分組長度MTU不同, 當(dāng)分組長度超過MTU時, 需要對數(shù)據(jù)包分片, 而分片使用的正是IP頭部的“標(biāo)識”字段。這一問題在PPM算法中沒有太大的影響, 因?yàn)镻PM算法采用概率標(biāo)記, 遇到分片數(shù)據(jù)包的可能性可以忽略, 但在 DPM 算法中, 由于需要對每一個數(shù)據(jù)包作標(biāo)記, 這一問題就需要鄭重考慮。若路由器遇到分片的數(shù)據(jù)包, 在執(zhí)行DPM算法時, 會更改IP頭部的“標(biāo)識”字段, 導(dǎo)致目的主機(jī)無法重組分片的數(shù)據(jù)包。針對這一問題, 路由器需要記錄在第一個分片數(shù)據(jù)包中所填加的標(biāo)記, 必須在后續(xù)的所有分片數(shù)據(jù)包中填加同樣的標(biāo)記, 這樣目的主機(jī)就可以重組分片的數(shù)據(jù)包。
文獻(xiàn)[18]給出一個新的 DPM 算法, 類似于文獻(xiàn)[21]的標(biāo)記編碼方法, 但采用可變標(biāo)記長度策略來適應(yīng)不同的網(wǎng)絡(luò)環(huán)境。同時, 結(jié)合 PPM 算法思想, 考慮到路由器工作負(fù)載的大小, 若路由器負(fù)載超過一定閥值, 則有選擇的對數(shù)據(jù)包進(jìn)行標(biāo)記, 當(dāng)?shù)陀谠撻y值, 才對全部數(shù)據(jù)包進(jìn)行標(biāo)記。
文獻(xiàn)[22]則采用了一種新的對DPM算法中包標(biāo)記的編碼方法, 路由器根據(jù)數(shù)據(jù)包來源的不同進(jìn)行標(biāo)記, 第一個路由器只標(biāo)記1bit的0, 隨后的路由器在后面附上自己的標(biāo)記, 由于每個路由器進(jìn)行標(biāo)記的bit數(shù)很少, 能夠在IP頭部存放整個路徑的標(biāo)記信息。當(dāng)受害主機(jī)確定某個數(shù)據(jù)包是攻擊數(shù)據(jù)包, 需要進(jìn)行追蹤時, 根據(jù)數(shù)據(jù)包頭部的標(biāo)記向上游路由器進(jìn)行查詢, 路由器依次告知該數(shù)據(jù)包的來源。
由于IPv6協(xié)議的包頭結(jié)構(gòu)完全不同于IPv4協(xié)議,并且IPv6地址是128bit, 遠(yuǎn)大于IPv4地址的32bit,因此文獻(xiàn)[74]研究了在IPv6網(wǎng)絡(luò)中利用DPM算法進(jìn)行攻擊溯源的方法。作者指出, IPv6協(xié)議的基本頭是固定的20字節(jié), 不適合用于嵌入邊緣路由器的IPv6地址, 而是采用目的選項(xiàng)擴(kuò)展頭 DOH。在該擴(kuò)展頭中有足夠的空間可以嵌入全部的 128bit IPv6地址,大大簡化了受害主機(jī)進(jìn)行攻擊路徑重構(gòu)的復(fù)雜度。
(3) ICMP標(biāo)記算法
ICMP標(biāo)記算法, 不同于PPM和DPM算法對IP數(shù)據(jù)包進(jìn)行標(biāo)記, 而是對 ICMP協(xié)議數(shù)據(jù)包進(jìn)行標(biāo)記。文獻(xiàn)[23, 24]提出了這一個思路。路由器以一定概率隨機(jī)發(fā)送ICMP報(bào)文給目的IP主機(jī), 告知該路由器的IP地址、前一跳路由器的IP地址、后一跳路由器的IP地址。當(dāng)主機(jī)需要進(jìn)行回溯攻擊數(shù)據(jù)包的真正源時, 通過各個路由器發(fā)送過來的ICMP報(bào)文可以重構(gòu)出攻擊數(shù)據(jù)包的路徑。文獻(xiàn)[25]對這一思路進(jìn)行了改進(jìn), 將整個路徑進(jìn)行編碼保存在ICMP報(bào)文中,提高了重構(gòu)路徑的性能。文獻(xiàn)[99]針對這一方法在存在背景流量或多個攻擊流量時, 攻擊路徑重構(gòu)準(zhǔn)確率下降的問題, 提出在 ICMP報(bào)文中增加管理信息庫(Management Information Base)信息, 從而提高準(zhǔn)確率。
但這一方法的問題是, 目前很多路由器會過濾掉ICMP報(bào)文, 或者限制ICMP報(bào)文的發(fā)送頻率, 并且攻擊者很容易發(fā)送偽造的 ICMP報(bào)文來迷惑受害主機(jī)。2000年IETF成立一個工作組根據(jù)這一思路來制定標(biāo)準(zhǔn)草案[23], 但目前所制定的標(biāo)準(zhǔn)草案已被撤銷。
(4) 組合方法
除了上述三種基本算法外, 還提出了一些組合的方法。文獻(xiàn)[26-29]采用了數(shù)據(jù)包標(biāo)記和數(shù)據(jù)包記錄(該方法將在下面詳細(xì)介紹)的混合方法。文獻(xiàn)[30]綜合了ICMP和PPM算法, 路由器對于IP數(shù)據(jù)包以一定概率進(jìn)行標(biāo)記, 并且同時把 IP地址填入 ICMP包中。ICMP數(shù)據(jù)包用于區(qū)分IP數(shù)據(jù)包中的標(biāo)記是否是攻擊者偽造的, 能夠抵抗攻擊者偽造標(biāo)記。文獻(xiàn)[91]在文獻(xiàn)[6]的基礎(chǔ)上, 借鑒 PPM 算法的思想, 采用自適應(yīng)概率進(jìn)行標(biāo)記, 若數(shù)據(jù)包已經(jīng)經(jīng)過了標(biāo)記,則減少再進(jìn)行標(biāo)記的概率, 從而減少后續(xù)節(jié)點(diǎn)標(biāo)記覆蓋前面節(jié)點(diǎn)標(biāo)記的概率, 提高重構(gòu)攻擊路徑的準(zhǔn)確性。
對于跨自治域的追蹤系統(tǒng), 文獻(xiàn)[85,73]進(jìn)行了相關(guān)研究, 在 IP頭部插入自治域號, 設(shè)計(jì)了相應(yīng)的系統(tǒng)框架。文獻(xiàn)[106]同時在IP頭部插入自治域號和路由器IP地址的hash值, 減少重構(gòu)攻擊路徑所需的數(shù)據(jù)包數(shù)。文獻(xiàn)[110]設(shè)計(jì)了一種域間的追蹤overlay網(wǎng)絡(luò), 利用BGP信息和包標(biāo)記思想, 實(shí)現(xiàn)攻擊源追蹤。
2) 取證人員可以控制骨干網(wǎng)絡(luò)上的路由器, 但不能修改路由軟件
這一條件的含義是, 取證人員可以事先觀察記錄流經(jīng)骨干網(wǎng)絡(luò)路由器的 IP數(shù)據(jù)包, 但不能改變標(biāo)準(zhǔn)的路由協(xié)議。
主要思路是, 在路由器上記錄所有流經(jīng)的數(shù)據(jù)包, 當(dāng)攻擊發(fā)生時, 受害主機(jī)向其上游路由器進(jìn)行查詢, 路由器比對所記錄的數(shù)據(jù)包, 可以構(gòu)造出該數(shù)據(jù)包所經(jīng)過的路徑。該方法優(yōu)點(diǎn)是可以回溯單個數(shù)據(jù)包, 但缺點(diǎn)是需要考慮路由器存儲空間受限的問題。
文獻(xiàn)[32, 33]設(shè)計(jì)了一個追蹤系統(tǒng)SPIE, 不是讓路由器記錄整個數(shù)據(jù)包, 而是利用bloom filter記錄數(shù)據(jù)包的摘要, 大大減少了所需的存儲空間。然后通過查詢每個路由器上的數(shù)據(jù)包摘要, 可以重構(gòu)出攻擊路徑。具體來說, 每個路由器計(jì)算每個數(shù)據(jù)包的摘要值, 用來計(jì)算的數(shù)據(jù)包要除去 IP包頭中的服務(wù)類型、TTL、首部校驗(yàn)和、可選項(xiàng)這四個字段, 然后生成32bit摘要值來代表每個數(shù)據(jù)包。在保存時, 并不直接保存32bit的摘要值, 而是利用bloom filter將摘要值映射到一個連續(xù)的比特表, 并置為 1, 也就是說在該表中的位置即為摘要值。由于該表的存儲空間有限, 需要設(shè)定一個刷新時間。刷新時間到, 則原有的記錄被清空, 不再保存, 開始保存新的數(shù)據(jù)包記錄。當(dāng)受害主機(jī)要求追蹤某個數(shù)據(jù)包時, 向其上游路由器進(jìn)行查詢, 路由器計(jì)算數(shù)據(jù)包的摘要值, 查看在bit表相應(yīng)位置是否是1, 若是, 則該數(shù)據(jù)包經(jīng)過了該路由器, 否則則說明沒有經(jīng)過該路由器。上游路由器逐個迭代該過程, 則重構(gòu)出數(shù)據(jù)包經(jīng)過的路徑。由于無論采取什么 hash函數(shù)總會存在沖突, 這一沖突會導(dǎo)致上述方法出現(xiàn)誤報(bào), 而增加存儲空間會減少沖突的發(fā)生, 這就要求在存儲空間和誤報(bào)之間進(jìn)行折中。文獻(xiàn)[34]在文獻(xiàn)[33]的基礎(chǔ)上進(jìn)一步減少所需的存儲空間。
文獻(xiàn)[35]研究了只有部分路由器進(jìn)行數(shù)據(jù)包記錄的情況, 并且對于多個攻擊源問題, 該方法只需要追蹤屬于多個攻擊源的數(shù)據(jù)包就可以識別出多個攻擊源。
文獻(xiàn)[100]提出一種基于Session的數(shù)據(jù)包記錄方法, 即只記錄TCP數(shù)據(jù)流中的連接建立請求SYN數(shù)據(jù)包和連接終止 FIN數(shù)據(jù)包, 忽略掉流中間的數(shù)據(jù)包, 從而大大減少所需的存儲空間。
文獻(xiàn)[31]針對跨自治域的追蹤問題, 利用路由器的IP包記錄方法, 結(jié)合鏈路層的MAC地址來識別虛假IP地址, 實(shí)現(xiàn)了一個原型系統(tǒng)。文獻(xiàn)[77]針對文獻(xiàn)[31]中需要記錄全部 IP包, 導(dǎo)致路由器存儲空間消耗過大的問題, 提出了一種概率包記錄方法, 根據(jù)設(shè)定的概率只記錄部分 IP包, 減少對存儲空間的消耗, 但這一方法不能追蹤攻擊數(shù)據(jù)包較少的情況。
文獻(xiàn)[103, 104, 107]不是記錄網(wǎng)絡(luò)數(shù)據(jù)包, 而是利用路由器監(jiān)控網(wǎng)絡(luò)性能, 記錄相應(yīng)的特征, 利用這些特征來進(jìn)行攻擊追蹤。
由于在這種情況下不能改變現(xiàn)有路由結(jié)構(gòu), 另外一個思路是在現(xiàn)有路由結(jié)構(gòu)上建立一個覆蓋網(wǎng)絡(luò)(Overlay Network), 通過新設(shè)計(jì)的覆蓋網(wǎng)絡(luò)來實(shí)現(xiàn)數(shù)據(jù)包跟蹤[36]。文獻(xiàn)[87,90]給出一種新的信令協(xié)議, 用于路由器生成攻擊路徑記錄數(shù)據(jù)包, 并轉(zhuǎn)發(fā)給受害主機(jī), 幫助受害主機(jī)識別出攻擊源。文獻(xiàn)[92,94,96]設(shè)計(jì)了一種跨域攻擊追蹤系統(tǒng), 通過在骨干網(wǎng)上部署額外的組件來傳遞關(guān)于數(shù)據(jù)包來源的信息, 幫助受害主機(jī)識別攻擊者。文獻(xiàn)[101]利用GRE隧道建立與路由器的連接, 通過與路由器的信息交換來追蹤攻擊數(shù)據(jù)包的來源。
3) 取證人員不能控制骨干網(wǎng)絡(luò)上的路由器, 但可以在網(wǎng)絡(luò)上部署監(jiān)控器
這一條件的含義是, 取證人員只能在網(wǎng)絡(luò)合適的位置部署監(jiān)控器收集數(shù)據(jù)包, 這里的網(wǎng)絡(luò)不是指骨干網(wǎng)絡(luò), 而是指終端網(wǎng)絡(luò)。
其基本思想是, 在大流量數(shù)據(jù)包情況下, 由于網(wǎng)絡(luò)阻塞等各種原因, 路由器會有一定幾率產(chǎn)生目標(biāo)不可達(dá)的ICMP報(bào)文, 由于攻擊數(shù)據(jù)包的源IP地址是虛假的, 一般是隨機(jī)產(chǎn)生的, 這些ICMP報(bào)文會被發(fā)往這些虛假的IP地址, 其中包含路由器的IP地址以及原數(shù)據(jù)包的源和目的IP地址。因此部署在網(wǎng)絡(luò)上的監(jiān)控器會收到這些ICMP報(bào)文, 根據(jù)發(fā)送這些ICMP報(bào)文的路由器, 可以構(gòu)造出這些數(shù)據(jù)包的攻擊路徑。文獻(xiàn)[78,37]提出了該方法, 利用 Network Telescope項(xiàng)目(能夠覆蓋1/256的IPv4地址)收集的數(shù)據(jù), 結(jié)合骨干網(wǎng)的拓?fù)浣Y(jié)構(gòu), 可以在一定程度上發(fā)現(xiàn)攻擊源。
這種方法要求攻擊數(shù)據(jù)包的流量比較大, 并且在攻擊正在進(jìn)行的時候?qū)嵤? 一旦攻擊結(jié)束, 這種方法就無法找到真實(shí)的IP地址。
4) 取證人員既不能控制骨干路由器, 也不能部署監(jiān)控器, 但知道骨干網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
這一條件的含義是, 取證人員只知道骨干網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 沒有權(quán)限控制骨干網(wǎng)中的路由器, 也沒有條件部署遍及全網(wǎng)的監(jiān)控器。
文獻(xiàn)[38]提出了一種鏈路測試的方法。在大流量數(shù)據(jù)包的情況下, 從被攻擊目標(biāo)出發(fā), 由近及遠(yuǎn), 依次對被攻擊目標(biāo)的上游路由器進(jìn)行UDP泛洪。若某條鏈路上存在攻擊流量, 由于泛洪流量的存在, 將導(dǎo)致攻擊流量丟包。根據(jù)這一現(xiàn)象, 即可以判斷出某條鏈路上是否存在攻擊流量, 從而構(gòu)造出攻擊路徑。
該方法只能對單個攻擊流量進(jìn)行檢測, 若同時存在多個攻擊流量, 則很難區(qū)分不同的攻擊流量。這種方法同樣要求攻擊數(shù)據(jù)包流量較大, 并且一旦攻擊結(jié)束, 方法也就失效了。另外, 這種方法本身就是一種DoS攻擊, 會影響正常的數(shù)據(jù)流量。
文獻(xiàn)[39]延續(xù)了鏈路測試的思想, 提出了一種基于蟻群的算法, 即受害主機(jī)發(fā)出一些蟻群, 這些蟻群根據(jù)鏈路中負(fù)載的程度來選擇路徑, 鏈路負(fù)載越大說明越可能是攻擊流量, 因此蟻群選擇該路徑的概率越大。當(dāng)所有蟻群達(dá)到所監(jiān)控網(wǎng)絡(luò)邊緣時, 根據(jù)蟻群所走過的路徑, 則可以構(gòu)造出最有可能的攻擊路徑。
事實(shí)上文獻(xiàn)[38, 39]所提方法仍然需要中間路由器的支持, 并不符合“取證人員既不能控制骨干路由器, 也不能部署監(jiān)控器, 但知道骨干網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)”的前提條件。本文對文獻(xiàn)[38]的方法稍加改進(jìn), 提出一種改進(jìn)方法的思路, 就可以在滿足前提條件的情況下, 對攻擊源進(jìn)行追蹤, 如圖8所示。
圖8 改進(jìn)的鏈路測試方法Figure 8 The improved method for link testing
假設(shè)上圖所示為骨干網(wǎng)絡(luò)路由器的拓?fù)浣Y(jié)構(gòu),其中A為離攻擊者主機(jī)最近的路由器, F為離受害者主機(jī)最近的路由器, 攻擊路徑為A→B→E→F。
根據(jù)文獻(xiàn)[38]的鏈路測試方法, 首先需要在路由器F上執(zhí)行鏈路測試, 測試出E→F屬于攻擊路徑。然后在路由器E上執(zhí)行鏈路測試, 測試出B→E屬于攻擊路徑。然后在路由器B上執(zhí)行鏈路測試, 測試出A→B屬于攻擊路徑。從而重構(gòu)出整個攻擊路徑。
對該方法稍加改進(jìn), 只需在路由器 F上執(zhí)行鏈路測試。具體來說,
第一步對與路由器 F直接相連的路由器進(jìn)行測試, 即測試F→H、F→E、F→C三條鏈路, 發(fā)現(xiàn)F→E鏈路上存在攻擊流量。
第二步由于知道整個網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 利用 IP數(shù)據(jù)包的源路由功能, 測試 F→H→E不存在攻擊流量; 同樣可知 F→C→E也不是攻擊路徑。再測試F→H→E→B 或者 F→C→E→B, 則可以發(fā)現(xiàn) B→E上存在攻擊流量。
第三步依次類推, 則可以發(fā)現(xiàn) F→C→B→A 上存在攻擊流量, 則可以發(fā)現(xiàn)攻擊源A。
這種方法需要根據(jù)拓?fù)浣Y(jié)構(gòu), 依次找到只包含攻擊路徑上一條鏈路的第二條路徑, 利用源路由功能進(jìn)行鏈路測試, 如果找不到這樣的路徑, 則該方法失效。
5) 取證人員既不能控制骨干路由器、不能部署監(jiān)控器, 也不知道拓?fù)浣Y(jié)構(gòu)
這一條件的含義是, 取證人員不掌握任何資源,在這一條件下似乎不可能追蹤到真實(shí)的IP地址。但可以采取某種方法, 獲得骨干網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 從而將問題轉(zhuǎn)化為(d)中的情況, 如文獻(xiàn)[6]提到的利用traceroute獲取網(wǎng)路拓?fù)浣Y(jié)構(gòu)。
對一般虛假IP溯源問題的解決方案總結(jié)如表1所示。
表1 一般虛假IP溯源問題的解決方案Table 1 The general solution for false IP traceback
對于特殊的“反射攻擊”, 由于受害主機(jī)收到的攻擊數(shù)據(jù)包中的源IP地址是真實(shí)的IP地址, 因此一種方法是定位某個反射跳板所在的網(wǎng)絡(luò), 以反射跳板為起點(diǎn), 將問題轉(zhuǎn)換為上述一般性虛假 IP溯源問題; 另外一種方法是越過反射跳板, 直接追蹤定位攻擊者主機(jī)。
文獻(xiàn)[37]提到了一種越過反射跳板, 直接定位攻擊主機(jī)的方法。攻擊數(shù)據(jù)包在經(jīng)路由器進(jìn)行路由過程中, 由于這些數(shù)據(jù)包的數(shù)量巨大, 會有少量數(shù)據(jù)包因?yàn)楦鞣N原因, 如網(wǎng)絡(luò)阻塞, 不能送達(dá)目的 IP地址, 因此路由器會生成ICMP錯誤報(bào)文。由于攻擊主機(jī)在發(fā)送反射攻擊數(shù)據(jù)包時, 其源 IP地址是受害主機(jī)的IP地址, 因此這些ICMP錯誤報(bào)文會被送到受害主機(jī)。這些ICMP錯誤報(bào)文中包含了發(fā)送路由器的IP地址, 受害主機(jī)結(jié)合骨干網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 可以在一定程度上發(fā)現(xiàn)這些攻擊數(shù)據(jù)包的發(fā)送者。
對于僵尸網(wǎng)絡(luò)中的攻擊溯源問題, 取證人員首先需要對bot程序能夠進(jìn)行分析, 了解bot與C&C服務(wù)器通信的機(jī)制, 在此基礎(chǔ)上, 對 C&C服務(wù)器及Botmaster進(jìn)行追蹤。根據(jù)取證人員事先掌握的資源,分為以下4種情況進(jìn)行討論:
1)botnet中的主機(jī), 包括bot和C&C服務(wù)器, 位于取證人員的管轄范圍之內(nèi), 取證人員可以物理或遠(yuǎn)程訪問這些主機(jī)。
文獻(xiàn)[108]設(shè)計(jì)了一個基于主機(jī)對 botnet進(jìn)行追蹤的框架, 可以完成兩個功能: 一是從受害主機(jī)到bot的追蹤, 二是從bot到C&C服務(wù)器的追蹤。該框架要求 botnet中的所有節(jié)點(diǎn)都位于取證人員的控制范圍之內(nèi), 并且在每臺主機(jī)上安裝有監(jiān)控軟件。當(dāng)受害主機(jī)檢測到攻擊后, 通知管理中心, 管理中心將受害主機(jī)的 IP地址下發(fā)給所有的節(jié)點(diǎn), 各個節(jié)點(diǎn)檢查是否曾經(jīng)向受害主機(jī)發(fā)送過數(shù)據(jù)包, 若發(fā)送過,則被認(rèn)為是bot節(jié)點(diǎn)。然后, 采用類似的方式, 從bot節(jié)點(diǎn)追蹤到C&C服務(wù)器。
2) 取證人員能夠控制至少一個 bot主機(jī), 并且能夠在骨干網(wǎng)絡(luò)上部署多個監(jiān)控器
bot一般要回傳信息給攻擊者, 如果 C&C服務(wù)器只是簡單中繼bot的回傳信息, 或者bot回傳的信息不經(jīng)過C&C服務(wù)器直接傳送給攻擊者, 由于網(wǎng)絡(luò)安全人員可以控制bot主機(jī), 則可以在bot的回傳信息中填加某種標(biāo)記, 然后對標(biāo)記進(jìn)行跟蹤。但如果bot回傳的信息可能會在 C&C服務(wù)器上進(jìn)行聚合,例如延遲一段時間將多個 bot的回傳信息統(tǒng)一發(fā)送給攻擊者, 則需要考慮其他方法。
文獻(xiàn)[41]對于基于IRC的botnet進(jìn)行了研究, 假設(shè)網(wǎng)絡(luò)安全人員可以控制一個 bot, 并可以修改 bot回傳給攻擊者的信息。若該信息沒有經(jīng)過加密, 則在數(shù)據(jù)包中填加一些字符, 改變數(shù)據(jù)包的長度, 在骨干網(wǎng)絡(luò)上部署監(jiān)控器, 檢測數(shù)據(jù)包中的這些特征;若信息經(jīng)過了加密, 則采用長度-時間混合方法, 即改變數(shù)據(jù)包的長度和發(fā)送數(shù)據(jù)包之間的間隔時間,同樣在骨干網(wǎng)絡(luò)上部署監(jiān)控器, 檢測數(shù)據(jù)流中的這些水印信息。該方法要求C&C服務(wù)器不會對bot發(fā)送的信息進(jìn)行聚合或者延遲, 否則網(wǎng)絡(luò)安全人員所填加的水印信息將完全丟失。
當(dāng)由bot追蹤到C&C服務(wù)器后, 由于C&C服務(wù)器必然會向攻擊者回傳一些信息, 則取證人員可以利用類似的方法, 即利用這些回傳數(shù)據(jù)包, 對其內(nèi)容進(jìn)行修改, 加入一些特征, 如特殊字符串(針對明文信息)、數(shù)據(jù)包的大小、數(shù)據(jù)包發(fā)送的時序(針對密文信息)等?;蛘咄ㄟ^某些通信特征進(jìn)行識別, 因此可以通過部署在骨干網(wǎng)絡(luò)上的監(jiān)控器, 對數(shù)據(jù)流量進(jìn)行檢測, 發(fā)現(xiàn)這些流量特征, 構(gòu)造出數(shù)據(jù)包傳輸路徑, 從而識別出攻擊者的主機(jī)。
文獻(xiàn)[116]設(shè)計(jì)了一種從 C&C服務(wù)器到Botmaster的追蹤機(jī)制。該機(jī)制研究了C&C服務(wù)器的通信模式, 利用這些特征來追蹤真正的攻擊者。文獻(xiàn)[117]利用類似的思想, 研究了 P2P型 botnet中的通信模式, 通過部署監(jiān)控器來追蹤數(shù)據(jù)流的來源。
3) 取證人員雖然能控制至少一個 bot主機(jī), 但不具有在骨干網(wǎng)絡(luò)部署監(jiān)控器的資源
在這種情況下, 同樣可以利用C&C服務(wù)器向攻擊者回傳信息, 但網(wǎng)絡(luò)安全人員需要了解攻擊者用什么樣的程序來接收信息, 研究該軟件是否存在可遠(yuǎn)程執(zhí)行代碼的漏洞, 如存在, 可以在回傳信息中構(gòu)造可執(zhí)行代碼, 利用該漏洞使得代碼在攻擊者的主機(jī)上執(zhí)行, 向網(wǎng)絡(luò)安全人員發(fā)送攻擊者主機(jī)的信息。
另外, 由于攻擊者在bot上可能會搜集一些敏感文件, 如果這些文件是 PDF、word等可嵌入可執(zhí)行代碼的格式文件, 則可以在這些文件中嵌入可執(zhí)行代碼。對于這些文件C&C服務(wù)器一般不會進(jìn)行加工處理, 可以保證這些文件原樣到達(dá)攻擊者。當(dāng)攻擊者打開這些文件時, 內(nèi)嵌的可執(zhí)行代碼執(zhí)行, 可以獲得攻擊者主機(jī)的信息, 發(fā)送給取證人員。
文獻(xiàn)[42, 43]利用類似的感染攻擊者的可執(zhí)行代碼來定位攻擊者的位置。作者搭建了一個實(shí)驗(yàn)性的Zeus botnet, 首先控制了一臺 bot, 利用內(nèi)存取證的方法在其內(nèi)存中獲得bot與C&C服務(wù)器之間加密通信的加密密鑰, 然后在C&C服務(wù)器上上傳了一個可執(zhí)行代碼, 當(dāng)攻擊者訪問 C&C服務(wù)器時, 利用botnet軟件本身的漏洞, 該可執(zhí)行代碼將會被下載到攻擊者本地執(zhí)行, 從而獲得攻擊者主機(jī)的一些信息。
4) 取證人員不能控制任何已有的bot主機(jī)
在這種情況下, 主要的思路是利用 honeypot主動感染bot程序, 成為僵尸網(wǎng)絡(luò)中的一員[40], 然后將問題轉(zhuǎn)化為上述3)中的場景, 再進(jìn)行追蹤。
對僵尸網(wǎng)絡(luò)溯源問題的解決方案總結(jié)如下表所示:
表2 僵尸網(wǎng)絡(luò)溯源問題的解決方案Table 2 The solution for botnet traceback
匿名網(wǎng)絡(luò), 如 Tor, 通過保護(hù)通信雙方的身份信息, 能有效防止用戶個人信息的泄露, 成為一種新的網(wǎng)絡(luò)訪問方式。但同時, 攻擊者也看到了匿名網(wǎng)絡(luò)所帶來的匿名性, 可以利用匿名網(wǎng)絡(luò)發(fā)動網(wǎng)絡(luò)攻擊,逃避司法取證人員的追蹤調(diào)查, 因此研究匿名網(wǎng)絡(luò)中的攻擊溯源問題也就成為了近年的一個研究熱點(diǎn)。
文獻(xiàn)[71]綜述了匿名網(wǎng)絡(luò)中的攻擊溯源問題, 將攻擊溯源方法分為兩類: 匿名網(wǎng)絡(luò)調(diào)制追蹤和匿名網(wǎng)絡(luò)滲透追蹤。前者是指取證人員在匿名網(wǎng)絡(luò)流量中添加流水印信息, 通過檢測流水印信息將不同的網(wǎng)絡(luò)流量關(guān)聯(lián)起來, 從而識別網(wǎng)絡(luò)流量的來源。后者是指取證人員控制部分匿名網(wǎng)絡(luò)的節(jié)點(diǎn), 通過破壞或查看通過這些節(jié)點(diǎn)的流量, 來識別網(wǎng)絡(luò)流量的源頭。這兩類方法需要取證人員掌握的資源有所不同,因此從取證人員的角度, 本文將匿名網(wǎng)絡(luò)中的攻擊溯源方法分為如下2種情況:
1) 取證人員能夠控制全部或部分匿名網(wǎng)絡(luò)的節(jié)點(diǎn)
文獻(xiàn)[80]采用數(shù)據(jù)包標(biāo)記方法[1]來識別匿名流量。由于匿名網(wǎng)絡(luò)Tor隱藏了數(shù)據(jù)發(fā)送端的IP地址,而且中間節(jié)點(diǎn)會剝?nèi)?shù)據(jù)包的外層包頭, 因此該方法提出利用Tor協(xié)議中網(wǎng)絡(luò)層的32bit的GMT(包終止時間)字段, 將其改造為 5bit的距離和 19bit的 IP地址 hash值。中間節(jié)點(diǎn)填入相應(yīng)的信息, 受害主機(jī)根據(jù)這些信息可以推算出數(shù)據(jù)流的來源。
文獻(xiàn)[112]針對Tor網(wǎng)絡(luò)的追蹤問題, 利用Tor網(wǎng)絡(luò)所采用的 AES算法的計(jì)數(shù)器加密模式, 需要計(jì)數(shù)器進(jìn)行同步的特征, 控制多個Tor網(wǎng)絡(luò)的節(jié)點(diǎn), 人為改變節(jié)點(diǎn)的計(jì)數(shù)器, 導(dǎo)致后續(xù)節(jié)點(diǎn)解密失敗, 從而將節(jié)點(diǎn)間的通信流進(jìn)行關(guān)聯(lián)。
文獻(xiàn)[75]研究了高延時匿名網(wǎng)絡(luò)、匿名內(nèi)容發(fā)布網(wǎng)絡(luò)Freenet中的匿名追蹤問題, 指出可以利用網(wǎng)絡(luò)中部分受控制的節(jié)點(diǎn)作為監(jiān)控節(jié)點(diǎn), 通過監(jiān)控節(jié)點(diǎn)所觀察到的消息來推斷內(nèi)容請求者的真實(shí)主機(jī), 但該方法沒有解決內(nèi)容發(fā)布者的匿名追蹤問題。文獻(xiàn)[86]研究了 BitTorrent網(wǎng)絡(luò)中初始種子的識別問題,給出一些識別特征。文獻(xiàn)[115]研究了在種子初始傳播階段識別第一個上傳者的規(guī)則。
2) 取證人員能夠控制匿名網(wǎng)絡(luò)的部分通信流量,并能部署檢測傳感器
文獻(xiàn)[88,82]采用數(shù)據(jù)包發(fā)包速率來作為載頻的方式嵌入水印, 如用較高的發(fā)包速率表示二進(jìn)制 1,用較低的發(fā)包速率表示二進(jìn)制0。該方法可以有效抵抗由于各種原因引起的數(shù)據(jù)包的網(wǎng)絡(luò)時延、丟包、增加包、重打包等對水印檢測準(zhǔn)確率的影響。
文獻(xiàn)[113]針對采用發(fā)包流率作為載頻, 而在實(shí)際應(yīng)用中發(fā)包流速不穩(wěn)定的問題, 提出了一種以時隙質(zhì)心的載頻方法, 即將時間分為多個時間片, 以數(shù)據(jù)包落在時間片中的位置為質(zhì)心, 當(dāng)數(shù)據(jù)包數(shù)量足夠多時, 無論發(fā)包速率如何波動, 時隙質(zhì)心是穩(wěn)定的。這樣可以提高流水印的健壯性和隱秘性。
文獻(xiàn)[114]將直序擴(kuò)頻機(jī)制 DSSS應(yīng)用到流水印中, 不是直接在流中嵌入特征碼, 而是利用偽噪聲碼PN碼進(jìn)行擴(kuò)頻, 嵌入到數(shù)據(jù)流中, 提高了流水印的隱蔽性。但文獻(xiàn)[95]對該方法的隱蔽性進(jìn)行了充分實(shí)驗(yàn)驗(yàn)證, 指出該方法的隱蔽性需要進(jìn)一步提高。
文獻(xiàn)[84]綜合利用時隙質(zhì)心和PN碼的方法提出一種新的流水印方法。作者指出長PN碼可以提高水印檢測的準(zhǔn)確率, 這一點(diǎn)在文獻(xiàn)[81]中得到驗(yàn)證。文獻(xiàn)[81]采用基于DSSS的長PN碼來嵌入水印, 該方法能夠阻止攻擊者檢測到流中可能存在水印信息,并且可以用于多個數(shù)據(jù)流嵌入水印的同時檢測。文獻(xiàn)[98]更進(jìn)一步采用雙重時隙質(zhì)心和 PN碼的方法,即將相鄰時隙的質(zhì)心聯(lián)合進(jìn)行考慮, 可以更好的提高水印的隱蔽性。
文獻(xiàn)[118]不直接針對時隙進(jìn)行水印的嵌入, 而是使用包數(shù)來表達(dá)嵌入的信號, 即用連續(xù)的 1個數(shù)據(jù)包代表“0”; 用連續(xù)的 3個數(shù)據(jù)包代表“1”??紤]到網(wǎng)絡(luò)延時及緩沖隊(duì)列造成的數(shù)據(jù)包合并、分離,提出了魯棒的算法來提高檢測率。這樣, 對于流持續(xù)時間較短的情況, 仍然可以添加水印并能得到較好的檢測效果。文獻(xiàn)[119]進(jìn)一步指出, 雖然Tor匿名網(wǎng)絡(luò)把應(yīng)用層數(shù)據(jù)分割為固定大小的512字節(jié)(含頭部信息, 真正數(shù)據(jù)是 498個字節(jié)), 但這一機(jī)制并不會導(dǎo)致網(wǎng)絡(luò)層數(shù)據(jù)包分組也是固定大小。利用這一現(xiàn)象, 文獻(xiàn)[119]給出了一個新的嵌入水印的方法, 即利用真正數(shù)據(jù)的498個字節(jié)代表“0”, 2444個字節(jié)代表“1”。前者將被分割為1個數(shù)據(jù)包, 而后者考慮到鏈路層的最大數(shù)據(jù)幀長度1500字節(jié), 將被分割為5個數(shù)據(jù)包。然后研究了數(shù)據(jù)包在網(wǎng)絡(luò)層的分割、融合的各種情況, 給出了水印檢測算法。實(shí)驗(yàn)結(jié)果顯示能夠使用較少的數(shù)據(jù)包以較高的準(zhǔn)確率檢測到嵌入的水印信號。文獻(xiàn)[120,121]將類似的思想應(yīng)用到另一匿名網(wǎng)絡(luò)Anonymizer中, 可以識別出訪問網(wǎng)站的匿名客戶端。
上述方法是針對單個數(shù)據(jù)流嵌入水印并進(jìn)行檢測的, 而如果同時存在多個數(shù)據(jù)流, 在多個數(shù)據(jù)流中嵌入水印, 將導(dǎo)致檢測準(zhǔn)確率急劇下降。文獻(xiàn)[79]針對這一問題, 提出了一種針對多個數(shù)據(jù)流嵌入水印的方法, 即事先生成一個種子序列, 對每個數(shù)據(jù)流隨機(jī)選擇不同的種子, 在數(shù)據(jù)流中不同的時隙段內(nèi)嵌入水印。當(dāng)進(jìn)行檢測的時候, 解碼器嘗試采用每一個可能的種子來檢測水印, 找出最匹配的值, 從而解碼出嵌入的水印值。
文獻(xiàn)[76]對于為什么可以采用時隙特征來嵌入水印的理論原因進(jìn)行了解釋, 得出了影響追蹤效果的三個因素: 報(bào)文長度、干擾數(shù)據(jù)流中數(shù)據(jù)包的數(shù)量、轉(zhuǎn)發(fā)節(jié)點(diǎn)的數(shù)據(jù)包緩沖時間, 并給出了在給定檢測準(zhǔn)確率的情況下, 所嵌入水印的最小延遲時間的計(jì)算方法。
一般的方法采用在固定時間長度的數(shù)據(jù)包間隔中嵌入水印, 常用的水印檢測方法效率較差, 需要大量的數(shù)據(jù)包才能獲得較高的檢測準(zhǔn)確率。文獻(xiàn)[72]針對這一問題, 基于 SPRT(Sequential Probability Ratio Test)檢驗(yàn)方法, 提出三種不同的假設(shè)檢驗(yàn)構(gòu)造方法, 在達(dá)到同樣檢測準(zhǔn)確率的情況下, 明顯減少了所需的數(shù)據(jù)包數(shù)量。
這一類方法僅適用于低延時匿名網(wǎng)絡(luò), 對于高延時匿名網(wǎng)絡(luò)將導(dǎo)致所添加的流水印信息丟失。
對匿名網(wǎng)絡(luò)溯源問題的解決方案總結(jié)如下表所示:
表3 匿名網(wǎng)絡(luò)溯源問題的解決方案Table 3 The solution for anonymous network traceback
在這一問題中, 由于在受害主機(jī)端可以觀察到最后一跳的 IP地址, 因此追蹤問題就轉(zhuǎn)化為如何沿著攻擊路徑上的跳板, 逐跳驗(yàn)證是否確實(shí)存在“跳板主機(jī)”。
因此, 問題4可以分為兩個子問題:
問題 4.1: 跳板檢測(Step-stone Detection), 即如何確定本地網(wǎng)絡(luò)中存在攻擊者的跳板?
問題 4.2: 在本地網(wǎng)絡(luò)中發(fā)現(xiàn)跳板后, 如何追蹤定位攻擊者主機(jī)?
3.4.1 問題4.1
在這一問題中, 假設(shè)網(wǎng)絡(luò)安全人員完全控制本地網(wǎng)絡(luò), 能夠?qū)M(jìn)出本地網(wǎng)絡(luò)的網(wǎng)絡(luò)流量進(jìn)行監(jiān)控。若攻擊者的跳板位于本地網(wǎng)絡(luò)內(nèi), 由于跳板只是起一個攻擊數(shù)據(jù)包轉(zhuǎn)發(fā)的功能, 一般不會對攻擊數(shù)據(jù)包進(jìn)行修改, 因此進(jìn)出網(wǎng)絡(luò)的攻擊數(shù)據(jù)包會具有相似性, 通過對進(jìn)出網(wǎng)絡(luò)的網(wǎng)絡(luò)流量進(jìn)行監(jiān)控, 檢測這種攻擊數(shù)據(jù)包的相似性, 即可判斷本地網(wǎng)絡(luò)內(nèi)是否存在跳板。若攻擊者的主機(jī)就位于本地網(wǎng)絡(luò)內(nèi), 則在一定時間內(nèi), 攻擊者會發(fā)出攻擊數(shù)據(jù)包, 而不會有進(jìn)入本地網(wǎng)絡(luò)的攻擊數(shù)據(jù)包, 因此也可以通過對進(jìn)出網(wǎng)絡(luò)的網(wǎng)絡(luò)流量進(jìn)行監(jiān)控, 如發(fā)現(xiàn)只有出的攻擊數(shù)據(jù)包而沒有進(jìn)入的網(wǎng)絡(luò)數(shù)據(jù)包, 則可以判斷攻擊者主機(jī)位于本地網(wǎng)絡(luò)內(nèi)。
在跳板攻擊檢測中, 存在一個前提條件, 即進(jìn)入的攻擊流量和轉(zhuǎn)發(fā)的流量間隔時間不能很長, 否則很難將入的流量和出的流量關(guān)聯(lián)在一起。這一間隔時間用攻擊者的最大容忍時間[48]來表示。如果間隔時間大于最大容忍時間, 例如攻擊者向跳板發(fā)送命令后, 跳板不是立即轉(zhuǎn)發(fā)攻擊者的命令, 而是采用計(jì)劃任務(wù)等方式, 讓跳板在設(shè)定的時間再轉(zhuǎn)發(fā)數(shù)據(jù), 則在這種情況下現(xiàn)有的方法都將失效。
由于攻擊者為了逃避檢測, 可以將數(shù)據(jù)流量進(jìn)行加密, 因此將情況分為流量未加密情況和加密的情況。
1) 數(shù)據(jù)包未加密
文獻(xiàn)[44]首次提出跳板檢測問題, 使用數(shù)據(jù)包的明文內(nèi)容的指紋來判斷不同的數(shù)據(jù)包是否具有相同的內(nèi)容, 從而建立流量間的關(guān)聯(lián)。
2) 數(shù)據(jù)包加密
由于數(shù)據(jù)包進(jìn)行了加密, 無法對數(shù)據(jù)包的內(nèi)容進(jìn)行檢查, 因此主要思想是對數(shù)據(jù)流的特征進(jìn)行檢測, 如數(shù)據(jù)包的時序特征。
(1) 假設(shè)攻擊者不會有意識改變數(shù)據(jù)包的特征
文獻(xiàn)[45]首次提出基于數(shù)據(jù)包時序特征的檢測方法, 他們觀察到在一個數(shù)據(jù)流中存在沒有數(shù)據(jù)傳輸?shù)臅r間間隔, 將這一時間間隔定義為“關(guān)”周期,而在相似的數(shù)據(jù)流中, “關(guān)”周期的特征是相同的,因此通過這一特征來關(guān)聯(lián)入的流量和出的流量。但該方法要求連接是同步的。
文獻(xiàn)[46]定義了數(shù)據(jù)傳輸?shù)钠骄舆t和最小延遲兩個指標(biāo)來識別數(shù)據(jù)流的模式, 通過這兩個延遲時間計(jì)算兩個數(shù)據(jù)流的偏離程度, 如偏離程度小于一定閥值, 則認(rèn)為兩個數(shù)據(jù)流具有較高的關(guān)聯(lián)度。
文獻(xiàn)[47]定義了一個滑動窗口, 計(jì)算滑動窗口內(nèi)數(shù)據(jù)包之間的間隔時間, 根據(jù)數(shù)據(jù)包間隔時間的特征來進(jìn)行關(guān)聯(lián)。
文獻(xiàn)[89]基于關(guān)聯(lián)規(guī)則挖掘算法, 若“入”數(shù)據(jù)包和“出”數(shù)據(jù)包的時間差值小于預(yù)設(shè)的數(shù)值, 則將這兩個數(shù)據(jù)包進(jìn)行關(guān)聯(lián), 根據(jù)流中數(shù)據(jù)包關(guān)聯(lián)的置信度和支持度。來判斷“入”的數(shù)據(jù)流與“出”的數(shù)據(jù)流是否具有關(guān)聯(lián)關(guān)系。
(2) 假設(shè)攻擊者有意識改變數(shù)據(jù)包特征
①攻擊者改變數(shù)據(jù)包的時序特征
文獻(xiàn)[48]首次考慮攻擊者可能會有意識改變數(shù)據(jù)包的時序特征, 但假設(shè)有一個攻擊者的最大延遲容忍時間。它基于小波變換來檢測流量的關(guān)聯(lián)性。假設(shè)攻擊者數(shù)據(jù)包的到達(dá)服從泊松分布或者帕累托分布, 進(jìn)行了一些理論分析, 但沒有給出需要捕獲多少數(shù)據(jù)包才能以一定概率得到正確檢測結(jié)果的分析。文獻(xiàn)[49]在文獻(xiàn)[48]的基礎(chǔ)上, 去掉了攻擊者數(shù)據(jù)包的概率分布假設(shè), 并給出了需要捕獲多少數(shù)據(jù)包才能以一定概率得到正確檢測結(jié)果的理論分析。
文獻(xiàn)[50]給出了一個基于水印的方法檢測流量關(guān)聯(lián)性, 在入流量中填加水印信息, 在出流量中檢測是否存在水印信息, 但它假設(shè)攻擊者數(shù)據(jù)包之間的時間間隔是獨(dú)立同分布的。文獻(xiàn)[122]同樣采用嵌入水印的思想, 通過記錄入流量數(shù)據(jù)包的到達(dá)時間,在一個初始延遲時間的基礎(chǔ)上, 再增加或減小一個微小的時間來作為水印信號, 能夠獲得更好的魯棒性。
文獻(xiàn)[51]假設(shè)攻擊者隨機(jī)延遲數(shù)據(jù)包, 跳板中繼的數(shù)據(jù)包不能丟包、不能亂序、不能增加數(shù)據(jù)包, 不依賴于數(shù)據(jù)包大小, 給出了檢測方法和理論分析。該方法根據(jù)兩個約束條件: 出的數(shù)據(jù)包時間大于入的數(shù)據(jù)包時間; 出的數(shù)據(jù)包時間減去入的數(shù)據(jù)包時間小于最大延遲容忍時間, 將入的數(shù)據(jù)包關(guān)聯(lián)到出的數(shù)據(jù)包, 然后假設(shè)數(shù)據(jù)包的順序不會發(fā)生變化, 降低算法的復(fù)雜度。文獻(xiàn)[52]繼續(xù)這一思路對保序的方法進(jìn)行改進(jìn)和分析。
②攻擊者增加額外的數(shù)據(jù)包
攻擊者可以有意識的在中繼后的數(shù)據(jù)流中插入額外的無用數(shù)據(jù)包, 來破壞輸入和輸出數(shù)據(jù)流之間的關(guān)聯(lián)關(guān)系。文獻(xiàn)[53, 54]對這個問題進(jìn)行了研究, 假設(shè)攻擊者在一段時間內(nèi)能夠插入的多余數(shù)據(jù)包數(shù)目是有限的, 通過匹配輸入與輸出的數(shù)據(jù)包, 給出了可以抵抗增加多余數(shù)據(jù)包的跳板檢測算法。
③攻擊者同時改變時序特征和增加額外數(shù)據(jù)包
文獻(xiàn)[55]假設(shè)攻擊者在跳板中同時增加數(shù)據(jù)包的隨機(jī)延時和多余的數(shù)據(jù)包, 并假設(shè)這兩種改變是統(tǒng)計(jì)獨(dú)立的, 基于數(shù)據(jù)包匹配的方法給出了檢測算法。
前述方法都是針對攻擊者主機(jī)到受害者主機(jī)的流量通過跳板時的入流量與出流量的關(guān)聯(lián)分析, 而文獻(xiàn)[56]是將攻擊者主機(jī)到受害者主機(jī)的流量通過跳板時的出流量與受害者主機(jī)回傳給攻擊者的流量通過跳板時的出流量進(jìn)行關(guān)聯(lián), 定義前者的數(shù)據(jù)包數(shù)為 Send, 后者的數(shù)據(jù)包數(shù)為 Echo, 指出如果兩個流量具有相關(guān)性, 則(Echo-Send)和(Echo+Send)具有線性關(guān)系, 而如果兩個流量沒有關(guān)系, 則不具有這種線性關(guān)系。論文通過實(shí)驗(yàn)表明, 即使攻擊者有意增加數(shù)據(jù)延時和增加多余數(shù)據(jù)包, 該方法也能檢測出兩個流量的相關(guān)性。
對于問題4.1的解決方案總結(jié)如下表所示:
表4 問題4.1的解決方案Table 4 The solution for the problem 4.1
上述方法一般都假設(shè)攻擊者不會有意識的在跳板上丟棄某些數(shù)據(jù)包, 文獻(xiàn)[57]研究了丟包問題, 通過仿真實(shí)驗(yàn)指出丟包實(shí)際上會嚴(yán)重影響兩個數(shù)據(jù)流的關(guān)聯(lián)性, 但沒有給出在這種情況下如何檢測跳板的方法。
3.4.2 問題4.2
若檢測人員發(fā)現(xiàn)本地網(wǎng)路中存在跳板, 要想識別真正的攻擊源, 需要和其上游的網(wǎng)絡(luò)管理域進(jìn)行協(xié)作, 如圖9所示, 按照相同的方法進(jìn)行檢測, 直至發(fā)現(xiàn)真正的網(wǎng)絡(luò)攻擊源。
圖9 檢測流程Figure 9 The testing flow
由于這一過程需要人工參與, 文獻(xiàn)[58]給出了一個自動協(xié)作的框架機(jī)制。該方法綜合各個網(wǎng)絡(luò)域中的網(wǎng)絡(luò)設(shè)備, 如防火墻、路由器等, 通過多個網(wǎng)絡(luò)域的協(xié)作來追蹤攻擊源。
文獻(xiàn)[47]指出, 可以對攻擊路徑上的各個跳板采用計(jì)算機(jī)取證的方法, 通過各個跳板的日志記錄來進(jìn)行追蹤。但這種方法受限較大, 因?yàn)楣粽呖赡芤呀?jīng)完全控制了跳板主機(jī), 那么這些跳板主機(jī)上的日志記錄也可能已被攻擊者所修改。
上述方法需要各個網(wǎng)絡(luò)域的協(xié)作, 但如果上游攻擊路徑上有一個或多個網(wǎng)絡(luò)管理域無法進(jìn)行合作,則很難定位真正的攻擊者。根據(jù)檢測人員所掌握的資源, 可以分為兩種情況:
1) 檢測人員可以在網(wǎng)絡(luò)上部署傳感器
根據(jù)攻擊者的數(shù)據(jù)包是否加密, 可以分為兩種情況
(1) 數(shù)據(jù)包未加密
文獻(xiàn)[59]給出了一個主動的方法, 即在回傳給攻擊者的數(shù)據(jù)包中注入水印特征, 在攻擊路徑上部署傳感器, 從而追蹤到攻擊者。
(2) 數(shù)據(jù)包加密
文獻(xiàn)[60,61]對這種情況進(jìn)行了研究, 所提方法實(shí)際上是文獻(xiàn)[50]在這種情況下的自然延伸。通過改變回送給攻擊者的數(shù)據(jù)包的時序特征, 也就是以數(shù)據(jù)包之間的間隔時間為載體來填加水印信息, 從而追蹤數(shù)據(jù)包的流向。
文獻(xiàn)[62-64]對數(shù)據(jù)包的來回時間進(jìn)行測量。該方法基于這樣一個假設(shè), 正常的數(shù)據(jù)包發(fā)送和回復(fù)時間相差應(yīng)該在一個有限的時間內(nèi), 而回傳數(shù)據(jù)包經(jīng)過跳板進(jìn)行中繼, 這個時間必然遠(yuǎn)高于正常的時間差。這個時間越長, 說明檢測點(diǎn)離攻擊者主機(jī)的距離越遠(yuǎn)。
2) 檢測人員無法在網(wǎng)絡(luò)上部署傳感器
在這種情況下, 攻擊源定位問題仍然是一個開放的問題。目前未發(fā)現(xiàn)有文獻(xiàn)在這一約束條件下進(jìn)行研究。
但我們一個樸素的想法是, 類似于針對僵尸網(wǎng)絡(luò)溯源的[42,43], 如果檢測人員在攻擊者未察覺的情況下能控制跳板主機(jī), 在跳板主機(jī)回傳給攻擊者的消息中插入可執(zhí)行代碼, 當(dāng)攻擊者接收到消息后,可執(zhí)行代碼在攻擊者主機(jī)上運(yùn)行, 把攻擊者主機(jī)的信息發(fā)送給檢測人員。這一思路需要根據(jù)攻擊者所使用的軟件工具, 挖掘其漏洞, 難度較大, 且不具有通用性。
對于問題4.2的解決方案總結(jié)如下表所示:
表5 問題4.2的解決方案Table 5 The solution for the problem 4.2
對跳板攻擊更多的研究綜述可以參考文獻(xiàn)[65]。
另外, 在前文所述方法中, 很多方法要求在網(wǎng)絡(luò)上部署傳感器, 然而在骨干網(wǎng)絡(luò)上部署傳感器是一個費(fèi)時、費(fèi)力、高成本的任務(wù), 如何能盡可能少的部署傳感器, 同時能得到較好的監(jiān)控效果, 是一個難題。文獻(xiàn)[66]對該問題進(jìn)行了研究。
由于目前 NAT技術(shù)的大量使用, 若攻擊者主機(jī)位于NAT后面, 使用私網(wǎng)IP地址, 對于攻擊源的追蹤只能到攻擊者的 NAT網(wǎng)關(guān), 而無法穿透NAT網(wǎng)關(guān)。因此, 假設(shè)已知攻擊者來自于某個 NAT網(wǎng)關(guān)保護(hù)的私有網(wǎng)絡(luò), 如何定位攻擊者主機(jī)在私網(wǎng)中的位置?
這一問題在有線網(wǎng)絡(luò)比較容易解決, 因?yàn)?NAT網(wǎng)關(guān)只進(jìn)行 IP地址和端口的轉(zhuǎn)換, 對數(shù)據(jù)包的內(nèi)容和大部分頭部信息并不進(jìn)行修改, 即使數(shù)據(jù)包的內(nèi)容經(jīng)過了加密。因此只要對公網(wǎng)的數(shù)據(jù)流和私網(wǎng)的數(shù)據(jù)流進(jìn)行監(jiān)控, 根據(jù) IP頭部中的信息, 如序列號,就可以把公網(wǎng)數(shù)據(jù)流和私網(wǎng)數(shù)據(jù)流關(guān)聯(lián)起來, 從而知道攻擊者的私網(wǎng)IP地址和MAC地址。
文獻(xiàn)[105]研究了經(jīng)NAT地址轉(zhuǎn)換的數(shù)據(jù)包來源識別問題, 指出NAT服務(wù)器一般不會更改原IP數(shù)據(jù)包頭中的序列號。對于 Windows系統(tǒng), 數(shù)據(jù)流中的包頭的序列號通過每次加 1的方式進(jìn)行增長, 這可以用于判斷來自同一臺主機(jī)的數(shù)據(jù)包。而對于Linux系統(tǒng), 由于采用序列號隨機(jī)化的方式, 前述特征無法用于Linux主機(jī), 但可以通過Http協(xié)議報(bào)頭中的時戳、cookie等來判斷。
文獻(xiàn)[67]基于文獻(xiàn)[33]的數(shù)據(jù)包記錄的方法, 提出了一種 2層網(wǎng)絡(luò)的攻擊源追蹤方法, 即在已知離攻擊者主機(jī)最近的路由器的情況下, 在內(nèi)網(wǎng)中確定攻擊者的主機(jī)。該方法通過在路由器上記錄數(shù)據(jù)包的MAC地址、來自交換機(jī)的哪個端口、來自路由器的哪個端口, 通過建立這些信息的摘要表, 從而能快速識別出攻擊者主機(jī)所在的子網(wǎng)。隨后, 文獻(xiàn)[109]認(rèn)為文獻(xiàn)[67]中的方法在實(shí)際2層交換網(wǎng)絡(luò)中部署困難, 基于文獻(xiàn)[35]中的方法結(jié)合交換機(jī)中的審計(jì)記錄,提出一種新的攻擊溯源方法, 實(shí)現(xiàn)即使只有一個攻擊數(shù)據(jù)包, 也可以進(jìn)行追蹤。
在無線局域網(wǎng)中, 這一問題就比較困難了, 因?yàn)闊o線路由器不僅要進(jìn)行 IP地址的轉(zhuǎn)換, 而且會對IP數(shù)據(jù)包, 包括IP頭部進(jìn)行加密, 如WPA算法, 這樣就無法通過內(nèi)、外網(wǎng)數(shù)據(jù)流的觀察來進(jìn)行關(guān)聯(lián)。文獻(xiàn)[68]對這一問題進(jìn)行了研究, 利用數(shù)據(jù)包的大小在數(shù)據(jù)流中填加水印, 從而對內(nèi)、外網(wǎng)數(shù)據(jù)流進(jìn)行關(guān)聯(lián)。具體來說, 該方法是針對數(shù)據(jù)流從外網(wǎng)流入內(nèi)網(wǎng)的攻擊者主機(jī)的情況, 在外網(wǎng)中能夠控制相關(guān)的數(shù)據(jù)流, 選擇一個作為水印的特征碼, 然后隨機(jī)選擇數(shù)據(jù)流中的多個數(shù)據(jù)包, 用大小為 700字節(jié)的數(shù)據(jù)包代表碼元0, 1000字節(jié)的數(shù)據(jù)包代表碼元1, 若選擇的數(shù)據(jù)包超過所代表碼元的數(shù)據(jù)包大小, 則把該數(shù)據(jù)包按碼元大小進(jìn)行分組; 若小于, 則重新選擇下一個數(shù)據(jù)包。之所以選擇這兩個數(shù)據(jù)包字節(jié)大小,是因?yàn)榻?jīng)過對 802.11數(shù)據(jù)幀進(jìn)行統(tǒng)計(jì), 具有 500—1000字節(jié)大小的數(shù)據(jù)幀很少, 可以避免誤報(bào)。這樣在內(nèi)網(wǎng)中檢測數(shù)據(jù)流中所嵌入的特征碼, 則可以將內(nèi)、外網(wǎng)數(shù)據(jù)關(guān)聯(lián)起來。
但這一方法不能用于從內(nèi)網(wǎng)流出到外網(wǎng)的情況,例如在內(nèi)網(wǎng)中的攻擊者向外發(fā)動攻擊的時候在外網(wǎng)發(fā)現(xiàn)攻擊數(shù)據(jù)流, 需要定位內(nèi)網(wǎng)的主機(jī)位置。目前還未發(fā)現(xiàn)有相關(guān)文獻(xiàn)對這個問題進(jìn)行研究。
文獻(xiàn)[68]能夠獲得內(nèi)網(wǎng)中攻擊者主機(jī)的 IP地址和MAC地址, 但在大型公共場合的無線網(wǎng)絡(luò)中, 如機(jī)場、車站、賓館, 如何定位攻擊者主機(jī)的物理位置仍然是一個問題。文獻(xiàn)[69]對此問題進(jìn)行了研究, 假設(shè)已知攻擊者主機(jī)的MAC地址, 設(shè)計(jì)了一套系統(tǒng)來定位目標(biāo)的物理位置。該系統(tǒng)利用定向天線捕獲無線數(shù)據(jù)幀, 識別出源MAC地址為目標(biāo)MAC地址的數(shù)據(jù)幀, 利用數(shù)據(jù)信號強(qiáng)度定位信號的來源方向,通過多個地點(diǎn)的測量, 即可以定位出目標(biāo)的物理位置。該系統(tǒng)能夠?qū)θS空間進(jìn)行定位, 即使攻擊者主機(jī)位于高樓中, 測量地點(diǎn)在樓外, 也可以定位出攻擊者主機(jī)所在的樓層房間。
對問題5的解決方法總結(jié)如下表所示:
表6 問題5的解決方案Table 6 The solution for the problem 5
通過對上述各種場景下的攻擊溯源方法的分析,可以看到, 所有的方法大致基于以下4種思想:
1) 在數(shù)據(jù)包中打標(biāo)記
這種方法需要修改現(xiàn)有的網(wǎng)絡(luò)協(xié)議, 在協(xié)議數(shù)據(jù)包中添加標(biāo)記, 通過對數(shù)據(jù)包中標(biāo)記的追蹤, 識別出數(shù)據(jù)包的傳播路徑, 從而追蹤到數(shù)據(jù)包的源頭。
目前大多數(shù)網(wǎng)絡(luò)協(xié)議都已經(jīng)標(biāo)準(zhǔn)化, 修改現(xiàn)有協(xié)議顯然不是一件容易實(shí)施的工程, 需要考慮成本、性能、兼容等各種工程問題, 但在技術(shù)上難度較小,準(zhǔn)確性較高。
2) 在數(shù)據(jù)流中加入流水印
這種方法不需要修改網(wǎng)絡(luò)協(xié)議, 即使對于加密的數(shù)據(jù)包也可以適用, 而且不依賴于單個的數(shù)據(jù)包,而是整個數(shù)據(jù)流, 即使流中出現(xiàn)重打包、丟包等現(xiàn)象,也能以一定的準(zhǔn)確率檢測到水印信息。但同時, 網(wǎng)絡(luò)時延、數(shù)據(jù)包的轉(zhuǎn)發(fā)時延, 以及攻擊者有意識的破壞水印信息, 都可能影響流水印的檢測準(zhǔn)確率。
這種方法仍然要求在較大范圍網(wǎng)絡(luò)中部署檢測傳感器, 以檢測可能出現(xiàn)的水印信息, 這需要網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持, 仍然不是一項(xiàng)容易實(shí)施的工程。在技術(shù)上要保證水印檢測的準(zhǔn)確率, 有一定難度。
3) 日志記錄的方法
這種方法可以是對網(wǎng)絡(luò)數(shù)據(jù)包的日志記錄, 也可以是對主機(jī)的日志記錄, 通過日志記錄查找曾經(jīng)進(jìn)行攻擊數(shù)據(jù)包傳播的痕跡, 從而重構(gòu)出攻擊路徑。
這種方法不影響現(xiàn)有網(wǎng)絡(luò)的功能, 可以以補(bǔ)丁的形式增加額外日志記錄的功能, 以記錄必要的信息, 在工程上實(shí)施難度不大, 但這種方法屬于事后的審計(jì), 可能會丟失一些關(guān)鍵的信息, 而且日志記錄也可能會被攻擊者修改。
4) 滲透測試的方法
這種方法實(shí)質(zhì)是用攻擊方法對抗攻擊, 即尋找攻擊者所使用系統(tǒng)、網(wǎng)絡(luò)的安全漏洞, 利用這些漏洞編寫相應(yīng)的可執(zhí)行代碼, 使得攻擊者感染這些代碼, 由這些可執(zhí)行代碼向取證人員主動報(bào)告攻擊者的信息。
這種方法在工程上容易實(shí)施, 甚至單個取證人員就可以執(zhí)行, 但在技術(shù)上難度較大, 需要挖掘各種漏洞。而且由于這是一種通過攻擊獲取證據(jù)的方法, 在司法上的可信性方面存在疑問。
這4類方法的比較見表7。
由上述分析可以看出, 這 4類思想方法各有優(yōu)勢和不足, 需要根據(jù)具體情況并綜合考慮各種因素來選擇合適的攻擊溯源方法。并且, 在實(shí)際的攻擊中,可能存在更復(fù)雜的場景, 如圖10所示。攻擊者主機(jī)可能位于內(nèi)網(wǎng)中, 可能在網(wǎng)關(guān)處經(jīng)過了 NAT轉(zhuǎn)換,這是對攻擊源進(jìn)行隱藏的第一個措施。攻擊者可能控制了n個中間跳板, 來發(fā)動網(wǎng)絡(luò)攻擊, 這是對攻擊源進(jìn)行隱藏的第二個措施。攻擊者可能控制了僵尸網(wǎng)絡(luò), 這是對攻擊源進(jìn)行隱藏的第三個措施。在這種情況下, 需要綜合運(yùn)用各種攻擊溯源方法[93]。
表7 4類方法的對比Table 7 The comparison among 4 kinds of methods
圖10 實(shí)際的網(wǎng)絡(luò)攻擊場景Figure 10 The real network attack scene
由此可見, 在大多數(shù)場景下直接追蹤到真正的網(wǎng)絡(luò)攻擊源幾乎是不可能的, 需要先將困難的問題進(jìn)行分解, 逐步迭代進(jìn)行追蹤, 才能得出最后的結(jié)果。如, 先追蹤虛假IP地址數(shù)據(jù)包的真正地址; 再以此 IP地址為起點(diǎn), 或追蹤僵尸網(wǎng)絡(luò)中的 C&C服務(wù)器、或溯源匿名網(wǎng)絡(luò)、或溯源跳板鏈, 追蹤到攻擊者所在網(wǎng)絡(luò)的NAT網(wǎng)關(guān); 再以NAT網(wǎng)關(guān)為起點(diǎn), 追蹤內(nèi)網(wǎng)中的真正攻擊者。
雖然司法取證人員可以通過法官授權(quán), 對嫌疑主機(jī)或網(wǎng)絡(luò)進(jìn)行必要的司法取證, 但對于攻擊溯源問題, 由于攻擊路徑可能分布在整個互聯(lián)網(wǎng)上, 可能涉及到跨司法管轄權(quán)的問題, 因此司法取證人員不一定能掌握實(shí)現(xiàn)攻擊溯源所需的全部資源。從目前的溯源方法來看, 取證人員需要掌握的資源越少,則實(shí)施起來越容易, 但技術(shù)難度越大; 反之, 實(shí)施起來越困難, 但技術(shù)難度越小。目前, 還無法做到自動化的對攻擊進(jìn)行追蹤, 更多的是依賴取證人員手工的分析。
通過對現(xiàn)有網(wǎng)絡(luò)攻擊源追蹤技術(shù)的研究可以發(fā)現(xiàn), 大部分的方法依賴于網(wǎng)絡(luò)基礎(chǔ)設(shè)施的幫助, 否則幾乎不可能發(fā)現(xiàn)真正的網(wǎng)絡(luò)攻擊者的主機(jī), 這就給下一代互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的設(shè)計(jì)帶來一個挑戰(zhàn), 即是否要支持網(wǎng)絡(luò)攻擊源追蹤技術(shù), 并在網(wǎng)絡(luò)安全結(jié)構(gòu)或協(xié)議中有所考慮。雖然對于下一代互聯(lián)網(wǎng), 是采用重新頂層設(shè)計(jì)還是自然演進(jìn)的路線, 還存在很大的爭議[70], 但已有的研究表明現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施不足以支撐有效的網(wǎng)絡(luò)攻擊源追蹤技術(shù), 需要作出改變。在下一代互聯(lián)網(wǎng)體系結(jié)構(gòu)中是否需要嵌入網(wǎng)絡(luò)攻擊源追蹤機(jī)制, 以及如何嵌入這種機(jī)制, 是需要慎重考慮的問題。
由于目前攻擊溯源方法的實(shí)用性較差, 實(shí)際效果不理想, 隨著網(wǎng)絡(luò)安全領(lǐng)域威脅情報(bào)(Threat Intelligence)研究的興起, 利用共享的威脅情報(bào)來進(jìn)行攻擊溯源成為可能[123]。威脅情報(bào)能夠?yàn)楣羲菰刺峁└嗟臄?shù)據(jù)支撐, 并且利用威脅情報(bào)有可能追蹤到實(shí)施攻擊的真正的個人或組織, 這將是下一步研究的方向。
[1]Stefan Savage, David Wetherall, Anna Karlin, Tom Anderson,Practical network support for IP traceback,Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, 2000, pp.295-306
[2]Thomas W.Doeppner, Philip N.Klein, Andrew Koyfman, Using router stamping to identify the source of IP packets,The 7th ACM Conference on Computer and Communications Security, 2000,pp.184-189
[3]Stefan Savage, David Wetherall, Anna Karlin, Tom Anderson,Network support for IP traceback,IEEE/ACM Transactions on networking, 2001, 9(3), pp.226-237
[4]Kihong Park, Heejo Lee, On the effectiveness of probabilistic packet marking for IP traceback under denial of service attack,INFOCOM, 2001, pp.338-347
[5]Li De-quan, Su Pu-rui, Feng Deng-guo, Notes on packet marking for IP traceback,Journal of Software, 2004, 15(2), pp.250-258
[6]Dawn Xiaodong Song, Adrian Perrig, Advanced and authenticated marking schemes for IP traceback,IEEE INFOCOM, 2001,pp.878-886
[7]Drew Dean, Matt Franklin, Adam Stubblefield, An algebraic approach to IP traceback,ACM Transactions on Information and System Security, 2002, 5(2), pp.119-137
[8]Chao Gong, Kamil Sarac, Toward a practical packet marking approach for IP traceback,International Journal of Network Security,2009, 8(3) pp.271-281
[9]Micah Adler, Trade-offs in probabilistic packet marking for IP traceback,Journal of the ACM, 2005, 52(2), pp.217-244
[10]Tao Peng, Christopher Leckie, Kotagiri Ramamohanarao, Adjusted Probabilistic packet marking for IP traceback,NETWORKING2002, LNCS 2345, pp.697-708
[11]Byungryong Kim, Efficient technique for fast IP traceback,Cooperative Design, Visualization, and Engineering, 2006, LNCS 4101,pp.211-218
[12]Vamsi Paruchuri, Arjan Durresi, Sriram Chellappan, TTL based packet marking for IP traceback,IEEE Global Telecommunications Conference, 2008, pp. 1-5
[13]Jenshiuh Liu, Zhi-Jian Lee, Yeh-Ching Chung, Dynamic probabilistic packet marking for efficient IP traceback,Computer Networks, 2007, 51(3), pp.866-882
[14]Hongcheng Tian, Jun Bi, Xiaohe Jiang, An adaptive probabilistic marking scheme for fast and secure traceback,Networking Science, 2013, 2(1-2) ,pp.42-51
[15]Abraham Yaar, Adrian Perrig, Dawn Song, FIT: fast internet traceback,IEEE INFOCOM, 2005, pp.1395-1406
[16]Michael T.Goodrich, Efficient packet marking for large-scale IP traceback,The 9th ACM Conference on Computer and Communications Security, 2002, pp.117-126
[17]K.T.Law, John C.S.Lui, David K.Y.Yau, You can run, but you can't hide: an effective methodology to traceback DDoS attackers,IEEE Transactions on Parallel and Distributed Systems, 2005,16(9), pp.799-813
[18]Yang Xiang, Wanlei Zhou, Minyi Guo, Flexible deterministic packet marking: an IP traceback system to find the real source of attacks,IEEE Transactions on Parallel and Distributed Systems,2009, 20(4), pp.567-580
[19]Hyungseok Kim, Eunjin Kim, Seungmo Kang, Huy Kang Kim,Network forensic evidence generation and verification scheme,Telecommunication Systems, 2015
[20]Andrey Belenky, Nirwan Ansari, IP traceback with deterministic packet marking,IEEE Communications Letters, 2003, 7(4),pp.162-164
[21]Andrey Belenky, Nirwan Ansari, On deterministic packet marking,Computer Networks, 2007, 51(10), pp.2677-2700
[22]M.Vijayalakshmi, N.Nithya, S.Mercy Shalinie, A novel algorithm on IP traceback to find the real source of spoofed IP packets,Artificial Intelligence and Evolutionary Algorithms in Engineering Systems, 2015, LNCS 325, pp.79-87
[23]Steve Bellovin, Marcus Leech, Tom Taylor, ICMP traceback message,draft-ietf-itrace-04, 2003
[24]Allison Mankin, Dan Massey, Chien-Lung Wu, S.Felix Wu, Lixia Zhang, On design and evaluation of “intention-driven” ICMP traceback,the 10th International Conference on Computer Communications and Networks, 2001, pp.159-165
[25]Henry C.J.Lee, Vrizlynn L.L.Thing, Yi Xu, Miao Ma, ICMP traceback with cumulative path, an efficient solution for IP traceback,Information and Communications Security, 2003, LNCS 2836, pp.124-135
[26]Basheer Al-Duwairi, Manimaran Govindarasu, Novel hybrid schemes employing packet marking and logging for IP traceback,IEEE Transactions on Parallel and Distributed Systems, 2006,17(5), pp.403-418
[27]Chao Gong, Kamil Sarac, IP traceback based on packet marking and logging,IEEE International Conference on Communications,2005, pp.1043-1047
[28]Ming-Hour Yang, Ming-Chien Yang, RIHT: a novel hybrid IP traceback scheme,IEEE Transactions on Information Forensics and Security, 2012, 7(2), pp.789-797
[29]Ning Lu, Yulong Wang, Sen Su, Fangchun Yang, A novel path-based approach for single-packet IP traceback,Security and Communication Networks, 2014, 7(2), pp.309-321
[30]Fan Min, Jun-yan Zhang, Guo-wie Yang, An IP traceback scheme integrating DPM and PPM,ACNS2003, LNCS 2846, pp.76-85
[31]Tatsuya Baha, Shigeyuki Matsuda, Tracing network attacks to their sources,IEEE Internet Computing, 2002, 6(2), pp.20-26
[32]Alex C.Snoeren, Craig Partridge, Luis A.Sanchez, Christine E.Jones, Fabrice Tchakountio, Beverly Schwartz, Stephen T.Kent,W.Timothy strayer, Single-packet IP traceback,IEEE/ACM Transactions on Networking, 2002, 10(6), pp.721-734
[33]Alex C.Snoeren, Craig Partridge, Luis A.Sanchez, Christine E.Jones, Fabrice Tchakountio, Stephen T.Kent, W.Timothy Strayer,Hash-based IP traceback,Proceedings of ACM SIGCOMM, 2001
[34]Jun Li, Minho Sung, Jun Xu, Li Li, Large-scale IP traceback in high-speed internet: practical techniques and theoretical foundation,IEEE Symposium on Security and Privacy, 2004, pp.115-129[35]Chao Gong, Trinh Le, Turgay Korkmaz, Kamil Sarac, Single packet IP traceback in AS-level partial deployment scenario,IEEE Global Telecommunications Conference, 2005
[36]Robert Stone, Centertrack: an IP overlay network for tracking DoS floods,Proceedings of the 9th Conference on USENIX Security Symposium, 2000, pp.15-28
[37]Guang Yao, Jun Bi, Athanasios V.Vasilakos, Passive IP traceback:disclosing the locations of IP spoofers from path backscatter,IEEE Transactions on Information Forensics and Security, 2015,10(3), pp.471-484
[38]Hal Burch, Bill Cheswick, Tracing anonymous packets to their approximate source,Proceedings of the 14th Systems Administra-tion Conference, 2000, pp.319-327
[39]Gu Hsin Lai, Chia-Mei Chen, Bing-Chiang Jeng, Willams Chao,Ant-based IP traceback,Expert Systems with Applications, 2008,34, pp.3071-3080
[40]Zaiyao Yi, Liuqing Pan, Xinmei Wang, Chen Huang, Benxiong Huang, IP traceback using digital watermark and honeypot,UIC2008, LNCS 5061, pp.426-438
[41]Daniel Ramsbrock, Xinyuan Wang, Xuxian Jiang, A first step towards live botmaster traceback,RAID2008, LNCS 5230,pp.59-77
[42]Wenjie Lin, David Lee, Traceback attacks in cloud - pebbletrace botnet,The 32nd International Conference on Distributed Computing Systems Workshops, 2012, pp.417-426
[43]Fang Yu, David Lee, Internet attack traceback cross-validation and pebble tracing,IEEE Conference on Technologies for Homeland Security, 2008, pp.378-383
[44]S.Staniford-Chen, L.Heberlein, Holding intruders accountable on the internet,IEEE Symposium on Security and Privacy, 1995,pp.39-39
[45]Y.Zhang, V.Paxson, Detecing stepping stones,the 9th USENIX Security Symposium, 2000, pp.171-184
[46]K.Yoda, H.Etoh, Finding a connection chain for tracing intruders,The 6th European Symposium on Research in Computer Security,2000, LNCS 1895, pp.191-205
[47]X.Wang, D.Reeves, S.Wu, Inter-packet delay-based correlation for tracing encrypted connections through stepping stone,The 7th European Symposium on Research in Computer Security, 2002,LNCS 2502, pp.244-263
[48]David L.Donoho, Ana Geogfina Flesia, Umesh Shankar, Vern Paxson, Jason Coit, Stuart Staniford, Multiscale stepping-stone detection: detecting pairs of jittered interactive streams by exploiting maximum tolerable delay,The Fifth International Symposium on Recent Advances in Intrusion Detection, 2002, LNCS 2516
[49]Avrim Blum, Dawn Song, Shobha Venkataraman, Detection of Interactive stepping stones: algorithms and configence bounds,Recent Advances in Intrusion Detection, 2004, LNCS 3224,pp.258-277
[50]Xinyuan Wang, Douglas S.Reeves, Robust correlation of encrypted attack traffic through stepping stones by manipulation of inter-packet delays,Proceedings of the 2003 ACM Conference on Computer and Communications Security, 2003, pp.20-29
[51]Ting He, Lang Tong, A signal processing perspective to stepping-stone detection,The 40th Annual Conference on Information Sciences and Systems, 2006, pp.687-692
[52]Ying-Wei Kuo, Shou-Hsuan Stephen Huang, Stepping-stone detection algorithm based on order preserving mapping,International Confer-ence on Parallel and Distributed Systems, 2007, pp.1-8
[53]Han-Ching Wu, Shou-Hsuan Stephen Huang, Detecting stepping-stone with chaff perturbations,The 21st International Conference on Advanced Information Networking and Applications Workshops, 2007, pp.85-90
[54]Baris Coskun, Nasir Memon, Online sketching of network flows for real-time stepping-stone detection,2009 Annual Computer Security Applications Conference, 2009, pp.473-483
[55]Linfeng Zhang, Anthony G.Persaud, Alan Johnson, Yong Guan,Detection of stepping stone attack under delay and chaff perturbations,The 25th IEEE International Performance, Computing, and Communications Conference, 2006, pp. 247-256
[56]Shou-Hsuan Stephen Huang, Robert Lychev, Jianhua Yang, Stepping-stone detection via request-response traffic analysis,Autonomic and Trusted Computing, 2007, LNCS 4610, pp.276-285
[57]Mohd Nizam Omar, Lebyzar Siregar, Rahmat Budiarto, Dropped packet problems in stepping stone detection method,International Journal of Computer Science and Network Security, 2008, 8(2),pp.109-115
[58]Dan Schnackenberg, Harley Holliday, Randall Smith, Kelly Djahandari, Dan Sterne, Cooperative intrusion traceback and response architecture (CITRA),Proceedings of the DARPA Information Survivability Conference and Exposition, 2001, pp.56-68
[59]X.Wang, D.Reeves, S.Wu, J.Yuill, Sleepy watermark tracing: an active network-based intrusion response framework,The 16th International Information Security Conference, 2001, pp.369-384
[60]Xinyuan Wang, Douglas S.Reeves, Robust correlation of encrypted attack traffic through stepping stones by flow watermarking,IEEE Transactions on Dependable and Secure Computing,2011, 8(3), pp.434-449
[61]Khyamling A.Parane, G.R.Udupi, Manoj A.Patil, Correlation of encrypted attack traffic through network flow watermarking,Proceedings of International Conference on Emerging Research in Computing, Information, Communication and Applications, 2013,pp.245-250
[62]Ping Li, Wanlei Zhou, Yini Wang, Getting the real-time precise round-trip time for stepping stone detection,The 4th International Conference on Network and System Security, 2010, pp.377-382
[63]Jianhua Yang, Shou-Hsuan Stephen Huang, Matching TCP/IP packets to detect stepping-stone intrusion,International Journal of Computer Science and Network Security, 2006, 6(10), pp.269-277
[64]Kwong H.Yung, Detecting long connection chains of interactive terminal sessions,Proceedings of International Symposium on Recent Advance in Intrusion Detection, 2002, LNCS 2516,pp.1-16
[65]Robert Shullich, Jie Chu, Ping Ji, Weifeng Chen, A survey of research in stepping-stone detection,International Journal of Elec-tronic Commerce Studies, 2011, 2(2) pp.103-126
[66]Young June Pyun, Douglas S.Reeves, Strategic deployment of network monitors for attack attribution,The 4th International Conference on Broadband Communications, Networks and Systems, 2007, pp.525-534
[67]Hiroaki Hazeyama, Masafumi Oe, Youki Kadobayashi, A layer-2 extension to hash-based IP traceback,IEICE Transactions Information and Systems, 2003, E86-D(11), pp.2325-2333
[68]Yinjie Chen, Zhongli Liu, Benyuan Liu, Xinwen Fu, Wei Zhao,Identifying mobiles hiding behind wireless routers,IEEE INFOCOM2011, pp.2651-2659
[69]Jizhi Wang, Yingjie Chen, Xinwen Fu, Jie Wang, Wei Yu, Nan Zhang, 3DLoc: three dimensional wireless localization toolkit,IEEE ICDCS2010
[70]Jennifer Rexford, Constantine Dovrolis, Future Internet architecture: clean-slate versus evolutionary research,Communications of The ACM, 2010, 53(9), pp.36-40
[71]Chen Zhouguo, Shi Pu, Shixiong Zhu, Traceback technology for anonymous network,Journal of Computer Research & Development, 2012, 2012, 49(Suppl.)pp.111-117(陳周國、蒲石、祝世雄, 匿名網(wǎng)絡(luò)追蹤溯源綜述,計(jì)算機(jī)研究與發(fā)展, 2012, 49(Suppl.): 111-117)
[72]Xiaogang Wang, Ming Yang, Junzhou Luo, A novel sequential watermark detection model for efficient traceback of secret network attack flows,Journal of Network and Computer Applications,2013, 36, pp.1660-1670
[73]Bjorn Stelte, ISP traceback - attack path detection,IEEE Conference on Communications and Network Security, 2013, pp.363-364
[74]You-ye Sun, Cui Zhang, Shao-qing Meng, Kai-ning Lu, Modified deterministic packet marking for DDoS attack traceback in IPv6 Network,The 11th IEEE International Conference on Computer and Information Technology, 2011, pp.245-248
[75]Guanyu Tian, Zhenhai Duan, Todd Baumeister, Yingfei Dong, A traceback attack on Freenet,The Proceedings of IEEE INFOCOM,2013, pp.1797-1805
[76]Gaofeng He, Ming Yang, Junzhou Luo, Lu Zhang, Yuanyuan Ma,Modeling and analysis of time characteristics used in onion routing traceback techniques,Chinese Journal of Computers, 2014,37(2), pp.356-372(何高峰、楊明、羅軍舟、張璐、馬媛媛, 洋蔥路由追蹤技術(shù)中時間特征的建模與分析,計(jì)算機(jī)學(xué)報(bào), 2014, 37(2): 356-372)
[77]Wang yu, Li yichao, Zhang xiaoshong, Zeng jiazhi, A method of IP traceback for DoS,The Proceedings of the 4th International Conference on Parallel and Distributed Computing, Applications and Technologies, 2003, pp.762-764
[78]Guang Yao, Jun Bi, Zijian Zhou, Passive IP traceback: capturing the origin of anonymous traffic through network telescopes,SIGCOMM, 2010, pp.413-414
[79]Liancheng Zhang, Zhenxing Wang, Jing Xu, Qian Wang,Multi-flow attack resistant interval-based watermarks for tracing multiple network flows,ICCIC2011, pp.166-173
[80]Zhenqiang Wu, Bo Yang, An advanced marking scheme and realization for onion routing traceback,Journal of China Institute of Communications, 2002, 23(5), pp. 96-102(吳振強(qiáng), 楊波, 追蹤洋蔥包的高級標(biāo)記方案與實(shí)現(xiàn),通信學(xué)報(bào),2002, 23(5): 96-102)
[81]Xian Pan, Junwei Huang, Zhen Ling, Xinwen Fu, Long PN code based traceback in wireless networks,International Journal of Performability Engineering, 2012, 8(2), pp.173-191
[82]Zhen Ling, Junzhou Luo, Kui Wu, Wei Yu, Xinwen Fu, TorWard:discovery, blocking, and traceback of malicious traffic over Tor,IEEE Transactions on Information Forensics and Security, 2015,10(12), pp.2525-2530
[83]Zhiqiang Gao, Nirwan Ansari, Tracing cyber attacks from the practical perspective,IEEE Communications Magazine, 2005, 5,pp.123-131
[84]Lu Zhang, Junzhou Luo, Ming Yang, Gaofeng He, Interval centroid based flow watermarking technique for anonymous communication traceback,Journal of Software, 2011, 22(10),pp.2358-231(張璐、羅軍舟、楊明、何高峰, 基于時隙質(zhì)心流水印的匿名通信追蹤技術(shù),軟件學(xué)報(bào), 2011, 22(10): 2358-231)
[85]Masafumi OE, Youki Kadobayashi, Suguru Yamaguchi, An implementation of a hierarchical IP traceback architecture,International Symposium on Applications and the Internet Workshops,2003, pp.250-253
[86]Young Hwan Lim, Dong Hwi Lee, Won Hyung Park, Kwang Ho Kook, Detection and traceback of illegal users based on anonymous network in bittorrent environment,Wireless Pers Commu.,2013, 73, pp.319-328
[87]Ahmad Fadlallah, Ahmed Serhrouchni, PSAT: proactive signaling architecture for IP traceback,Proceedings of the 4th Annual Communication Networks and Services Research Conference,2006, pp.299-305
[88]Zongbin Liu, Jiwu Jing, Peng Liu, Rate-based watermark traceback: a new approach,ISPEC2010, LNCS 6047, 172-186
[89]Ahmad Almulhem, Issa Traore, Mining and detecting connection-chains in network traffic,IFIP International Federation for Information Processing, 2007, pp. 47-57
[90]Mouna Gassara, Faouzi Zarai, Ikbel Daly, Mohammad S. Obaidat,Kuei-Fang Hsiao, A new scheme for proactive out of band signaling solution for IP traceback in wireless mesh network,International Conference on Computer, Information and Telecommunication Systems, 2015, pp.1-6
[91]Yinan Jing, Jingtao Li, Gendu Zhang, An adaptive edge marking based hierarchical IP traceback system,ICCNMC2005, LNCS 3619, pp. 1188-1197
[92]Hiroaki Hazeyama, Youki Kadobayashi, Masafumi Oe, Ryo Kaizaki, InterTrack: a federation of IP traceback systems across borders of network operation domains,Proceedings of Annual Computer Security Application Conference, 2005
[93]W.Timothy Strayer, Christine E. Jones, Beverly I.Schwartz,Joanne Mikkelson, Carl Livadas, Architecture for multi-stage network attack traceback,The Proceedings of the the 30th Anniversary IEEE Conference on Local Computer Networks, 2005,pp.785-792
[94]Hiroaki Hazeyama, Youki Kadobayashi, Daisuke Miyamoto, Masafumi Oe, An autonomous architecture for inter-domain traceback across the borders of network operation,Proceedings of the 11th IEEE Symposium on Computers and Communications, 2006,pp.38-385
[95]Xiapu Luo, Junjie Zhang, Roberto Perdisci, Wenke Lee, On the secrecy of spread-spectrum flow watermarks,ESORICS2010,LNCS 6345, pp.232-248
[96]Hiroaki Hazeyama, Yoshihide Matsumoto, Youki kadobayashi,Message forwarding strategies for inter-AS packet traceback network,The Proceedings of the 2nd Joint Workshop on Information Security, 2007
[97]Micah Adler, Tradeoffs in probabilistic packet marking for IP traceback,STOC2002, pp.407-418
[98]Xiaogang Wang, Junzhou Luo, Ming Yang, A double interval centroid-based watermark for network flow traceback,The Proceedings of the 14th International Conference on Computer Supported Cooperative Work in Design, 2010, pp. 146-151
[99]Bo-Chao Cheng, Guo-Tan Liao, Ching-Kai Lin, Shih-Chun Hsu,Ping-Hai Hsu, Jong Hyuk Park, MIB-ITrace-CP: an improvement of ICMP-based traceback efficiency in network forensic analysis,IFIP International Federation for Information Processing, 2012,pp.101-109
[100]Omer Demir, Ping Ji, Jinwoo Kim, Session based logging (SBL)for IP-traceback on network forensics,International Conference on Security & Management, 2006, pp.233-239
[101]Guangwu Hu, Jianping Wu, Ke Xu, Wenlong Chen, SAVT: a practical scheme for source address validation and traceback in campus network,The Proceedings of 20th International Conference on Computer Communications and Networks, 2011, pp. 1-8
[102]Pegah Sattari, Athina Markopoulou, Algebraic traceback meets network coding,International Symposium on Network Coding,2011, pp. 1-7
[103]Wei-Tsung Su, Tzu-Chieh Lin, Chun-Yi Wu, Jang-Pong Hsu,Yau-Hwang Kuo, An on-line DDoS attack traceback and mitiga-tion system based on network performance monitoring,Proceedings of 10th International Conference on Advanced Communication Technology, 2008, pp.1467-1472
[104]Wei-Tsung Su, Yi-Hsun Chuang, Zong-Bing Wu, Yau-Hwang Kuo,A table-driven approach for IP traceback based on network statistic analysis,ICACT2009, pp.1633-1637
[105]M.I.Cohen, Source attribution for network address translated forensic captures,Digital Investigation, 2009, 5, pp.138-145
[106]Emmanuel S.Pilli, R.C.Joshi, Rajdeep Niyogi, An IP traceback model for network forensics,ICEF2C2010, pp.129-136
[107]Xiaoyong Li, Dongxi Liu, Dawu Gu, Caiying Bai, Research on intrusion traceback in controlled network environment,Journal of Computer Research & Development, 2003, 40(6), pp.808-812(李小勇、劉東喜、谷大武、白彩英, 可控網(wǎng)絡(luò)攻擊源追蹤技術(shù)研究,計(jì)算機(jī)研究與發(fā)展, 2003, 40(6): 808-812)
[108]Keisuke Takemori, Masahiko Fujinaga, Toshiya Sayama, Masakatsu Nishigaki, Host-based traceback, tracking bot and C&C server,International Conference on Ubiquitous Information Managements & Communications, 2009, pp.400-405
[109]Marios S.Andreou, Aad van Moorsel, IP traceback in a switched ethernet network,Technical Report Series No.CS-TR-1040, University of Newcastle upon Tyne, 2007
[110]Andre Castelucio, Artur Ziviani, Ronaldo M.Salles, An AS-level overlay network for IP traceback,IEEE Network, 2009, 23(1),pp.36-41
[111]Pegah Sattari, Minas Gjoka, Athina Markopoulou, A network coding approach to IP traceback,IEEE International Symposium on Network Coding, 2010, pp.1-6
[112]Ryan Pries, Wei Yu, Xinwen Fu, Wei Zhao, A new replay attack against anonymous communication networks,IEEE International Conference on Communications, 2008, pp.1578-1582
[113]Xinyuan Wang, Shiping Chen, Sushil Jajodia, Network flow wartermarking attack on low-latency anonymous communication systems,Proceedings of the IEEE Security & Privacy Symposium,2007, pp.116-130
[114]Wei Yu, Xinwen Fu, Steve Graham, Dong Xuan, Wei Zhao,DSSS-based flow marking technique for invisible traceback,Proceedings of the IEEE Security & Privacy Symposium, 2007,pp.18-32
[115]R.Ieong, P.Lai, K.P.Chow, M.Kwan, F.Law, Is it an initial seeder?derived rules that indicate a seeder is within the slow-rising period,The 6th IFIP WG 11.9 International Conference on Digital Forensics, 2010
[116]Seiichiro Mizoguchi, Keisuke Takemori, Yutaka Miyake, Yoshiaki Hori, Kouichi Sakurai, Traceback framework against botmaster by sharing network communication pattern information,The 5th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 2011, pp.639-644
[117]Xiaolei Wang, Yuexiang Yang, Jie He, A collaborative traceback against P2P botnet using information sharing and correlation analysis,International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, 2014, pp.132-138
[118]Zhen Ling, Junzhou Luo, Wei Yu, Xinwen Fu, Dong Xuan, Weijia Jia, A new cell counter based attack against Tor,In Proceedings of the 16th ACM Conference on Computer and Communications Security, 2009, pp.578-589
[119]Zhen Ling, Junzhou Luo, Wei Yu, Xinwen Fu, Equal-sized cells mean equal-sized packets in Tor?In Proceedings of IEEE International Conference on Communication and Information System Security Symposium, 2011
[120]Zhen Ling, Xinwen Fu, Weijia Jia, Wei Yu, Dong Xuan, A novel packet size based covert channel attack against anonymizer,IEEE INFOCOM, 2011, pp.186-190
[121]Zhen Ling, Xinwen Fu, Weijia Jia, Wei Yu, Dong Xuan, Junzhou Luo, Novel packet size based covert channel attacks against anonymizer,IEEE Transactions on Computers, 2013, 62(12), pp.2411-2426
[122]Amir Houmansadr, Negar Kiyavash, Nikita Borisov, RAINBOW:a robust and invisible non-blind watermark for network flows,In Proceedings of Network and Distributed System Security Symposium, 2009
[123]Yang Zeming, Li Qiang, Liu Junrong, Liu Baoxu, Research of threat intelligence sharing and using for cyber attack attribution,Journal of Information Security Research, 2015, 1(1), pp.31-36(楊澤明, 李強(qiáng), 劉俊榮, 劉寶旭, 面向攻擊溯源的威脅情報(bào)共享利用研究, 信息安全研究, 2015, 1(1): 31-36)