郝秦霞,榮 政,謝林江,杭菲璐
(1.西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054;2.云南電網(wǎng)有限責(zé)任公司 信息中心,云南 昆明 650000)
物聯(lián)網(wǎng)技術(shù)的高速發(fā)展,方便智能設(shè)備的數(shù)據(jù)收集和交換。醫(yī)療、教育、交通、工業(yè)生產(chǎn)等領(lǐng)域部署大量的物聯(lián)網(wǎng)設(shè)備[1-4],預(yù)計到2025年,將有超過750億物聯(lián)網(wǎng)設(shè)備投入使用[5]。大規(guī)模應(yīng)用的同時,也帶來諸多問題[6-8],許多物聯(lián)網(wǎng)設(shè)備都是以低成本設(shè)計原則生產(chǎn)的,這些物聯(lián)網(wǎng)設(shè)備具有開放式設(shè)計[9],易受到網(wǎng)絡(luò)攻擊,如DDoS攻擊[10]、SQL注入攻擊[11]和高級可持續(xù)威脅攻擊[12]等。典型的案例Mirai僵尸網(wǎng)絡(luò)[13]使用大規(guī)模的DDoS攻擊美國域名解析服務(wù)提供商Dyn,使其DNS服務(wù)器大面積癱瘓。Mirai僵尸網(wǎng)絡(luò)在最初的20個小時內(nèi)感染近65 000臺物聯(lián)網(wǎng)設(shè)備,然后達(dá)到30萬數(shù)量的峰值,這其中包括DVR,IP攝像頭、路由器和打印機(jī)。新型的Hajime僵尸網(wǎng)絡(luò)[14]使用點對點(P2P)的方式進(jìn)行傳播,與Mirai相比,Hajime支持更廣泛的訪問方法,且更具有彈性。網(wǎng)絡(luò)病毒會對某個廠商的某個型號的物聯(lián)網(wǎng)設(shè)備進(jìn)行攻擊[15]。為防止這些病毒惡意傳播,要正確識別出物聯(lián)網(wǎng)設(shè)備的型號信息,對該型號的物聯(lián)網(wǎng)設(shè)備進(jìn)行補(bǔ)丁升級等防護(hù)措施。從安全防護(hù)的角度來看,發(fā)現(xiàn)并識別網(wǎng)絡(luò)空間的物聯(lián)網(wǎng)設(shè)備具體型號是防止它們被破壞和利用的先決條件。
國內(nèi)外學(xué)者針對流量指紋識別物聯(lián)網(wǎng)設(shè)備,開展了大量的研究工作。IoT SENTINEL是最早使用流量特征來識別物聯(lián)網(wǎng)設(shè)備的方法,每個數(shù)據(jù)包選取23個流量特征,共接收N個數(shù)據(jù)包。每個設(shè)備生成N*23的特征矩陣,運(yùn)用機(jī)器學(xué)習(xí)訓(xùn)練模型并進(jìn)行預(yù)測[16]。MEIDAN等收集9個不同物聯(lián)網(wǎng)設(shè)備的流量數(shù)據(jù)特征,利用監(jiān)督學(xué)習(xí)訓(xùn)練多階段多分類模型,整體分類模型精度為99.2%,此方法只能識別到物聯(lián)網(wǎng)設(shè)備類型,而無法精確到設(shè)備的具體型號,分類精度低,給下一階段的安全防護(hù)增加困難[17]。KOSTAS等提出的IoTDevID通過分析并計算網(wǎng)絡(luò)數(shù)據(jù)包中每個特征的權(quán)重值,用遺傳算法選取特征池中52個特征子集構(gòu)建特征向量,運(yùn)用機(jī)器學(xué)習(xí)算法訓(xùn)練模型,在不同測試集上均提高準(zhǔn)確率[18]。HASAN等在開源數(shù)據(jù)集Kaggle使用分布式智能空間編排系統(tǒng)(DS2OS)創(chuàng)建一個虛擬物聯(lián)網(wǎng)環(huán)境,用于生成合成數(shù)據(jù),并通過對比不同機(jī)器學(xué)習(xí)模型的效果,得出隨機(jī)森林模型識別的準(zhǔn)確性最好,為99.4%[19]。NGUYEN等提出的D?oT通過將網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)化為語言符號,用于檢測異常的物聯(lián)網(wǎng)設(shè)備,是第1個將聯(lián)合學(xué)習(xí)方法用于基于異常檢測的入侵檢測的系統(tǒng)。通過評估30多個物聯(lián)網(wǎng)設(shè)備,證明在檢測被Mirai惡意軟件破壞的物聯(lián)網(wǎng)識別設(shè)備方面是非常有效的,檢測率為95.6%,并將其部署到真實的智能家居中[20]。YANG等根據(jù)應(yīng)用層不同協(xié)議返回的數(shù)據(jù)文本,按單詞出現(xiàn)頻率排序,選取前30 000個單詞,搭配網(wǎng)絡(luò)層和傳輸層的流量特征,作為神經(jīng)網(wǎng)絡(luò)的輸入訓(xùn)練模型,在測試集結(jié)果為94%的準(zhǔn)確率和95%的召回率[21]。
上述方法都需要依靠先驗知識進(jìn)行特征工程,即提取、選擇和調(diào)整特征,部分特征需要領(lǐng)域?qū)<覜Q策。流量傳輸受網(wǎng)絡(luò)時延和偏移誤差累計影響較大,且識別粒度較低,無法識別出設(shè)備的型號,識別范圍局限于少數(shù)廠商。結(jié)合主動探測的特點及流量指紋識別存在的缺陷,提出基于Bi-LSTM的在線物聯(lián)網(wǎng)設(shè)備的識別方法,改進(jìn)了指紋提取方式,向目標(biāo)地址的7種常用協(xié)議端口進(jìn)行探測,將返回的報文經(jīng)過TF-IDF算法特征降維得到應(yīng)用層報文指紋,帶入到廠商識別模塊得到設(shè)備廠商。運(yùn)用爬蟲技術(shù)建立型號知識庫,通過正則表達(dá)式技術(shù)過濾出報文中可能是型號的字段,結(jié)合Jaro-Winkler文本匹配算法[22]得出設(shè)備型號和設(shè)備類型。
二階段在線物聯(lián)網(wǎng)設(shè)備識別框架如圖1所示,由預(yù)處理模塊、基于Bi-LSTM神經(jīng)網(wǎng)絡(luò)的物聯(lián)網(wǎng)設(shè)備廠商識別模塊、基于Jaro-Winkler算法的設(shè)備型號識別模塊組成。
圖1 二階段在線物聯(lián)網(wǎng)設(shè)備識別框架Fig.1 Two-stage identification framework of online IoT device
1)預(yù)處理模塊。對于HTTP協(xié)議提取HTML頁面源碼;對于非HTTP協(xié)議提取banner信息。提取的信息均以文本型保存,利用特征詞庫實現(xiàn)文本型向數(shù)值型轉(zhuǎn)換的特征詞映射。解析協(xié)議源碼后刪除視頻、音頻文件,去除停用詞。
2)基于Bi-LSTM神經(jīng)網(wǎng)絡(luò)的物聯(lián)網(wǎng)設(shè)備廠商識別模塊。為過濾無用詞,減少樣本的特征維度,提高模型的訓(xùn)練速度和識別精度,采用TF-IDF文本挖掘算法,將輸入樣本經(jīng)特征降維后轉(zhuǎn)化為詞向量。鑒于Bi-LSTM神經(jīng)網(wǎng)絡(luò)能夠捕獲長遠(yuǎn)上下文信息,在文本分類任務(wù)上表現(xiàn)出色,將詞向量通過Bi-LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,輸出結(jié)果為設(shè)備廠商。
3)基于Jaro-Winkler算法的設(shè)備型號識別模塊。通過爬蟲構(gòu)建三元組<廠商-型號-設(shè)備類型>產(chǎn)品知識庫。篩選已明確的廠商型號字段構(gòu)建案例庫,將待匹配的物聯(lián)網(wǎng)設(shè)備的型號字段通過Jaro-Winkler算法與案例知識進(jìn)行相似度計算,比較得出該物聯(lián)網(wǎng)設(shè)備的型號、設(shè)備類型。
在HTTP協(xié)議中,在線物聯(lián)網(wǎng)設(shè)備應(yīng)用層返回的響應(yīng)數(shù)據(jù)通常包含與廠商高度相關(guān)的內(nèi)容,如<TITLE>TL-MR30XX</TITLE>,<meta name=“description”content=“WVC54GXX”>,標(biāo)簽含有廠商和設(shè)備型號信息,組成應(yīng)用層指紋,且唯一標(biāo)識設(shè)備。
解析不同廠商設(shè)備登錄頁面的DOM樹結(jié)構(gòu),統(tǒng)計標(biāo)簽特征和標(biāo)簽數(shù)量,如圖2所示。
圖2 不同型號設(shè)備頁面標(biāo)簽特征統(tǒng)計Fig.2 Page label feature statistics of different models of devices
從圖2可以看出,廠商D-LINK、HUAWEI和CISCO在標(biāo)簽特征<div>個數(shù)、<meta>個數(shù)、<script>個數(shù)、<img>個數(shù)、<table>個數(shù)上存在明顯差異,而同為CISCO的設(shè)備僅在<div>標(biāo)簽數(shù)量上不同,其他標(biāo)簽特征完全一致,表明相同廠商設(shè)備管理頁面的布局具有相似性,而不同廠商設(shè)備管理頁面的布局有較大差異,這些差異可以作為識別物聯(lián)網(wǎng)設(shè)備的依據(jù)。
一些設(shè)備存在不同端口使用不同協(xié)議,因而將同一IP不同端口返回的報文數(shù)據(jù)分配相同標(biāo)簽,增加數(shù)據(jù)集的多樣性。文本樣式以全英文小寫,預(yù)處理公式,見式(1)。
式中 Tl為分詞后的樣本;Te為文本T以英文空格為間隔轉(zhuǎn)化為字符串集合,Te={t1,t2,t3,…,tn},其中n為分詞個數(shù)。S={s1,s2,s3,…,sn}為停用詞集合,包括標(biāo)點符號、“is”、“the”這些沒有冗余的單詞、自定義去除的單詞。
分析7種應(yīng)用層協(xié)議返回信息,7種協(xié)議和常用端口見表1。
表1 常用協(xié)議及對應(yīng)端口Table 1 Common protocols and corresponding ports
從表1可以看出,HTTP協(xié)議常用的端口數(shù)量最多,這是由于廠商為了方便用戶設(shè)備管理和權(quán)限登錄,使用HTTP協(xié)議開放管理頁面。限篇幅原因文中只對HTTP協(xié)議數(shù)據(jù)處理過程進(jìn)行分析。
預(yù)處理后的樣本經(jīng)TF-IDF算法降維后轉(zhuǎn)為數(shù)值型詞向量,作為模型輸入。利用Bi-LSTM神經(jīng)網(wǎng)絡(luò)構(gòu)建廠商識別模塊,輸出結(jié)果為設(shè)備廠商。
3.1.1 TF-IDF算法降維
TF-IDF(Term Frequency-Inverse Document Frequency)是一種統(tǒng)計方法,用于評估單詞對于樣本或樣本集合的重要程度。TF-IDF主要由TF和IDF兩部分組成。設(shè)樣本集合為T,ti為集合T中第i個樣本。詞cij的詞頻公式,見式(2)。
式中 nij為單詞j在樣本i中出現(xiàn)的次數(shù);∑ni為ti的單詞總數(shù)。逆向文本頻率公式,見式(3)。
式中 |T|為樣本集合中的樣本總數(shù),|{i:cj∈ti}|為包含詞語j的樣本數(shù)。最終單詞的TF-IDF權(quán)重,見式(4)。
式中 wij越大,表示單詞在樣本集中越重要。
當(dāng)在線物聯(lián)網(wǎng)設(shè)備返回的報文數(shù)據(jù)量較大,預(yù)處理后仍存在冗余字符串,且這些字符串的權(quán)重小、貢獻(xiàn)度低,增加特征向量的維度,導(dǎo)致出現(xiàn)過擬合現(xiàn)象,模型性能下降。將TF-IDF算法加入詞向量轉(zhuǎn)化過程中,計算單詞在數(shù)據(jù)集中的權(quán)重值,過濾掉低于閾值θ的無用詞,減少樣本的特征維度,提高模型的訓(xùn)練速度和識別精度。完整的流程如算法1所示。
算法1 基于TF-IDF的詞向量轉(zhuǎn)換
輸入:樣本集合T;樣本總數(shù)N;閾值θ;詞向量維度k;詞向量個數(shù)m;特征詞列表H_List。
輸出:樣集合本的詞向量Tword
1:INIT H_List←?
2:for each sample from T do
3: for each word from sample do
4: ws,w←tfsmaple,word*idfword
5: if ws,w>θthen
6: H_List.add(word)
7: else
8: continue
9: end for
10:end for
11:H_List去重,然后按入庫先后順序為每個單詞增加索
引,轉(zhuǎn)換為字典類型D_List
12:H_List.add(0:”unk”)
13:H_List.add(1:”pad”)
14:for each sample from T do
15: sample.word←D_List[word]
16:end for
17:如果樣本的單詞數(shù)量超過m,取前m個單詞;如果單詞數(shù)量少于m,用1填充到m。將每個數(shù)字轉(zhuǎn)化為隨機(jī)生成的k維的向量。
18:return Tword
算法1得到的Tword為大小為n×m×k,其中n為樣本數(shù)量,m為一個樣本的分詞數(shù)量,k為詞向量的長度。將Tword作為廠商識別模塊的輸入,用于訓(xùn)練模型。
HTTP協(xié)議文本數(shù)據(jù)樣本處理前后對如圖3所示,基于HTTP協(xié)議得到“CISCOEPC3825”設(shè)備報文的內(nèi)容,將分詞處理后的樣本經(jīng)TF-IDF降維,得到最終樣本。
圖3 HTTP協(xié)議文本數(shù)據(jù)處理前后對比Fig.3 Comparison of HTTP protocol text data before and after processing
3.1.2 基于Bi-LSTM神經(jīng)網(wǎng)絡(luò)的廠商識別模塊
轉(zhuǎn)換后的詞向量作為廠商識別模塊的輸入樣本,LSTM[23]為RNN[24]的改進(jìn)結(jié)構(gòu)解決了處理較長時間序列時梯度消失問題,但只能學(xué)習(xí)單方向的特征。Bi-LSTM通過將前向特征和后向特征反饋到輸出層,同時學(xué)習(xí)過去和未來時刻元素對當(dāng)前時刻元素的關(guān)系,在文本分類任務(wù)上表現(xiàn)出色。
廠商識別模塊由Bi-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合3層全連接層構(gòu)成。Bi-LSTM神經(jīng)網(wǎng)絡(luò)公式,見式(5)~式(7)。
式中 hf為正向隱藏層狀態(tài);hb為反向隱藏層狀態(tài);y為hf和hb拼接后的最后輸出。
全連接層之間使用Tanh激活函數(shù)作非線性變換,模型收斂速度更快,函數(shù)公式,見式(8)。
輸入向量經(jīng)Tanh函數(shù)計算后,映射至(0,1),最后1層全連接層接Softmax函數(shù)輸出設(shè)備廠商的類別,函數(shù)公式,見式(9)。
式中 zi為第i個類的輸出值;C為類的數(shù)量。完整的模型架構(gòu)如圖4所示。
圖4 廠商識別模塊網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure of manufacturer identification module
為防止不法分子針對具體型號設(shè)備進(jìn)行攻擊,還需進(jìn)一步識別設(shè)備型號,以便與漏洞做更精準(zhǔn)的關(guān)聯(lián)分析,在漏洞爆發(fā)時及時制定相應(yīng)的防護(hù)措施。
Jaro-Winkler算法是Jaro度量標(biāo)準(zhǔn)的改進(jìn)。對于2個給定的字符串s1和s2,Jaro距離dj計算公式,見式(10)。
式中 m為s1,s1匹配的字符數(shù)量;|si|為字符串si的長度;t為字符需要轉(zhuǎn)化的次數(shù)。匹配窗口公式,見式(11)。
當(dāng)2個字符相同且它們之間的距離小于ω時,認(rèn)為這2個字符是匹配的。Jaro-Winkler距離dw定義,見式(12)。
式中 l為前綴部分匹配的長度;p為范圍因子常量,用來調(diào)整l的權(quán)重,默認(rèn)值為0.1。當(dāng)Jaro距離陷入停滯時,Jaro-Winkler算法可以對Jaro距離進(jìn)行調(diào)整。它的取值范圍為[0,1],越接近1,表示兩段字符串相似度越高。
利用爬蟲技術(shù)獲取廠商官網(wǎng)產(chǎn)品介紹構(gòu)建物聯(lián)網(wǎng)設(shè)備知識庫,詳細(xì)信息見表2,其中廠商、設(shè)備型號和設(shè)備類型均為字符串類型。
表2 型號知識庫及屬性值Table 2 Model knowledge base and attribute values
使用Jaro-Winkler算法計算型號待匹配字段與案例的相似度,確定物聯(lián)網(wǎng)設(shè)備的型號,設(shè)備類型也隨之確定。設(shè)備型號字段通常由數(shù)字或字母加數(shù)字的組合形式,例如Cisco 1841,Axis Q7424-R,運(yùn)用正則表達(dá)式技術(shù)(^[a-z]+\d{1,5}|\d{1,4}$|^\d+[a-z])抓取樣本頁面中可能是型號的字段進(jìn)行相似度匹配,流程如算法2所示。
算法2設(shè)備型號匹配
輸入:待確定的型號詞列表M_List;產(chǎn)品知識庫Dm,廠商m;閾值δ
輸出:樣本的設(shè)備型號model_true
1:INIT model_List←?,item_List←?
2:for each item from M_List do
3: for each model from Dmdo
4: jw←Jaro-Winkler(item,model)
5: model_List.add([jw,model])
6: end for
7: item_List.add(max(model_list))
8:end for
9:temp←max(item_List)
10:if temp[jw]>δthen
11: model_true←temp[model]
12:else
13: model_true←?
14:return model_true
輸出結(jié)果得到的model_true為匹配到的該設(shè)備的型號信息,model_true為空表示匹配失敗。
數(shù)據(jù)集來源于Zmap[25]掃描工具探測IPv4地址空間,對于存活的IP地址,向7種協(xié)議的常用端口發(fā)送請求數(shù)據(jù)包,共解析了10 400條報文數(shù)據(jù)并打上標(biāo)簽。數(shù)據(jù)集中包含10種設(shè)備類型,15個廠商的800種型號設(shè)備。其中80%的數(shù)據(jù)集作為訓(xùn)練集,20%的數(shù)據(jù)集作為測試集。
硬件環(huán)境為Windows 10操作系統(tǒng),內(nèi)存16GB,Intel Core i5-1135G7@2.40 GHz,軟件環(huán)境為Pycharm 2021版本,Pytorch框架。
從準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、和F1-score來評價模型的性能。各指標(biāo)公式,見式(13)~式(16)。
式中 TP為正類判定為正類;FP為負(fù)類判定為正類;FN為正類判定為負(fù)類;TN為負(fù)類判定為負(fù)類。精確率表示正確預(yù)測為正的占全部預(yù)測為正的比例,越高越好。召回率表示正確預(yù)測為正的占全部實際為正的比例,越高越好。F1-score是衡量分類性能的一種綜合指標(biāo)。
4.4.1 廠商識別結(jié)果分析
設(shè)置訓(xùn)練集與測試集數(shù)量比為4∶1,訓(xùn)練次數(shù)為400次,模型每訓(xùn)練4次測試1次。取詞向量維度k=10,30,60,100進(jìn)行訓(xùn)練和測試[26],結(jié)果如圖5所示。
圖5 訓(xùn)練集與測試集損失函數(shù)Fig.5 Loss function between training set and test set
從圖5可以看出,k=10時,訓(xùn)練集損失函數(shù)收斂速度最慢,在訓(xùn)練次數(shù)為400次左右達(dá)到收斂,在測試集上損失函數(shù)最大,這是因為詞向量維度太小,導(dǎo)致樣本之間差異性較弱,機(jī)器需要學(xué)習(xí)更多的次數(shù);k=30時損失函數(shù)在訓(xùn)練次數(shù)為200次左右達(dá)到收斂,測試集損失函數(shù)波動較為明顯;k=60時,在訓(xùn)練集和測試集上均最先達(dá)到收斂;k=100時,損失函數(shù)收斂速度降低,這是因為詞向量維度過高導(dǎo)致模型復(fù)雜度增加,但損失函數(shù)曲線波動最小,模型更加穩(wěn)定。
4.4.2 Bi-LSTM神經(jīng)網(wǎng)絡(luò)參數(shù)調(diào)優(yōu)
設(shè)置與4.4.1一致,結(jié)果如圖6所示,通過結(jié)果分析參數(shù)k與訓(xùn)練次數(shù)的選取。
圖6 k取值大小與分類性能關(guān)系Fig.6 Relationship between the value of k and the classification performance
從圖6可以看出,隨著訓(xùn)練次數(shù)的增加,所有參數(shù)的模型精確率、召回率不斷提高,然后逐漸趨于收斂。k=10時,在訓(xùn)練400次左右曲線達(dá)到收斂,此時精確率達(dá)到最高為92.3%,召回率為90.5%,F(xiàn)1-score值為0.91;k=30時,曲線在訓(xùn)練280次達(dá)到收斂,此時精確率為96.4%,召回率為95.2%,F(xiàn)1-score值為0.95;k=60時,曲線在訓(xùn)練120次達(dá)到收斂,在4條曲線中最先達(dá)到收斂,此時精確率為98.9%,召回率為98.6%,F(xiàn)1-score值為0.99;k=100時,在訓(xùn)練140次時達(dá)到收斂,精確率為99.3%,召回率為97.3%,F(xiàn)1-score值為0.98,曲線波動范圍最小。詞向量維度越小在向量空間中越密集,需要更多的訓(xùn)練次數(shù)來達(dá)到收斂;隨著詞向量維度增加,模型的穩(wěn)定性增強(qiáng);詞向量維度過大時將導(dǎo)致計算量指數(shù)級上升,訓(xùn)練時間也隨之增加。
綜合考慮,取k=60,訓(xùn)練次數(shù)為150來訓(xùn)練廠商識別模型,此時訓(xùn)練次數(shù)和模型性能最均衡。
4.4.3 型號識別結(jié)果分析
在型號匹配模塊中,匹配閾值δ決定模型的匹配精度。當(dāng)匹配結(jié)果的可信值大于閾值時,視為匹配成功;否則,視為無法匹配。δ取值過小時,會得到非型號字段的干擾詞,模型的準(zhǔn)確率降低;當(dāng)δ取值過大時,匹配失敗的樣例會增加,模型整體的性能降低。因此,需要找到閾值最佳的平衡點。δ取值和模型性能的關(guān)系如圖7所示。
圖7 閾值大小與模型性能關(guān)系Fig.7 Relationship between threshold and model performance
從圖7可以看出,隨著閾值δ從0.9增加到0.96,模型的準(zhǔn)確率和召回率不斷增加,在δ=0.96時達(dá)到最大值,此時準(zhǔn)確率為98.8%,召回率為96.5%。之后隨著閾值的增加,準(zhǔn)確率和召回率逐漸減小。當(dāng)δ=1時,模型的性能表現(xiàn)最差,這是因為閾值設(shè)置過高時,型號匹配的要求更加嚴(yán)格,導(dǎo)致包含正確型號字段被過濾掉,使得模型整體性能變差。綜合考慮取δ值為0.96,此時準(zhǔn)確率和召回率達(dá)到峰值,模型的整體性能最佳。
4.4.4 方法對比
將提出的方法與IoT SENTINEL[16]、IoTDevID聚合和IoTDevID混合模式[18]從平均準(zhǔn)確率、識別粒度、識別范圍和時間開銷4個方面進(jìn)行對比。IoT SENTINEL從每個設(shè)備的前12個數(shù)據(jù)包中提取的23個流量特征,作為設(shè)備的唯一指紋。IoTDevID通過使用遺傳算法從52個候選流量特征中挑選性能更高的特征子集來降低模型的計算開銷。比較結(jié)果見表3。
表3 不同方法性能對比Table 3 Performance comparison of different methods
從表3可以看出,在平均準(zhǔn)確率方面文章提出的方法表現(xiàn)最好,平均準(zhǔn)確率為98.8%;IoTDevID在2種模式下通過重新組合流量指紋,得到最優(yōu)特征子集,提高了算法的準(zhǔn)確率,分別為94.3%和94.1%;IoT SENTINEL由于存在地址沖突問題,性能與其他方法差距較大,僅為81.5%。在識別粒度方面,提出的二階段識別框架識別細(xì)粒度最高,知識庫800個設(shè)備型號中,識別出型號的占778個,約占97%;IoT SENTINEL和IoTDevID采用流量指紋的方式,前者在27種流量中只能識別出4種設(shè)備型號,后者只能識別到廠商粒度。時間開銷方面,IoT SENTINEL沒有進(jìn)行額外的預(yù)處理,算法整體開銷最小,約為0.15 s;IoTDevID由于加入了遺傳算法增加了時間開銷,約為0.5 s;文章構(gòu)建型號知識庫擴(kuò)大識別范圍到800個物聯(lián)網(wǎng)設(shè)備,分別比其他方法多773個和769個,識別型號時需要額外開銷,但識別細(xì)粒度得到有效提升。
1)改進(jìn)指紋提取方法,提取應(yīng)用層報文特征生成設(shè)備指紋以識別在線物聯(lián)網(wǎng)設(shè)備。試驗證明該方法準(zhǔn)確率為98.8%,召回率為96.5%,與其他方法相比平均識別準(zhǔn)確率提升4.7%。
2)提出的二階段在線物聯(lián)網(wǎng)設(shè)備識別框架細(xì)化了設(shè)備識別粒度,利用Bi-LSTM 神經(jīng)網(wǎng)絡(luò)加Jaro-Winkler算法,在有效識別設(shè)備廠商后進(jìn)一步判別設(shè)備型號和設(shè)備類型。試驗證明該方法在數(shù)據(jù)集中正確識別出97%的設(shè)備型號。
3)構(gòu)建物聯(lián)網(wǎng)設(shè)備型號知識庫,用于存儲設(shè)備型號、設(shè)備類型等物聯(lián)網(wǎng)設(shè)備信息。知識庫可擴(kuò)展性強(qiáng),通過將新設(shè)備信息添加入到庫中,有效解決識別范圍受限問題。