999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Bi-LSTM 的在線物聯網設備識別方法

2023-05-17 06:31:34郝秦霞謝林江杭菲璐
西安科技大學學報 2023年2期
關鍵詞:特征設備模型

郝秦霞,榮 政,謝林江,杭菲璐

(1.西安科技大學 通信與信息工程學院,陜西 西安 710054;2.云南電網有限責任公司 信息中心,云南 昆明 650000)

0 引 言

物聯網技術的高速發展,方便智能設備的數據收集和交換。醫療、教育、交通、工業生產等領域部署大量的物聯網設備[1-4],預計到2025年,將有超過750億物聯網設備投入使用[5]。大規模應用的同時,也帶來諸多問題[6-8],許多物聯網設備都是以低成本設計原則生產的,這些物聯網設備具有開放式設計[9],易受到網絡攻擊,如DDoS攻擊[10]、SQL注入攻擊[11]和高級可持續威脅攻擊[12]等。典型的案例Mirai僵尸網絡[13]使用大規模的DDoS攻擊美國域名解析服務提供商Dyn,使其DNS服務器大面積癱瘓。Mirai僵尸網絡在最初的20個小時內感染近65 000臺物聯網設備,然后達到30萬數量的峰值,這其中包括DVR,IP攝像頭、路由器和打印機。新型的Hajime僵尸網絡[14]使用點對點(P2P)的方式進行傳播,與Mirai相比,Hajime支持更廣泛的訪問方法,且更具有彈性。網絡病毒會對某個廠商的某個型號的物聯網設備進行攻擊[15]。為防止這些病毒惡意傳播,要正確識別出物聯網設備的型號信息,對該型號的物聯網設備進行補丁升級等防護措施。從安全防護的角度來看,發現并識別網絡空間的物聯網設備具體型號是防止它們被破壞和利用的先決條件。

國內外學者針對流量指紋識別物聯網設備,開展了大量的研究工作。IoT SENTINEL是最早使用流量特征來識別物聯網設備的方法,每個數據包選取23個流量特征,共接收N個數據包。每個設備生成N*23的特征矩陣,運用機器學習訓練模型并進行預測[16]。MEIDAN等收集9個不同物聯網設備的流量數據特征,利用監督學習訓練多階段多分類模型,整體分類模型精度為99.2%,此方法只能識別到物聯網設備類型,而無法精確到設備的具體型號,分類精度低,給下一階段的安全防護增加困難[17]。KOSTAS等提出的IoTDevID通過分析并計算網絡數據包中每個特征的權重值,用遺傳算法選取特征池中52個特征子集構建特征向量,運用機器學習算法訓練模型,在不同測試集上均提高準確率[18]。HASAN等在開源數據集Kaggle使用分布式智能空間編排系統(DS2OS)創建一個虛擬物聯網環境,用于生成合成數據,并通過對比不同機器學習模型的效果,得出隨機森林模型識別的準確性最好,為99.4%[19]。NGUYEN等提出的D?oT通過將網絡數據包轉化為語言符號,用于檢測異常的物聯網設備,是第1個將聯合學習方法用于基于異常檢測的入侵檢測的系統。通過評估30多個物聯網設備,證明在檢測被Mirai惡意軟件破壞的物聯網識別設備方面是非常有效的,檢測率為95.6%,并將其部署到真實的智能家居中[20]。YANG等根據應用層不同協議返回的數據文本,按單詞出現頻率排序,選取前30 000個單詞,搭配網絡層和傳輸層的流量特征,作為神經網絡的輸入訓練模型,在測試集結果為94%的準確率和95%的召回率[21]。

上述方法都需要依靠先驗知識進行特征工程,即提取、選擇和調整特征,部分特征需要領域專家決策。流量傳輸受網絡時延和偏移誤差累計影響較大,且識別粒度較低,無法識別出設備的型號,識別范圍局限于少數廠商。結合主動探測的特點及流量指紋識別存在的缺陷,提出基于Bi-LSTM的在線物聯網設備的識別方法,改進了指紋提取方式,向目標地址的7種常用協議端口進行探測,將返回的報文經過TF-IDF算法特征降維得到應用層報文指紋,帶入到廠商識別模塊得到設備廠商。運用爬蟲技術建立型號知識庫,通過正則表達式技術過濾出報文中可能是型號的字段,結合Jaro-Winkler文本匹配算法[22]得出設備型號和設備類型。

1 二階段在線物聯網設備識別框架

