張莉紅
(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065;2.西藏藏醫(yī)藥大學(xué),拉薩850000)
物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展給我們的工作、生活和學(xué)習(xí)等都帶來了新的變革。據(jù)研究發(fā)現(xiàn)到2030年物聯(lián)網(wǎng)設(shè)備的數(shù)量將達(dá)到1250億[1],物聯(lián)網(wǎng)設(shè)備穿插于社會(huì)各個(gè)層面,為改善生活和加快社會(huì)發(fā)展做貢獻(xiàn),但同時(shí)也帶來了新的安全問題[2-4]。為了減少物聯(lián)網(wǎng)設(shè)備接入風(fēng)險(xiǎn),必須對設(shè)備進(jìn)行訪問安全控制。但是,傳統(tǒng)的互聯(lián)網(wǎng)安全訪問控制必須依賴復(fù)雜的認(rèn)證和加密協(xié)議機(jī)制來完成,不適用于計(jì)算資源有限且功能比較單一的物聯(lián)網(wǎng)設(shè)備。設(shè)備指紋識(shí)別等技術(shù)則為解決上述問題提供了新思路,通過網(wǎng)絡(luò)流量或協(xié)議報(bào)文的方式獲取設(shè)備指紋特征,能唯一標(biāo)識(shí)某一品牌類型及型號(hào)的物聯(lián)網(wǎng)設(shè)備。
機(jī)器學(xué)習(xí)算法被廣泛用于設(shè)備識(shí)別中,常常關(guān)注于提升分類模型識(shí)別的準(zhǔn)確率,而在發(fā)現(xiàn)新設(shè)備上卻沒多少進(jìn)展,本文針對上述問題,提出了一種基于Web響應(yīng)信息的物聯(lián)網(wǎng)設(shè)備指紋生成方法,能大大提升對物聯(lián)網(wǎng)設(shè)備識(shí)別的準(zhǔn)確性,并在此基礎(chǔ)上結(jié)合監(jiān)督數(shù)據(jù)提取距離閾值利用層次聚類算法發(fā)現(xiàn)新設(shè)備,適合用于大規(guī)模物聯(lián)網(wǎng)識(shí)別。
設(shè)備識(shí)別起源于上世紀(jì)90年代,依據(jù)獲取方式的劃分主要有被動(dòng)指紋識(shí)別和主動(dòng)指紋識(shí)別兩種方式,被動(dòng)指紋識(shí)別流量數(shù)據(jù)來源于監(jiān)聽,由于不向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包所以入侵小不易被發(fā)現(xiàn),但受監(jiān)聽網(wǎng)絡(luò)大小控制,識(shí)別設(shè)備僅限于監(jiān)聽網(wǎng)絡(luò)。主動(dòng)指紋識(shí)別方式主要運(yùn)用探測手段,需要發(fā)送探測數(shù)據(jù)包,會(huì)對網(wǎng)絡(luò)造成一定影響,但由于其目的性強(qiáng),準(zhǔn)確度高越來越受研究人員的青睞。
Shah等人[5]提出通過服務(wù)標(biāo)識(shí)Banner來識(shí)別Web服務(wù)器軟件信息和版本信息的方法,但由于某些設(shè)備HTTP響應(yīng)包中并不包含此信息,因此該方法在識(shí)別上有局限性。趙建軍等人[6]提出一種綜合的網(wǎng)絡(luò)空間終端識(shí)別設(shè)備框架,從Banner和Web指紋兩個(gè)角度來提取設(shè)備識(shí)別指紋,但沒有驗(yàn)證其準(zhǔn)確性。Li Q等人[7]通過設(shè)備登錄頁面的特征,提出一種GUIDE的設(shè)備識(shí)別框架,能對視頻監(jiān)控設(shè)備進(jìn)行識(shí)別,但未對識(shí)別方法和效果進(jìn)行詳細(xì)討論。Yang等人[8]通過對大量網(wǎng)絡(luò)流量分析總結(jié)出一系列特征來進(jìn)行設(shè)備識(shí)別,但由于涉及多層報(bào)文的提取不適用于大規(guī)模物聯(lián)網(wǎng)識(shí)別。
隨著設(shè)備識(shí)別方法的不斷總結(jié)提出,如何用最簡單有效的特征提取方法在有線標(biāo)的設(shè)備中發(fā)現(xiàn)無標(biāo)的設(shè)備是本文研究的重點(diǎn)。本文從物聯(lián)網(wǎng)設(shè)備為方便用戶使用都會(huì)開放Web管理服務(wù)這一前提出發(fā),采集HTTP報(bào)文響應(yīng)信息提取有效特征的方法進(jìn)行物聯(lián)網(wǎng)設(shè)備分類識(shí)別,分類準(zhǔn)確率達(dá)到99.6%,并結(jié)合帶閾值的層次聚類來發(fā)現(xiàn)新設(shè)備。
本文提出的基于Web信息的物聯(lián)網(wǎng)設(shè)備指紋生成識(shí)別框架如圖1所示。
圖1 基于Web信息的物聯(lián)網(wǎng)設(shè)備指紋生成框架
(1)特征提取模塊。特征提取模塊從本地網(wǎng)絡(luò)向遠(yuǎn)端網(wǎng)絡(luò)發(fā)送探測包獲取開放端口及協(xié)議的遠(yuǎn)端IP地址及端口號(hào)存入數(shù)據(jù)庫,向數(shù)據(jù)庫中的所有地址發(fā)送HTTP-get請求,獲取到每個(gè)地址的響應(yīng)信息,同時(shí)隨機(jī)提取一部分地址設(shè)備進(jìn)行物聯(lián)網(wǎng)設(shè)備和非物聯(lián)網(wǎng)設(shè)備標(biāo)記并用人工方式進(jìn)行驗(yàn)證。通過卡方校驗(yàn)物聯(lián)網(wǎng)設(shè)備和非物聯(lián)網(wǎng)設(shè)備的響應(yīng)信息,提取固定格式的特征向量作為設(shè)備指紋,為后續(xù)分類識(shí)別打好基礎(chǔ)。
(2)分類器選擇模塊。分析現(xiàn)有機(jī)器學(xué)習(xí)中的多分類器,對于不同特征提取適用的分類器不一樣,因此我們在這個(gè)模塊中選取四類常用多分類器來對標(biāo)記設(shè)備進(jìn)行分類識(shí)別,最終選擇分類器效果最好的分類器作為我們的目標(biāo)多分類器,并比較其他文獻(xiàn)采集特征的分類準(zhǔn)確性,證明我們特征提取的有效性。
(3)發(fā)現(xiàn)新設(shè)備模塊。利用有監(jiān)督的數(shù)據(jù)設(shè)置閾值用層次聚類的方法在導(dǎo)入的數(shù)據(jù)集中又發(fā)現(xiàn)上百種新設(shè)備類型。
(1)設(shè)備發(fā)現(xiàn)數(shù)據(jù)獲?。贺?fù)責(zé)在指定IPv4地址空間內(nèi)進(jìn)行端口掃描,獲得開放Web服務(wù)的無標(biāo)記設(shè)備的IP地址集,向地址集中所有地址發(fā)送HTTP-get請求,獲得響應(yīng)狀態(tài)碼為200ok的完整的響應(yīng)信息作為原始待處理樣本信息。具體采集到兩部分信息,形式如圖2所示。
圖2 左部為響應(yīng)頭部信息右部為響應(yīng)主體信息
(2)提取統(tǒng)計(jì)特征:物聯(lián)網(wǎng)設(shè)備服務(wù)器經(jīng)常采用一些公用的輕型網(wǎng)絡(luò)服務(wù)器,如micro_httpd、lighttpd、Boa/0.93.15等,而某些物聯(lián)網(wǎng)設(shè)備廠商則會(huì)在此嵌入與設(shè)備品牌型號(hào)相關(guān)的信息,因此可以通過Server字段初略的判定某些設(shè)備的品牌類型或排除掉一些非物聯(lián)網(wǎng)設(shè)備,利用正則表達(dá)式提取頭部Server字段、主體title信息以及頁面版權(quán)信息等標(biāo)識(shí)物聯(lián)網(wǎng)和非物聯(lián)網(wǎng)設(shè)備集,隨機(jī)提取物聯(lián)網(wǎng)設(shè)備集中部分設(shè)備通過人工鑒定的方式為其打上品牌類型型號(hào)標(biāo)簽,完成有標(biāo)記設(shè)備采集。通過觀察比較物聯(lián)網(wǎng)設(shè)備響應(yīng)頭部字節(jié)長度,響應(yīng)頭部屬性字段數(shù)目和響應(yīng)主體的<head>...</head>及<body>...</body>內(nèi)字節(jié)長度,發(fā)現(xiàn)不同品牌設(shè)備類型所顯示的這四個(gè)值都不盡相同,而相同品牌設(shè)備類型所顯示的這四個(gè)值都大致相同。因此提取此四個(gè)統(tǒng)計(jì)特征作為第一部分特征。如圖3所示,用PCA在二維平面上進(jìn)行降維分析此四個(gè)特征可以看出能夠很好地區(qū)分設(shè)備品牌類型。
圖3 部分帶標(biāo)簽設(shè)備統(tǒng)計(jì)特征向量分布
(3)提取協(xié)議特征:觀察協(xié)議響應(yīng)報(bào)文的Header屬性值,我們發(fā)現(xiàn)相同設(shè)備一般具有相同屬性值,不同設(shè)備屬性值則不完全相同,因此在這部分中我們提取Header屬性中的每一個(gè)鍵名作為研究對象,通過圖4四格圖表法和卡方校驗(yàn)的方法選取已標(biāo)記的物聯(lián)網(wǎng)和非物聯(lián)網(wǎng)設(shè)備各一萬個(gè),我們先假設(shè)某鍵名M不屬于物聯(lián)網(wǎng)設(shè)備,然后通過四格表觀察值確定p行q列的理論值,見公式(1),帶入卡方公式計(jì)算偏差值,見公式(2),通過公式(3)自由度查卡方分布表查概率值大小來驗(yàn)證假設(shè)是否成立,成立則屬于非物聯(lián)網(wǎng)設(shè)備屬性,否則為物聯(lián)網(wǎng)設(shè)備屬性。通過卡方比對每一個(gè)鍵名獲得屬于物聯(lián)網(wǎng)設(shè)備的所有鍵名屬性特征,計(jì)算屬性特征出現(xiàn)的頻率最終選擇33個(gè)鍵名作為協(xié)議部分特征。
圖4 四格圖表法
(4)整合特征:整合統(tǒng)計(jì)特征和協(xié)議特征,形成特征向量集,如表1所示。
表1 統(tǒng)計(jì)和協(xié)議特征集合
提取物聯(lián)網(wǎng)地址集里面所有地址的統(tǒng)計(jì)特征和協(xié)議特征。對統(tǒng)計(jì)特征進(jìn)行歸一化,對協(xié)議特征進(jìn)行one-hot編碼,即設(shè)備特征頭部字段中有協(xié)議特征字段則標(biāo)為1,沒有協(xié)議特征字段則標(biāo)為0,最終形成具有37維特征的物聯(lián)網(wǎng)設(shè)備特征向量,部分設(shè)備特征集提取處理后效果如圖5所示。
圖5 部分設(shè)備特征集提取處理集合
通過對比決策樹(DT)、隨機(jī)森林(RF)、K近鄰(KNN)和邏輯回歸(LR)四類分類器對標(biāo)注物聯(lián)網(wǎng)設(shè)備進(jìn)行分類,并對比文獻(xiàn)[9]特征提取方法,證明我們特征提取的有效性。
由于我們的特征向量是基于響應(yīng)報(bào)文提取的偏向于用文本相似性去度量兩個(gè)樣本的異同,因此本文采用余弦距離作為相似性度量。結(jié)合文獻(xiàn)[10]可知余弦距離也可表達(dá)與歐氏距離一樣的意義,歐氏距離d(x,y)、余弦相似度cos(x,y)、余弦距離D(x,y)三者關(guān)系如公式(4)所示:
每一類設(shè)備代表一個(gè)分類簇,用余弦距離找出各簇已標(biāo)記設(shè)備品牌類型中心點(diǎn),每一個(gè)簇代表一類設(shè)備,計(jì)算各簇中心到簇內(nèi)最遠(yuǎn)點(diǎn)余弦距離D,計(jì)算平均余弦距離Dˉ。導(dǎo)入新數(shù)據(jù)集用Dˉ作為閾值進(jìn)行層次聚類來發(fā)現(xiàn)新設(shè)備。
根據(jù)Web信息的物聯(lián)網(wǎng)設(shè)備指紋生成框架,給出實(shí)驗(yàn)的相應(yīng)算法步驟如下:
(1)掃描IPv4空間中開放web端口服務(wù)的IP地址,形成IP地址集;
(2)獲取IP地址集的原始響應(yīng)信息,包括響應(yīng)頭部信息和響應(yīng)主體信息;
(3)隨機(jī)選出樣本集進(jìn)行物聯(lián)網(wǎng)和非物聯(lián)網(wǎng)標(biāo)記并通過人工驗(yàn)證的方式為物聯(lián)網(wǎng)設(shè)備打上品牌類型標(biāo)簽;
(4)對原始響應(yīng)信息中物聯(lián)網(wǎng)和非物聯(lián)網(wǎng)設(shè)備頭部信息進(jìn)行卡方校驗(yàn)提取適合物聯(lián)網(wǎng)設(shè)備使用的協(xié)議特征并加入統(tǒng)計(jì)特征形成總體樣本集I={a1,a2,…,an},其中ai代表第i個(gè)樣本的37維特征向量;
(5)對樣本集進(jìn)行特征提取、預(yù)處理和歸一化;
(6)對比決策樹(DT)、隨機(jī)森林(RF)、K近鄰(KNN)和邏輯回歸(LR)四類分類器,選擇分類準(zhǔn)確率最高的KNN分類器作為設(shè)備分類器,并比較其他文獻(xiàn)提取特征的分類準(zhǔn)確率;
(7)輸入已知設(shè)備集合X,按品牌類型劃分為k簇,在每簇中間利用公式(4)代入計(jì)算簇內(nèi)余弦相似度的和,則和值為極大時(shí)表示此點(diǎn)為本簇中心O,得到K簇中心為Y;
(8)計(jì)算各簇中心到各簇點(diǎn)的余弦距離,并記錄下各簇余弦距離最大值D,求出余弦平均值Dˉ:
(9)導(dǎo)入新數(shù)據(jù)集M個(gè),其中包含已標(biāo)注數(shù)據(jù)集N個(gè),設(shè)置當(dāng)前聚類簇個(gè)數(shù)為M,計(jì)算兩兩之間的余弦距離,設(shè)置距離閾值為2Dˉ,選擇AGENS算法進(jìn)行聚類,當(dāng)余弦距離小于2Dˉ則合并,直到所有距離都大于2Dˉ時(shí)停止聚類。
本文采用主動(dòng)采集的方式,為避免對IP網(wǎng)段造成干擾,通過對在線設(shè)備運(yùn)用了IP隨機(jī)化探測的方式向網(wǎng)絡(luò)中一段IP地址進(jìn)行隨機(jī)化端口開放探測,探測到開放IP地址端口的設(shè)備上百萬個(gè),并對探測到的特定端口(如80-85、8080、8090等)發(fā)送HTTP-get訪問請求,獲取到如圖6所示的響應(yīng)狀態(tài)碼分布情況信息,其中200ok表示請求已成功,請求所希望的響應(yīng)頭或響應(yīng)體將隨此響應(yīng)返回,出現(xiàn)此狀態(tài)碼是表示正常狀態(tài),基于只有直接暴露在互聯(lián)網(wǎng)中的設(shè)備才容易被利用和攻擊的假設(shè),我們提取響應(yīng)狀態(tài)碼為200ok的設(shè)備響應(yīng)信息作為我們的研究對象,我們提取了占采集數(shù)據(jù)46.11%的響應(yīng)信息。
圖6 響應(yīng)狀態(tài)碼基本分布情況
本實(shí)驗(yàn)基于“相同品牌相同類型相同型號(hào)的設(shè)備的響應(yīng)信息會(huì)大致相同”作為假設(shè)來進(jìn)行,通過隨機(jī)提取部分響應(yīng)狀態(tài)碼為200ok的設(shè)備數(shù)據(jù)124708個(gè)作為我們的實(shí)驗(yàn)數(shù)據(jù),經(jīng)篩選字段后用人工校驗(yàn)的方式為目標(biāo)設(shè)備添加品牌類型標(biāo)簽,標(biāo)記后有標(biāo)簽的品牌類型設(shè)備有二十幾種,如表2所示。其中包含路由器、網(wǎng)絡(luò)攝像頭、網(wǎng)絡(luò)電源交換機(jī)、網(wǎng)絡(luò)存儲(chǔ)器、工控設(shè)備等多種物聯(lián)網(wǎng)設(shè)備,結(jié)合標(biāo)簽設(shè)備數(shù)目選擇其中標(biāo)記數(shù)目大于500的11種品牌設(shè)備每種取樣500個(gè)作為下一步機(jī)器學(xué)習(xí)的數(shù)據(jù)集,至此完成有監(jiān)督設(shè)備數(shù)據(jù)集的提取。
表2 標(biāo)記的帶標(biāo)簽品牌和數(shù)目
選擇決策樹(DT)、隨機(jī)森林(RF)、K近鄰(KNN)和邏輯回歸(LR)分類器來做分類器對比實(shí)驗(yàn),并設(shè)置其參數(shù)在其分類器上表現(xiàn)最優(yōu),經(jīng)過十折交叉驗(yàn)證后的F1-Score值分別為RF-99.82%、DT:99.70%、KNN:99.91%、LR:93.06%,圖7混淆矩陣清楚的展示了四類分類器的分類效果,可以看出KNN分類器效果最佳。
圖7 DT、RF、KNN、LR各分類器混淆矩陣
利用KNN分類器對比文獻(xiàn)[9]提出的特征方法,如表3所示,經(jīng)對比在各品牌上的召回率、準(zhǔn)確率和F1-Score值,本文提取的特征都更加有效。針對分類器錯(cuò)誤分類的品牌設(shè)備進(jìn)行分析,導(dǎo)致分類錯(cuò)誤的原因主要有兩個(gè):一是某些品牌設(shè)備在后期會(huì)被其他品牌收購兼并冠上新設(shè)備品牌名稱;二是我們在標(biāo)記的時(shí)候籠統(tǒng)的把品牌類型作為主要目的而沒有去關(guān)注型號(hào)。
表3 文獻(xiàn)[9]與本文特征提取算法的設(shè)備分類效果
計(jì)算距離閾值,用帶閾值的層次聚類算法在未標(biāo)記的數(shù)據(jù)集中進(jìn)行新設(shè)備類型發(fā)現(xiàn),經(jīng)人工校驗(yàn)后發(fā)現(xiàn)上百種新品牌類型,經(jīng)人工檢驗(yàn)后部分新設(shè)備品牌類型如圖8所示。
圖8 新發(fā)現(xiàn)部分設(shè)備品牌
本文提出了一種基于頭部字段Header和統(tǒng)計(jì)相結(jié)合的設(shè)備指紋特征生成方法。該方法便于提取,易于實(shí)現(xiàn)。通過比較分類器,實(shí)驗(yàn)結(jié)果表明此方法在設(shè)備品牌類型上能很好進(jìn)行設(shè)備品牌及類型的提取和分類,最后應(yīng)用基于距離閾值的層次聚類方法發(fā)現(xiàn)諸多新品牌類型設(shè)備,便于開展大規(guī)模設(shè)備探測。