由于目前NAT技術(shù)的大量使用,若攻擊者主機(jī)位于NAT后面,使用私網(wǎng)IP地址,對(duì)于攻擊源的追蹤只能到攻擊者的NAT網(wǎng)關(guān),而無法穿透NAT網(wǎng)關(guān)。因此, 假設(shè)已知攻擊者來自于某個(gè) NAT網(wǎng)關(guān)保護(hù)的私有網(wǎng)絡(luò), 如何定位攻擊者主機(jī)在私網(wǎng)中的位置?
這一問題在有線網(wǎng)絡(luò)比較容易解決,因?yàn)镹AT網(wǎng)關(guān)只進(jìn)行IP地址和端口的轉(zhuǎn)換,對(duì)數(shù)據(jù)包的內(nèi)容和大部分頭部信息并不進(jìn)行修改,即使數(shù)據(jù)包的內(nèi)容經(jīng)過了加密。因此只要對(duì)公網(wǎng)的數(shù)據(jù)流和私網(wǎng)的數(shù)據(jù)流進(jìn)行監(jiān)控,根據(jù)IP頭部中的信息,如序列號(hào),就可以把公網(wǎng)數(shù)據(jù)流和私網(wǎng)數(shù)據(jù)流關(guān)聯(lián)起來,從而知道攻擊者的私網(wǎng)IP地址和mac地址。
《Source attribution for.NETwork address translated forensic captures》研究了經(jīng)NAT地址轉(zhuǎn)換的數(shù)據(jù)包來源識(shí)別問題,指出NAT服務(wù)器一般不會(huì)更改原IP數(shù)據(jù)包頭中的序列號(hào)。對(duì)于windows系統(tǒng), 數(shù)據(jù)流中的包頭的序列號(hào)通過每次加1的方式進(jìn)行增長(zhǎng),這可以用于判斷來自同一臺(tái)主機(jī)的數(shù)據(jù)包。而對(duì)于linux系統(tǒng),由于采用序列號(hào)隨機(jī)化的方式,前述特征無法用于Linux主機(jī),但可以通過Http協(xié)議報(bào)頭中的時(shí)戳、cookie等來判斷。
《A layer-2 extension to hash-based IP traceback, IEICE Transactions Information and Systems》基于其它研究員的數(shù)據(jù)包記錄的方法,提出了一種2層網(wǎng)絡(luò)的攻擊源追蹤方法,即在已知離攻擊者主機(jī)最近的路由器的情況下,在內(nèi)網(wǎng)中確定攻擊者的主機(jī)。
該方法通過在路由器上記錄數(shù)據(jù)包的MAC地址、來自交換機(jī)的哪個(gè)端口、來自路由器的哪個(gè)端口,通過建立這些信息的摘要表,從而能快速識(shí)別出攻擊者主機(jī)所在的子網(wǎng)。
而《IP traceback in a switched ethernet network》中的研究員認(rèn)為上一個(gè)的方法在實(shí)際2層交換網(wǎng)絡(luò)中部署困難。基于《Single packet IP traceback in AS-level partial deployment scenario》中的方法結(jié)合交換機(jī)中的審計(jì)記錄,提出一種新的攻擊溯源方法, 實(shí)現(xiàn)即使只有一個(gè)攻擊數(shù)據(jù)包,也可以進(jìn)行追蹤。
在無線局域網(wǎng)中,這一問題就比較困難了,因?yàn)闊o線路由器不僅要進(jìn)行IP地址的轉(zhuǎn)換, 而且會(huì)對(duì)IP數(shù)據(jù)包,包括IP頭部進(jìn)行加密,如WPA算法,這樣就無法通過內(nèi)、外網(wǎng)數(shù)據(jù)流的觀察來進(jìn)行關(guān)聯(lián)。
《Identifying mobiles hiding behind wireless routers》對(duì)這一問題進(jìn)行了研究,利用數(shù)據(jù)包的大小在數(shù)據(jù)流中填加水印,從而對(duì)內(nèi)、外網(wǎng)數(shù)據(jù)流進(jìn)行關(guān)聯(lián)。
具體來說,該方法是針對(duì)數(shù)據(jù)流從外網(wǎng)流入內(nèi)網(wǎng)的攻擊者主機(jī)的情況,在外網(wǎng)中能夠控制相關(guān)的數(shù)據(jù)流, 選擇一個(gè)作為水印的特征碼,然后隨機(jī)選擇數(shù)據(jù)流中的多個(gè)數(shù)據(jù)包,用大小為700字節(jié)的數(shù)據(jù)包代表碼元 0,1000字節(jié)的數(shù)據(jù)包代表碼元1若選擇的數(shù)據(jù)包超過所代表碼元的數(shù)據(jù)包大小,則把該數(shù)據(jù)包按碼元大小進(jìn)行分組。
若小于,則重新選擇下一個(gè)數(shù)據(jù)包。之所以選擇這兩個(gè)數(shù)據(jù)包字節(jié)大小,是因?yàn)榻?jīng)過對(duì)802.11數(shù)據(jù)幀進(jìn)行統(tǒng)計(jì),具有500—1000字節(jié)大小的數(shù)據(jù)幀很少, 可以避免誤報(bào)。
這樣在內(nèi)網(wǎng)中檢測(cè)數(shù)據(jù)流中所嵌入的特征碼, 則可以將內(nèi)、外網(wǎng)數(shù)據(jù)關(guān)聯(lián)起來。
但這一方法不能用于從內(nèi)網(wǎng)流出到外網(wǎng)的情況,例如在內(nèi)網(wǎng)中的攻擊者向外發(fā)動(dòng)攻擊的時(shí)候在外網(wǎng)發(fā)現(xiàn)攻擊數(shù)據(jù)流,需要定位內(nèi)網(wǎng)的主機(jī)位置,目前還未發(fā)現(xiàn)有相關(guān)文獻(xiàn)對(duì)這個(gè)問題進(jìn)行研究。
《Identifying mobiles hiding behind wireless routers,》中能夠獲得內(nèi)網(wǎng)中攻擊者主機(jī)的IP地址和MAC地址,但在大型公共場(chǎng)合的無線網(wǎng)絡(luò)中,如機(jī)場(chǎng)、車站、賓館, 如何定位攻擊者主機(jī)的物理位置仍然是一個(gè)問題。
《3DLoc: three dimensional wireless localization toolkit》對(duì)此問題進(jìn)行了研究, 假設(shè)已知攻擊者主機(jī)的MAC地址, 設(shè)計(jì)了一套系統(tǒng)來定位目標(biāo)的物理位置。該系統(tǒng)利用定向天線捕獲無線數(shù)據(jù)幀, 識(shí)別出源MAC地址為目標(biāo)MAC地址的數(shù)據(jù)幀,利用數(shù)據(jù)信號(hào)強(qiáng)度定位信號(hào)的來源方向,通過多個(gè)地點(diǎn)的測(cè)量,即可以定位出目標(biāo)的物理位置。
該系統(tǒng)能夠?qū)θS空間進(jìn)行定位,即使攻擊者主機(jī)位于高樓中,測(cè)量地點(diǎn)在樓外,也可以定位出攻擊者主機(jī)所在的樓層房間。