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

表1 模擬不同算法的準確度
使用通用物聯網設備建立了一個簡化的真實世界網絡。選擇以下設備進行實驗:(1)Raspberry PI 3;(2)筆記本電腦;(3)移動電話;(4)智能攝像頭;(5)智能電視;(6)智能火災報警器。
在真實場景中,將Raspberry PI配置為網關和網絡接入點。Raspberry PI連接到互聯網,并通過WiFi與其他設備通信。此外,Raspberry PI與serve相對應,后者提供設備標識服務。如圖1所示,顯示了使用真實物聯網設備的設備識別模型。

圖1 使用真實設備的設備識別模型
3.2.1 算法說明
Raspberry PI 3作為網關和接入點。所有物聯網設備都通過WiFi連接到網關。此外,由于網關可以接收和轉發通過自身的所有流量,因此在網關上安裝Wireshark應用程序來捕獲場景中的網絡數據包。將每個設備運行3個小時,并將其保存為數據包捕獲(PCAP)文件。根據物聯網設備的IP地址將流量信息過濾并劃分為5個PCAP文件,解析PCAP文件[5],從數據包中提取相關的網絡特征,并構造特征向量。在本實驗中,重點研究了傳輸控制協議(TCP)/用戶數據報協議(UDP)。在分析PCAP文件的過程中,使用了C++編程語言,使用公式(1)計算了IAT值,并生成基于IAT的數據集。設備識別采用不同的機器學習算法。
3.2.2 使用真實設備的結果
由于支持向量機不適用于大規模高維數據集,使用KNN,DT,RF和ANN對提出的機制進行了評估,以用于實際設備識別。KNN具有99.59%準確率的最佳性能。人工神經網絡在多分類中沒有表現出顯著的識別能力。
本文介紹了計算IAT的過程,并分析了物聯網設備之間IAT差異的原因,提出了一種基于IAT的無源設備指紋識別機制。該機制包括數據集構造和設備識別,使用所提出的機制在模擬和真實環境中執行測試。該方法在模擬環境中的平均準確率為95%,在真實環境中的平均準確率為99%。