摘 要: 不同于傳統(tǒng)基于操作系統(tǒng)特性或者網(wǎng)絡(luò)協(xié)議特性的軟件識別機制,提出了一種基于TCP時間戳進行遠程網(wǎng)絡(luò)設(shè)備識別的方法。該方法依據(jù)RFC 1323協(xié)議中TCP時間戳理論,通過在發(fā)送數(shù)據(jù)包中加入時間戳選項,能夠在沒有測量工具協(xié)作的情形下遠程利用細微的硬件設(shè)備偏差(時鐘脈沖相位差)來識別網(wǎng)絡(luò)設(shè)備。實驗結(jié)果表明,這種方法能夠有效地用于遠程網(wǎng)絡(luò)主機的識別。
關(guān)鍵詞: TCP時間戳;網(wǎng)絡(luò)設(shè)備識別;網(wǎng)絡(luò)安全
近年來,無線局域網(wǎng)以超乎想象的速度迅猛發(fā)展。在迅速普及的同時,相應(yīng)的網(wǎng)絡(luò)安全性問題日益凸現(xiàn),開放式信道以及某些自組織組網(wǎng)形式導(dǎo)致了形形色色的安全威脅。在各類安全威脅中,非法接入設(shè)備對網(wǎng)絡(luò)系統(tǒng)攻擊造成的危害最大。在這類網(wǎng)絡(luò)攻擊中,MAC地址被非法盜用來竊取網(wǎng)絡(luò)資源和數(shù)據(jù),而目前對MAC地址盜用缺乏行之有效的辦法。如果加入網(wǎng)絡(luò)設(shè)備識別技術(shù),即便MAC地址仍然被盜用,但是非法網(wǎng)絡(luò)設(shè)備的特征不能匹配合法設(shè)備的特征,這將大大增強網(wǎng)絡(luò)用戶的安全性。
在網(wǎng)絡(luò)設(shè)備安全鑒別中,偵測遠程主機的操作系統(tǒng)不僅能夠檢測非法攻擊,而且有利于制定和采取更為有效的反制措施。目前,研究人員已經(jīng)提出了不少探測遠程操作系統(tǒng)的方法和技術(shù)。參考文獻[1]提出通過探測主機操作系統(tǒng)進行遠程設(shè)備識別;參考文獻[2]、[3]提出利用不同操作系統(tǒng)TCP協(xié)議中存在的差異來探測遠程主機,并將不同操作系統(tǒng)在TCP協(xié)議中體現(xiàn)出來的差異視為TCP指紋特征。這種被動探測方式隱蔽性較強,具有一定的實用性。但是,這種依賴操作系統(tǒng)探測進行遠程主機識別的方式具有很大的局限性。主要表現(xiàn)在兩個方面:一是非法用戶可以通過多種方式進行操作系統(tǒng)偽裝;二是依賴操作系統(tǒng)特征識別目標(biāo)網(wǎng)絡(luò)設(shè)備數(shù)量極為有限,一旦設(shè)備增多就難以進行有效的安全識別。
為了解決上述問題,研究人員對網(wǎng)絡(luò)設(shè)備自身的硬件設(shè)備差異進行了研究。參考文獻[4]首次在網(wǎng)絡(luò)時延測量中觀測到物理設(shè)備時鐘偏移現(xiàn)象,并提出了對時鐘偏移的估計和消除方法;參考文獻[1]分析了遠程物理設(shè)備中存在的差異可能用作遠程設(shè)備探測的兩大類特征,包括操作系統(tǒng)差異和時鐘偏差;參考文獻[5]還進一步對網(wǎng)絡(luò)分組的精確時間戳進行了分析。在上述研究的基礎(chǔ)上,本文提出了一種基于TCP時間戳(硬件設(shè)備時鐘差異)進行遠程網(wǎng)絡(luò)設(shè)備識別的方法。與遠程操作系統(tǒng)探測技術(shù)不同,這種技術(shù)能夠在測量工具協(xié)作的情形下,利用細微的硬件設(shè)備偏差(時鐘脈沖相位差)來識別遠程網(wǎng)絡(luò)設(shè)備。這種識別技術(shù)可以用來判斷網(wǎng)絡(luò)上兩個可能在時間和IP地址上有變動的設(shè)備是否為同一物理設(shè)備,從而提高網(wǎng)絡(luò)接入設(shè)備的安全性。
1 TCP時間戳原理
RFC 1323協(xié)議定義了兩個新的TCP選項,即窗口擴大選項和時間戳(Timestamp)選項,選項格式如圖1所示。其中,時間戳選項可以使TCP對報文段進行更加精確的RTT測量。即發(fā)送方在每個報文段中放置一個時間戳數(shù)值,接收方在確認中返回這個數(shù)值,從而允許發(fā)送方為每一個收到的ACK計算RTT。時間戳是一個單調(diào)遞增的值,RFC 1323推薦在1 ms~1 s之間將時間戳值加1。例如,BSD4.4在啟動時將時間戳始終設(shè)置為0,然后每隔500 ms將時間戳?xí)r鐘加1。
4 實驗分析
對本文提出的前述基于TCP時間戳的遠程網(wǎng)絡(luò)設(shè)備識別技術(shù)進行實驗驗證,所搭建的網(wǎng)絡(luò)實驗環(huán)境如圖4所示。實驗中使用了3臺主機,分別編為1號機、2號機和3號機。其中,1號主機作為服務(wù)器,其余兩臺主機用作待探測識別的主機。本項目在1號機和其余兩臺主機上分別運行服務(wù)器端程序和客戶端程序。在兩臺主機進行網(wǎng)絡(luò)通信的同時,在服務(wù)器端運行數(shù)據(jù)包解析程序,捕獲數(shù)據(jù)包并提取TCP時間戳,然后通過線性規(guī)劃分析對目標(biāo)主機進行安全性識別。
4.2 不同客戶端主機在同一地址接入網(wǎng)絡(luò)的識別實驗
本實驗中服務(wù)器主機IP地址為222.*.*.134,其他兩臺客戶端主機(主機2和主機3)先后運行在同一IP地址222.*.*.140上。主機2在某時段1小時內(nèi)不間斷地發(fā)送了743個數(shù)據(jù)包,主機3隨后也不間斷地發(fā)送了821個數(shù)據(jù)包。仍然采用前文的分析方法,可以觀測到主機2和主機3的可觀測偏差和真實時間關(guān)系如圖6所示。可以測量到主機2的TSopt時間脈沖相位差估算為133.1 ppm,而主機3的TSopt時間脈沖相位差估算為108.5 ppm。
從上述兩組實驗結(jié)果可以看到,不論是從不同的IP地址發(fā)出數(shù)據(jù)包還是從同一IP地址發(fā)出數(shù)據(jù)包,待探測客戶端主機2和主機3的時鐘脈沖相位差基本保持不變(差別沒有超過1 ppm),而且這兩臺主機的時鐘脈沖相位差存在較大的區(qū)別(約為25 ppm),因而可以對這兩臺遠程網(wǎng)絡(luò)設(shè)備進行有效的辨識,從而達到了項目預(yù)期目標(biāo)。
本文基于TCP時間戳原理,利用現(xiàn)代網(wǎng)絡(luò)設(shè)備微小的時鐘脈沖相位偏差,成功地對遠程設(shè)備進行了安全性辨識,并為網(wǎng)絡(luò)體系的安全性增強提供了一個新的有效檢測方法。這種技術(shù)將來可以有效應(yīng)用到計算機安全取證、追蹤從不同通路端連接入互聯(lián)網(wǎng)的網(wǎng)絡(luò)設(shè)備等領(lǐng)域。
基于TCP時間戳的遠程主機識別是一種較新的研究方法和領(lǐng)域,還需要進一步對提高設(shè)備特征的提取精度和更多的實際目標(biāo)進行研究;同時,如果結(jié)合尚未成熟的被動探測機制,并借助現(xiàn)代模式識別技術(shù),本文的研究方法將在前景廣闊的網(wǎng)絡(luò)通信安全領(lǐng)域有著極大的應(yīng)用價值。
參考文獻
[1] KOHNO T, BROIDO A, CLAFFY K C. Remote physics device fingerprinting[J]. IEEE Transactions on Dependable and Secure Computing, 2005, 2(2): 93-108.
[2] 沙超.一種基于TCP/IP協(xié)議棧的操作系統(tǒng)識別技術(shù)[J].計算機技術(shù)和發(fā)展,2006,16(10):125-127.
[3] 陳剛.基于TCP指紋的遠程操作系統(tǒng)探測技術(shù)[J].信息系統(tǒng)與網(wǎng)絡(luò),2006,36(9):7-11.
[4] MOON S B, SKELLY P, TOWSLEY D. Estimation and removal of clock skew from network delay measurements[C]. IEEE Proceedings of INFOCOM′99, Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies,1999(1): 227-234.
[5] MICHEEL J, DONNELLY S, GRAHAM I. Precision timestamping of network packets[C]. Proceedings of the 1st ACM SIGCOMM Workshop on Internet Measurement, 2001:273-277.