二階段在線物聯網設備識別框架如圖1所示,由預處理模塊、基于Bi-LSTM神經網絡的物聯網設備廠商識別模塊、基于Jaro-Winkler算法的設備型號識別模塊組成。

圖1 二階段在線物聯網設備識別框架Fig.1 Two-stage identification framework of online IoT device

1)預處理模塊。對于HTTP協議提取HTML頁面源碼;對于非HTTP協議提取banner信息。提取的信息均以文本型保存,利用特征詞庫實現文本型向數值型轉換的特征詞映射。解析協議源碼后刪除視頻、音頻文件,去除停用詞。

2)基于Bi-LSTM神經網絡的物聯網設備廠商識別模塊。為過濾無用詞,減少樣本的特征維度,提高模型的訓練速度和識別精度,采用TF-IDF文本挖掘算法,將輸入樣本經特征降維后轉化為詞向量。鑒于Bi-LSTM神經網絡能夠捕獲長遠上下文信息,在文本分類任務上表現出色,將詞向量通過Bi-LSTM神經網絡進行訓練,輸出結果為設備廠商。

3)基于Jaro-Winkler算法的設備型號識別模塊。通過爬蟲構建三元組<廠商-型號-設備類型>產品知識庫。篩選已明確的廠商型號字段構建案例庫,將待匹配的物聯網設備的型號字段通過Jaro-Winkler算法與案例知識進行相似度計算,比較得出該物聯網設備的型號、設備類型。

2 數據預處理

在HTTP協議中,在線物聯網設備應用層返回的響應數據通常包含與廠商高度相關的內容,如<TITLE>TL-MR30XX</TITLE>,<meta name=“description”content=“WVC54GXX”>,標簽含有廠商和設備型號信息,組成應用層指紋,且唯一標識設備。

解析不同廠商設備登錄頁面的DOM樹結構,統計標簽特征和標簽數量,如圖2所示。

圖2 不同型號設備頁面標簽特征統計Fig.2 Page label feature statistics of different models of devices

從圖2可以看出,廠商D-LINK、HUAWEI和CISCO在標簽特征<div>個數、<meta>個數、<script>個數、<img>個數、<table>個數上存在明顯差異,而同為CISCO的設備僅在<div>標簽數量上不同,其他標簽特征完全一致,表明相同廠商設備管理頁面的布局具有相似性,而不同廠商設備管理頁面的布局有較大差異,這些差異可以作為識別物聯網設備的依據。

一些設備存在不同端口使用不同協議,因而將同一IP不同端口返回的報文數據分配相同標簽,增加數據集的多樣性。文本樣式以全英文小寫,預處理公式,見式(1)。

式中 Tl為分詞后的樣本;Te為文本T以英文空格為間隔轉化為字符串集合,Te={t1,t2,t3,…,tn},其中n為分詞個數。S={s1,s2,s3,…,sn}為停用詞集合,包括標點符號、“is”、“the”這些沒有冗余的單詞、自定義去除的單詞。

分析7種應用層協議返回信息,7種協議和常用端口見表1。

表1 常用協議及對應端口Table 1 Common protocols and corresponding ports

從表1可以看出,HTTP協議常用的端口數量最多,這是由于廠商為了方便用戶設備管理和權限登錄,使用HTTP協議開放管理頁面。限篇幅原因文中只對HTTP協議數據處理過程進行分析。

3 在線物聯網設備識別

3.1 廠商識別

預處理后的樣本經TF-IDF算法降維后轉為數值型詞向量,作為模型輸入。利用Bi-LSTM神經網絡構建廠商識別模塊,輸出結果為設備廠商。

3.1.1 TF-IDF算法降維

TF-IDF(Term Frequency-Inverse Document Frequency)是一種統計方法,用于評估單詞對于樣本或樣本集合的重要程度。TF-IDF主要由TF和IDF兩部分組成。設樣本集合為T,ti為集合T中第i個樣本。詞cij的詞頻公式,見式(2)。

式中 nij為單詞j在樣本i中出現的次數;∑ni為ti的單詞總數。逆向文本頻率公式,見式(3)。

式中 |T|為樣本集合中的樣本總數,|{i:cj∈ti}|為包含詞語j的樣本數。最終單詞的TF-IDF權重,見式(4)。

式中 wij越大,表示單詞在樣本集中越重要。

當在線物聯網設備返回的報文數據量較大,預處理后仍存在冗余字符串,且這些字符串的權重小、貢獻度低,增加特征向量的維度,導致出現過擬合現象,模型性能下降。將TF-IDF算法加入詞向量轉化過程中,計算單詞在數據集中的權重值,過濾掉低于閾值θ的無用詞,減少樣本的特征維度,提高模型的訓練速度和識別精度。完整的流程如算法1所示。

