金詩博,張 立
(天津中德應(yīng)用技術(shù)大學(xué)軟件與通信學(xué)院,天津 300350)
所謂物聯(lián)網(wǎng),就是利用各種信息傳感器、射頻識別技術(shù)、全球定位系統(tǒng)、紅外線傳感器、激光掃描器等多種設(shè)備,進行數(shù)據(jù)采集、數(shù)據(jù)控制等操作的一種技術(shù)。它是以因特網(wǎng)、傳統(tǒng)通信網(wǎng)絡(luò)等為基礎(chǔ)的信息承載載體,它能使普通物理對象通過獨立的尋址方式形成互聯(lián)互通的網(wǎng)絡(luò)。隨著物聯(lián)網(wǎng)在人們生活中的廣泛應(yīng)用,網(wǎng)絡(luò)中存儲的用戶信息也隨之增多,同時,惡意用戶對網(wǎng)絡(luò)信息的篡改、竊取、修改等攻擊事件也隨之增多[1]。利用能量管理系統(tǒng)中的壞數(shù)據(jù)進行虛假數(shù)據(jù)注入攻擊,可以發(fā)現(xiàn)漏洞,對狀態(tài)估計結(jié)果進行篡改,嚴(yán)重危害物聯(lián)網(wǎng)的安全可靠運行。與此同時,由于配電網(wǎng)具有復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和低冗余度的特點,使得其潛在的網(wǎng)絡(luò)攻擊威脅越來越大。FDIAs的防御和識別成為保證物聯(lián)網(wǎng)信息安全的韌性和經(jīng)濟運行的新挑戰(zhàn)。
虛假數(shù)據(jù)攻擊對物聯(lián)網(wǎng)造成了嚴(yán)重危害,不僅影響了物聯(lián)網(wǎng)的安全穩(wěn)定,也給國民經(jīng)濟帶來了不可估量的后果。因此,對虛假數(shù)據(jù)攻擊的檢測顯得尤為重要,對虛假數(shù)據(jù)攻擊的研究也很多“攻擊檢測”是指識別企圖攻擊、正在進行的攻擊或已發(fā)生的攻擊的過程;是一種網(wǎng)絡(luò)安全技術(shù),用于檢測任何可能危害或試圖危害系統(tǒng)機密性、完整性或可用性的行為[2]。目前攻擊檢測技術(shù)的研究比較成熟,主要有基于免疫原理的攻擊檢測方法、基于協(xié)議分析的攻擊檢測方法和基于灰色神經(jīng)網(wǎng)絡(luò)的攻擊檢測算法,為解決攻擊檢測系統(tǒng)誤報率高、自適應(yīng)性差等問題提供了可借鑒的思路,適合于實時檢測。但目前的攻擊檢測產(chǎn)品多為手工操作,攻擊行為很容易被簡單的特征串搜索所捕捉,只能檢測到預(yù)先定義的攻擊模式,無法檢測到現(xiàn)有攻擊手段的簡單變種和新的攻擊類型;針對網(wǎng)絡(luò)數(shù)據(jù)的變化,很難對攻擊模式進行修改,將其應(yīng)用于物聯(lián)網(wǎng)假數(shù)據(jù)注入攻擊的檢測工作中,會產(chǎn)生嚴(yán)重的檢測精度問題。針對這一系列問題,在傳統(tǒng)的攻擊檢測方法基礎(chǔ)上,采用貝葉斯算法,以提高物聯(lián)網(wǎng)攻擊的檢測效率。
檢測攻擊行為的前提是能夠通過觀察系統(tǒng)歷史的當(dāng)前活動和正?;顒訝顟B(tài)之間的差異來檢測異常。一般來說,異常檢測建立正常系統(tǒng)活動的狀態(tài)模型并保持其更新,然后將用戶當(dāng)前的活動與該正常模型進行比較[3]。如果發(fā)現(xiàn)的差異超過設(shè)置的閾值,則發(fā)現(xiàn)非法攻擊行為。
從上到下,物聯(lián)網(wǎng)分為感知層、傳輸層和應(yīng)用層三個層次,圖1顯示了物聯(lián)網(wǎng)的基本架構(gòu)。
圖1 物聯(lián)網(wǎng)結(jié)構(gòu)體系示意圖
在圖1中,感知層表示物聯(lián)網(wǎng)的感知器官,用于識別物體和收集信息。傳輸層是物聯(lián)網(wǎng)結(jié)構(gòu)體系中的關(guān)鍵部分。來自物聯(lián)網(wǎng)的數(shù)據(jù)通常用于不同的決策和執(zhí)行過程,其中每個對象都必須擁有唯一標(biāo)識。為了維護用戶隱私,防止惡意攻擊,應(yīng)嚴(yán)格保護用戶和設(shè)備的身份不受第三方的影響。
為了對物聯(lián)網(wǎng)虛假數(shù)據(jù)注入攻擊過程進行模擬分析,論文給出了虛假數(shù)據(jù)注入攻擊原理如圖2所示。
圖2 虛假數(shù)據(jù)注入攻擊原理圖
假設(shè)物聯(lián)網(wǎng)的虛假注入數(shù)據(jù)為a,攻擊向量為b,e為量測誤差,發(fā)動攻擊后,則受攻擊后的量測值如下式所式
zb=Hx+b+e
(1)
式中H為m×n的物聯(lián)網(wǎng)拓?fù)溲趴杀染仃?,x為狀態(tài)變量。此時,受攻擊的狀態(tài)變量可以表示為
xb=x+b
(2)
將原始的量測值分解為d個子區(qū)域,受攻擊后的量測值分解為如下形式
(3)
(4)
物聯(lián)網(wǎng)中全部區(qū)域的狀態(tài)估計的殘差表達式可由下式表示,為所有子區(qū)域殘差總和可以表示為
(5)
此時,計算被攻擊后的最小殘差為
(6)
同時滿足如下關(guān)系式
(7)
式(6)和(7)中參數(shù)β表示攻擊向量的優(yōu)化量,正則化參數(shù)用λ表示。入侵攻擊時未對物聯(lián)網(wǎng)進行區(qū)別攻擊,因此攻擊者獲得的拓?fù)溲趴杀染仃嚥⒉煌暾?,因此用表示雅可比矩陣,對進行劃分,得到n個子模塊,此時得到了雅可比矩陣函數(shù)計算公式
(8)
因此,根據(jù)不同的情況,有兩種不同的攻擊路徑,即無目標(biāo)隨機偽數(shù)據(jù)攻擊路徑和特定目標(biāo)偽數(shù)據(jù)攻擊路徑[6,7]。對于無目標(biāo)隨機偽數(shù)據(jù)攻擊,攻擊者向系統(tǒng)的運行狀態(tài)值注入虛假數(shù)據(jù)。這樣的假數(shù)據(jù)可以是任意值,即式(8)中的參數(shù)c。利用假數(shù)據(jù)攻擊某個目標(biāo)的方法是通過改變系統(tǒng)的某些狀態(tài)值來攻擊某個目標(biāo)。
為了量化物聯(lián)網(wǎng)在虛假數(shù)據(jù)注入攻擊下的變化,通過比較當(dāng)前時間步長的距離指數(shù)和歷史距離指數(shù)值,可以判斷物聯(lián)網(wǎng)是否受到虛假數(shù)據(jù)的攻擊。絕對距離比較兩種概率分布之間的差異,定義如下
(9)
式中,P表示此時與前一段時間的變化分布,q表示的是歷史數(shù)據(jù)的變化分布。同理還設(shè)置了網(wǎng)絡(luò)流量、不良數(shù)據(jù)以及網(wǎng)絡(luò)運行狀態(tài)作為物聯(lián)網(wǎng)攻擊的檢測指標(biāo)。
利用WinPcap物聯(lián)網(wǎng)數(shù)據(jù)包采集技術(shù),編寫網(wǎng)絡(luò)數(shù)據(jù)包采集程序,實現(xiàn)了數(shù)據(jù)包的采集。捕獲器代碼可以分為兩部分:核心部分和數(shù)據(jù)分析部分。核心部分負(fù)責(zé)數(shù)據(jù)包的捕獲和過濾,分析部分負(fù)責(zé)數(shù)據(jù)的預(yù)處理和過濾。第一個類將包初始化到包中,并在類聲明中包含必要的相關(guān)字段,包括起始時間、源地址、源端口、目的地址、目的端口、協(xié)議類型、版本信息、生存時間、頭大小、包長度、優(yōu)先級、延遲、吞吐量等字段,并定義了相應(yīng)的get,set函數(shù)。然后根據(jù)接口設(shè)計編寫了網(wǎng)絡(luò)包捕獲程序[9]。過濾條件包括IP、UDP、HTTP等協(xié)議類型,可以由用戶根據(jù)需要選擇開始收集網(wǎng)絡(luò)數(shù)據(jù)包,并將采集到的數(shù)據(jù)以表格的形式顯示出來,根據(jù)需要停止采集工作,選擇是否保存數(shù)據(jù)。
利用物聯(lián)網(wǎng)動態(tài)數(shù)據(jù)包采集支持,提取其中的數(shù)據(jù)特征。特征量的提取過程就是在高維測量空間對特征進行映射或改變使維度減小而獲得相應(yīng)特征的過程[10]。數(shù)據(jù)包的特征包括數(shù)據(jù)大小、異常分值等,以異常分值特征為例,提取的特征結(jié)果可以表示為
(10)
式中g(shù)(x)為x的路徑長度,即從根節(jié)點到被孤立節(jié)點邊的總和,E[g(x)]為所有路徑長度的均值。式(10)得出的計算結(jié)果趨于 0.5 時,正常程度越高,當(dāng)其趨于 1 時,異常程度越高。同理可以得出其它數(shù)據(jù)包體征的量化提取結(jié)果。
貝葉斯公式如下
(11)
式中的P(x)是特征向量的概率密度函數(shù),P(ωi)為在所研究的攻擊檢測問題中出現(xiàn)ωi類的概率,也就是先驗概率。P(x|ωi)為在模式屬于ωi類的條件下出現(xiàn)的概率密度,稱為的類條件概率密度[11]。將提取的物聯(lián)網(wǎng)動態(tài)數(shù)據(jù)包特征作為初始數(shù)據(jù)代入到貝葉斯算法中,結(jié)合不同的攻擊類型特征便可以確定當(dāng)前物聯(lián)網(wǎng)中的攻擊類型。
結(jié)合攻擊類型的分析結(jié)果以及動態(tài)數(shù)據(jù)包的特征提取結(jié)果,分別從物聯(lián)網(wǎng)流量、運行狀態(tài)以及不良數(shù)據(jù)三個方面進行物聯(lián)網(wǎng)虛假數(shù)據(jù)注入攻擊檢測,并得出監(jiān)測指標(biāo)的具體取值[12]。將綜合檢測指標(biāo)的計算結(jié)果與虛假數(shù)據(jù)注入攻擊下的運行特征數(shù)據(jù)指標(biāo)做比對,從而輸出物聯(lián)網(wǎng)虛假數(shù)據(jù)注入攻擊的檢測結(jié)果。
將攻擊檢測系統(tǒng)安裝到一個安裝了操作系統(tǒng)的主機上,然后在另一個或多個安裝了操作系統(tǒng)的主機上使用攻擊軟件或攻擊程序?qū)Π惭b了攻擊檢測系統(tǒng)的主機進行攻擊,同時觀察攻擊檢測系統(tǒng)實時工作情況。另外攻擊測試實驗環(huán)境的具體參數(shù)配置情況如表1所示。
表1 攻擊檢測平臺的主要開發(fā)環(huán)境
選擇多個小型的物聯(lián)網(wǎng)作為此次實驗的研究對象樣本,并根據(jù)物聯(lián)網(wǎng)的節(jié)點數(shù)量的多少,按照從小到大的順序進行排列和編碼。設(shè)置各個物聯(lián)網(wǎng)中的傳輸數(shù)據(jù)包如圖3所示。
圖3 物聯(lián)網(wǎng)數(shù)據(jù)包詳細(xì)信息設(shè)置界面
在實驗環(huán)境下,利用硬件設(shè)備以及編程工具生成網(wǎng)絡(luò)攻擊程序,并結(jié)合虛假數(shù)據(jù)注入攻擊的特征進行攻擊類型的控制,并將其加入到實驗樣本中。針對不同的物聯(lián)網(wǎng)進行攻擊的次數(shù)不同,此次實驗的進行時間為1小時,利用隨機生成程序?qū)ξ锫?lián)網(wǎng)進行攻擊,并統(tǒng)計在實驗過程中各個網(wǎng)絡(luò)樣本所遭受的攻擊次數(shù),以此作為攻擊檢測的對比標(biāo)準(zhǔn)。另外除了虛擬數(shù)據(jù)注入攻擊外,還設(shè)置了其它的攻擊方式,作為實驗的干擾變量。
為了進一步驗證本文方法的有效性,設(shè)計實驗指標(biāo),以便評估該方法的準(zhǔn)確性和適用性。下面給出檢測精度評價指標(biāo)的計算公式。
準(zhǔn)確率A的計算方法如下
(12)
查準(zhǔn)率P的計算方法如下
(13)
召回率R的計算方法如下
(14)
漏檢率M的計算方法如下
(15)
誤檢率O的計算方法如下
(16)
式中,TD是正確判斷為攻擊的次數(shù),F(xiàn)D是錯誤判斷為攻擊的次數(shù),TU是正確判斷為非攻擊的次數(shù),F(xiàn)U是錯誤判斷為非攻擊的次數(shù)。準(zhǔn)確率、召回率與查準(zhǔn)率越高,漏檢率與誤檢率越低,則攻擊檢測的效果越好。
將設(shè)計的攻擊檢測方法導(dǎo)入到實驗環(huán)境中,并設(shè)置基于核主成分分析的攻擊檢測方法和基于LSTM神經(jīng)網(wǎng)絡(luò)的SQL注入攻擊檢測方法作為實驗的對比方法,一同導(dǎo)入到實驗環(huán)境中。通過攻擊檢測方法在實驗環(huán)境中的運行,分別得出虛假數(shù)據(jù)注入攻擊檢測結(jié)果輸出界面如圖4所示。
圖4 檢測結(jié)果輸出界面
將攻擊結(jié)果與設(shè)置的標(biāo)準(zhǔn)數(shù)據(jù)做對比,并將對比結(jié)果導(dǎo)入到式(12)中,得出各個檢測評價指標(biāo)的具體取值。經(jīng)過數(shù)據(jù)統(tǒng)計得出攻擊檢測性能的測試結(jié)果如表2所示。
表2 檢測性能測試對比結(jié)果
將表2中的數(shù)據(jù)代入到式(12)中,便可以得出在不同的攻擊檢測方法下對應(yīng)的檢測性能量化值,計算結(jié)果如表3所示。
表3 不同方法下各種性能均值對比
經(jīng)過計算設(shè)計的基于貝葉斯的物聯(lián)網(wǎng)虛假數(shù)據(jù)注入攻擊檢測方法的準(zhǔn)確率、召回率與查準(zhǔn)率更高,且漏檢率與誤檢率更低,即相比于兩個對比方法,設(shè)計方法的攻擊檢測效果更佳。
虛假數(shù)據(jù)注入攻擊利用基于殘差的不良數(shù)據(jù)檢測和識別方法的漏洞,改變物聯(lián)網(wǎng)的實測值,以獲取非法經(jīng)濟利益或擾亂物聯(lián)網(wǎng)的穩(wěn)定運行?;谪惾~斯原理,設(shè)計并應(yīng)用了一種針對物聯(lián)網(wǎng)的偽數(shù)據(jù)注入攻擊檢測方法,能夠判斷當(dāng)前物聯(lián)網(wǎng)中是否存在假數(shù)據(jù)注入攻擊現(xiàn)象,檢測結(jié)果具有較高的可信度。針對虛假數(shù)據(jù)注入攻擊提出了更有針對性的防御措施,最大限度地保障了物聯(lián)網(wǎng)的信息安全和運營安全。