宮 婷,林智君,阮天翔
(1.西安航空計(jì)算技術(shù)研究所,陜西 西安 710068;2.西北工業(yè)大學(xué),陜西 西安 710072)
近年來,物聯(lián)網(wǎng)的發(fā)展取得了重大進(jìn)展,越來越多的人安裝了物聯(lián)網(wǎng)設(shè)備,包括智能安全系統(tǒng)、智能家居照明等。有關(guān)設(shè)備識(shí)別的研究通過不同特征來區(qū)分設(shè)備,包括檢查電子序列號(hào)(ESN)、媒體訪問控制(MAC)地址、移動(dòng)標(biāo)識(shí)號(hào)(MIN)或產(chǎn)品系列以及互聯(lián)網(wǎng)協(xié)議(IP)號(hào)。然而,隨著網(wǎng)絡(luò)攻擊的發(fā)展,IP和MAC地址可以通過軟件輕松修改[1],不能作為唯一的設(shè)備身份驗(yàn)證或標(biāo)識(shí)功能。
本文針對(duì)物聯(lián)網(wǎng)安全問題,提出了一種新的認(rèn)證機(jī)制,通過提取有關(guān)設(shè)備軟件版本以及硬件組件的信息,使用IAT生成的設(shè)備指紋,結(jié)合數(shù)字證書來驗(yàn)證物聯(lián)網(wǎng)設(shè)備。設(shè)備指紋識(shí)別方法必須滿足兩個(gè)特征:一是難以偽造,二是在不同環(huán)境中應(yīng)穩(wěn)定。本文的主要貢獻(xiàn)是將IAT作為構(gòu)建無源設(shè)備指紋的關(guān)鍵特征,討論了有關(guān)設(shè)備指紋的相關(guān)工作;介紹了IAT的概念,并提出了一種基于IAT的設(shè)備指紋識(shí)別技術(shù);在模擬和真實(shí)網(wǎng)絡(luò)環(huán)境中評(píng)估筆者提出的技術(shù)。
Francois等[2]建立了網(wǎng)絡(luò)消息的樹,利用支持向量機(jī)(SVM)和快速魯棒(QROCK)算法來計(jì)算不同樹之間的距離。在真實(shí)的IP語音(VoIP)網(wǎng)絡(luò)設(shè)備指紋識(shí)別場(chǎng)景中,使用SVM和QROCK的準(zhǔn)確率分別達(dá)到70%和75%。他們的方法必須為每種消息類型生成樹,多種消息類型可能會(huì)降低這些方法的性能,該方法在實(shí)際環(huán)境中的精度相對(duì)較低。
Jana等[3]提出了一種基于時(shí)鐘偏差的設(shè)備指紋識(shí)別方法,以解決檢測(cè)MAC地址欺騙的問題。通過使用時(shí)鐘偏移,能夠檢測(cè)無線網(wǎng)絡(luò)中未經(jīng)授權(quán)的接入點(diǎn)。根據(jù)更高的可預(yù)測(cè)性和精確的時(shí)間戳設(shè)置局部區(qū)域。利用時(shí)鐘偏差檢測(cè)偽接入點(diǎn)是一種有效的方法,節(jié)點(diǎn)中的周期時(shí)鐘將導(dǎo)致節(jié)點(diǎn)時(shí)鐘偏移的精度差異。
總體而言,設(shè)備指紋識(shí)別方法最近已廣泛應(yīng)用于設(shè)備安全認(rèn)證。然而,現(xiàn)有的研究存在一些局限性,包括低精度、長響應(yīng)時(shí)間和惡劣的操作環(huán)境。文章將介紹IAT作為模型訓(xùn)練的主要考慮因素,并提出一種新的設(shè)備指紋識(shí)別方法。
本節(jié)討論了IAT的生成過程和不同設(shè)備的IAT值不同的原因,提出了基于IAT的設(shè)備指紋識(shí)別方法的步驟。
數(shù)據(jù)包生成受多個(gè)設(shè)備組件的影響,如CPU、內(nèi)存和網(wǎng)卡(NC)。數(shù)據(jù)包創(chuàng)建過程為設(shè)備接收生成網(wǎng)絡(luò)數(shù)據(jù)包的命令,并將該命令從內(nèi)存移動(dòng)到CPU。CPU在內(nèi)存中建立緩沖區(qū)并建立緩沖區(qū)結(jié)構(gòu)。在創(chuàng)建緩沖區(qū)之后,CPU寫入包括從緩沖區(qū)開始的包長度和包內(nèi)容的包信息。操作系統(tǒng)控制CPU在NC中注冊(cè)緩沖區(qū)描述,并在NC和緩沖區(qū)之間建立連接。一旦NC連接到緩沖區(qū),NC初始化直接內(nèi)存訪問(DMA),數(shù)據(jù)包數(shù)據(jù)通過PCI總線傳輸?shù)絅C。最后,NC通知操作系統(tǒng)和CPU,并將數(shù)據(jù)包發(fā)送到MAC設(shè)備。
創(chuàng)建完成后,MAC將包傳輸?shù)侥康牡兀丛O(shè)備和目標(biāo)設(shè)備之間的連接是連續(xù)的,設(shè)備之間的通信是連續(xù)的。源設(shè)備連續(xù)生成并發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。因此,將在目的地接收的兩個(gè)連續(xù)數(shù)據(jù)包之間的時(shí)間差定義為IAT值,即假設(shè)由單個(gè)設(shè)備發(fā)送的接收分組的序列是P=p1,p2……pn,并且相應(yīng)的接收時(shí)間是T=t1,t2……tn。IAT值,即pi和pi+1之間的差值,通過公式(1)計(jì)算得出。
IAT=ti+1-ti
(4)漳河水利經(jīng)濟(jì)規(guī)范管理情況。漳河工程管理局先后制定了生產(chǎn)經(jīng)營單位目標(biāo)管理修訂辦法、經(jīng)營議事規(guī)則、經(jīng)營性合同管理辦法等一系列生產(chǎn)經(jīng)營管理制度,通過健全完善各項(xiàng)管理制度,堅(jiān)持用制度來規(guī)范各項(xiàng)管理工作,努力實(shí)現(xiàn)強(qiáng)管增效。
(1)
IAT是網(wǎng)絡(luò)分析的一個(gè)重要度量。不同的因素會(huì)影響設(shè)備的IAT值,包括硬件、軟件和網(wǎng)絡(luò)因素[4]。為了評(píng)估這些因素對(duì)IAT的影響,公式(2)顯示了接收時(shí)間和發(fā)送時(shí)間之間的關(guān)系,接收數(shù)據(jù)包的時(shí)間與發(fā)送數(shù)據(jù)包的時(shí)間成正比。
Rcvt=Sedt+Δtransmission
(2)
傳輸表示傳輸鏈路中的時(shí)間成本。結(jié)合公式(1)與公式(2),導(dǎo)出的公式用公式(3)(4)和(5)。
IAT=Rcvt+1-Rcvt
(3)
Rcvt+1-Rcvt=Sedt+1-Sedt
(4)
IAT=Sedt+1-Sedt
(5)
從公式(5)可以看出,IAT取決于數(shù)據(jù)包的發(fā)送時(shí)間間隔。不同的硬件經(jīng)過一系列的處理后將發(fā)送一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包。這些硬件差異導(dǎo)致生成相同網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間成本不同。此外,由于設(shè)備處理過程中的微小錯(cuò)誤,即使是兩個(gè)相同的設(shè)備,其性能也會(huì)略有不同。網(wǎng)絡(luò)應(yīng)用要求客戶端以固定頻率傳輸網(wǎng)絡(luò)流量。通常,傳輸頻率由程序開發(fā)人員設(shè)置。該設(shè)備執(zhí)行應(yīng)用程序,并在每個(gè)周期執(zhí)行發(fā)送數(shù)據(jù)包的命令。因此,發(fā)送時(shí)間也取決于發(fā)送頻率,IAT也受到軟件的影響。
IAT是一種無源網(wǎng)絡(luò)特征提取方法,不需要在設(shè)備中主動(dòng)嵌入任何程序。由于不同設(shè)備之間的IAT值不同,因此使用IAT識(shí)別設(shè)備是一種獨(dú)特且可行的方法。提出了基于IAT的設(shè)備識(shí)別技術(shù)。
計(jì)算IAT需要網(wǎng)絡(luò)嗅探器來捕獲通信路徑中的設(shè)備數(shù)據(jù)包。網(wǎng)絡(luò)嗅探器應(yīng)靠近要檢測(cè)的設(shè)備。設(shè)備直接與網(wǎng)絡(luò)嗅探器連接,以便網(wǎng)絡(luò)嗅探器盡可能穩(wěn)定地從檢測(cè)到的設(shè)備接收流量。因此,在無線局域網(wǎng)(WLAN)中心(如網(wǎng)關(guān)和接入點(diǎn))設(shè)置網(wǎng)絡(luò)嗅探器,不僅連接到互聯(lián)網(wǎng),還為無線設(shè)備提供接入服務(wù)。通過在WLAN中心嗅探數(shù)據(jù)包,避免了內(nèi)部LAN鏈路中的任何網(wǎng)絡(luò)延遲,并將外部網(wǎng)絡(luò)波動(dòng)的影響降至最低。
從網(wǎng)絡(luò)流量計(jì)算IAT的過程如下:在網(wǎng)關(guān)或接入點(diǎn)的WLAN中心插入網(wǎng)絡(luò)嗅探器,然后從設(shè)備捕獲連續(xù)數(shù)據(jù)包并記錄接收時(shí)間序列。利用公式(1),計(jì)算兩個(gè)連續(xù)數(shù)據(jù)包之間的IAT值。
如上所述,不同設(shè)備的IAT值不同。因此,使用IAT識(shí)別設(shè)備是一種合理的方法。設(shè)備指紋識(shí)別執(zhí)行的步驟如下。
(1)在WLAN網(wǎng)關(guān)中設(shè)置了網(wǎng)絡(luò)嗅探器。通過使用網(wǎng)絡(luò)嗅探器,可以捕獲通過網(wǎng)關(guān)傳輸和轉(zhuǎn)發(fā)的數(shù)據(jù)包。
(2)網(wǎng)關(guān)嗅探器監(jiān)視網(wǎng)絡(luò)流量并捕獲數(shù)據(jù)包一段時(shí)間,并將流量信息記錄在數(shù)據(jù)包文件中。
(3)分析數(shù)據(jù)包文件,并根據(jù)IP地址將其劃分為不同的文件。即過濾具有相同源IP的數(shù)據(jù)包,并將過濾后的數(shù)據(jù)包保存在新文件中。這種方法意味著新文件中的數(shù)據(jù)包都來自同一個(gè)設(shè)備。
(4)對(duì)于每個(gè)新文件,從每個(gè)數(shù)據(jù)包中提取相關(guān)網(wǎng)絡(luò)字段并計(jì)算IAT。記錄網(wǎng)絡(luò)功能并按設(shè)備類型標(biāo)記記錄。通過整合每個(gè)文件中的記錄,可以構(gòu)建一個(gè)新的基于IAT的標(biāo)記數(shù)據(jù)集。
(5)基于創(chuàng)建的數(shù)據(jù)集,測(cè)試機(jī)器學(xué)習(xí)算法,利用該數(shù)據(jù)集訓(xùn)練分類器模型。分類器模型隨后用于識(shí)別設(shè)備。
基于以上對(duì)IAT概念和特征的討論,文章提出了一種基于IAT的設(shè)備指紋識(shí)別機(jī)制。該機(jī)制具有很高的靈活性,可以適應(yīng)不同的網(wǎng)絡(luò),并根據(jù)具體情況采用不同的機(jī)器學(xué)習(xí)算法。
在本節(jié)中,將在模擬和真實(shí)環(huán)境中對(duì)提出的設(shè)備指紋機(jī)制進(jìn)行評(píng)估。
本節(jié)使用NetSim建立了一個(gè)模擬網(wǎng)絡(luò),并將所提出的設(shè)備指紋機(jī)制應(yīng)用到模擬中。
NetSim是一個(gè)端到端、全棧、包級(jí)網(wǎng)絡(luò)模擬器和仿真器。它為網(wǎng)絡(luò)工程師提供了一個(gè)用于協(xié)議建模、網(wǎng)絡(luò)研發(fā)和軍事通信的技術(shù)開發(fā)環(huán)境。此外,NetSim允許用戶編寫定制程序并修改協(xié)議內(nèi)容,具有很強(qiáng)的可擴(kuò)展性。與硬件原型相比,成本顯著降低,時(shí)間更短。NetSim支持多種網(wǎng)絡(luò)環(huán)境,包括5G網(wǎng)絡(luò)、移動(dòng)自組織網(wǎng)絡(luò)和無線傳感器網(wǎng)絡(luò)。因此,可以使用Net-Sim建立高度靈活的應(yīng)用程序。
3.1.1 NetSim模型
所有終端節(jié)點(diǎn)都基于IPV6_LOWPAN協(xié)議連接到網(wǎng)關(guān),形成一個(gè)自組織、多跳無線的網(wǎng)絡(luò)。網(wǎng)關(guān)旨在接收和轉(zhuǎn)發(fā)來自終端節(jié)點(diǎn)的數(shù)據(jù)包。為了簡(jiǎn)化網(wǎng)絡(luò)場(chǎng)景,使用有線節(jié)點(diǎn)作為服務(wù)器,并在網(wǎng)關(guān)和服務(wù)器之間設(shè)置一個(gè)路由器。終端節(jié)點(diǎn)在其傳輸范圍內(nèi)向服務(wù)器發(fā)送網(wǎng)絡(luò)流量,在網(wǎng)關(guān)捕獲網(wǎng)絡(luò)數(shù)據(jù)包。
3.1.2 使用NetSim模型的結(jié)果
KNN,DT,RF和ANN模型的準(zhǔn)確度得分達(dá)到95%以上,具體結(jié)果如表1所示。
表1 模擬不同算法的準(zhǔn)確度
使用通用物聯(lián)網(wǎng)設(shè)備建立了一個(gè)簡(jiǎn)化的真實(shí)世界網(wǎng)絡(luò)。選擇以下設(shè)備進(jìn)行實(shí)驗(yàn):(1)Raspberry PI 3;(2)筆記本電腦;(3)移動(dòng)電話;(4)智能攝像頭;(5)智能電視;(6)智能火災(zāi)報(bào)警器。
在真實(shí)場(chǎng)景中,將Raspberry PI配置為網(wǎng)關(guān)和網(wǎng)絡(luò)接入點(diǎn)。Raspberry PI連接到互聯(lián)網(wǎng),并通過WiFi與其他設(shè)備通信。此外,Raspberry PI與serve相對(duì)應(yīng),后者提供設(shè)備標(biāo)識(shí)服務(wù)。如圖1所示,顯示了使用真實(shí)物聯(lián)網(wǎng)設(shè)備的設(shè)備識(shí)別模型。
圖1 使用真實(shí)設(shè)備的設(shè)備識(shí)別模型
3.2.1 算法說明
Raspberry PI 3作為網(wǎng)關(guān)和接入點(diǎn)。所有物聯(lián)網(wǎng)設(shè)備都通過WiFi連接到網(wǎng)關(guān)。此外,由于網(wǎng)關(guān)可以接收和轉(zhuǎn)發(fā)通過自身的所有流量,因此在網(wǎng)關(guān)上安裝Wireshark應(yīng)用程序來捕獲場(chǎng)景中的網(wǎng)絡(luò)數(shù)據(jù)包。將每個(gè)設(shè)備運(yùn)行3個(gè)小時(shí),并將其保存為數(shù)據(jù)包捕獲(PCAP)文件。根據(jù)物聯(lián)網(wǎng)設(shè)備的IP地址將流量信息過濾并劃分為5個(gè)PCAP文件,解析PCAP文件[5],從數(shù)據(jù)包中提取相關(guān)的網(wǎng)絡(luò)特征,并構(gòu)造特征向量。在本實(shí)驗(yàn)中,重點(diǎn)研究了傳輸控制協(xié)議(TCP)/用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。在分析PCAP文件的過程中,使用了C++編程語言,使用公式(1)計(jì)算了IAT值,并生成基于IAT的數(shù)據(jù)集。設(shè)備識(shí)別采用不同的機(jī)器學(xué)習(xí)算法。
3.2.2 使用真實(shí)設(shè)備的結(jié)果
由于支持向量機(jī)不適用于大規(guī)模高維數(shù)據(jù)集,使用KNN,DT,RF和ANN對(duì)提出的機(jī)制進(jìn)行了評(píng)估,以用于實(shí)際設(shè)備識(shí)別。KNN具有99.59%準(zhǔn)確率的最佳性能。人工神經(jīng)網(wǎng)絡(luò)在多分類中沒有表現(xiàn)出顯著的識(shí)別能力。
本文介紹了計(jì)算IAT的過程,并分析了物聯(lián)網(wǎng)設(shè)備之間IAT差異的原因,提出了一種基于IAT的無源設(shè)備指紋識(shí)別機(jī)制。該機(jī)制包括數(shù)據(jù)集構(gòu)造和設(shè)備識(shí)別,使用所提出的機(jī)制在模擬和真實(shí)環(huán)境中執(zhí)行測(cè)試。該方法在模擬環(huán)境中的平均準(zhǔn)確率為95%,在真實(shí)環(huán)境中的平均準(zhǔn)確率為99%。