算法1 基于TF-IDF的詞向量轉換

輸入:樣本集合T;樣本總數N;閾值θ;詞向量維度k;詞向量個數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去重,然后按入庫先后順序為每個單詞增加索

引,轉換為字典類型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:如果樣本的單詞數量超過m,取前m個單詞;如果單詞數量少于m,用1填充到m。將每個數字轉化為隨機生成的k維的向量。

18:return Tword

算法1得到的Tword為大小為n×m×k,其中n為樣本數量,m為一個樣本的分詞數量,k為詞向量的長度。將Tword作為廠商識別模塊的輸入,用于訓練模型。

HTTP協議文本數據樣本處理前后對如圖3所示,基于HTTP協議得到“CISCOEPC3825”設備報文的內容,將分詞處理后的樣本經TF-IDF降維,得到最終樣本。

圖3 HTTP協議文本數據處理前后對比Fig.3 Comparison of HTTP protocol text data before and after processing

3.1.2 基于Bi-LSTM神經網絡的廠商識別模塊

轉換后的詞向量作為廠商識別模塊的輸入樣本,LSTM[23]為RNN[24]的改進結構解決了處理較長時間序列時梯度消失問題,但只能學習單方向的特征。Bi-LSTM通過將前向特征和后向特征反饋到輸出層,同時學習過去和未來時刻元素對當前時刻元素的關系,在文本分類任務上表現出色。

廠商識別模塊由Bi-LSTM神經網絡結合3層全連接層構成。Bi-LSTM神經網絡公式,見式(5)~式(7)。

式中 hf為正向隱藏層狀態;hb為反向隱藏層狀態;y為hf和hb拼接后的最后輸出。

全連接層之間使用Tanh激活函數作非線性變換,模型收斂速度更快,函數公式,見式(8)。

輸入向量經Tanh函數計算后,映射至(0,1),最后1層全連接層接Softmax函數輸出設備廠商的類別,函數公式,見式(9)。

式中 zi為第i個類的輸出值;C為類的數量。完整的模型架構如圖4所示。

圖4 廠商識別模塊網絡結構Fig.4 Network structure of manufacturer identification module

3.2 型號識別

為防止不法分子針對具體型號設備進行攻擊,還需進一步識別設備型號,以便與漏洞做更精準的關聯分析,在漏洞爆發時及時制定相應的防護措施。

Jaro-Winkler算法是Jaro度量標準的改進。對于2個給定的字符串s1和s2,Jaro距離dj計算公式,見式(10)。

式中 m為s1,s1匹配的字符數量;|si|為字符串si的長度;t為字符需要轉化的次數。匹配窗口公式,見式(11)。

當2個字符相同且它們之間的距離小于ω時,認為這2個字符是匹配的。Jaro-Winkler距離dw定義,見式(12)。

式中 l為前綴部分匹配的長度;p為范圍因子常量,用來調整l的權重,默認值為0.1。當Jaro距離陷入停滯時,Jaro-Winkler算法可以對Jaro距離進行調整。它的取值范圍為[0,1],越接近1,表示兩段字符串相似度越高。

利用爬蟲技術獲取廠商官網產品介紹構建物聯網設備知識庫,詳細信息見表2,其中廠商、設備型號和設備類型均為字符串類型。

表2 型號知識庫及屬性值Table 2 Model knowledge base and attribute values

使用Jaro-Winkler算法計算型號待匹配字段與案例的相似度,確定物聯網設備的型號,設備類型也隨之確定。設備型號字段通常由數字或字母加數字的組合形式,例如Cisco 1841,Axis Q7424-R,運用正則表達式技術(^[a-z]+\d{1,5}|\d{1,4}$|^\d+[a-z])抓取樣本頁面中可能是型號的字段進行相似度匹配,流程如算法2所示。

算法2設備型號匹配

輸入:待確定的型號詞列表M_List;產品知識庫Dm,廠商m;閾值δ

輸出:樣本的設備型號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

輸出結果得到的model_true為匹配到的該設備的型號信息,model_true為空表示匹配失敗。

4 試驗與評估

4.1 數據來源

數據集來源于Zmap[25]掃描工具探測IPv4地址空間,對于存活的IP地址,向7種協議的常用端口發送請求數據包,共解析了10 400條報文數據并打上標簽。數據集中包含10種設備類型,15個廠商的800種型號設備。其中80%的數據集作為訓練集,20%的數據集作為測試集。

