王振東,張 林,李大海
江西理工大學(xué),江西 贛州 341000
目前,物聯(lián)網(wǎng)設(shè)備越來越智能,并且廣泛應(yīng)用于各種領(lǐng)域,如家庭、教育、娛樂、能源分配、金融、醫(yī)療、智能城市、旅游以及交通運輸,簡化了人們的日常生活和工作方式。然而,無論商屆或者學(xué)界都在朝著商業(yè)化的潮流前進(jìn),卻很少關(guān)注物聯(lián)網(wǎng)設(shè)備的安全性,這樣可能會危及到物聯(lián)網(wǎng)用戶,更嚴(yán)重甚至?xí)?dǎo)致生態(tài)系統(tǒng)失衡。例如,制造業(yè)的員工將感染了病毒的U 盤插入機(jī)器;醫(yī)院被惡意軟件破壞的核磁共振成像機(jī)器,或是黑客引導(dǎo)輸液泵注射致命劑量的藥物,都將造成嚴(yán)重后果。根據(jù)文獻(xiàn)[1]可知,至2020年,網(wǎng)絡(luò)犯罪破壞預(yù)算將達(dá)到每年60億美元,并且有500億物聯(lián)網(wǎng)設(shè)備需要保護(hù)。物聯(lián)網(wǎng)受到攻擊[2]后,不僅會影響物聯(lián)網(wǎng)本身,還會影響包括網(wǎng)絡(luò)、應(yīng)用、社交平臺以及服務(wù)器在內(nèi)的完整生態(tài)系統(tǒng),即在物聯(lián)網(wǎng)系統(tǒng)中,只要破壞單個組件或通信通道,就可能會使部分或者整個網(wǎng)絡(luò)癱瘓。因此,在關(guān)注物聯(lián)網(wǎng)帶來便利的同時,更需考慮物聯(lián)網(wǎng)的脆弱性[3]。
傳統(tǒng)的安全解決方案已經(jīng)覆蓋了服務(wù)器、網(wǎng)絡(luò)和云存儲,這些解決方案大多可部署于物聯(lián)網(wǎng)系統(tǒng)。其中,密碼編碼學(xué)[4]作為保障信息安全的基礎(chǔ),通過密鑰中心與傳感器網(wǎng)絡(luò)或其他感知網(wǎng)絡(luò)的匯聚點進(jìn)行交互,實現(xiàn)對網(wǎng)絡(luò)中節(jié)點的密鑰管理;對數(shù)據(jù)安全保護(hù)常用的辦法有同態(tài)加密、密文檢索等;其他安全技術(shù)如認(rèn)證與訪問控制機(jī)制、安全路由協(xié)議和網(wǎng)絡(luò)態(tài)勢感知與評估技術(shù)均為必不可少的安全解決方案。
事實上,物聯(lián)網(wǎng)的多樣性和異構(gòu)性使得物聯(lián)網(wǎng)系統(tǒng)安全不同于傳統(tǒng)的系統(tǒng)安全。(1)越來越多的物理設(shè)備連接至無線網(wǎng)絡(luò),會將更多安全問題暴露于心術(shù)不正的人員,從而導(dǎo)致嚴(yán)重后果,如汽車或輸液泵受到攻擊,會導(dǎo)致人員傷亡。(2)物聯(lián)網(wǎng)安全是一項特殊的挑戰(zhàn),表現(xiàn)為對手與以往不同,不再是圖財或是制造麻煩的黑客,而是國家黑客系統(tǒng),面對的是國家級別的網(wǎng)絡(luò)戰(zhàn)爭。如2017年8月沙特一家化學(xué)工廠遭到黑客攻擊,引發(fā)大面積爆炸,從而破壞了石油化工產(chǎn)品的生產(chǎn)。(3)物聯(lián)網(wǎng)設(shè)備由不同公司生產(chǎn),并最終拼湊完成,即便只存在一個薄弱環(huán)節(jié),也可能產(chǎn)生漏洞,例如創(chuàng)建汽車通信系統(tǒng)的公司不更新軟件,汽車將容易遭受攻擊。(4)物聯(lián)網(wǎng)設(shè)備所處的環(huán)境不同,例如居家生活中,無人將補(bǔ)丁及時推送至聯(lián)網(wǎng)的冰箱;而在工業(yè)化環(huán)境,給機(jī)器打補(bǔ)丁意味著該機(jī)器需要停止工作,會造成一定的經(jīng)濟(jì)損失,而與損失帶來的風(fēng)險相比,黑客攻擊的風(fēng)險會低很多。因此,傳統(tǒng)的系統(tǒng)安全技術(shù)已不再適用于新的物聯(lián)網(wǎng)環(huán)境。
對此,研究人員將入侵檢測系統(tǒng)(Intrusion Detection System,IDS)[5]引入物聯(lián)網(wǎng)安全領(lǐng)域,并成為防御物聯(lián)網(wǎng)安全威脅的關(guān)鍵技術(shù)。IDS 作為一種積極主動的防御技術(shù),利用軟件和硬件結(jié)合的方式監(jiān)控網(wǎng)絡(luò)或系統(tǒng),以識別惡意活動并立即發(fā)出警報,從而保護(hù)系統(tǒng)資源的完整性、私密性和可用性。近年來,隨著人工智能和大數(shù)據(jù)的普及,深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、可視化學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等技術(shù)得到了廣泛的應(yīng)用,并且在圖像識別、自然語言處理方面獲得了巨大的成功。同時,在物聯(lián)網(wǎng)安全領(lǐng)域,已經(jīng)有大量的研究將入侵檢測系統(tǒng)與人工智能技術(shù)結(jié)合,并獲得了一定的成效。早期的入侵檢測系統(tǒng)綜述更側(cè)重于傳統(tǒng)的物聯(lián)網(wǎng)安全技術(shù),例如Maza等人[6]的基于特征選擇算法的入侵檢測系統(tǒng)綜述,Ring等人[7]的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)綜述,Glass-Vanderlan 等人[8]的基于主機(jī)的入侵檢測系統(tǒng)綜述,Buczak等人[9]的基于網(wǎng)絡(luò)威脅分類的入侵檢測系統(tǒng)綜述等。上述文獻(xiàn)為研究人員提供了大量有價值的信息,但是隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,該技術(shù)領(lǐng)域也在不斷地演化更新,而目前沒有相關(guān)文獻(xiàn)對現(xiàn)階段最新的入侵檢測技術(shù)進(jìn)行總結(jié)。由此,本文對最新的基于機(jī)器學(xué)習(xí)的物聯(lián)網(wǎng)入侵檢測技術(shù)進(jìn)行綜述。
入侵檢測技術(shù)[5]是軟件和硬件的結(jié)合,用于監(jiān)控網(wǎng)絡(luò)或系統(tǒng)以識別惡意活動并立即發(fā)出警報,從而保護(hù)系統(tǒng)資源的完整性、私密性和可用性。入侵檢測技術(shù)與其他安全技術(shù)[10]不同,它是一種積極主動的防御技術(shù),可以有效防止未知攻擊[11]??梢匀绱诵稳萑肭謾z測系統(tǒng)——假如防火墻為一幢大廈的門鎖,那么入侵檢測系統(tǒng)就是這幢大廈里的監(jiān)控系統(tǒng),一旦小偷進(jìn)入了大廈,或內(nèi)部人員有越界的行為,監(jiān)控系統(tǒng)能夠立即發(fā)出警報。因此,入侵檢測系統(tǒng)應(yīng)當(dāng)“放置”在所關(guān)注流量數(shù)據(jù)必經(jīng)的鏈路上。其系統(tǒng)架構(gòu)如圖1所示,事件產(chǎn)生器是從整個網(wǎng)絡(luò)中獲取事件,并將獲取的事件提供給系統(tǒng)的其他部分;事件分析器是分析獲取的事件,若發(fā)現(xiàn)異常,則通知響應(yīng)單元;響應(yīng)單元是對分析的結(jié)果做出相應(yīng)的反應(yīng);事件數(shù)據(jù)庫中存放過程數(shù)據(jù)。本文對入侵檢測系統(tǒng)按照數(shù)據(jù)源、檢測方法、工作方式和體系結(jié)構(gòu)進(jìn)行分類。具體分類框架如圖2所示。
從檢測方法的角度來看,入侵檢測技術(shù)一般分為誤用檢測技術(shù)和異常檢測技術(shù)。
1.1.1 基于誤用檢測技術(shù)
誤用檢測技術(shù)[12]是基于模式匹配原理,收集攻擊行為的特征,并為其建立特征庫,當(dāng)監(jiān)控的用戶行為活動與特征庫中的記錄相匹配時,系統(tǒng)就將該行為判斷為入侵。誤用檢測技術(shù)能夠降低誤報率,但是漏報率也會隨之增加;并且攻擊特征一旦有所變化,誤用檢測技術(shù)就會顯得無能無力?,F(xiàn)有的誤用檢測技術(shù)一般分為基于專家系統(tǒng)的誤用檢測方法[13]、基于狀態(tài)遷移分析的誤用檢測方法[14]、基于鍵盤監(jiān)控的誤用檢測方法[15]和基于條件概率的誤用檢測方法。
1.1.2 基于異常檢測技術(shù)
圖1 入侵檢測系統(tǒng)架構(gòu)
圖2 入侵檢測系統(tǒng)的分類框架
異常檢測技術(shù)[12]基于統(tǒng)計分析原理。首先確定正常行為所具有的特征,將其用定量的方法進(jìn)行描述,當(dāng)用戶行為活動與正常操作有偏差時,即被定義為攻擊行為。異常檢測技術(shù)的效率在很大程度上取決于正常用戶特征的完備性和檢測的頻率。因為并不需要對每種攻擊進(jìn)行定義,所以可以有效地檢測到未知攻擊。同時系統(tǒng)還可以通過自我優(yōu)化和調(diào)整來適應(yīng)用戶的行為變化。但是隨著模型的不斷精進(jìn),異常檢測技術(shù)會消耗更多的系統(tǒng)資源,并且現(xiàn)階段的攻擊行為越來越智能化,因此檢測未知攻擊的能力逐漸減弱?,F(xiàn)有的異常檢測技術(shù)一般分為基于神經(jīng)網(wǎng)絡(luò)的異常檢測技術(shù)[16]、基于模式預(yù)測的異常檢測技術(shù)[17]和基于數(shù)據(jù)挖掘的異常檢測技術(shù)[18]。
從數(shù)據(jù)來源的角度看,入侵檢測系統(tǒng)一般可以分為基于主機(jī)的入侵檢測系統(tǒng)(Host Intrusion Detection System,HIDS)和基于網(wǎng)絡(luò)的入侵檢測(Network Intrusion Detection System,NIDS)。兩者的比較如表1所示。
表1 HIDS與NIDS的比較
1.2.1 基于主機(jī)的入侵檢測
HIDS[19]主要是檢測和響應(yīng)主機(jī)或者是服務(wù)器系統(tǒng)的攻擊行為。異常檢測技術(shù)和誤用檢測技術(shù)是HIDS使用的兩種主要技術(shù)。Lin等人[20]設(shè)計了一種基于主機(jī)的入侵檢測系統(tǒng),將誤用檢測技術(shù)的日志文件分析技術(shù)與異常檢測技術(shù)的BP神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合來監(jiān)測主機(jī)收集到的數(shù)據(jù),所實現(xiàn)的HIDS 可以有效地提高檢測率和準(zhǔn)確率。Aleksieva 等人[21]設(shè)計了一種基于主機(jī)的僵尸網(wǎng)絡(luò)入侵檢測系統(tǒng),使用的是異常檢測技術(shù)的遺傳算法對每個接收到的數(shù)據(jù)包進(jìn)行分析和處理,確定是否存在被外部干擾引起的欺騙攻擊,從而實現(xiàn)對系統(tǒng)的保護(hù)。HIDS 可以為其監(jiān)控的主機(jī)提供額外的保護(hù),如監(jiān)控文件的完整性、發(fā)送到主機(jī)的網(wǎng)絡(luò)包、系統(tǒng)注冊表和系統(tǒng)日志文件等。Ali等人[22]為Microsoft Windows XP設(shè)計了一種基于主機(jī)的入侵檢測系統(tǒng),將模式匹配技術(shù)應(yīng)用在Microsoft Windows XP 的安全事件日志文件中,當(dāng)產(chǎn)生的入侵模式與Microsoft Windows XP 中的安全事件日志相匹配時,則將其定義為入侵。Badgujar 等人[23]提出了一種分層框架的主機(jī)入侵檢測系統(tǒng),該系統(tǒng)采用分層框架來實現(xiàn)對主機(jī)的實時保護(hù),第一層利用包嗅探器記錄所有通過網(wǎng)絡(luò)的數(shù)據(jù)包,并從中提取敏感信息和特征;第二層利用樸素貝葉斯算法,根據(jù)第一層提取的敏感信息和特征對數(shù)據(jù)包進(jìn)行分類,該方法具有較高的檢測率和較低的誤報率。
相對于傳統(tǒng)的安全防御技術(shù),HIDS 性價比高且誤報率低,適用于加密和交換的環(huán)境。但缺點是它更依賴于主機(jī)所固有的日志分析能力,而審計日志的過程極易受到攻擊;HIDS 只能對主機(jī)上特定的應(yīng)用程序進(jìn)行監(jiān)控,檢測范圍會受到限制;全面部署HIDS 的代價極大,同時還會影響到主機(jī)的性能。
1.2.2 基于網(wǎng)絡(luò)的入侵檢測
NIDS[24]是利用在混雜模式下的網(wǎng)卡來實時監(jiān)聽整個網(wǎng)段上的通信服務(wù)。不管是基于主機(jī)的入侵檢測還是基于網(wǎng)絡(luò)的入侵檢測,它們都存在一定的局限性,因此對它們的改進(jìn)仍在不斷繼續(xù)。Ahmed 等人[25]提出了一種改進(jìn)的網(wǎng)絡(luò)入侵檢測系統(tǒng),首先對網(wǎng)絡(luò)的某一部分分配一個服務(wù)器節(jié)點,然后在服務(wù)器上安裝入侵檢測系統(tǒng),在每個數(shù)據(jù)包達(dá)到目的主機(jī)之前都在服務(wù)器上對其進(jìn)行測試,目的主機(jī)不能從該網(wǎng)絡(luò)以外的任何地方接收數(shù)據(jù)包,即使某些數(shù)據(jù)包直接發(fā)送給它,那也要轉(zhuǎn)發(fā)給服務(wù)器驗證后才能繼續(xù)發(fā)送,若服務(wù)器發(fā)現(xiàn)該數(shù)據(jù)包是入侵,則立馬丟棄。該系統(tǒng)不僅能夠節(jié)省開銷,還能達(dá)到很高的檢測率。Al-Hamami 等人[26]提出了一種基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)入侵檢測系統(tǒng),該系統(tǒng)使用了數(shù)據(jù)挖掘的兩個子階段,即K-means聚類算法和FP-growth算法,目的是增強(qiáng)入侵檢測系統(tǒng),其中無監(jiān)督的K-means被用來發(fā)現(xiàn)新的攻擊,F(xiàn)P-growth用來發(fā)現(xiàn)頻繁出現(xiàn)的攻擊,數(shù)據(jù)挖掘方法是對入侵檢測系統(tǒng)的補(bǔ)充,它們的合作有助于在高級別的網(wǎng)絡(luò)記錄中減少入侵檢測系統(tǒng)的分析量,從而使延遲最小化,并且提高系統(tǒng)的準(zhǔn)確率。在虛擬機(jī)環(huán)境下實現(xiàn)傳統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)是一種關(guān)鍵技術(shù),Wang 等人[27]提出了一種面向虛擬機(jī)的網(wǎng)絡(luò)入侵檢測系統(tǒng),該系統(tǒng)將入侵檢測系統(tǒng)部署在虛擬機(jī)監(jiān)視程序之上,從虛擬網(wǎng)橋中獲取網(wǎng)絡(luò)數(shù)據(jù)包。虛擬網(wǎng)橋是虛擬機(jī)中的虛擬設(shè)備,用來將數(shù)據(jù)包從物理設(shè)備傳輸?shù)教摂M接口。在系統(tǒng)實現(xiàn)中,首先創(chuàng)建一個進(jìn)程,將虛擬接口分配給該進(jìn)程,并且由該進(jìn)程負(fù)責(zé)對虛擬網(wǎng)橋中獲取的數(shù)據(jù)包進(jìn)行檢測,從而實現(xiàn)對虛擬機(jī)的保護(hù)。
基于網(wǎng)絡(luò)的入侵檢測技術(shù)能夠檢測到未成功的攻擊行為并記錄下來,讓攻擊者無法轉(zhuǎn)移證據(jù),隱蔽性非常好,并且在NIDS 實時檢測和響應(yīng)惡意行為時并不會影響到系統(tǒng)性能。但缺點是NIDS只能檢測到直連網(wǎng)段的通信,不能檢測在不同網(wǎng)段的數(shù)據(jù)包,這樣檢測范圍也受到了限制;NIDS很難實現(xiàn)一些復(fù)雜的、計算量大的和需要分析時間的檢測,處理加密的會話過程也會比較艱難。
從體系結(jié)構(gòu)的角度可以將入侵檢測系統(tǒng)分為集中式和分布式。集中式入侵檢測系統(tǒng)[28]的分析引擎和控制中心在一個系統(tǒng)上,不能遠(yuǎn)距離的操作。這種體系結(jié)構(gòu)簡單,不會因為通訊而使隱私泄露,也不會影響到網(wǎng)絡(luò)帶寬。但是該方法伸縮性和可配置性較差。而分布式入侵檢測系統(tǒng)[28]的分析引擎和控制中心在兩個系統(tǒng)上,可以通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)距離的操作,目前大多數(shù)的入侵檢測系統(tǒng)都是分布式的。這種體系結(jié)構(gòu)伸縮性和安全性較高,但是維護(hù)成本也很高。
從工作方式的角度可以將入侵檢測系統(tǒng)分為在線檢測和離線檢測。在線檢測[29]可以實時地監(jiān)視數(shù)據(jù)的產(chǎn)生并對其進(jìn)行分析。這種方式雖然可以實時地保護(hù)系統(tǒng),但是當(dāng)系統(tǒng)規(guī)模很大時,很難保證實時性。離線檢測[30]是當(dāng)入侵行為發(fā)生后,再對其進(jìn)行分析。此方法可以處理大量事件,但不能及時地為系統(tǒng)提供保護(hù)措施。
機(jī)器學(xué)習(xí)技術(shù)是從大量的歷史數(shù)據(jù)中挖掘出其中隱含的規(guī)律,在網(wǎng)絡(luò)安全領(lǐng)域,常用在基于異常的入侵檢測,如圖3所示。基于機(jī)器學(xué)習(xí)的入侵檢測系統(tǒng)是在大規(guī)模、高寬帶的互聯(lián)網(wǎng)環(huán)境中,對網(wǎng)絡(luò)進(jìn)行實時監(jiān)控的一種有效工具。同時,數(shù)據(jù)集也是入侵檢測系統(tǒng)的關(guān)鍵,可以對入侵檢測系統(tǒng)的性能進(jìn)行驗證。接下來首先對數(shù)據(jù)集進(jìn)行簡單介紹,再從數(shù)據(jù)集入手,對現(xiàn)階段基于機(jī)器學(xué)習(xí)的物聯(lián)網(wǎng)入侵檢測系統(tǒng)進(jìn)行闡述,最后比較每種技術(shù)的優(yōu)點和不足。
圖3 基于異常的入侵檢測技術(shù)框架
KDD99[31]數(shù)據(jù)集是從一個模擬的美國空軍局域網(wǎng)上采集的9個星期的網(wǎng)絡(luò)連接和系統(tǒng)審計數(shù)據(jù),它是目前最流行的入侵檢測數(shù)據(jù)集,自1999年開始使用,但是它數(shù)據(jù)類型不平衡,導(dǎo)致結(jié)果總是偏向更頻繁的數(shù)據(jù)。為了克服KDD99的局限性,NSL-KDD[32]被創(chuàng)建出來,其數(shù)據(jù)分布平衡,不存在重復(fù)的數(shù)據(jù),因此不會偏向更頻繁的數(shù)據(jù)。但是NSL-KDD 缺乏現(xiàn)階段流行的攻擊,因此又提出了UNSW-NB15[33]數(shù)據(jù)集,它是由澳大利亞網(wǎng)絡(luò)安全中心(ACCS)的網(wǎng)絡(luò)安全實驗室利用IXIA PerfectStorm 工具創(chuàng)建,更接近真實世界網(wǎng)絡(luò)的數(shù)據(jù)。還有一些較新的數(shù)據(jù)集,例如CICIDS 2017[34]等,如表2所示,這里不再進(jìn)行過多的介紹。接下來將利用以上的數(shù)據(jù)集對入侵檢測系統(tǒng)進(jìn)行性能評估。
由于攻擊的復(fù)雜性和多樣性,越來越多的研究人員開始將重心轉(zhuǎn)移到機(jī)器學(xué)習(xí)中,發(fā)現(xiàn)入侵檢測系統(tǒng)與機(jī)器學(xué)習(xí)技術(shù)融合,能夠得到更好的決策能力。深度學(xué)習(xí)(Deep Learning,DL)是模擬生物大腦功能的分組通用算法,可以根據(jù)要解決的問題自動構(gòu)建模型,而不是用于特定任務(wù),它也是機(jī)器學(xué)習(xí)領(lǐng)域中一個全新的研究方向,目的是學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律。從技術(shù)上講,DL是包含多個隱藏層的人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用。使用基于深度學(xué)習(xí)的入侵檢測技術(shù)的這種先進(jìn)性思維,能夠讓人們對目前這一領(lǐng)域有一個全局性的看法。
Zarai 等人[35]提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)。首先對無監(jiān)督學(xué)習(xí)的深度自編碼器(Deep Autoencoder,DAE)、受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)和監(jiān)督學(xué)習(xí)的遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)進(jìn)行了簡單比較,最后選用DNN和RNN進(jìn)行優(yōu)化。在優(yōu)化過程中,將DNN和RNN 分為一層、二層和三層進(jìn)行實驗,結(jié)果表明,三層的DNN與三層的長短期記憶(Long Short-Term Memory,LSTM)具有較高的準(zhǔn)確率和較低的誤報率。但是根據(jù)實驗結(jié)果可看出,三層的DNN 準(zhǔn)確率比一層和二層的DNN 準(zhǔn)確率僅僅高了0.1%,在精確率上甚至低了0.1%,因此這個實驗并沒有什么實際意義。眾所周知,LSTM 是為了解決RNN 的“梯度消失”和長時依賴的問題,適合處理時間序列中間隔和延遲相對較長的重要事件,因此三層LSTM確實會有較高的性能。但是三層的LSTM有著更復(fù)雜的系統(tǒng)架構(gòu),會導(dǎo)致在系統(tǒng)運行時花費更長的時間,并不能及時地保護(hù)網(wǎng)絡(luò)安全。作者僅僅是與貝葉斯、決策樹以及支持向量機(jī)的性能進(jìn)行對比,并不能有效地證明該算法優(yōu)于其他算法。
Yang 等人[36]從物聯(lián)網(wǎng)的本質(zhì)出發(fā),建立了LM-BP入侵檢測算法,實現(xiàn)了對物聯(lián)網(wǎng)入侵檢測系統(tǒng)的性能優(yōu)化。其中BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)可以看成是“萬能的模型+誤差修正函數(shù)”,根據(jù)每次訓(xùn)練得到的結(jié)果和預(yù)期的結(jié)果進(jìn)行誤差分析,修改相應(yīng)的權(quán)值和閥值,最后得到訓(xùn)練結(jié)果與預(yù)期結(jié)果相一致的模型。LM(Levenberg-Marquard)算法,可用于解決非線性最小二乘問題,它將高斯牛頓法和梯度下降法相結(jié)合,這樣既具有高斯牛頓法的局部特性,又具有梯度下降法的全局特性。作者利用LM算法優(yōu)化速度快、魯棒性強(qiáng)的特點對傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值和閥值進(jìn)行優(yōu)化,所建立的LM-BP入侵檢測算法在KDD99數(shù)據(jù)集上進(jìn)行評估,結(jié)果表明該算法在一定程度上提高了DOS 的檢測率,并且降低了誤報率。相對于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型[37]和PSO-BP 神經(jīng)網(wǎng)絡(luò)模型[38],該算法具有明顯優(yōu)勢。但是根據(jù)實驗結(jié)果可以明顯看出,該算法在檢測R2L 和U2R 兩種攻擊時都表現(xiàn)出較低的檢測率和較高的誤報率。隨著物聯(lián)網(wǎng)的快速發(fā)展,對入侵檢測系統(tǒng)性能的要求也會越來越高,因此對于LM-BP 在R2L 和U2R 上的表現(xiàn)來看,并不適用于未來網(wǎng)絡(luò)的發(fā)展趨勢。作者僅僅使用KDD99 一種數(shù)據(jù)集進(jìn)行驗證,所得到的結(jié)果具有一定的局限性,同時還忽略了算法的整體檢測率,因此該實驗并沒有一定的說服力。
表2 入侵檢測數(shù)據(jù)集
Zhang 等人[39]設(shè)計了一種基于遺傳算法(Genetic Algorithm,GA)和深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)的入侵檢測系統(tǒng),可以自適應(yīng)地改變網(wǎng)絡(luò)結(jié)構(gòu),以適應(yīng)物聯(lián)網(wǎng)環(huán)境中不同類型的攻擊。其中DBN是神經(jīng)網(wǎng)絡(luò)的一種,組成元件是RBM[40],它可用于特征的降維,類似于一個自編碼器,也可作為一個概率生成模型,用來建立一個觀察數(shù)據(jù)和標(biāo)簽之間關(guān)系的聯(lián)合分布。GA 是受了達(dá)爾文進(jìn)化論的啟發(fā),借鑒生物進(jìn)化過程而提出的一種啟發(fā)式搜索算法,它采用的是概率論的尋優(yōu)方法,不需要確定的規(guī)則,就可以自動地獲取搜索空間,從而實現(xiàn)自適應(yīng)地調(diào)整搜索方向。作者使用GA 算法對DBN神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)目和每層的神經(jīng)元數(shù)目進(jìn)行優(yōu)化,使DBN 的入侵檢測模型在結(jié)構(gòu)緊湊的情況下達(dá)到更高的檢測率。利用NSL-KDD數(shù)據(jù)集對模型進(jìn)行仿真和評價,結(jié)果表明,GA-DBN 算法可以有效地提高入侵檢測的識別率,降低模型的復(fù)雜度,并且在不影響模型分類精度的前提下,減少了模型的訓(xùn)練時間;另外,該模型不僅僅局限于物聯(lián)網(wǎng)中的入侵檢測,還可以應(yīng)用于分類和識別中,針對不同的數(shù)據(jù)集可以自適應(yīng)地調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)。但是論文中僅僅針對KDD99 和NSL-KDD兩種數(shù)據(jù)集進(jìn)行了對比,而這兩種數(shù)據(jù)集缺少現(xiàn)階段流行的攻擊,因此實驗結(jié)果具有一定的局限性;該模型對于每種類型的攻擊都有一種最優(yōu)的結(jié)構(gòu),但并沒有得出對四種攻擊類型同時有較高檢測率的模型結(jié)構(gòu)。
Hassan 等人[41]提出了一種卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和權(quán)值下降的混合深度學(xué)習(xí)模型應(yīng)用于基于網(wǎng)絡(luò)的入侵檢測。卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋型神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一,可以進(jìn)行監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),其隱含層內(nèi)卷積核[42]的參數(shù)共享和層間連接的稀疏性使得卷積神經(jīng)網(wǎng)絡(luò)能夠以較小的計算量處理大量的特征。作者利用深度卷積神經(jīng)網(wǎng)絡(luò)從大數(shù)據(jù)中提取重要特征,將池化層的輸出結(jié)果傳給權(quán)值下降長短期記憶網(wǎng)絡(luò)(Weight Drop Long Short-Term Memory,WDLSTM)學(xué)習(xí)其中的特征關(guān)系,使其保留長期的依賴關(guān)系,避免梯度消失的問題,同時還會丟棄一些重復(fù)特征,防止重復(fù)連接而產(chǎn)生的過擬合現(xiàn)象。利用UNSWNB15 數(shù)據(jù)集對該算法進(jìn)行驗證,得到了令人滿意的結(jié)果,并且較其他算法而言,有更短的時耗。但是根據(jù)實驗結(jié)果可知,在UNSW-NB15 數(shù)據(jù)集上,對于正常行為的檢測率為1,但是對于數(shù)據(jù)量較少的攻擊并沒有很高的精度,例如Backdoor 和Worms 攻擊的精確率為0.50,Analysis 攻擊的精確率為0.44,DOS 攻擊的精確率甚至只有0.32,這會造成很高的誤報率。
Lv 等人[43]提出了一種基于誤用的入侵檢測系統(tǒng)KPCA-DEGSA-HKELM。其中PCA(Principal Component Analysis)是主成分分析算法,它能夠很好地處理線性關(guān)系,但是處理非線性關(guān)系時各主成分間的貢獻(xiàn)率過于分散,因此引入了核主成分分析(Kernal Principal Component Analysis,KPCA)算法,首先將原始數(shù)據(jù)通過核函數(shù)映射到高維空間,使不可分離的數(shù)據(jù)在高維中變得可分離,再利用PCA 算法進(jìn)行降維和特征提取。ELM(Extreme Learning Machine)是極限學(xué)習(xí)機(jī),它是一種單隱層的前饋型神經(jīng)網(wǎng)絡(luò),適用于監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的問題,可以隨機(jī)初始化輸入權(quán)重和偏置并得到相應(yīng)的輸出權(quán)重,這樣收斂速度更快,學(xué)習(xí)性能更有效,也更容易得到全局最優(yōu)解。但是對于未知攻擊,預(yù)測精度相對較低,因此提出了混合核函數(shù)極限學(xué)習(xí)機(jī)(Hybrid Kernel Function Extreme Learning Machine,HKELM),以提高泛化能力。DE(Differential Evolution Algorithm)和GSA(Gravitational Search Algorithm)分別是差分進(jìn)化算法和引力搜索算法。GSA 主要是利用物體之間的引力將所有對象引導(dǎo)到搜索空間中的最優(yōu)解;DE 則是通過個體之間相互合作與競爭來指導(dǎo)優(yōu)化搜索的方向,具有很強(qiáng)的全局搜索能力和魯棒性。將兩種算法結(jié)合來優(yōu)化HKELM 的參數(shù),可以有效地提高KHELM 在預(yù)測攻擊過程中的局部和全局的尋優(yōu)能力。這樣就得到了KPCA-DEGSA-HKELM,該算法不論是在 KDD99 數(shù)據(jù)集、UNSW-NB15 數(shù)據(jù)集還是 TE 數(shù)據(jù)集[44]中,都表現(xiàn)出較高的準(zhǔn)確率,并且節(jié)省了大量時間。但是該算法并沒有考慮到數(shù)據(jù)類型不平衡的問題,在多分類時,對于攻擊類型數(shù)量較少的F1 分?jǐn)?shù)明顯低于攻擊類型數(shù)量較多的,還是存在較高的誤報率風(fēng)險。
Ravi 等人[45]提出了一種基于 SDRK(SSML DFNNRRS-K-means)的機(jī)器學(xué)習(xí)算法來檢測攻擊行為,主要針對的是數(shù)據(jù)泛濫攻擊(Data Deluge Attack)。其中SSML(Semi-Supervised Machine Learning)是半監(jiān)督機(jī)器學(xué)習(xí)技術(shù),DFNN(Deep Feedforward Network)是深度前饋型神經(jīng)網(wǎng)絡(luò),它在DNN的基礎(chǔ)上加了一個前饋層,可以提供任何程度的精度。K-means聚類算法是一種無監(jiān)督的學(xué)習(xí),可以將未知攻擊自動地歸到相似對象的簇中,但是K-means并不適用于物聯(lián)網(wǎng),因為在很多時候,并不知道應(yīng)該將給定的數(shù)據(jù)集分成多少個聚類簇,也就是多少個類別才合適。所以作者提出了RSS-K-means 聚類算法,利用重復(fù)隨機(jī)采樣集得到聚類簇,選擇其中最優(yōu)的聚類簇。SDRK 利用有監(jiān)督的深度神經(jīng)網(wǎng)絡(luò)和無監(jiān)督的聚類算法技術(shù),將入侵檢測放置在物聯(lián)網(wǎng)和云層之間的霧節(jié)點上,這樣比直接放在云節(jié)點上有更快的檢測效率。在基準(zhǔn)NSK-KDD數(shù)據(jù)集上對SDRK進(jìn)行了驗證,結(jié)果表明對檢測入侵攻擊確實有很好的成效。但是只使用了NSL-KDD 數(shù)據(jù)集進(jìn)行二分類驗證,實驗結(jié)果具有一定的局限性。在運行時間上來說,該算法并沒有優(yōu)于其他模型,甚至是ELM算法的3 倍之多;將該算法放置在霧節(jié)點上可能存在更大的安全隱患,攻擊者一旦入侵霧節(jié)點就會將其控制,從而造成更大的損失。
Alazzam等人[46]為物聯(lián)網(wǎng)入侵檢測技術(shù)提出了一種基于鴿子啟發(fā)優(yōu)化器(Pigeon Inspired Optimizer,PIO)的特征選擇算法。連續(xù)鴿子啟發(fā)優(yōu)化器是一種新的二值化方法,利用余弦相似性來計算鴿子的速度,使收斂速度更快。作者使用的是決策樹(Decision Tree,DT)分類器。在機(jī)器學(xué)習(xí)中,DT是一個預(yù)測模型,也是一種樹形結(jié)構(gòu),它表示對象屬性和對象值之間的一種映射關(guān)系,其中每個節(jié)點都表示一個屬性,每個分支代表一個可能的屬性值,每個葉節(jié)點代表對象所屬的一種類別。DT是一種監(jiān)督學(xué)習(xí)模型,相對于其他分類器而言,它更容易處理特征之間的交互關(guān)系。利用改進(jìn)的PIO 算法對特征進(jìn)行選擇后再用DT分類器進(jìn)行正常行為和攻擊行為的分類,不僅能保證高檢測率、低誤報率,還能減少構(gòu)建入侵檢測系統(tǒng)所需的特征數(shù)目,大大節(jié)省了系統(tǒng)的運行時間。但是文章僅僅局限于二分類,并沒有給出多分類的實驗數(shù)據(jù);對于二分類而言,NSL-KDD的準(zhǔn)確率也僅僅只有0.883,沒有達(dá)到一個較優(yōu)的性能,如上述Ravi等人提出的算法在NSL-KDD數(shù)據(jù)集上的二分類結(jié)果達(dá)到了0.998。
Jan 等人[47]設(shè)計了一種基于支持向量機(jī)(Support Vector Machines,SVM)的輕量級入侵檢測技術(shù)。SVM是一類按監(jiān)督學(xué)習(xí)方式對數(shù)據(jù)進(jìn)行二元分類的廣義線性分類器,它在解決樣本數(shù)相對較少、高維模式識別及線性不可分問題時表現(xiàn)出許多特有的優(yōu)勢。作者只使用了包達(dá)到率這一屬性,并且對該屬性提取了平均值、最大值和中值這三個特征來檢測網(wǎng)絡(luò)中的流量是否存在異常,這樣大大縮短了訓(xùn)練的時間;其次是利用線性函數(shù)、多項式函數(shù)以及徑向基函數(shù)對SVM進(jìn)行優(yōu)化;同時增加時間窗口大小也在一定程度上改善了分類器的性能。該系統(tǒng)在分類精度和檢測時間上都取得了令人滿意的效果。但是該算法檢測范圍太小,很容易忽略那些流量變化不明顯的特征,導(dǎo)致攻擊者的入侵。
Pajouh 等人[48]提出了一種基于兩層降維兩層分類(Two-Layer Dimension Reduction and Two-Tier Classification,TDTC)的異常入侵檢測系統(tǒng),主要檢測集中在低頻段的常見攻擊,例如R2L、U2L。第一層用于特征降維的主成分分析,是一種無監(jiān)督的學(xué)習(xí)技術(shù),將NSL-KDD數(shù)據(jù)集中的41個特征降到了35個,通過從初始相關(guān)特征中生成不相關(guān)的特征來提供較低的特征空間,使系統(tǒng)的開銷明顯降低;第二層降維使用的是線性判別分析(Linear Discriminant Analysis,LDA),是一種監(jiān)督的學(xué)習(xí)技術(shù),使降維后的每個樣本輸出都帶有類別標(biāo)簽,這樣可以更好地分類,從而提高入侵檢測的速度。這兩種技術(shù)的結(jié)合減少了計算量,更加適用于物聯(lián)網(wǎng)系統(tǒng)。第二步是利用樸素貝葉斯算法(Naive Bayes Algorithm,NB)和K鄰近算法(K-Nearest Neighbor,KNN)進(jìn)行分類。NB 是假設(shè)特征條件之間相互獨立,使用概率統(tǒng)計的知識對樣本數(shù)據(jù)集進(jìn)行分類的一種監(jiān)督學(xué)習(xí)技術(shù),它所需參數(shù)少,對缺失數(shù)據(jù)不太敏感,算法簡單。KNN 即是給定一個訓(xùn)練數(shù)據(jù)集,對于一個新的輸入實例,在訓(xùn)練數(shù)據(jù)集中找到與該實例最鄰近的k個實例,這k個實例的多數(shù)屬于某個類,那么就將該實例分到這個類中,它對異常值不敏感,分類精度高。作者首先利用NB對降維后的數(shù)據(jù)進(jìn)行第一次異常檢測,然后將檢測結(jié)果傳給KNN 進(jìn)行再次分類,這樣不僅有更低的誤報率,還有更高的檢測率。雖然該算法在NSLKDD 數(shù)據(jù)集上達(dá)到了較好的結(jié)果,但是也僅僅局限于一種數(shù)據(jù)集上,可以嘗試將其應(yīng)用于實時數(shù)據(jù)流量檢測中。
綜上所述,不論是神經(jīng)網(wǎng)絡(luò)模型,還是群智能優(yōu)化算法,亦或是傳統(tǒng)的機(jī)器學(xué)習(xí)算法,它們之間相互作用,為入侵檢測系統(tǒng)提供效果更好的解決方案。入侵檢測系統(tǒng)的好壞取決于該系統(tǒng)結(jié)構(gòu)是集中式的還是分布式的,是基于異常檢測還是基于誤用檢測,是實時捕獲的數(shù)據(jù)還是離線的數(shù)據(jù),數(shù)據(jù)是標(biāo)記的還是未標(biāo)記的。因此一般針對不同的攻擊,使用不同的機(jī)器學(xué)習(xí)算法,采用不同的策略,都會產(chǎn)生不同的結(jié)果,如表3 所示。因為部署方式的差異,不能一對一地比較,所以更傾向于總結(jié)性能。
物聯(lián)網(wǎng)的迅猛發(fā)展,出現(xiàn)了兩種新的模式——邊緣計算和霧計算。隨后可考慮對兩者進(jìn)行深入研究和開發(fā),以較少的資源需求實現(xiàn)適合物聯(lián)網(wǎng)的入侵檢測,提高檢測效率。同時,物聯(lián)網(wǎng)入侵檢測系統(tǒng)還需要貼近現(xiàn)實的物聯(lián)網(wǎng)專用數(shù)據(jù)集,有助于對不同的機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練、驗證和評估,并且能夠?qū)嶒炦M(jìn)行更真實有效的比較。此外,基于機(jī)器學(xué)習(xí)的入侵檢測可以對特征選擇、特征重構(gòu)和特征降維進(jìn)行更深入的研究,此類技術(shù)有助于克服物聯(lián)網(wǎng)資源受限的問題,以獲得更快更高的檢測效率。最后,將更多注意力投放于對未知攻擊和零日攻擊的研究,開發(fā)出能夠?qū)崟r更新模型的入侵檢測系統(tǒng),以保證檢測過程的連續(xù)性,并使得決策過程更加智能和獨立。
表3 基于機(jī)器學(xué)習(xí)的入侵檢測系統(tǒng)的比較
萬物互聯(lián)已滲入生活中的各個角落,如智能停車場、智能環(huán)境測試、智能電網(wǎng)、車輛自動診斷等領(lǐng)域。然而,各行業(yè)在致力于創(chuàng)新和開發(fā)更多的互聯(lián)產(chǎn)品的同時,卻未能驗證其質(zhì)量和安全性?,F(xiàn)階段,物聯(lián)網(wǎng)作為一把雙刃劍,一個受損的節(jié)點可能會影響整個網(wǎng)絡(luò)的設(shè)備,因此需要入侵檢測系統(tǒng)確保網(wǎng)絡(luò)安全,實現(xiàn)對惡意攻擊行為的檢測。本文首先比較了傳統(tǒng)系統(tǒng)安全與現(xiàn)階段物聯(lián)網(wǎng)安全的不同,并對入侵檢測系統(tǒng)從檢測技術(shù)、數(shù)據(jù)源、體系結(jié)構(gòu)以及工作方式等方面進(jìn)行了詳細(xì)分類;然后從數(shù)據(jù)集入手,對入侵檢測技術(shù)進(jìn)行了討論和評估,并對未來發(fā)展方向進(jìn)行了闡述。