董寧,程曉榮,張銘泉
基于物聯(lián)網(wǎng)平臺的動態(tài)權(quán)重損失函數(shù)入侵檢測系統(tǒng)
董寧*,程曉榮,張銘泉
(華北電力大學(xué)(保定) 計算機系,河北 保定 071003)( ? 通信作者電子郵箱1197071587@qq.com)
隨著物聯(lián)網(wǎng)(IoT)接入設(shè)備越來越多,以及網(wǎng)絡(luò)管理維護人員缺乏對IoT設(shè)備的安全意識,針對IoT環(huán)境和設(shè)備的攻擊逐漸泛濫。為了加強IoT環(huán)境下的網(wǎng)絡(luò)安全性,利用基于IoT平臺制作的入侵檢測數(shù)據(jù)集,采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)+長短期記憶(LSTM)網(wǎng)絡(luò)為模型架構(gòu),利用CNN提取數(shù)據(jù)的空間特征,LSTM提取數(shù)據(jù)的時序特征,并將交叉熵損失函數(shù)改進為動態(tài)權(quán)重交叉熵損失函數(shù),制作出一個針對IoT環(huán)境的入侵檢測系統(tǒng)(IDS)。經(jīng)實驗設(shè)計分析,并使用準確率、精確率、召回率和F1-measure作為評估參數(shù)。實驗結(jié)果表明在CNN-LSTM網(wǎng)絡(luò)架構(gòu)下采用了動態(tài)權(quán)重損失函數(shù)的模型與采用傳統(tǒng)的交叉熵損失函數(shù)的模型相比,前者比后者在使用數(shù)據(jù)集的地址解析協(xié)議(ARP)類樣本中在F1-Measure上提升了47個百分點,前者比后者針對數(shù)據(jù)集中的其他少數(shù)類樣本則提升了2個百分點~10個百分點。實驗結(jié)果表明,動態(tài)權(quán)重損失函數(shù)能夠增強模型對少數(shù)類樣本的判別能力,且該方法可以提升IDS對少數(shù)類攻擊樣本的判斷能力。
動態(tài)權(quán)重損失函數(shù);入侵檢測;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);長短期記憶;物聯(lián)網(wǎng)
隨著無線通信技術(shù)的不斷發(fā)展和完善,無線通信的距離越來越遠,通信質(zhì)量越來越高,能耗越來越低。更多的物聯(lián)網(wǎng)(Internet of Things, IoT)設(shè)備開始接入互聯(lián)網(wǎng)中。截止到2020年,共有500億個物聯(lián)網(wǎng)設(shè)備已接入互聯(lián)網(wǎng)[1],全球物聯(lián)網(wǎng)安全支出達到31億美元[2],隨著物聯(lián)網(wǎng)規(guī)模的不斷增大,原本存在于互聯(lián)網(wǎng)世界中的攻擊方式也逐漸轉(zhuǎn)移到物聯(lián)網(wǎng)中。同時,由于物聯(lián)網(wǎng)萬物互聯(lián)的特性,黑客對物聯(lián)網(wǎng)所發(fā)起的攻擊也會造成更嚴重的危害。
目前提出的針對物聯(lián)網(wǎng)的入侵檢測系統(tǒng)(Intrusion Detection System, IDS)多是基于NSL-KDD、UNSW-NB15等面向主機入侵或網(wǎng)絡(luò)入侵的數(shù)據(jù)集。而物聯(lián)網(wǎng)環(huán)境中,由于物聯(lián)網(wǎng)設(shè)備計算能力比較弱,且部分設(shè)備由電池供電,因此無法部署復(fù)雜的服務(wù),針對物聯(lián)網(wǎng)設(shè)備的攻擊比較單一。本文所采用的在物聯(lián)網(wǎng)環(huán)境下生成的數(shù)據(jù)集[3]提供了4種基本攻擊類型。4種基本攻擊類型如下:
1) DoS(Denial of Service):由于物聯(lián)網(wǎng)設(shè)備計算能力較低,無法處理復(fù)雜的業(yè)務(wù),因此更容易遭受DoS攻擊導(dǎo)致設(shè)備無法正常使用。
2) Scan: 早期運維人員對針對物聯(lián)網(wǎng)設(shè)備攻擊的防范意識不強,部分設(shè)備直接暴露在公網(wǎng)中且設(shè)置默認賬號密碼。有些軟件甚至不能遠程更新升級和打補丁,因此物聯(lián)網(wǎng)環(huán)境下有很多存在漏洞的設(shè)備,且目前針對物聯(lián)網(wǎng)設(shè)備的信息收集和漏洞掃描技術(shù)都比較成熟。
3) ARP MITM(Man-In-The-Middle attack):物聯(lián)網(wǎng)設(shè)備之間均是明文通信,因此可以使用地址解析協(xié)議(Address Resolution Protocol, ARP)中間人監(jiān)聽,獲取設(shè)備間的通信信息。
4) 僵尸網(wǎng)絡(luò): 僵尸網(wǎng)絡(luò)是指采用一種或多種傳播手段,將大量主機感染bot程序(僵尸程序)病毒,從而在控制者和被感染主機之間形成一個可一對多控制的網(wǎng)絡(luò)。通過僵尸網(wǎng)絡(luò),黑客可以發(fā)動DDoS(Distributed Denial of Service)攻擊獲取不正當利益。
現(xiàn)有入侵檢測系統(tǒng)采用的數(shù)據(jù)集多為KDDCup1999、NSL-KDD、UNSW-NB15等面向主機或者網(wǎng)絡(luò)的數(shù)據(jù)集。這些數(shù)據(jù)集具有較多且復(fù)雜的類型和標簽。然而在物聯(lián)網(wǎng)環(huán)境中,由于算力和能源的局限性,難以部署復(fù)雜的業(yè)務(wù)和應(yīng)用,因此以上數(shù)據(jù)集并非完全適用于物聯(lián)網(wǎng)環(huán)境下的入侵檢測系統(tǒng)。同時,以上數(shù)據(jù)集均存在數(shù)據(jù)不平衡的問題,如NSL-KDD數(shù)據(jù)集,共4種基本攻擊類型,其數(shù)據(jù)分布如表1所示。
表1 NSL-KDD數(shù)據(jù)集樣本分布
該數(shù)據(jù)集中Normal和DoS樣本數(shù)量遠遠高于U2R(User-to-Root)和R2L(Remote-to-Login)兩種攻擊類型;且測試集中R2L的樣本數(shù)是訓(xùn)練集中其樣本數(shù)的兩倍。此時可知訓(xùn)練集和測試集分布是不同的,這也是大部分入侵檢測系統(tǒng)在U2R和R2L數(shù)據(jù)上表現(xiàn)不佳的原因。為了解決上述問題,很多學(xué)者提出了各種模型和入侵檢測方法。
Thamilarasu等[4]提出利用深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)和深度神經(jīng)網(wǎng)絡(luò)(Deep Neutral Network,DNN)結(jié)合來訓(xùn)練入侵檢測模型。首先利用DBN對網(wǎng)絡(luò)參數(shù)進行無監(jiān)督學(xué)習(xí)預(yù)訓(xùn)練,然后利用DNN進行監(jiān)督學(xué)習(xí)。該方法在二分類的情況下達到了較高的準確率。然而二分類很難部署在實際應(yīng)用中,因為網(wǎng)絡(luò)維護人員無法根據(jù)兩種分類的結(jié)果部署相應(yīng)的應(yīng)急防護措施。Wang等[5]提出首先利用堆疊降噪自動編碼器(Stacked Denoising Auto-Encoder, SDAE)對數(shù)據(jù)進行降噪處理,然后利用反向傳播算法,構(gòu)造極限學(xué)習(xí)機模型對參數(shù)進行微調(diào)。該方法在多種數(shù)據(jù)集上取得了較好的結(jié)果,然而在U2R和R2L兩種攻擊類型的判別上表現(xiàn)欠佳。Shone等[6]提出利用AE對數(shù)據(jù)進行特征提取,然后使用隨機森林做判別。利用KDD99和NSL-KDD數(shù)據(jù)集進行實驗,模型最終取得較好的表現(xiàn),且訓(xùn)練時間較短,但由于數(shù)據(jù)不足,U2R和R2L的表現(xiàn)不佳。Hassan等[7]提出利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)和雙向長短期記憶(Bi-directional Long Short-Term Memory, BiLSTM)神經(jīng)網(wǎng)絡(luò)架構(gòu),使用UNSW-NB15數(shù)據(jù)集設(shè)計入侵檢測系統(tǒng),但是模型對數(shù)據(jù)集中少數(shù)類樣本的表現(xiàn)不佳。Almiani等[8]提出多層循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)模型,利用NSL-KDD數(shù)據(jù)集,在物聯(lián)網(wǎng)霧節(jié)點部署入侵檢測系統(tǒng),然而由于霧節(jié)點本身的安全性得不到保障,入侵檢測系統(tǒng)也容易遭到破壞。Vasan等[9]提出一個跨平臺的物聯(lián)網(wǎng)設(shè)備內(nèi)的惡意軟件檢測系統(tǒng)。該系統(tǒng)可以檢測物聯(lián)網(wǎng)設(shè)備內(nèi)部的軟件是否含有惡意代碼,且可以跨平臺運行,然而不能防御來自網(wǎng)絡(luò)和其他設(shè)備的攻擊。Li等[10]提出多卷積神經(jīng)網(wǎng)絡(luò),將特征根據(jù)相關(guān)性劃分為四個部分,并將一維特征數(shù)據(jù)轉(zhuǎn)為灰度圖,利用多卷積神經(jīng)網(wǎng)絡(luò)進行數(shù)據(jù)類型識別。劉輝等[11]提出動態(tài)權(quán)重代價函數(shù)做目標煙塵檢測。該動態(tài)權(quán)重為設(shè)定一個在[0,1]內(nèi)呈單調(diào)遞減且值域為[0,1]的函數(shù),并與原代價函數(shù)相乘,通過該方法來縮小模型對確定性樣本的誤差同時放大模型判斷不確定性樣本的誤差。
本文利用在真實物聯(lián)網(wǎng)環(huán)境下收集的數(shù)據(jù)集,構(gòu)造CNN-LSTM網(wǎng)絡(luò),利用CNN和LSTM網(wǎng)絡(luò)的特性和優(yōu)點對數(shù)據(jù)集中的網(wǎng)絡(luò)流判斷是否為攻擊行為且給出攻擊的基本類型。同時本文對傳統(tǒng)的交叉熵代價函數(shù)改進,將其改為能夠根據(jù)batch內(nèi)每一類樣本的數(shù)量動態(tài)改變對應(yīng)類樣本權(quán)重的代價函數(shù)。該代價函數(shù)在不改變數(shù)據(jù)集原始分布的情況下有效地緩解了傳統(tǒng)深度學(xué)習(xí)中數(shù)據(jù)分布不平衡時模型無法學(xué)習(xí)少數(shù)類樣本的問題。
本文使用的數(shù)據(jù)集是Google在Internet of Things (IoT)環(huán)境制作的僵尸網(wǎng)絡(luò)數(shù)據(jù)集。該數(shù)據(jù)集具有620 000條數(shù)據(jù)和83個特征,其中包括基于網(wǎng)絡(luò)流(Flow)的特征,因此研究人員可以基于流信息設(shè)計IoT環(huán)境下的入侵檢測系統(tǒng)。數(shù)據(jù)集中有3個標簽,包括1個二分類標簽和2個多分類標簽。第1個多分類標簽將流量分為正常和基本攻擊類型,第2個多分類標簽將基本攻擊類型細分成更多攻擊類型。本文使用具有4種攻擊類型的第1個多類別標簽。4個基本攻擊類型為:Scan、DoS、ARP中間人欺騙和Mirai。其中,Mirai是一個于2016年左右出現(xiàn)的僵尸網(wǎng)絡(luò)。該數(shù)據(jù)集的數(shù)據(jù)分布如表2所示。
表2 IoT入侵檢測數(shù)據(jù)集樣本分布
可以看出該數(shù)據(jù)集雖沒有NSL-KDD數(shù)據(jù)集嚴重的數(shù)據(jù)分布不均衡,但Mirai標簽數(shù)量仍然遠遠高于其他類型。
在數(shù)據(jù)集處理過程中,由于某些特征之間的值差異較大,因此對這些特征進行了歸一化[12]。歸一化公式如式(1)所示:
在歸一化過程中,由于特征內(nèi)部不同樣本的巨大差異,特征歸一化后,部分數(shù)據(jù)出現(xiàn)了NaN的情況,因為該情況會影響后續(xù)訓(xùn)練,因此刪除了數(shù)據(jù)集中出現(xiàn)NaN的特征。同時,某些特征(例如源IP、目標IP、時間戳等)僅在數(shù)據(jù)集中具有相關(guān)性,無法在現(xiàn)實中應(yīng)用,因此這些特征也被刪除。
由于該數(shù)據(jù)集為單個文件,并未劃分為訓(xùn)練集和測試集,因此在實驗中數(shù)據(jù)集按7∶3分為訓(xùn)練集和測試集。通過one-hot編碼處理數(shù)據(jù)集中的離散型標簽。訓(xùn)練集和測試集都以64個樣本為一個進行了訓(xùn)練和測試。
本文所提出的入侵檢測系統(tǒng)基于網(wǎng)絡(luò)型。物聯(lián)網(wǎng)設(shè)備通過監(jiān)聽來自外部的流量判斷是否構(gòu)成攻擊行為并發(fā)出警報。按照物聯(lián)網(wǎng)三層架構(gòu)的劃分(感知層、網(wǎng)絡(luò)層、應(yīng)用層),該系統(tǒng)則部署和工作在網(wǎng)絡(luò)層。如圖1所示為系統(tǒng)的工作流程。
圖1 本文系統(tǒng)工作流程
在物聯(lián)網(wǎng)工作過程中,感知層負責信息的收集和交換,并最終匯總到智能網(wǎng)關(guān),網(wǎng)關(guān)將信息上傳至云平臺或應(yīng)用,等待下一步指令。雖然感知層存在多種數(shù)據(jù)傳輸和交換協(xié)議,然而物聯(lián)網(wǎng)設(shè)備或網(wǎng)關(guān)在與應(yīng)用或云平臺交互時,仍多使用TCP/IP(Transmission Control Protocol/Internet Protocol)棧,而本文系統(tǒng)使用基于TCP/IP棧生成的流量進行訓(xùn)練,所針對的目標為暴露在公網(wǎng)上的物聯(lián)網(wǎng)智能網(wǎng)關(guān)或其他設(shè)備,防止其受到惡意用戶或受病毒感染設(shè)備的攻擊,因此本文系統(tǒng)能夠跨底層協(xié)議部署和使用。同時由圖1可知,系統(tǒng)在工作過程中僅對接收到的流量進行判斷,并做出相應(yīng)處理動作,因此系統(tǒng)在工作過程中無額外的通信消耗。
本文采用CNN-LSTM的網(wǎng)絡(luò)結(jié)構(gòu),其中CNN用于提取數(shù)據(jù)中的空間特征,而LSTM用于提取數(shù)據(jù)中的連續(xù)性特征。
CNN-LSTM網(wǎng)絡(luò)多用于視頻行為識別、圖片標注、圖片問答等領(lǐng)域。CNN用于提取圖像中的特征信息,LSTM根據(jù)CNN給出的序列化特征信息給出對應(yīng)的輸出信息,如視頻中的行為、圖像的標注等,此時CNN可看作LSTM的一個特征提取器。在入侵檢測領(lǐng)域中,由于CNN網(wǎng)絡(luò)局部連接和權(quán)值共享的特性使得其參數(shù)數(shù)量、資源消耗都少于其他深度神經(jīng)網(wǎng)絡(luò),因此CNN也適用于在能源和計算資源都相對匱乏的物聯(lián)網(wǎng)設(shè)備上使用。在物聯(lián)網(wǎng)環(huán)境中,攻擊是作為一個連續(xù)的過程產(chǎn)生的,如用戶對物聯(lián)網(wǎng)設(shè)備進行端口掃描時,在網(wǎng)絡(luò)中則體現(xiàn)為多個連續(xù)的針對物聯(lián)網(wǎng)設(shè)備的SYN(SYNchronization)標志位的TCP握手包,且目標端口號都是連續(xù)的。在入侵檢測中,如果僅對一個TCP握手包進行分析很難判斷是否為端口掃描,而將其多個數(shù)據(jù)包序列化輸入時并使用LSTM網(wǎng)絡(luò)判斷時,由于LSTM網(wǎng)絡(luò)可以得到之前多個樣本的特征信息,因此可以更加準確地判斷這些數(shù)據(jù)包為端口掃描攻擊[13]。本文通過使用CNN-LSTM網(wǎng)絡(luò)架構(gòu)在減少計算資源消耗的同時,也能一定程度上提升模型在入侵檢測數(shù)據(jù)集上的各項指標。
由于本文所采用數(shù)據(jù)集特征數(shù)較少,不便二維化,因此在卷積層使用一維卷積處理。本文所采用的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 模型架構(gòu)
輸入層的中,為單批次數(shù)據(jù)的數(shù)量,本文中設(shè)定為64,67為經(jīng)過處理后的數(shù)據(jù)的維度。為了保證訓(xùn)練結(jié)果的準確度和在池化后數(shù)據(jù)維度不會過低,本文采用兩次卷積后最大池化的結(jié)構(gòu)。同時在卷積和池化后,為了避免過擬合,本文添加了兩個Dropout層。在進入LSTM和SoftMax網(wǎng)絡(luò)前,均對數(shù)據(jù)進行全連接處理。
為了解決數(shù)據(jù)集中數(shù)據(jù)分布不平衡的問題,本文提出了動態(tài)權(quán)重損失函數(shù)。在NSL-KDD這種數(shù)據(jù)嚴重失衡的數(shù)據(jù)集中,即使采用SMOTE(Synthetic Minority Oversampling TEchnique)[14],在面臨只有50余個樣本的情況下,過多的采樣最終會變成重復(fù)采樣,且會增加大量的噪聲。本文在傳統(tǒng)的交叉熵損失函數(shù)的基礎(chǔ)上添加動態(tài)權(quán)重,在不改變數(shù)據(jù)集的情況下,解決了部分數(shù)據(jù)分布不平衡所引發(fā)的部分標簽精度過低的問題。
在實際開發(fā)中,已經(jīng)有程序設(shè)計出具有帶權(quán)的損失函數(shù),然而權(quán)重是靜態(tài)的,且基于單個樣本不能滿足訓(xùn)練過程中的需要;因此,本文根據(jù)訓(xùn)練中每一個內(nèi)樣本的分布,設(shè)計了一個動態(tài)權(quán)重損失函數(shù)。
該函數(shù)的核心是在假設(shè)模型對所有樣本的輸出所計算的交叉熵均一致時,每類樣本最終的損失相同。最終用公式表示如下:
在上述假設(shè)條件成立的情況下,單個內(nèi)每類樣本最終的損失相同。此時考慮的是當一個內(nèi)部樣本之間數(shù)量嚴重不平衡時,在傳統(tǒng)的交叉熵函數(shù)計算下,最終的代價函數(shù)值大部分由多數(shù)類樣本提供,因此模型僅針對多數(shù)類樣本訓(xùn)練而忽略少數(shù)類樣本。在加入動態(tài)代價函數(shù)后,最終代價函數(shù)在理想狀態(tài)下(對每個類樣本的交叉熵計算相同)每類樣本所占的比例是相同的,此時模型會針對所有類樣本訓(xùn)練而不會偏向針對某一類樣本。
在非理想狀態(tài)下,即對每個類樣本的交叉熵計算不同時,例如模型對A類(少數(shù)類)樣本輸出的交叉熵大于B類(多數(shù)類)樣本,這是由于模型對A、B兩類樣本的訓(xùn)練程度和訓(xùn)練效果的不同。在該狀態(tài)下,由于動態(tài)權(quán)重的加入,即使A、B兩類樣本失衡,在非理想狀態(tài)下A類樣本的權(quán)重依舊高于B類樣本,且最終代價函數(shù)值中A類占比更高,模型會更加偏向于A類樣本的訓(xùn)練。此時模型逐步訓(xùn)練直至A類樣本與B類樣本的交叉熵相對平衡達到理想狀態(tài)。且由權(quán)重計算公式可知,最終的權(quán)重僅與內(nèi)每類樣本的數(shù)量相關(guān),與每個樣本的交叉熵無關(guān)聯(lián),因此在非理想狀態(tài)下動態(tài)權(quán)重代價函數(shù)依然適用。
總的來說,即使在訓(xùn)練初期,每類樣本的交叉熵輸出不盡相同,但是隨著模型的訓(xùn)練,每類樣本的最終的交叉熵輸出最終會達到相對平衡,即達到理想狀態(tài)。
本次實驗在Kaggle云平臺部署和完成。其中CPU為雙核Intel Xeon,內(nèi)存為16 GB,GPU為NVIDIA-Tesla-P100-PCIE-16 GB。經(jīng)過多次實驗與統(tǒng)計分析,本文最終確定的網(wǎng)絡(luò)參數(shù)如下所示:
1) 卷積核大小為3,第一次池化前每個卷積層有32個卷積核,激活方式為ReLU(Rectified Linear Unit)。第一次池化后每個卷積層有64個卷積核,激活函數(shù)為ReLU。
2) 最大池化層大小為2,步長為2,經(jīng)過池化后數(shù)據(jù)長度減半。
3) Dropout層參數(shù)定為0.25。
4) 進入LSTM網(wǎng)絡(luò)前全連接層節(jié)點數(shù)為32,從LSTM網(wǎng)絡(luò)輸出后全連接層節(jié)點數(shù)為5。
本文使用準確率(Accuracy,)、精確率(Precision,)、召回率(Recall,)和F1-Measure(1)對模型進行評估。4個評價指標的計算公式如下:
其中:(True Positive)表示將攻擊判斷為攻擊類型的樣本數(shù),(True Negative)表示將正常類型判定為正常類型的樣本數(shù),(False Positive)表示將正常樣本判斷為攻擊類型的樣本數(shù),(False Negative)表示將攻擊定義為正常類型的樣本數(shù)。
、、、均為在二分類下的參數(shù)。在本文中,設(shè)定除了當前樣本類型以外,其他類型樣本在計算當前樣本參數(shù)時,均設(shè)定為同一個類型。
未使用帶權(quán)損失函數(shù)的分類和評估結(jié)果如表3、4所示,由表4可知在5種類型中,DoS、Mirai、Normal三種類型的數(shù)據(jù)準確率、精確率、召回率都比較高。由于在數(shù)據(jù)預(yù)處理過程中,F(xiàn)low_bytes和Flow_pkts兩個特征因為樣本之間差異過大,導(dǎo)致歸一化后部分值出現(xiàn)NaN,所以該兩項被刪除。而這兩項是評估掃描攻擊的重要依據(jù),因此訓(xùn)練后Scan類型的樣本并不如其他類型。而ARP攻擊類型由于樣本最少,且ARP攻擊比較特殊,是位于網(wǎng)絡(luò)協(xié)議層第2層和第3層之間的攻擊方式,因此檢測較為困難,表現(xiàn)也比較差。
表3 交叉熵損失函數(shù)模型分類
表4 交叉熵損失函數(shù)模型評估
表5、6為使用動態(tài)權(quán)重損失函數(shù)后的分類和評估結(jié)果。由于Mirai攻擊類型的權(quán)重相對降低且其他類型權(quán)重變高,因此其他類型數(shù)據(jù)誤報為Mirai類型變少,但也因為權(quán)重變化的原因,Mirai的一些數(shù)據(jù)被誤判為其他類型。此時采用動態(tài)權(quán)重損失函數(shù)模型相當于犧牲了一部分針對Mirai數(shù)據(jù)的判斷能力而提升了模型針對ARP和Scan類型的判斷能力。
表5 動態(tài)權(quán)重損失函數(shù)模型分類
表6 動態(tài)權(quán)重損失函數(shù)模型評估
如圖3所示為以上兩個模型在準確率、精確率和召回率的柱狀圖對比,可以看出兩個模型在不同的數(shù)據(jù)類型中互有優(yōu)劣。其中對于少數(shù)樣本,精確率高而召回率低并不能說明模型在該類型表現(xiàn)良好,且在入侵檢測領(lǐng)域中,召回率表征的是模型是否能夠查全所有的攻擊流量,在實際應(yīng)用中召回率對應(yīng)于漏報率,召回率越高,漏報率越低。精確率對應(yīng)于誤報率,精確率越高,誤報率越低。而在信息安全系統(tǒng)中,更傾向于降低漏報率,因此本文所提出的模型也更適合于實際應(yīng)用。
圖3 評估指標柱狀圖
由于物聯(lián)網(wǎng)環(huán)境中設(shè)備硬件配置較差、算力低,且部分設(shè)備無穩(wěn)定能源供應(yīng),因此部署在物聯(lián)網(wǎng)中的入侵檢測系統(tǒng)在保證準確率的同時,不能對設(shè)備資源有過多的消耗。為了降低模型的能耗,本文模型均在Python環(huán)境中進行設(shè)計和訓(xùn)練,但在能耗測試實驗中,為了適應(yīng)當前物聯(lián)網(wǎng)的應(yīng)用環(huán)境且降低系統(tǒng)能耗,所有模型均使用C++語言,并利用TensorFlow lite,一個專為移動端和IoT設(shè)備所服務(wù)的TensorFlow框架部署。
本文在同一硬件基礎(chǔ)上,對常見的入侵檢測系統(tǒng)進行測試,統(tǒng)計其判斷一條數(shù)據(jù)所需要的平均時間、運行內(nèi)存大小、CPU占比和一定時間內(nèi)的耗電量。在電量消耗測試實驗中,固定時間內(nèi),模型每隔0.5 s進行一次判斷的電量消耗減去主機無任何程序運行時的電量消耗,記為模型在一定時間內(nèi)的電量消耗[15]。在本次實驗中,除運行模型外主機已斷網(wǎng),其他程序均已關(guān)閉,測試時間設(shè)置為1 h。
由表7可知本文所提出的模型在單條數(shù)據(jù)運行時間上略高于簡單CNN模型,遠高于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)模型,而低于LSTM和CNN-BiLSTM模型。在運行內(nèi)存占用上,幾種模型除LSTM外,均相差無幾。在CPU利用率上,CNN-LSTM和CNN-BiLSTM略高于其他模型。在電量消耗上,由于測試時間內(nèi)模型間隔較短,模型判斷次數(shù)遠遠超出實際應(yīng)用,因此電量消耗較高。然而在實際應(yīng)用中,入侵檢測系統(tǒng)需要收集固定量的數(shù)據(jù)包才可進行判斷,不會一直處于工作狀態(tài)。本文模型在單條數(shù)據(jù)判斷中第一次對數(shù)據(jù)進行判斷時間為1 630 μs,處于熱身狀態(tài)時單條數(shù)據(jù)平均時間為895 μs,處在平穩(wěn)狀態(tài)時單條數(shù)據(jù)平均時間為846 μs,能夠滿足物聯(lián)網(wǎng)環(huán)境實時檢測要求。
表7 不同入侵檢測系統(tǒng)能耗比較
為了進一步體現(xiàn)動態(tài)權(quán)重損失函數(shù)針對不平衡數(shù)據(jù)集的處理結(jié)果,本文采用相同的網(wǎng)絡(luò)結(jié)構(gòu),使用NSL-KDD數(shù)據(jù)集進行訓(xùn)練,制作出另一個入侵檢測系統(tǒng)。使用交叉熵損失函數(shù)和動態(tài)權(quán)重損失函數(shù)的模型評估結(jié)果如表8、9所示。
表8 NSL-KDD數(shù)據(jù)集上交叉熵損失函數(shù)模型評估
表9 NSL-KDD數(shù)據(jù)集動態(tài)權(quán)重損失函數(shù)模型評估
從表8、9中可以看出使用動態(tài)權(quán)重損失函數(shù)模型在DoS、Probe、Normal類樣本的表現(xiàn)上均小幅度優(yōu)于使用交叉熵函數(shù)模型,而在U2R和R2L類樣本中大幅度優(yōu)于交叉熵函數(shù)模型。在交叉熵損失函數(shù)模型評估矩陣計算過程中,由于沒有樣本被判定為U2R和R2L,所以該兩項精確度無法計算,且召回率為0。
本文與采用SMOTE過采樣技術(shù)處理后的數(shù)據(jù)集進行訓(xùn)練的模型[16]對比,如表10所示,其中深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)是一種具有多個隱藏層的全連接神經(jīng)網(wǎng)絡(luò),專注損失網(wǎng)絡(luò)入侵檢測系統(tǒng)(Focal Loss Network Intrusion Detection System, FL-NIDS)為Mulyanto等[16]所提出的針對不平衡數(shù)據(jù)集所制作的代價函數(shù)敏感型入侵檢測系統(tǒng)。表10中DNN FL-NIDS、CNN FL-NIDS均為文獻[16]提出的模型。CNN-LSTM為本文所采用網(wǎng)絡(luò)架構(gòu)模型。表10中除本文模型外,其他所有分類器所使用數(shù)據(jù)集均經(jīng)過SMOTE過采樣處理。
從表10可以看到本文模型優(yōu)于大部分數(shù)據(jù)集經(jīng)過SMOTE過采樣的模型。由此可知本文所提出的采用動態(tài)權(quán)重損失函數(shù)的模型可以達到對數(shù)據(jù)SMOTE過采樣后進行訓(xùn)練模型的水平。
表10 各分類器對比
雖然動態(tài)權(quán)重損失函數(shù)在一定程度上提升了模型在少量樣本的準確率和精確率,然而依舊不能達到其他標簽的程度。這是因為樣本過少和隨機生成的問題。動態(tài)權(quán)重損失函數(shù)若想效果發(fā)揮最大化,則需要內(nèi)每種樣本都至少存在一個。然而由于生成的隨機性,且NSL-KDD數(shù)據(jù)集樣本過于失衡,U2R類樣本甚至只有54個,即使在理想狀態(tài)下,也不能滿足一個內(nèi)部一個U2R樣本的需求。因此,在樣本過于失衡的情況下如何部署動態(tài)權(quán)重損失函數(shù)的模型達到最優(yōu)化是未來要解決的問題之一。
本文在基于IoT環(huán)境生成的入侵檢測數(shù)據(jù)集的基礎(chǔ)上,利用CNN+LSTM模型架構(gòu),將交叉熵函數(shù)改進為動態(tài)權(quán)重交叉熵損失函數(shù),構(gòu)建了一個基于物聯(lián)網(wǎng)設(shè)備的入侵檢測系統(tǒng)。通過動態(tài)權(quán)重損失函數(shù)的應(yīng)用,該入侵檢測系統(tǒng)對現(xiàn)實世界少量的入侵流量可以實現(xiàn)更準確的判別。為了證明動態(tài)權(quán)重損失函數(shù)的作用,本文根據(jù)NSL-KDD數(shù)據(jù)集制作了另一個入侵檢測系統(tǒng),經(jīng)過數(shù)據(jù)分析,證明動態(tài)權(quán)重損失函數(shù)能提高模型對少數(shù)樣本的判別能力。同時由于形成的隨機性,且每次訓(xùn)練后都要進行權(quán)重計算,因此模型的訓(xùn)練的穩(wěn)定程度下降,且訓(xùn)練時間變長,這是我們未來要解決的問題。
[1] AL-GARADI M A, MOHAMED A, AL-ALI A K, et al. A survey of machine and deep learning methods for Internet of Things (IoT) security[J]. IEEE Communications Surveys and Tutorials, 2020, 22(3):1646-1685.
[2] CASSALES G W, SENGER H, DE FARIA E R, et al. IDSA-IoT: an intrusion detection system architecture for IoT networks[C]// Proceedings of the 2019 IEEE Symposium on Computers and Communications. Piscataway: IEEE, 2019: 1-7.
[3] ULLAH I, MAHMOUD Q H. A scheme for generating a dataset for anomalous activity detection in IoT networks[C]// Proceedings of the 2020 Canadian Conference on Artificial Intelligence, LNCS 12109. Cham: Springer, 2020: 508-520.
[4] THAMILARASU G, CHAWLA S. Towards deep-learning-driven intrusion detection for the Internet of Things[J]. Sensors, 2019, 19(9): No.1977.
[5] WANG Z D, LIU Y D, HE D J, et al. Intrusion detection methods based on integrated deep learning model[J]. Computers and Security, 2021, 103: No.102177.
[6] SHONE N, NGOC T N, PHAI V D, et al. A deep learning approach to network intrusion detection[J]. IEEE Transactions on Emerging Topics in computational Intelligence, 2018, 2(1): 41-50.
[7] HASSAN M M, GUMAEI A, ALSANAD A, et al. A hybrid deep learning model for efficient intrusion detection in big data environment[J]. Information Sciences, 2020, 513: 386-396.
[8] ALMIANI M, AbuGHAZLEH A, AL-RAHAYFEH A, et al. Deep recurrent neural network for IoT intrusion detection system[J]. Simulation Modelling Practice and Theory, 2020, 101: No.102031.
[9] VASAN D, ALAZAB M, VENKATRAMAN S, et al. MTHAEL: cross-architecture IoT malware detection based on neural network advanced ensemble learning[J]. IEEE Transactions on Computers, 2020, 69(11): 1654-1667.
[10] LI Y M, XU Y Y, LIU Z, et al. Robust detection for network intrusion of industrial IoT based on multi-CNN fusion[J]. Measurement, 2020, 154: No.107450.
[11] 劉輝,張俊鵬,李清榮. 多尺度卷積與動態(tài)權(quán)重代價函數(shù)的全卷積網(wǎng)絡(luò)工業(yè)煙塵目標分割[J]. 計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2020, 32(12):1898-1909.(LIU H, ZHANG J P, LI Q R. Industrial smoke target segmentation based on fully convolutional networks with multiscale convolution and dynamic weight loss function[J]. Journal of Computer-Aided Design and Computer Graphics, 2020, 32(12): 1898-1909.)
[12] 唐小棠. 基于機器學(xué)習(xí)的入侵檢測及其在物聯(lián)網(wǎng)安全的應(yīng)用[D]. 上海:上海交通大學(xué), 2019:70-79.(TANG X T. Learning-based intrusion detection methods and their application to IoT security[D]. Shanghai: Shanghai Jiao Tong University, 2019:70-79.)
[13] 李超,柴玉梅,南曉斐,等. 基于深度學(xué)習(xí)的問題分類方法研究[J]. 計算機科學(xué), 2016, 43(12):115-119.(LI C, CHAI Y M, NAN X F, et al. Research on problem classification method based on deep learning[J]. Computer Science, 2016, 43(12): 115-119.)
[14] CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16: 321-357.
[15] 潘建國,李豪. 基于實用拜占庭容錯的物聯(lián)網(wǎng)入侵檢測方法[J]. 計算機應(yīng)用, 2019, 39(6):1742-1746.(PAN J G, LI H. Intrusion detection approach for IoT based on practical Byzantine fault tolerance[J]. Journal of Computer Applications, 2019, 39(6): 1742-1746.)
[16] MULYANTO M, FAISAL M, PRAKOSA S W, et al. Effectiveness of focal loss for minority classification in network intrusion detection systems[J]. Symmetry, 2021, 13(1): No.4.
DONG Ning, born in 1998, M. S. candidate. His research interests include deep learning, information security.
CHENG Xiaorong, born in 1963, Ph. D., professor. Her research interests include network security, big data.
ZHANG Mingquan, born in 1980, Ph. D., lecturer. His research interests include computer architecture, big data.
Intrusion detection system with dynamic weight loss function based on internet of things platform
DONG Ning*, CHENG Xiaorong, ZHANG Mingquan
(,,071003,)
With the increasing number of Internet of Things (IoT) access devices, and the lack of awareness of the security of IoT devices of network management and maintenance staffs, attacks in IoT environment and on IoT devices spread gradually. In order to strengthen network security in IoT environment, an intrusion detection dataset based on IoT platform was used, the Convolutional Neural Network (CNN) + Long-Short Term Memory (LSTM) network was adopted as the model architecture, CNN was used to extract data spatial features, and LSTM was used to extract the data temporal features, the cross-entropy loss function was improved to a dynamic weight cross-entropy loss function, and an Intrusion Detection System (IDS) for IoT environment was produced. Experiments were designed and analyzed, and accuracy, precision, recall and F1-Measure were used as evaluation metrics. Experimental results show that compared with the model using traditional cross-entropy loss function, the proposed model using dynamic weight loss function under CNN-LSTM network architecture has an improvement of 47 percentage points in F1-Measure for Address Resolution Protocol (ARP) samples in the dataset, and has an improvement of 2 percentage points to 10 percentage points for other minority class samples in the dataset, which verifies the dynamic weight loss function can enhance the model’s ability to discriminate minority class samples, and this method can improve IDS’s ability to judge minority class attack samples.
dynamic weight loss function; intrusion detection; deep learning; Convolutional Neural Network (CNN); Long Short-Term Memory (LSTM); Internet of Things (IoT)
This work is partially supported by Fundamental Research Funds for Central Universities (2020MS122).
1001-9081(2022)07-2118-07
10.11772/j.issn.1001-9081.2021040692
2021?04?30;
2021?08?06;
2021?08?10。
中央高校基本科研業(yè)務(wù)費專項(2020MS122)。
TP309.5
A
董寧(1998—),男,河北保定人,碩士研究生,主要研究方向:深度學(xué)習(xí)、信息安全; 程曉榮(1963—),女,河北邯鄲人,教授,博士,主要研究方向:網(wǎng)絡(luò)安全、大數(shù)據(jù); 張銘泉(1980—),男,山東莘縣人,講師,博士,主要研究方向:計算機系統(tǒng)結(jié)構(gòu)、大數(shù)據(jù)。