4.2 運行環境

硬件環境為Windows 10操作系統,內存16GB,Intel Core i5-1135G7@2.40 GHz,軟件環境為Pycharm 2021版本,Pytorch框架。

4.3 評價指標

從準確率(Accuracy)、精確率(Precision)、召回率(Recall)、和F1-score來評價模型的性能。各指標公式,見式(13)~式(16)。

式中 TP為正類判定為正類;FP為負類判定為正類;FN為正類判定為負類;TN為負類判定為負類。精確率表示正確預測為正的占全部預測為正的比例,越高越好。召回率表示正確預測為正的占全部實際為正的比例,越高越好。F1-score是衡量分類性能的一種綜合指標。

4.4 試驗結果分析

4.4.1 廠商識別結果分析

設置訓練集與測試集數量比為4∶1,訓練次數為400次,模型每訓練4次測試1次。取詞向量維度k=10,30,60,100進行訓練和測試[26],結果如圖5所示。

圖5 訓練集與測試集損失函數Fig.5 Loss function between training set and test set

從圖5可以看出,k=10時,訓練集損失函數收斂速度最慢,在訓練次數為400次左右達到收斂,在測試集上損失函數最大,這是因為詞向量維度太小,導致樣本之間差異性較弱,機器需要學習更多的次數;k=30時損失函數在訓練次數為200次左右達到收斂,測試集損失函數波動較為明顯;k=60時,在訓練集和測試集上均最先達到收斂;k=100時,損失函數收斂速度降低,這是因為詞向量維度過高導致模型復雜度增加,但損失函數曲線波動最小,模型更加穩定。

4.4.2 Bi-LSTM神經網絡參數調優

設置與4.4.1一致,結果如圖6所示,通過結果分析參數k與訓練次數的選取。

圖6 k取值大小與分類性能關系Fig.6 Relationship between the value of k and the classification performance

從圖6可以看出,隨著訓練次數的增加,所有參數的模型精確率、召回率不斷提高,然后逐漸趨于收斂。k=10時,在訓練400次左右曲線達到收斂,此時精確率達到最高為92.3%,召回率為90.5%,F1-score值為0.91;k=30時,曲線在訓練280次達到收斂,此時精確率為96.4%,召回率為95.2%,F1-score值為0.95;k=60時,曲線在訓練120次達到收斂,在4條曲線中最先達到收斂,此時精確率為98.9%,召回率為98.6%,F1-score值為0.99;k=100時,在訓練140次時達到收斂,精確率為99.3%,召回率為97.3%,F1-score值為0.98,曲線波動范圍最小。詞向量維度越小在向量空間中越密集,需要更多的訓練次數來達到收斂;隨著詞向量維度增加,模型的穩定性增強;詞向量維度過大時將導致計算量指數級上升,訓練時間也隨之增加。

綜合考慮,取k=60,訓練次數為150來訓練廠商識別模型,此時訓練次數和模型性能最均衡。

4.4.3 型號識別結果分析

在型號匹配模塊中,匹配閾值δ決定模型的匹配精度。當匹配結果的可信值大于閾值時,視為匹配成功;否則,視為無法匹配。δ取值過小時,會得到非型號字段的干擾詞,模型的準確率降低;當δ取值過大時,匹配失敗的樣例會增加,模型整體的性能降低。因此,需要找到閾值最佳的平衡點。δ取值和模型性能的關系如圖7所示。

圖7 閾值大小與模型性能關系Fig.7 Relationship between threshold and model performance

從圖7可以看出,隨著閾值δ從0.9增加到0.96,模型的準確率和召回率不斷增加,在δ=0.96時達到最大值,此時準確率為98.8%,召回率為96.5%。之后隨著閾值的增加,準確率和召回率逐漸減小。當δ=1時,模型的性能表現最差,這是因為閾值設置過高時,型號匹配的要求更加嚴格,導致包含正確型號字段被過濾掉,使得模型整體性能變差。綜合考慮取δ值為0.96,此時準確率和召回率達到峰值,模型的整體性能最佳。

4.4.4 方法對比

將提出的方法與IoT SENTINEL[16]、IoTDevID聚合和IoTDevID混合模式[18]從平均準確率、識別粒度、識別范圍和時間開銷4個方面進行對比。IoT SENTINEL從每個設備的前12個數據包中提取的23個流量特征,作為設備的唯一指紋。IoTDevID通過使用遺傳算法從52個候選流量特征中挑選性能更高的特征子集來降低模型的計算開銷。比較結果見表3。

