胡 蓉,楊 柳,胡向東
(1.重慶郵電大學(xué) 移通學(xué)院,重慶401520; 2.重慶郵電大學(xué) 自動(dòng)化學(xué)院,重慶400065)
隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、人工智能等新一代信息技術(shù)的快速發(fā)展及其在民生領(lǐng)域的推廣應(yīng)用,在改善居民生活質(zhì)量、提高居民生活水平、創(chuàng)建更加舒適便捷的家居環(huán)境方面具有重要意義的智能家居正在興起;但其在帶給人們便利的同時(shí),卻暴露出如隱私泄露、非授權(quán)訪問(wèn)、非法指令注入、拒絕服務(wù)等信息安全隱患。
智能家居的組成一般可分為感知層、網(wǎng)絡(luò)層和應(yīng)用層,其安全需求可以基于分層進(jìn)行分析。感知層由若干個(gè)感知節(jié)點(diǎn)構(gòu)成,該層主要致力于阻止惡意節(jié)點(diǎn)的加入及對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)身份、采集數(shù)據(jù)和節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)膫卧?、竊聽(tīng)和破壞等,確保數(shù)據(jù)的機(jī)密性、完整性、真實(shí)性。網(wǎng)絡(luò)層的安全需求主要體現(xiàn)為路由安全和避免網(wǎng)絡(luò)擁塞,阻止拒絕服務(wù)攻擊。應(yīng)用層主要應(yīng)滿足身份認(rèn)證、訪問(wèn)控制、數(shù)據(jù)機(jī)密性和用戶隱私保護(hù)等需求。
確保智能家居安全是其得到應(yīng)用推廣的必要前提。目前,國(guó)內(nèi)外針對(duì)智能家居安全的研究才剛起步,現(xiàn)有大多數(shù)智能家居解決方案缺乏安全性設(shè)計(jì)或側(cè)重于基本的被動(dòng)防御,在應(yīng)對(duì)越來(lái)越頻繁發(fā)生的信息安全攻擊時(shí),顯得力不從心。入侵檢測(cè)[1]作為一種主動(dòng)防御技術(shù),能在盡量少地影響智能家居網(wǎng)絡(luò)性能的前提下,對(duì)網(wǎng)絡(luò)中出現(xiàn)的各類入侵行為進(jìn)行監(jiān)測(cè)、分析、預(yù)警和處理,從而提高智能家居系統(tǒng)應(yīng)對(duì)外部威脅的能力。為此,本文結(jié)合人工智能技術(shù)提出基于多層神經(jīng)網(wǎng)絡(luò)的智能家居入侵檢測(cè)方法。
近年來(lái),越來(lái)越多的企業(yè)在開(kāi)發(fā)智能家居功能的同時(shí),開(kāi)始聚焦產(chǎn)品的安全性,如Nest公司推出的智能家居設(shè)備通過(guò)加密連接保障數(shù)據(jù)的安全性和私密性;360公司推出的智能攝像頭采用HTTPS(hyper text transter protocol secure)方式進(jìn)行雙向認(rèn)證交互,以保證用戶身份認(rèn)證,視屏數(shù)據(jù)流采用私有加密協(xié)議進(jìn)行傳輸,保障數(shù)據(jù)安全性;小米公司將智能家居SIM(subscriber identification module)卡變?yōu)榘踩酒?,?qiáng)化通信加密和設(shè)備身份識(shí)別;大量可用于智能家居的云平臺(tái)在接入環(huán)節(jié)保障數(shù)據(jù)安全傳輸并設(shè)置設(shè)備認(rèn)證和權(quán)限管理功能。存在的問(wèn)題是安全方式單一,不能適應(yīng)快速發(fā)展的智能家居的實(shí)際安全需求。
文獻(xiàn)[2]提出了一種基于GPRS(general packet radio service)的智能家居安全監(jiān)控策略,其研究?jī)H限于通過(guò)控制智能家居硬件實(shí)現(xiàn)智能家居的報(bào)警機(jī)制;文獻(xiàn)[3]提出了一種基于智能家居安全網(wǎng)關(guān)的遠(yuǎn)程安全通信方案,但未對(duì)其方案的實(shí)質(zhì)效果進(jìn)行驗(yàn)證。文獻(xiàn)[4]探討了基于SMS4-CCM算法的通信保密協(xié)議,實(shí)現(xiàn)遠(yuǎn)程用戶安全接入、入網(wǎng)設(shè)備認(rèn)證、測(cè)控指令加密傳輸?shù)纫幌盗邪踩雷o(hù)功能。這類研究屬于被動(dòng)防御機(jī)制,但還不能滿足智能家居的主動(dòng)安全需求。
入侵檢測(cè)技術(shù)作為一種主動(dòng)防御手段,近年來(lái)很多專家學(xué)者采用進(jìn)化算法、機(jī)器學(xué)習(xí)、人工神經(jīng)網(wǎng)絡(luò)等方法在入侵檢測(cè)方面取得了多項(xiàng)研究成果,但大部分都集中在對(duì)入侵檢測(cè)數(shù)據(jù)特征提取方面。如文獻(xiàn)[5]提出了基于墨魚(yú)優(yōu)化算法的入侵檢測(cè)模型,文獻(xiàn)[6]提出了一種基于引力搜索和粒子群優(yōu)化的人工神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法。文獻(xiàn)[7]提出了一種基于網(wǎng)絡(luò)的入侵檢測(cè)框架,采用機(jī)器學(xué)習(xí)和線性邏輯回歸分類模型檢測(cè)受到攻擊的主機(jī),在識(shí)別出攻擊源后,生成相應(yīng)的應(yīng)對(duì)策略并推送到底層設(shè)備,以避免家居物聯(lián)網(wǎng)設(shè)備進(jìn)一步受到攻擊;該方案可取得較高的檢測(cè)率,但是僅針對(duì)某些特定的應(yīng)用場(chǎng)景效果較好。文獻(xiàn)[8]提出基于網(wǎng)絡(luò)流量的入侵檢測(cè)技術(shù),通過(guò)主成分分析法、時(shí)間序列統(tǒng)計(jì)技術(shù)等方法分析數(shù)據(jù)包頭特征和數(shù)據(jù)包統(tǒng)計(jì)特征,以判斷網(wǎng)絡(luò)是否出現(xiàn)攻擊行為;該技術(shù)針對(duì)如DDoS(distributed denial of service)和某些木馬病毒等網(wǎng)絡(luò)流量特征明顯的攻擊行為有較好的檢測(cè)效果,針對(duì)權(quán)限繞過(guò)、跨站等攻擊檢測(cè)效果較差。
針對(duì)智能家居的現(xiàn)有入侵檢測(cè)技術(shù)仍處于初步研究階段,主要不足為:①數(shù)據(jù)量大難以處理,特別是針對(duì)某一特定主機(jī)的大量分布式拒絕服務(wù)攻擊;②數(shù)據(jù)的維度較高且難以降維,支持向量機(jī)等傳統(tǒng)機(jī)器學(xué)習(xí)方法會(huì)受到時(shí)間和空間復(fù)雜度約束,只能通過(guò)學(xué)習(xí)得到低維結(jié)構(gòu),不能給出準(zhǔn)確的映射關(guān)系;③難以檢測(cè)新型攻擊。入侵檢測(cè)系統(tǒng)和防御措施通常滯后于攻擊手段;④漏報(bào)率和誤報(bào)率較高。
基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)的一般構(gòu)成如圖1所示,涉及檢測(cè)節(jié)點(diǎn)、路由節(jié)點(diǎn)、網(wǎng)關(guān)、服務(wù)器和終端顯示器等。
圖1 智能家居系統(tǒng)的一般構(gòu)成Fig.1 General structure of smart home system
在構(gòu)建智能家居入侵檢測(cè)模型時(shí)應(yīng)充分考慮資源最小化、高性能、可擴(kuò)展性和實(shí)時(shí)性等需求,提高檢測(cè)率、降低漏檢率。所構(gòu)建的智能家居入侵檢測(cè)模型如圖2所示,包括數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、基于多層神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)和本地響應(yīng)4個(gè)模塊;其中,基于多層神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)模塊是該模型的核心。
數(shù)據(jù)采集模塊負(fù)責(zé)智能家居入侵檢測(cè)系統(tǒng)中基礎(chǔ)信息的獲取,包括家居環(huán)境信息和網(wǎng)絡(luò)中傳感器、路由、網(wǎng)關(guān)等節(jié)點(diǎn)中傳輸?shù)臄?shù)據(jù)。環(huán)境信息是指感知層中的各種傳感器感知的家居信息。節(jié)點(diǎn)數(shù)據(jù)包括傳輸?shù)膮f(xié)議、源地址、目的地址等。數(shù)據(jù)采集模塊的主要作用為通過(guò)軟件捕獲各節(jié)點(diǎn)之間傳輸?shù)脑紨?shù)據(jù)包,通過(guò)分析數(shù)據(jù)包的內(nèi)容獲取智能家居實(shí)時(shí)的環(huán)境信息,通過(guò)分析數(shù)據(jù)包的包頭部分獲得節(jié)點(diǎn)中數(shù)據(jù)傳輸信息,經(jīng)過(guò)處理后作為智能家居入侵檢測(cè)模型數(shù)據(jù)來(lái)源。
該模塊將采集模塊獲得的數(shù)據(jù)處理成檢測(cè)模塊所需要的形式。首先對(duì)采集到的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,獲得建立連接協(xié)議的基本特征、數(shù)據(jù)包內(nèi)容特征、基于時(shí)間或主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征;獲得的統(tǒng)計(jì)特征分字符串和數(shù)值2種類型,數(shù)值類型有連續(xù)型和離散型;為了減小不同度量標(biāo)準(zhǔn)對(duì)檢測(cè)結(jié)果的影響,字符串型數(shù)據(jù)按照一定的規(guī)則映射成為離散數(shù)據(jù),數(shù)值型數(shù)據(jù)需進(jìn)行歸一化處理。
圖2 智能家居入侵檢測(cè)模型Fig.2 Intrusion detection model for smart home
基于多層神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)模塊主要流程分為訓(xùn)練和測(cè)試環(huán)節(jié),通過(guò)訓(xùn)練確定模型參數(shù),通過(guò)測(cè)試獲得檢測(cè)結(jié)果并分析模型性能。
訓(xùn)練環(huán)節(jié)捕獲智能家居網(wǎng)關(guān)的流量數(shù)據(jù),生成帶標(biāo)簽的數(shù)據(jù)集,選取其中部分?jǐn)?shù)據(jù)作為測(cè)試數(shù)據(jù)對(duì)多層網(wǎng)絡(luò)進(jìn)行訓(xùn)練;對(duì)測(cè)試數(shù)據(jù)集進(jìn)行編碼預(yù)處理,形成待測(cè)數(shù)據(jù)集,再將待測(cè)數(shù)據(jù)集作為多層神經(jīng)網(wǎng)絡(luò)的輸入,訓(xùn)練網(wǎng)絡(luò)的權(quán)值和偏置,并確定多層神經(jīng)網(wǎng)絡(luò)的深度。采用無(wú)監(jiān)督方法對(duì)多層神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,根據(jù)模糊神經(jīng)網(wǎng)絡(luò)輸出值與標(biāo)簽值的差值對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行有監(jiān)督的參數(shù)微調(diào)。
測(cè)試環(huán)節(jié)將未用于訓(xùn)練的帶標(biāo)簽流量數(shù)據(jù)生成測(cè)試數(shù)據(jù)集,對(duì)測(cè)試數(shù)據(jù)集進(jìn)行編碼預(yù)處理,形成待測(cè)數(shù)據(jù)集;將待測(cè)數(shù)據(jù)集作為多層網(wǎng)絡(luò)的輸入,根據(jù)輸出判斷行為類別,并計(jì)算所有測(cè)試數(shù)據(jù)的檢測(cè)率、誤檢率,若檢測(cè)率較低,誤檢率較高,則對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行有監(jiān)督的反向微調(diào)。
深度學(xué)習(xí)通過(guò)構(gòu)建具有多個(gè)隱層的神經(jīng)網(wǎng)絡(luò),并且在訓(xùn)練模型參數(shù)時(shí)采用“逐層初始化”的無(wú)監(jiān)督學(xué)習(xí)方法,利用其強(qiáng)大的特征學(xué)習(xí)能力,實(shí)現(xiàn)高維特征向低維特征的映射;入侵檢測(cè)具有模糊性,如系統(tǒng)的正常超載和異常超載的界限,合法用戶的誤操作和非法用戶操作的界限,利用模糊神經(jīng)網(wǎng)絡(luò)較強(qiáng)的容錯(cuò)能力,能夠同時(shí)處理確定性和非確定性信息,提高網(wǎng)絡(luò)發(fā)現(xiàn)新型攻擊的能力。
本文通過(guò)深度學(xué)習(xí)實(shí)現(xiàn)對(duì)高維數(shù)據(jù)特征的學(xué)習(xí),通過(guò)模糊神經(jīng)網(wǎng)絡(luò)對(duì)低維數(shù)據(jù)進(jìn)行分析,以判斷是否為攻擊行為。多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由多個(gè)限制玻爾茲曼機(jī)和一個(gè)模糊神經(jīng)網(wǎng)絡(luò)構(gòu)成,該算法的核心步驟包括:限制波爾茲曼機(jī)的學(xué)習(xí)方法、網(wǎng)絡(luò)深度的確定、多層神經(jīng)網(wǎng)絡(luò)權(quán)值微調(diào)。
2.3.1 限制玻爾茲曼機(jī)模型參數(shù)和學(xué)習(xí)方法
限制波爾茲曼機(jī)[9]的結(jié)構(gòu)如圖3所示,只有可見(jiàn)層節(jié)點(diǎn)和隱藏層節(jié)點(diǎn)之間才會(huì)存在連接,可見(jiàn)層節(jié)點(diǎn)之間和隱藏層節(jié)點(diǎn)之間不存在連接。圖3中,V(v1,v2,…,vn)為可見(jiàn)層單元,n為可見(jiàn)層節(jié)點(diǎn)數(shù)量,V表示輸入數(shù)據(jù),可對(duì)輸入數(shù)據(jù)進(jìn)行編碼;H(h1,h2,…,hm)為隱藏層單元,其中,m為隱藏層節(jié)點(diǎn)數(shù)量;W表示可見(jiàn)層單元和隱藏層單元之間的連接權(quán)值;A(a1,a2,…,an)表示可見(jiàn)層偏置;B(b1,b2,…,bm)表示隱藏層偏置。當(dāng)輸入V時(shí)通過(guò)P(H|V)得到隱藏層H,得到隱藏層H后,通過(guò)P(V|H)又能得到可見(jiàn)層,通過(guò)對(duì)網(wǎng)絡(luò)的權(quán)值和偏置等參數(shù)的調(diào)整尋優(yōu),最終得到重構(gòu)的V與原來(lái)的V如果一樣,那么所獲得的隱藏層就是可見(jiàn)層的另一種表示。
圖3 限制玻爾茲曼機(jī)結(jié)構(gòu)Fig.3 Structure of restricted Boltzmann machine
限制波爾茲曼機(jī)模型可以表示為一個(gè)基于能量的模型,對(duì)于一組給定狀態(tài)(v,h),可定義能量模型為
(1)
(3)式中,wij表示第i個(gè)可見(jiàn)層節(jié)點(diǎn)與第j個(gè)隱藏層節(jié)點(diǎn)的連接權(quán)值。
顯然能量出現(xiàn)的概率與可見(jiàn)層單元和隱藏層單元的取值有關(guān),那么能量出現(xiàn)的概率就是可見(jiàn)單元V和隱藏單元H的聯(lián)合概率密度
(2)
由此可得到邊緣概率密度為
(3)
(4)
由于限制波爾茲曼機(jī)的連接受到限制,即同層之間的節(jié)點(diǎn)不存在連接,在知道可見(jiàn)層單元的情況下,通過(guò)能量模型可以直觀地從聯(lián)合分布導(dǎo)出條件分布為
(5)
限制波爾茲曼機(jī)節(jié)點(diǎn)的狀態(tài)只有0和1這2種,每個(gè)節(jié)點(diǎn)也只有0和1這2個(gè)值,因此,在已知可見(jiàn)層節(jié)點(diǎn)的條件下,隱藏層中第i個(gè)節(jié)點(diǎn)為1的概率為
(6)
可將已知可見(jiàn)層單元的條件下,隱藏層單元的概率寫(xiě)成隱藏層所有節(jié)點(diǎn)條件概率的乘積。隱藏層的條件概率分布可表示為
(7)
同理,在已知隱藏層H的情況下,可見(jiàn)層中第j個(gè)節(jié)點(diǎn)的概率分布可表示為
(8)
(8)式中,函數(shù)f是激活函數(shù)(sigmoid)
(9)
本文使用Gibbs采樣解決該問(wèn)題。在限制玻爾茲曼機(jī)進(jìn)行k步Gibbs采樣具體算法如下。
用一個(gè)訓(xùn)練樣本初始化可視節(jié)點(diǎn)的狀態(tài)v(0),交替進(jìn)行下面的采樣:
h(0)~P(h|v(0))
v(1)~P(v|h(0))
…
v(k)~P(v|h(k-1))
h(k)~P(h|v(k))
(10)
利用P(h|v(k)),采樣出h(k);利用P(v|h(k-1)),采樣出v(k);利用k步驟Gibbs采樣得到的vk來(lái)近似估計(jì)
p(hi=1|v(k))vj(k)
(11)
(12)
(13)
更新權(quán)值的方法為
(14)
(14)式中:N表示迭代次數(shù);μ為學(xué)習(xí)率。
2.3.2 多層神經(jīng)網(wǎng)絡(luò)的深度
本文引入重構(gòu)誤差來(lái)確定多層網(wǎng)絡(luò)的深度,以訓(xùn)練數(shù)據(jù)作為初始狀態(tài),與經(jīng)過(guò)限制波爾茲曼機(jī)進(jìn)行一次Gibbs采樣后的差異量來(lái)定義重構(gòu)誤差,即
(15)
網(wǎng)絡(luò)深度訓(xùn)練流程如圖4所示,具體規(guī)則為
(16)
(16)式中:ε為目標(biāo)重構(gòu)誤差的閾值;Ldeep為隱藏層個(gè)數(shù)。如果此時(shí)網(wǎng)絡(luò)通過(guò)訓(xùn)練, 重構(gòu)誤差低于閾值, 則開(kāi)始進(jìn)行參數(shù)的反向微調(diào); 否則, 網(wǎng)絡(luò)深度加1, 繼續(xù)進(jìn)行訓(xùn)練。重構(gòu)誤差判斷法運(yùn)算簡(jiǎn)單也便于實(shí)現(xiàn)。
圖4 網(wǎng)絡(luò)深度訓(xùn)練Fig.4 Network depth training
2.3.3 多層神經(jīng)網(wǎng)絡(luò)參數(shù)微調(diào)
T-S模糊神經(jīng)網(wǎng)絡(luò)用“if-then”規(guī)則來(lái)定義,在規(guī)則Ri的情況下,模糊推理為
(17)
(18)
根據(jù)模糊計(jì)算結(jié)果計(jì)算模糊模型的輸出值
(19)
T-S模糊神經(jīng)網(wǎng)絡(luò)算法是一種有監(jiān)督的分類器,通過(guò)利用輸出誤差來(lái)評(píng)估輸出層的直接前一層的誤差,在用這個(gè)誤差評(píng)估更前一次的誤差,經(jīng)過(guò)反復(fù)一層一層的反向傳播學(xué)習(xí),獲得其他各層的誤差估計(jì)。
多層神經(jīng)網(wǎng)絡(luò)參數(shù)反向微調(diào)過(guò)程。
Step1計(jì)算每條記錄通過(guò)多層神經(jīng)網(wǎng)絡(luò)后的實(shí)際輸出y′;
Step3對(duì)模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行系數(shù)修正
(20)
(21)
Step5權(quán)值更新
?ij=?ij+Δ?ij
(22)
Δ?ij=μξiξh
(23)
(23)式中:μ為學(xué)習(xí)率,需要通過(guò)實(shí)驗(yàn)和經(jīng)驗(yàn)確定;ξi為節(jié)點(diǎn)i的輸出;ξh為隱藏層的遞歸誤差梯度;
Step7使用(21)式,更新權(quán)值,N減1,若不為0,跳轉(zhuǎn)到Step 5,若為0,結(jié)束。
重復(fù)上述步驟,直到輸出誤差足夠小,即
(24)
(24)式中:s為訓(xùn)練樣本序列;z為輸出節(jié)點(diǎn)序列;dsz為樣本s在節(jié)點(diǎn)z的理想輸出;Osz為樣本s在節(jié)點(diǎn)z的實(shí)際輸出。
本地響應(yīng)模塊要求能夠?qū)?lái)自檢測(cè)模塊的檢測(cè)結(jié)果快速做出響應(yīng),以有效阻止入侵行為的繼續(xù)發(fā)生,保障智能家居能夠持續(xù)運(yùn)行。本地響應(yīng)模塊對(duì)不同的行為類型采取不同的響應(yīng)方式,包括主動(dòng)響應(yīng)和被動(dòng)響應(yīng)。主動(dòng)響應(yīng)是指當(dāng)發(fā)現(xiàn)入侵行為之后,響應(yīng)模塊采取對(duì)入侵行為阻斷、干擾等直接的方式,最終達(dá)到保護(hù)智能家居系統(tǒng)的作用。被動(dòng)響應(yīng)是指當(dāng)發(fā)現(xiàn)入侵行為之后,響應(yīng)模塊不對(duì)攻擊行為進(jìn)行干預(yù),而是生成記錄或報(bào)警等間接響應(yīng)方式。
為了驗(yàn)證本文所提出的智能家居入侵檢測(cè)系統(tǒng)的性能,對(duì)基于多層神經(jīng)網(wǎng)絡(luò)的智能家居入侵檢測(cè)模型進(jìn)行仿真,對(duì)其檢測(cè)率、誤檢率以及時(shí)間復(fù)雜度等性能進(jìn)行測(cè)試。
仿真數(shù)據(jù)來(lái)自于流行的KDDCUP99入侵檢測(cè)數(shù)據(jù)集[11],數(shù)據(jù)有41個(gè)特征屬性,其中34個(gè)為數(shù)值型連續(xù)變量,7個(gè)為字符串型離散變量。該數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),數(shù)據(jù)集標(biāo)簽類型如表1所示,其中,粗體標(biāo)簽表示其只存在測(cè)試集中。
按照原始數(shù)據(jù)集各類標(biāo)簽所占比例隨機(jī)從訓(xùn)練數(shù)據(jù)集中選擇111 950條記錄生成訓(xùn)練集,其中,Normal,DoS,Probing,R2L和U2R分別為30 000,80 000,1 000,800,150條記錄,用于多層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。同樣隨機(jī)從測(cè)試數(shù)據(jù)集中選擇81 400條記錄生成測(cè)試集,其中,Normal,DoS,Probing,R2L和U2R分別為20 000,60 000,500,800,100條記錄,用于多層神經(jīng)網(wǎng)絡(luò)的測(cè)試。
表1 數(shù)據(jù)集標(biāo)簽類型
首先需要確定多層神經(jīng)網(wǎng)絡(luò)的深度即使用限制波爾茲曼機(jī)的個(gè)數(shù),然后使用測(cè)試集對(duì)入侵檢測(cè)的性能進(jìn)行評(píng)估,本文將用攻擊行為的檢測(cè)率pd、正常行為的誤檢率pf、所有行為檢測(cè)準(zhǔn)確率pe和對(duì)測(cè)試集所有數(shù)據(jù)進(jìn)行識(shí)別時(shí)所需檢測(cè)時(shí)間t來(lái)評(píng)價(jià)算法的性能。其定義為
(25)
(26)
(27)
(25)—(27)式中:E表示被正確識(shí)別攻擊類型的樣本數(shù);F表示該類攻擊樣本的總數(shù);N表示正常類型樣本被誤判為異常樣本的個(gè)數(shù);M表示正常樣本總數(shù);P表示能夠正確識(shí)別類型的樣本個(gè)數(shù);Q表示所有類型樣本的總數(shù)。
1)多層神經(jīng)網(wǎng)絡(luò)的深度確定。選取訓(xùn)練集分別對(duì)本文提出的多層神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;測(cè)試集作為訓(xùn)練完成的多層神經(jīng)網(wǎng)絡(luò)的輸入,實(shí)現(xiàn)將原始數(shù)據(jù)映射為10維的低維數(shù)據(jù),再通過(guò)模糊神經(jīng)網(wǎng)絡(luò)對(duì)不同深度的多層神經(jīng)網(wǎng)絡(luò)獲得的低維數(shù)據(jù)進(jìn)行分類,最終獲得針對(duì)網(wǎng)絡(luò)深度為2,3,4,5的訓(xùn)練集的重構(gòu)誤差、基于測(cè)試集的準(zhǔn)確率和檢測(cè)時(shí)間,結(jié)果如表2所示。
由表2可知,測(cè)試初期的準(zhǔn)確率隨著深度加深而增加,當(dāng)網(wǎng)絡(luò)深度增加到一定值之后,準(zhǔn)確率反而降低;隨著網(wǎng)絡(luò)深度的增加,檢測(cè)時(shí)間隨之增加,時(shí)間復(fù)雜度和空間復(fù)雜度都在提高。綜合檢測(cè)準(zhǔn)確率和檢測(cè)時(shí)間,本文選取重構(gòu)誤差的閾值為0.02,當(dāng)網(wǎng)絡(luò)深度大于4時(shí)可滿足條件;結(jié)合智能家居服務(wù)器性能,本文選擇深度為4的多層神經(jīng)網(wǎng)絡(luò)。
表2 不同深度多層網(wǎng)絡(luò)的性能指標(biāo)
2)多層神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)性能分析。本文提出將多個(gè)限制波爾茲曼機(jī)與模糊神經(jīng)網(wǎng)絡(luò)組成多層神經(jīng)網(wǎng)絡(luò),在保證其檢測(cè)率的前提下,能夠檢測(cè)出網(wǎng)絡(luò)中的新型攻擊。多層神經(jīng)網(wǎng)絡(luò)與淺層神經(jīng)網(wǎng)絡(luò)即BP神經(jīng)網(wǎng)絡(luò)和文獻(xiàn)[12]基于深度學(xué)習(xí)入侵檢測(cè)系統(tǒng)的檢測(cè)率和誤檢率對(duì)比結(jié)果分別如圖5和圖6所示。
圖5 檢測(cè)率對(duì)比Fig.5 Comparison of detection rate
通過(guò)對(duì)比發(fā)現(xiàn),多層神經(jīng)網(wǎng)絡(luò)和文獻(xiàn)[12]中提到的基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)對(duì)樣本量較大的DoS攻擊和R2L攻擊有較高的檢測(cè)率以及較低的誤檢率,對(duì)樣本量較少的Probing攻擊和U2L攻擊檢測(cè)率較低,此時(shí)淺層網(wǎng)絡(luò)的性能優(yōu)于深層網(wǎng)絡(luò);但本文提出的多層神經(jīng)網(wǎng)絡(luò)引入了模糊神經(jīng)網(wǎng)絡(luò),提高了深度學(xué)習(xí)處理小樣本的能力,其檢測(cè)率高于文獻(xiàn)[12]的方法。為進(jìn)一步說(shuō)明,按照各攻擊類型所占比例選取100, 500,1 000,5 000,10 000,50 000,100 000條測(cè)試集數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,獲得測(cè)試集數(shù)據(jù)檢測(cè)準(zhǔn)確率如圖7所示。
圖6 誤檢率對(duì)比Fig.6 Comparison of false detection rate
圖7 基于不同數(shù)量訓(xùn)練樣本的檢測(cè)準(zhǔn)確率Fig.7 Detection accuracy based on differentnumber of training samples
圖7的結(jié)果對(duì)比再次印證了上述結(jié)論,即在樣本量較大情況下,文獻(xiàn)[12]中提到的基于深度學(xué)習(xí)多層神經(jīng)網(wǎng)絡(luò)的檢測(cè)效果優(yōu)于淺層的BP神經(jīng)網(wǎng)絡(luò);樣本量較少時(shí),淺層的BP神經(jīng)網(wǎng)絡(luò)檢測(cè)效果更優(yōu);但本文提出的多層神經(jīng)網(wǎng)絡(luò)由于引入模糊神經(jīng)網(wǎng)絡(luò),提高了網(wǎng)絡(luò)處理小樣本的能力,因此,針對(duì)大小不同樣本量表現(xiàn)出綜合性能優(yōu)勢(shì)。
選取KDDCUP99數(shù)據(jù)集中在訓(xùn)練集和測(cè)試集均未出現(xiàn)的新型攻擊,形成100條測(cè)試集。將該測(cè)試集應(yīng)用于本文提出的多層神經(jīng)網(wǎng)絡(luò)、由4個(gè)限制波爾茲曼機(jī)構(gòu)成的深度置信網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò),其檢測(cè)率pd如表3所示。
表3結(jié)果表明本文提出的多層神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)方法在檢測(cè)新型入侵行為時(shí)有較明顯的優(yōu)勢(shì),提升了入侵檢測(cè)模型的適應(yīng)性。
表3 針對(duì)新型攻擊檢測(cè)率對(duì)比
隨著“智慧城市”和智能家居的興起,其在帶給人們生活舒適便利的同時(shí),卻存在系統(tǒng)拒絕服務(wù)和用戶隱私泄露等信息安全風(fēng)險(xiǎn)。本文構(gòu)建了一種融合深度學(xué)習(xí)和模糊神經(jīng)網(wǎng)絡(luò)的多層神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)模型,將多個(gè)限制玻爾茲曼機(jī)和模糊神經(jīng)網(wǎng)絡(luò)有機(jī)地結(jié)合,通過(guò)深度學(xué)習(xí)提高其特征學(xué)習(xí)能力,通過(guò)模糊神經(jīng)網(wǎng)絡(luò)的容錯(cuò)性和邊界模糊性增強(qiáng)其發(fā)現(xiàn)新型攻擊的能力。為保證模型有較低時(shí)間和空間復(fù)雜度,利用重構(gòu)誤差來(lái)優(yōu)化確定網(wǎng)絡(luò)的深度,在提高網(wǎng)絡(luò)檢測(cè)率的同時(shí),降低算法開(kāi)銷。仿真測(cè)試結(jié)果表明,所提出的基于人工智能入侵檢測(cè)新方法相比現(xiàn)有方法有更高的檢測(cè)率,如針對(duì)拒絕服務(wù)攻擊和遠(yuǎn)程非法訪問(wèn)的檢測(cè)率達(dá)94%以上,對(duì)正常行為的誤檢率低于1%,且針對(duì)所測(cè)試新型攻擊的檢測(cè)率超過(guò)60%。
值得指出的是:本文提出的多層神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)方法盡管有助于提高智能家居入侵的檢測(cè)性能和發(fā)現(xiàn)新型攻擊的能力,但針對(duì)小樣本的檢測(cè)準(zhǔn)確率還不夠高,這是學(xué)習(xí)算法的固有缺陷,且該方法存在多層神經(jīng)網(wǎng)絡(luò)參數(shù)微調(diào)問(wèn)題,需要付出一定的時(shí)間成本,這些都是下一步的研究方向。