表3 不同方法性能對比Table 3 Performance comparison of different methods

從表3可以看出,在平均準確率方面文章提出的方法表現最好,平均準確率為98.8%;IoTDevID在2種模式下通過重新組合流量指紋,得到最優特征子集,提高了算法的準確率,分別為94.3%和94.1%;IoT SENTINEL由于存在地址沖突問題,性能與其他方法差距較大,僅為81.5%。在識別粒度方面,提出的二階段識別框架識別細粒度最高,知識庫800個設備型號中,識別出型號的占778個,約占97%;IoT SENTINEL和IoTDevID采用流量指紋的方式,前者在27種流量中只能識別出4種設備型號,后者只能識別到廠商粒度。時間開銷方面,IoT SENTINEL沒有進行額外的預處理,算法整體開銷最小,約為0.15 s;IoTDevID由于加入了遺傳算法增加了時間開銷,約為0.5 s;文章構建型號知識庫擴大識別范圍到800個物聯網設備,分別比其他方法多773個和769個,識別型號時需要額外開銷,但識別細粒度得到有效提升。

5 結 論

1)改進指紋提取方法,提取應用層報文特征生成設備指紋以識別在線物聯網設備。試驗證明該方法準確率為98.8%,召回率為96.5%,與其他方法相比平均識別準確率提升4.7%。

2)提出的二階段在線物聯網設備識別框架細化了設備識別粒度,利用Bi-LSTM 神經網絡加Jaro-Winkler算法,在有效識別設備廠商后進一步判別設備型號和設備類型。試驗證明該方法在數據集中正確識別出97%的設備型號。

3)構建物聯網設備型號知識庫,用于存儲設備型號、設備類型等物聯網設備信息。知識庫可擴展性強,通過將新設備信息添加入到庫中,有效解決識別范圍受限問題。

猜你喜歡
特征設備模型
一半模型
諧響應分析在設備減振中的應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
抓住特征巧觀察
3D打印中的模型分割與打包
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 丁香婷婷激情网| 欧美 亚洲 日韩 国产| 国产亚洲精品91| 超薄丝袜足j国产在线视频| 久久五月天国产自| 欧美日韩一区二区在线播放| 欧美激情视频二区| 亚洲最新在线| 久久综合色视频| lhav亚洲精品| 色综合国产| 亚洲欧洲日韩久久狠狠爱| 国产真实乱子伦视频播放| 亚洲精品日产AⅤ| 日本在线国产| 亚洲伊人电影| 亚洲婷婷六月| 四虎永久免费在线| 国产又粗又猛又爽视频| 538精品在线观看| 国产精品久久久久久久久kt| 美女扒开下面流白浆在线试听| 色亚洲激情综合精品无码视频| 欧美成人在线免费| 午夜性刺激在线观看免费| 97青青青国产在线播放| 狠狠亚洲婷婷综合色香| 国产成人高清精品免费软件 | 中文字幕在线不卡视频| 亚洲动漫h| 精品国产中文一级毛片在线看| 女人天堂av免费| 国产精品成人一区二区不卡| 伊人久久青草青青综合| 伊人蕉久影院| 成人午夜亚洲影视在线观看| 最新日韩AV网址在线观看| 在线观看国产精品第一区免费| 欧美全免费aaaaaa特黄在线| a亚洲视频| 成色7777精品在线| 看看一级毛片| 69视频国产| 中国一级毛片免费观看| 99在线视频精品| 91九色国产porny| 国产自在线拍| 欧美精品v欧洲精品| 欧美色视频在线| 91区国产福利在线观看午夜| 久久www视频| 91毛片网| 亚洲日韩在线满18点击进入| 亚洲av色吊丝无码| 91视频青青草| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产尤物视频在线| 蜜芽国产尤物av尤物在线看| 亚洲91精品视频| 国产精品主播| 国模私拍一区二区| 欧美一区二区三区国产精品| 色综合久久88| 天天综合网站| 久久成人国产精品免费软件| 亚洲成人动漫在线| 亚洲成a人片| av性天堂网| 中文字幕在线看| 国产精品私拍在线爆乳| 国产乱子伦手机在线| 欧美精品在线免费| 国产高清无码第一十页在线观看| av手机版在线播放| 免费AV在线播放观看18禁强制 | 国产成人亚洲毛片| 欧美黄色a| 国产成人综合久久精品尤物| 黄网站欧美内射| 天天色天天操综合网| 欧美不卡在线视频| 国产成人亚洲日韩欧美电影|