張勇東, 陳思洋, 彭雨荷, 楊 堅(jiān)
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院, 安徽 合肥 230027)
根據(jù)《互聯(lián)網(wǎng)安全威脅報(bào)告》(簡(jiǎn)稱ISTR), 2015年,大約有4.3億新惡意軟件變種、362個(gè)加密勒索軟件和其他互聯(lián)網(wǎng)威脅被發(fā)現(xiàn)[1].網(wǎng)絡(luò)犯罪和威脅活動(dòng)已成為日常生活的重要組成部分,網(wǎng)絡(luò)安全的重要性日益成為人們關(guān)注的焦點(diǎn).近年,一款勒索軟件“WannaCry”于2017年5月12日在150多個(gè)國(guó)家的1萬(wàn)多家組織中發(fā)起攻擊,顯示出新興網(wǎng)絡(luò)攻擊的影響日益嚴(yán)重[2].
入侵檢測(cè)(ID)是網(wǎng)絡(luò)安全的核心要素[3].入侵檢測(cè)的主要目的是識(shí)別網(wǎng)絡(luò)和計(jì)算機(jī)系統(tǒng)中入侵者引起的異常行為.根據(jù)入侵檢測(cè)的執(zhí)行位置,存在兩種不同類型的入侵檢測(cè):基于主機(jī)的入侵檢測(cè)和基于網(wǎng)絡(luò)的入侵檢測(cè).根據(jù)如何進(jìn)行入侵檢測(cè),IDS可以實(shí)現(xiàn)誤用檢測(cè)(基于簽名)和異常檢測(cè)[4-5].誤用檢測(cè)通過(guò)對(duì)已知的攻擊行為進(jìn)行分析,提取攻擊特征,建立相應(yīng)的攻擊簽名庫(kù),利用文件或者網(wǎng)絡(luò)流量數(shù)據(jù)與攻擊簽名的匹配情況判斷入侵行為;而異常檢測(cè)首先構(gòu)建主機(jī)、用戶或網(wǎng)絡(luò)連接的正常行為描述,通過(guò)判斷所檢測(cè)到的行為是否偏離了正常行為模式,從而判斷是否發(fā)生了入侵行為.
誤用檢測(cè)是發(fā)展最成熟、應(yīng)用最廣泛的技術(shù).大部分商用的入侵檢測(cè)系統(tǒng)主要采用基于誤用的檢測(cè)方法,并依靠不斷提升規(guī)則庫(kù)的完備性來(lái)提升檢測(cè)的可靠性.誤用檢測(cè)可以有效地檢測(cè)已知的攻擊行為,并且具有較高的準(zhǔn)確率.然而,由于誤用檢測(cè)的基礎(chǔ)是已知的攻擊簽名和可獲取的數(shù)據(jù)包載荷,因此,誤用檢測(cè)通常難以應(yīng)對(duì)加密攻擊檢測(cè)和零日攻擊檢測(cè)問(wèn)題.異常檢測(cè)通過(guò)分析流量的行為模式來(lái)檢測(cè)那些偏離正常行為的異常流量.異常檢測(cè)在已知攻擊時(shí)的準(zhǔn)確率不如誤用檢測(cè),而且經(jīng)常面臨著高誤報(bào)率的問(wèn)題.然而,由于基于異常的入侵檢測(cè)方法不需要分析數(shù)據(jù)包的有效載荷,并且可以只利用正常流量就可以檢測(cè)出異常流量,因此,異常檢測(cè)在檢測(cè)加密攻擊和零日攻擊時(shí)具有無(wú)與倫比的優(yōu)勢(shì),針對(duì)異常檢測(cè)的研究受到了廣泛的關(guān)注.
本文綜述了利用深度學(xué)習(xí)方法進(jìn)行網(wǎng)絡(luò)異常檢測(cè)的最新研究進(jìn)展,旨在系統(tǒng)地梳理這一方向最新的研究工作,并討論目前存在的問(wèn)題和發(fā)展方向:①總結(jié)了目前基于深度學(xué)習(xí)的入侵檢測(cè)常用的輸入特征及相關(guān)預(yù)處理方式;②介紹了幾種典型的深度學(xué)習(xí)模型及選擇方式;③總結(jié)了利用深度學(xué)習(xí)可以實(shí)現(xiàn)的幾種不同的檢測(cè)任務(wù);④討論了目前存在的若干問(wèn)題和發(fā)展方向.
利用深度學(xué)習(xí)進(jìn)行入侵檢測(cè)時(shí)首先需要從原始網(wǎng)絡(luò)數(shù)據(jù)中提取出流量的行為特征.流量的行為特征通常指的是流級(jí)特征,即將網(wǎng)絡(luò)數(shù)據(jù)按照源IP、目的IP、源端口、目的端口、協(xié)議聚合后提取的特征.這些特征通??梢苑譃榻y(tǒng)計(jì)特征、時(shí)序特征、協(xié)議特征、有效載荷特征四種.
在數(shù)據(jù)傳輸時(shí),可以從整個(gè)數(shù)據(jù)流中獲得許多統(tǒng)計(jì)特征,例如數(shù)據(jù)包的平均長(zhǎng)度和最小到達(dá)間隔時(shí)間.許多研究已經(jīng)驗(yàn)證了統(tǒng)計(jì)特征用于分類可以得到較高精度的結(jié)果,如Roughan等[6]的研究采用了平均數(shù)據(jù)包大小,流量持續(xù)時(shí)間,每個(gè)流的字節(jié)數(shù),每個(gè)流的數(shù)據(jù)包和均方根數(shù)據(jù)包大小等統(tǒng)計(jì)特征,在服務(wù)類型分類中最低僅有5.1%的誤報(bào)率,取得了較好的結(jié)果.
但統(tǒng)計(jì)特征數(shù)量較少,輸入維度較低,因此,大多數(shù)研究?jī)H在經(jīng)典機(jī)器學(xué)習(xí)中應(yīng)用統(tǒng)計(jì)特征以構(gòu)建更簡(jiǎn)單的分類器.此外,為了獲得統(tǒng)計(jì)特征,分類器通常需要觀察流的全部或大部分.雖然已經(jīng)有研究證明,根據(jù)數(shù)據(jù)集和統(tǒng)計(jì)特征的選擇,從前10到180個(gè)數(shù)據(jù)包獲得的統(tǒng)計(jì)特征可能足以進(jìn)行分類,但是因?yàn)樗枰东@大量流,以從中獲得可靠的統(tǒng)計(jì)特征,所以可能不適合用于在線分類和快速分類.而且,在某些情況下,統(tǒng)計(jì)特征的選擇可能會(huì)受到特定用戶的行為、特定操作系統(tǒng)的模式或特定網(wǎng)絡(luò)條件的影響.
通常,我們對(duì)于統(tǒng)計(jì)特征采取標(biāo)準(zhǔn)化、最大-最小縮放等預(yù)處理方法.如Alom等[7]在處理KDD數(shù)據(jù)集時(shí),因持續(xù)時(shí)間等特征的最大值和最小值之間差值的范圍較大,需要對(duì)數(shù)據(jù)進(jìn)行最大-最小縮放預(yù)處理.
時(shí)間序列特征包括數(shù)據(jù)包長(zhǎng)度的序列、到達(dá)間隔時(shí)間序列和連續(xù)數(shù)據(jù)包的方向等,它在統(tǒng)計(jì)特征的基礎(chǔ)上進(jìn)一步體現(xiàn)了數(shù)據(jù)包之間時(shí)間上的關(guān)聯(lián)性.相關(guān)工作已經(jīng)證明,時(shí)間序列特征對(duì)于原數(shù)據(jù)具有更準(zhǔn)確的代表性,即使對(duì)于加密流量,前幾個(gè)數(shù)據(jù)包(最多20個(gè)數(shù)據(jù)包)也已被證明足以達(dá)到一定的準(zhǔn)確度,因此,時(shí)間序列特征被廣泛應(yīng)用于各種場(chǎng)景和數(shù)據(jù)集.
由于時(shí)間特征的提取會(huì)面臨一系列的困難,因此,很多文章研究了不同特征提取方法,如滑動(dòng)窗口法,但這種方法不考慮窗口跨越時(shí)間,且內(nèi)存和運(yùn)行時(shí)的復(fù)雜度高,為了解決這些問(wèn)題,Mirsky等[8]設(shè)計(jì)了一個(gè)新的框架.該框架提出了一個(gè)衰減窗口模型,用于在動(dòng)態(tài)數(shù)量的數(shù)據(jù)流(網(wǎng)絡(luò)信道)上進(jìn)行時(shí)間統(tǒng)計(jì)數(shù)據(jù)的高速特征提取.為了達(dá)到這個(gè)目的,文中通過(guò)使用衰減增量統(tǒng)計(jì)方法來(lái)提取時(shí)序統(tǒng)計(jì)特征.在特征更新時(shí)引入遺忘因子,使得較早的數(shù)據(jù)對(duì)當(dāng)前時(shí)刻結(jié)果的影響呈指數(shù)減少,最終輸出為當(dāng)前時(shí)刻值和上一時(shí)刻值分別與其權(quán)重乘積之和.這種方法既考慮到了時(shí)間的影響,又只占用了較少的內(nèi)存,比一般的時(shí)間特征提取方法效果更好.
因?yàn)榫W(wǎng)絡(luò)入侵行為往往會(huì)持續(xù)一段時(shí)間,通過(guò)分析數(shù)據(jù)包在一段時(shí)間內(nèi)的變化能更好地檢測(cè)到入侵行為的發(fā)生, 而循環(huán)神經(jīng)網(wǎng)絡(luò)恰好適合處理具有時(shí)間域特征的數(shù)據(jù),可以通過(guò)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型提取出正常和異常網(wǎng)絡(luò)流量具有區(qū)分度的時(shí)間依賴特征.Yin等[9]就是使用基于循環(huán)神經(jīng)網(wǎng)絡(luò)的模型進(jìn)行分類,并在NSL-KDD數(shù)據(jù)集上評(píng)估該方法在二分類和多分類中檢測(cè)網(wǎng)絡(luò)入侵時(shí)的性能.實(shí)驗(yàn)提取了數(shù)據(jù)包持續(xù)時(shí)間等特征,經(jīng)過(guò)數(shù)字化和標(biāo)準(zhǔn)化處理后,將其輸入到循環(huán)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和測(cè)試.實(shí)驗(yàn)結(jié)果表明基于循環(huán)神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)非常適合入侵檢測(cè),在二分類和多分類中,其性能優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)分類方法,提高了入侵檢測(cè)的準(zhǔn)確性.
時(shí)間序列特征提取出的數(shù)據(jù)因?yàn)樯舷孪薹秶?,?yīng)采取歸一化的預(yù)處理方法,具體方法內(nèi)容和統(tǒng)計(jì)特征的預(yù)處理相似,一般需要將數(shù)據(jù)映射到[0,1]之間.
協(xié)議特征是通過(guò)提取網(wǎng)絡(luò)協(xié)議中某些字段而得到的特征,如網(wǎng)絡(luò)層IP協(xié)議相關(guān)字段、應(yīng)用層HTTP協(xié)議相關(guān)字段等.網(wǎng)絡(luò)流量的協(xié)議特征相較于簡(jiǎn)單的統(tǒng)計(jì)特征包含了更多流量的隱藏結(jié)構(gòu)特征信息,可用于檢測(cè)利用協(xié)議漏洞或針對(duì)網(wǎng)絡(luò)協(xié)議發(fā)起的攻擊,如DOS/DDOS攻擊.此外,還可以通過(guò)分析流量的協(xié)議字段從而獲取正常流量的協(xié)議參數(shù),得到協(xié)議狀態(tài)的轉(zhuǎn)移關(guān)系,進(jìn)而分析異常行為.
在入侵檢測(cè)系統(tǒng)中,基于傳統(tǒng)特征的檢測(cè)方法常常無(wú)法檢測(cè)到加密流量,而基于協(xié)議特征的方法因?yàn)闊o(wú)需檢測(cè)數(shù)據(jù)包有效載荷,在此方面表現(xiàn)較好,如檢測(cè)針對(duì)TLS協(xié)議中特定加密算法的攻擊行為.相關(guān)工作通過(guò)利用TLS握手元數(shù)據(jù)、與加密流相關(guān)的DNS上下文信息,以及5分鐘內(nèi)來(lái)自相同源IP地址的HTTP上下文信息等數(shù)據(jù),提高了對(duì)加密攻擊流量的識(shí)別精度[10].
然而協(xié)議特征并沒(méi)有包含數(shù)據(jù)包的有效載荷信息,僅僅依靠協(xié)議字段信息對(duì)流量的分類不夠精細(xì),因此,具有一定的局限性.
協(xié)議特征通常采用數(shù)值化的預(yù)處理方法,即將“protocol_type”,“service”和“flag”等非數(shù)字特征,轉(zhuǎn)換為數(shù)字形式,通常采用獨(dú)熱編碼方式,又稱為一位有效編碼,主要是采用N維向量來(lái)對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)對(duì)應(yīng)其中的一個(gè)維度,并且在任意時(shí)候只有一維有效,獨(dú)熱編碼可以使特征之間的距離計(jì)算更加合理.例如,在KDD數(shù)據(jù)集中特征“protocol_type”有三種類型的屬性:“tcp”、“udp”和“icmp”,其數(shù)值被編碼為二進(jìn)制向量(1,0,0),(0,1,0)和(0,0,1).同樣,特征“service”有70種類型的屬性,功能“flag”有11種類型的屬性.以這種方式處理后,KDD數(shù)據(jù)集中41維的特征轉(zhuǎn)換為122維特征.
有效載荷特征即通過(guò)提取基于TCP/UDP傳輸中數(shù)據(jù)包的特定負(fù)載而獲取的特征.基于數(shù)據(jù)包載荷的檢測(cè)方法可以通過(guò)有效載荷特征來(lái)識(shí)別數(shù)據(jù)包,即能夠通過(guò)深度學(xué)習(xí)方法提取攻擊流量的有效載荷中隱含的特征信息,進(jìn)而識(shí)別異常流量.
網(wǎng)絡(luò)數(shù)據(jù)包基本的傳輸形式為二進(jìn)制比特流,而灰度圖的原始存儲(chǔ)方式也為二進(jìn)制比特流,在對(duì)網(wǎng)絡(luò)流數(shù)據(jù)包協(xié)議的識(shí)別過(guò)程中,兩者存在相似性,可將網(wǎng)絡(luò)流數(shù)據(jù)包當(dāng)作灰度圖來(lái)進(jìn)行處理.利用成熟的卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別技術(shù),避免了顯式的特征提取,而隱式地從訓(xùn)練數(shù)據(jù)中進(jìn)行深度學(xué)習(xí),自動(dòng)得到不同網(wǎng)絡(luò)流量的特征模型,實(shí)現(xiàn)對(duì)異常流量的識(shí)別.卷積神經(jīng)網(wǎng)絡(luò)可以通過(guò)局部感知和權(quán)值共享對(duì)原始流量有效載荷灰度圖進(jìn)行卷積,將異常流量信息的特征提取出來(lái),再用池化操作對(duì)特征值進(jìn)行降維,經(jīng)多層提取,最終抽取出對(duì)應(yīng)異常網(wǎng)絡(luò)流量信息的多項(xiàng)抽象特征.例如,Zhou等[11]從流中提取了256個(gè)特征并將其映射為16*16灰度圖像,然后使用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)對(duì)流進(jìn)行分類.對(duì)于數(shù)據(jù)量較大的數(shù)據(jù)類型,他們的模型具有良好的分類結(jié)果,但對(duì)數(shù)據(jù)量較小的流量類型,其分類效果是非常有限的.
此外,還有一些工作也針對(duì)有效載荷特征進(jìn)行了研究.如Yuan等[12]提出了深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型.他們從連續(xù)流序列中提取了20個(gè)區(qū)域,并使用長(zhǎng)度為T(mén)的滑動(dòng)時(shí)間窗生成了一個(gè)三維特征圖.實(shí)驗(yàn)發(fā)現(xiàn),與傳統(tǒng)的機(jī)器學(xué)習(xí)算法相比,所提出的模型將誤差降低了5個(gè)百分點(diǎn).Zhang等[13]通過(guò)將原始代碼映射到等長(zhǎng)的十進(jìn)制數(shù)作為流量的特征,來(lái)提取流中的原始十六進(jìn)制代碼,并設(shè)計(jì)了改進(jìn)的分層網(wǎng)絡(luò)模型以進(jìn)行分類,在兩個(gè)不同的數(shù)據(jù)集中進(jìn)行了實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,在數(shù)據(jù)量充足的條件下,所提出的模型仍然可以達(dá)到99.9%的分類準(zhǔn)確率.
有效載荷特征的預(yù)處理不再采用標(biāo)準(zhǔn)化的方法,王偉[14]對(duì)基于有效載荷特征的預(yù)處理流程進(jìn)行了詳細(xì)的描述,大致分為流量切分、流量清理、統(tǒng)一長(zhǎng)度和圖片生成四個(gè)流程.首先,將一份原始流量數(shù)據(jù)切分成一些較小的流量數(shù)據(jù),如果待分類的流量來(lái)自相同的網(wǎng)絡(luò)環(huán)境則需要對(duì)其進(jìn)行清洗,即用隨機(jī)生成的新地址替換原地址;其次,對(duì)沒(méi)有應(yīng)用層數(shù)據(jù)的數(shù)據(jù)包進(jìn)行文件清理,以防止這些數(shù)據(jù)包產(chǎn)生空文件;再次,對(duì)清理過(guò)的文件按照一定字節(jié)進(jìn)行統(tǒng)一長(zhǎng)度處理,如果文件長(zhǎng)度超過(guò)標(biāo)準(zhǔn)則按統(tǒng)一長(zhǎng)度截取,少于該長(zhǎng)度的文件在后面補(bǔ)充0x00;最后,將統(tǒng)一長(zhǎng)度后的文件按照二進(jìn)制形式轉(zhuǎn)換成灰度圖片,即每個(gè)字節(jié)對(duì)應(yīng)相應(yīng)的灰度像素值,如0x00對(duì)應(yīng)黑色,0xff對(duì)應(yīng)白色.
入侵檢測(cè)的準(zhǔn)確率不僅取決于輸入的特征數(shù)據(jù),還取決于選擇的深度學(xué)習(xí)模型,不同的模型具有不同的特點(diǎn),適用于不同的檢測(cè)任務(wù)和不同的輸入特征,本節(jié)討論了四種典型深度學(xué)習(xí)模型的原理、進(jìn)行入侵檢測(cè)時(shí)的優(yōu)勢(shì)和不足,以及選擇的方法.
多層感知機(jī)(MLP) 是一種人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以用來(lái)解決分類和回歸問(wèn)題.MLP由輸入層、隱藏層、輸出層三部分組成,在MLP中,層與層之間采用全連接的方式,即每層的神經(jīng)元與上層的所有神經(jīng)元都有聯(lián)系且存在相應(yīng)的連接權(quán)值.MLP可以通過(guò)對(duì)隱藏層數(shù)目和神經(jīng)元個(gè)數(shù)的設(shè)計(jì),實(shí)現(xiàn)對(duì)任意非線性函數(shù)的學(xué)習(xí).訓(xùn)練MLP的算法通常是BP算法(反向傳播算法),MLP訓(xùn)練完成后,可以根據(jù)輸入數(shù)據(jù)來(lái)判別它的所屬類別.
MLP原理簡(jiǎn)單,但在網(wǎng)絡(luò)結(jié)構(gòu)較大時(shí)往往性能較差,一方面是因?yàn)橛?xùn)練參數(shù)的增多,使得計(jì)算時(shí)間變長(zhǎng),同時(shí)容易陷入局部最小值導(dǎo)致得不到全局最優(yōu)解;另一方面是網(wǎng)絡(luò)結(jié)構(gòu)較大時(shí)會(huì)產(chǎn)生過(guò)擬合的情況,導(dǎo)致訓(xùn)練效果降低.
在網(wǎng)絡(luò)入侵檢測(cè)中,純MLP難以得到良好的訓(xùn)練效果而很少使用.但幾層采用全連接方式的神經(jīng)元(可被視為MLP)可被用作其他模型的一小部分.此外,對(duì)于上文所述的統(tǒng)計(jì)特征,統(tǒng)計(jì)特征數(shù)量較少、維度較低、構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)簡(jiǎn)單,用MLP訓(xùn)練會(huì)有不錯(cuò)的訓(xùn)練效果.例如,Roy等[15]將MLP應(yīng)用于入侵檢測(cè)系統(tǒng),前饋網(wǎng)絡(luò)包括輸入層,大約400個(gè)隱藏層神經(jīng)元和輸出神經(jīng)元,使用ReLu函數(shù)作為激活函數(shù),并用softmax分類器實(shí)現(xiàn)流量分類,達(dá)到入侵檢測(cè)的目的,與使用支持向量機(jī)的模型進(jìn)行比較,模型的精度有了很大的提高.Shun等[16]利用前饋神經(jīng)網(wǎng)絡(luò)構(gòu)建檢測(cè)模型并利用反向傳播算法進(jìn)行優(yōu)化,實(shí)驗(yàn)說(shuō)明訓(xùn)練后的模型可用于Tor網(wǎng)絡(luò)中的入侵檢測(cè)和用戶識(shí)別,并有著較好的效果.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是人工神經(jīng)網(wǎng)絡(luò)的一種,主要包括卷積層和池化層兩個(gè)模塊.卷積層的作用是對(duì)輸入層進(jìn)行卷積,來(lái)提取更高層次的特征,池化層的作用是對(duì)卷積層得到的特征進(jìn)行特征選擇和過(guò)濾,減少數(shù)據(jù)處理量.
卷積神經(jīng)網(wǎng)絡(luò)具有良好的泛化能力,能夠適用于多種分類任務(wù),在模式識(shí)別、物體檢測(cè)等方面具有良好的效果.利用卷積神經(jīng)網(wǎng)絡(luò)建立模式分類器,能直接用于灰度圖像的識(shí)別和分類.在入侵檢測(cè)和分類過(guò)程中,卷積神經(jīng)網(wǎng)絡(luò)的輸入往往是流量數(shù)據(jù)圖片化后的灰度圖,通過(guò)將流量分類問(wèn)題轉(zhuǎn)變?yōu)閳D片分類來(lái)處理.可以利用卷積神經(jīng)網(wǎng)絡(luò)提取流量的空間特征.
在入侵檢測(cè)中,首先對(duì)原始流量數(shù)據(jù)進(jìn)行預(yù)處理,生成統(tǒng)一大小的流量灰度圖,將獲得的流量灰度圖作為輸入數(shù)據(jù)輸入CNN中,通過(guò)CNN提取流量有效載荷中的相關(guān)特征,并利用所得特征進(jìn)行異常流量檢測(cè).CNN中獲得的特征多是空間特征,可以與其他神經(jīng)網(wǎng)絡(luò)獲得的特征結(jié)合起來(lái),并用于異常流量檢測(cè).如與RNN搭配使用,可以同時(shí)提取流量的時(shí)序特征和空間特征,更加準(zhǔn)確地描述了流量的特點(diǎn),對(duì)分類精度的提高有很大的幫助.例如,Lin等[17]使用了一種基于LeNet5模型的CNN方法來(lái)進(jìn)行網(wǎng)絡(luò)入侵檢測(cè),實(shí)驗(yàn)結(jié)果表明,隨著訓(xùn)練樣本數(shù)目的增大,入侵檢測(cè)的準(zhǔn)確度會(huì)隨之提高.當(dāng)樣本數(shù)目超過(guò)10 000時(shí),入侵檢測(cè)的預(yù)測(cè)準(zhǔn)確率達(dá)到99.65%,總體準(zhǔn)確率為97.53%.Naseer等[18]使用不同的深度神經(jīng)網(wǎng)絡(luò)架構(gòu),包括CNN、AE和RNN,來(lái)訓(xùn)練并構(gòu)建入侵檢測(cè)模型.這些深度學(xué)習(xí)模型在NSLKDD訓(xùn)練數(shù)據(jù)集上進(jìn)行訓(xùn)練,并在NSLKDD提供的兩個(gè)測(cè)試數(shù)據(jù)集上進(jìn)行評(píng)估.發(fā)現(xiàn)CNN和LSTM模型在入侵檢測(cè)中表現(xiàn)出卓越的性能,測(cè)試數(shù)據(jù)集的準(zhǔn)確度分別為85%和89%.Blanco等[19]利用遺傳算法(GA)優(yōu)化CNN分類器,以找到更好的輸入特征組合,不僅能實(shí)現(xiàn)正常流量和異常流量的分類,而且能對(duì)異常流量進(jìn)一步細(xì)分,正常流量的檢測(cè)準(zhǔn)確度最高達(dá)到了98.14%.
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是常規(guī)前饋神經(jīng)網(wǎng)絡(luò)的擴(kuò)展,是一類用于處理序列數(shù)據(jù)的網(wǎng)絡(luò).與常規(guī)的神經(jīng)網(wǎng)絡(luò)相比,循環(huán)神經(jīng)網(wǎng)絡(luò)通過(guò)在隱藏層的神經(jīng)元中添加了自連接的權(quán)重值,使得每次的訓(xùn)練可以記錄前面訓(xùn)練時(shí)輸出值狀態(tài)的信息,實(shí)現(xiàn)了保存前一個(gè)序列的信息的功能,成功地解決了序列數(shù)據(jù)預(yù)測(cè)問(wèn)題.
RNN主要提取的是流量的時(shí)序特征,可以通過(guò)RNN分別學(xué)習(xí)數(shù)據(jù)包和網(wǎng)絡(luò)流兩個(gè)層次上的特征,數(shù)據(jù)包層次,即RNN將一個(gè)數(shù)據(jù)包的字節(jié)序列作為輸入,只針對(duì)每一個(gè)數(shù)據(jù)包進(jìn)行特征學(xué)習(xí),學(xué)習(xí)到每個(gè)數(shù)據(jù)包的特征信息,并輸出每個(gè)數(shù)據(jù)包對(duì)應(yīng)的特征向量.網(wǎng)絡(luò)流層次,即使用RNN在每個(gè)數(shù)據(jù)包特征向量的基礎(chǔ)上進(jìn)一步學(xué)習(xí)數(shù)據(jù)包之間的序列關(guān)系,最終得到一個(gè)流特征向量.在入侵檢測(cè)中,不僅可以使用兩階段的RNN先后提取數(shù)據(jù)包和網(wǎng)絡(luò)流的時(shí)間特征,得到流特征向量,利用Softmax分類器進(jìn)行分類.也可以結(jié)合CNN,通過(guò)CNN學(xué)習(xí)數(shù)據(jù)包內(nèi)部的空間特征,再利用RNN提取數(shù)據(jù)包間的時(shí)序特征,綜合利用兩種神經(jīng)網(wǎng)絡(luò)的特征,得到準(zhǔn)確刻畫(huà)網(wǎng)絡(luò)行為的時(shí)空特征,并用于網(wǎng)絡(luò)入侵檢測(cè).此外,也可以將RNN和自動(dòng)編碼器結(jié)合,自動(dòng)編碼器用于網(wǎng)絡(luò)流特征提取和維度壓縮,RNN處理網(wǎng)絡(luò)流數(shù)據(jù)的序列信息,得到流數(shù)據(jù)的時(shí)間特征,兩者結(jié)合起來(lái),用于網(wǎng)絡(luò)入侵檢測(cè).
Kim等[20]基于長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)建立IDS模型,并用KDD Cup 1999數(shù)據(jù)集進(jìn)行訓(xùn)練.在實(shí)驗(yàn)中,作者建立了一個(gè)基于LSTM的IDS分類器,并將其與其他IDS分類器進(jìn)行比較,發(fā)現(xiàn)基于LSTM的IDS分類器對(duì)于攻擊有著很高的檢測(cè)精度.王偉[14]結(jié)合CNN和LSTM兩種神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)網(wǎng)絡(luò)流量的時(shí)空特征,就此提出了一個(gè)網(wǎng)絡(luò)流量異常檢測(cè)系統(tǒng)HAST—NAD.首先利用CNN對(duì)每個(gè)數(shù)據(jù)包的空間特征進(jìn)行提取,再利用LSTM在數(shù)據(jù)包特征向量的序列上提取其時(shí)序特征,然后結(jié)合網(wǎng)絡(luò)流的空間特征和時(shí)序特征,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量異常的精準(zhǔn)檢測(cè).在DAPRA1998和ISCX2012兩個(gè)數(shù)據(jù)集中,有著很高的檢測(cè)精度,同時(shí)保持相對(duì)較低的誤報(bào)率.Mirza等[21]介紹了一種基于長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)的序列化自動(dòng)編碼器結(jié)構(gòu),用于計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè).首先通過(guò)LSTM處理可變長(zhǎng)度數(shù)據(jù)序列,將可變長(zhǎng)度數(shù)據(jù)轉(zhuǎn)化為固定長(zhǎng)度數(shù)據(jù),自動(dòng)編碼器在無(wú)監(jiān)督條件下處理固定長(zhǎng)度數(shù)據(jù),在提取到可靠特征的同時(shí)降低輸入數(shù)據(jù)的維度,最后基于交叉驗(yàn)證分配閾值,以便對(duì)輸入的流量數(shù)據(jù)序列進(jìn)行異常分類.實(shí)驗(yàn)證明了提出的順序LSTM自動(dòng)編碼器用于入侵檢測(cè)具有良好的分類效果,并在ISCX IDS 2012數(shù)據(jù)集上驗(yàn)證了算法的性能.
自動(dòng)編碼器(autoencoder)是神經(jīng)網(wǎng)絡(luò)的一種,自動(dòng)編碼器(AE)的作用是想盡可能的重構(gòu)輸入,使得隱藏層較低維度的神經(jīng)元能夠代替高維的輸入層神經(jīng)元,從而實(shí)現(xiàn)降維和特征提取的功能.該網(wǎng)絡(luò)可以看作由兩部分組成:一個(gè)由函數(shù)h=f(x)表示的編碼器和一個(gè)重構(gòu)解碼器r=g(h).前一部分能將輸入數(shù)據(jù)進(jìn)行壓縮,后一部分將壓縮后的數(shù)據(jù)進(jìn)行重構(gòu).通過(guò)向自編碼器強(qiáng)加一些約束,可以通過(guò)不同的約束條件構(gòu)建不同的自動(dòng)編碼器,通過(guò)訓(xùn)練不同的自編碼器來(lái)獲得數(shù)據(jù)不同類型的特征.
相比其他神經(jīng)網(wǎng)絡(luò),自編碼器是一種無(wú)監(jiān)督學(xué)習(xí)的算法.通過(guò)編碼器和解碼器,學(xué)習(xí)某一類數(shù)據(jù)內(nèi)在的特征分布.若只使用正常流量訓(xùn)練自動(dòng)編碼器,則可以得到一個(gè)簡(jiǎn)單的正常與異常流量分類器.在測(cè)試樣本中,如果流量是正常流量,重構(gòu)誤差(輸入和預(yù)測(cè)之間的誤差)應(yīng)該在設(shè)定閾值范圍內(nèi),如果重構(gòu)誤差超過(guò)閾值范圍,將其視為異常流量.
在網(wǎng)絡(luò)入侵檢測(cè)中,用一種只包含正常流量的訓(xùn)練集訓(xùn)練自動(dòng)編碼器,產(chǎn)生的分類器能夠區(qū)分正常流量和異常量.Farahnakian等[22]提出了一種基于深度自動(dòng)編碼器的入侵檢測(cè)方法,并通過(guò)逐層貪婪訓(xùn)練來(lái)避免過(guò)度擬合,并在KDDCup99(舊版NSL-KDD)上評(píng)估,在二分類和多元分類上,均有著較高的準(zhǔn)確度.Al-Qatf等[23]提出基于堆疊自編碼器的自我學(xué)習(xí)框架進(jìn)行特征學(xué)習(xí)和降維,并使用SVM進(jìn)行分類的方法.該方法在兩類和多分類中也表現(xiàn)出良好的性能,在NSL-KDD數(shù)據(jù)集上實(shí)現(xiàn)了很高的異常檢測(cè)準(zhǔn)確率,同時(shí)縮短了訓(xùn)練和測(cè)試時(shí)間,表現(xiàn)出高效的檢測(cè)性能.Javaid等[24]討論了現(xiàn)有NIDS技術(shù)所面臨的問(wèn)題,為此提出了一種新型的棧式非對(duì)稱自動(dòng)編碼器(SNDAE)用于無(wú)監(jiān)督特征學(xué)習(xí),在此基礎(chǔ)上,利用隨機(jī)森林算法對(duì)學(xué)習(xí)到的樣本特征進(jìn)行分類.分別在KDDCup99和NSL-KDD數(shù)據(jù)集上訓(xùn)練并測(cè)試該方法,結(jié)果表明,該模型擁有較高的準(zhǔn)確性、精確度和召回率,同時(shí)縮短了訓(xùn)練時(shí)間,與基于深度置信網(wǎng)絡(luò)的方法相比,模型精度提高5%,訓(xùn)練時(shí)間縮短高達(dá)98.81%.
入侵檢測(cè)的基本任務(wù)是實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)攻擊的分類,除此之外,基于深度學(xué)習(xí)的入侵檢測(cè)具有檢測(cè)加密攻擊和零日攻擊的天然優(yōu)勢(shì).本節(jié)討論了深度學(xué)習(xí)技術(shù)在上述三類入侵檢測(cè)任務(wù)上的應(yīng)用和最新研究進(jìn)展.
針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的攻擊種類繁多,主要包括利用網(wǎng)絡(luò)通信協(xié)議自身存在的缺陷、利用用戶終端操作系統(tǒng)內(nèi)在缺陷或利用程序語(yǔ)言本身所具有的安全隱患幾大類.由于當(dāng)前主流的計(jì)算機(jī)硬件和軟件、網(wǎng)絡(luò)協(xié)議和結(jié)構(gòu)以及網(wǎng)絡(luò)管理等方面均不可避免地存在安全漏洞,從而使得網(wǎng)絡(luò)攻擊有機(jī)可乘,難以防范.
對(duì)網(wǎng)絡(luò)攻擊進(jìn)行分類是研究具體網(wǎng)絡(luò)攻擊及相應(yīng)防御措施的一個(gè)重要前提.攻擊分類不僅僅是區(qū)分正常流量和異常流量,還要識(shí)別異常流量的攻擊類型,通過(guò)對(duì)攻擊類型的研究,可以清楚地了解每一類攻擊的詳細(xì)特性,從而更好地對(duì)攻擊進(jìn)行防御.
為了更精確地進(jìn)行攻擊分類,通常采用深度學(xué)習(xí)的方法進(jìn)行攻擊檢測(cè).在過(guò)去的40年中,支持向量機(jī)和貝葉斯等算法模型在異常檢測(cè)和攻擊分類的研究中表現(xiàn)出色,而隨著技術(shù)的發(fā)展,作為機(jī)器學(xué)習(xí)的一個(gè)分支,深度學(xué)習(xí)算法在這些方面逐漸顯示出了獨(dú)有的優(yōu)勢(shì),因而深度學(xué)習(xí)算法逐漸開(kāi)始被應(yīng)用于異常檢測(cè)和攻擊分類等領(lǐng)域.
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種,主要用于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí),其采用高效的無(wú)監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取算法來(lái)替代人工特征提取.在網(wǎng)絡(luò)攻擊檢測(cè)領(lǐng)域,相較于傳統(tǒng)的特征提取算法,深度學(xué)習(xí)具有更好的特征提取效果,可以有效提高檢測(cè)速度和準(zhǔn)確率、降低誤報(bào)率,能夠自動(dòng)識(shí)別出不同的攻擊特征,從而更高效地發(fā)現(xiàn)潛在安全威脅.
目前,基于深度學(xué)習(xí)的網(wǎng)絡(luò)攻擊檢測(cè)算法已逐漸成為學(xué)術(shù)界和產(chǎn)業(yè)界的研究熱點(diǎn).Muna等[25]使用無(wú)監(jiān)督的深度自動(dòng)編碼器模型進(jìn)行訓(xùn)練,以學(xué)習(xí)正常的網(wǎng)絡(luò)行為并產(chǎn)生最佳參數(shù)(權(quán)重和偏差).然后,在有監(jiān)督的深度神經(jīng)網(wǎng)絡(luò)模型中,使用ADE模型的估計(jì)算法來(lái)有效地調(diào)整其參數(shù),并對(duì)網(wǎng)絡(luò)流量進(jìn)行分類,并在兩個(gè)數(shù)據(jù)集上進(jìn)行了評(píng)估,降低了檢測(cè)結(jié)果的假正類率.Staudemeyer等[26]提出了基于有監(jiān)督的LSTM的入侵檢測(cè)算法,該算法適用于檢測(cè)有獨(dú)特時(shí)間序列特征的DoS攻擊和Probe攻擊.為了解決網(wǎng)絡(luò)流量特征難以定量選取和訓(xùn)練數(shù)據(jù)集數(shù)量有限等問(wèn)題,許勐璠等[27]首先采用了半監(jiān)督的學(xué)習(xí)方法,利用少量已經(jīng)標(biāo)記的數(shù)據(jù)生成大規(guī)模的和原數(shù)據(jù)類似的數(shù)據(jù)集用以訓(xùn)練模型,在降低流量數(shù)據(jù)標(biāo)記成本的同時(shí)定量選取流量特征,不僅消除了傳統(tǒng)特征提取中人為因素的影響,同時(shí)也盡可能多地保留了特征的分類信息,能更準(zhǔn)確地檢測(cè)到網(wǎng)絡(luò)中的未知攻擊.
近年來(lái),隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,保護(hù)傳輸數(shù)據(jù)和用戶隱私的需求也在迅速增加.各種流量傳輸加密技術(shù)的實(shí)現(xiàn),在保證網(wǎng)絡(luò)應(yīng)用傳輸數(shù)據(jù)安全和用戶隱私的同時(shí),很多惡意軟件也開(kāi)始利用加密技術(shù)來(lái)逃避防火墻和入侵系統(tǒng)的檢測(cè),這些做法給攻擊流量的檢測(cè)帶來(lái)了巨大困難.
根據(jù)協(xié)議所處層的位置,流量加密技術(shù)可以分為三類,即網(wǎng)絡(luò)層加密、傳輸層加密以及應(yīng)用層加密.網(wǎng)絡(luò)層加密是指在網(wǎng)絡(luò)層對(duì)上層數(shù)據(jù)包即傳輸層數(shù)據(jù)包進(jìn)行整體加密,如IPsec技術(shù).傳輸層加密是指在傳輸層對(duì)上層數(shù)據(jù)包即應(yīng)用層的數(shù)據(jù)包進(jìn)行加密,如TLS協(xié)議和SSL協(xié)議.應(yīng)用層加密是指在應(yīng)用層上對(duì)網(wǎng)絡(luò)應(yīng)用數(shù)據(jù)使用專門(mén)的加密協(xié)議進(jìn)行加密傳輸,如BitTorrent和Skype.網(wǎng)絡(luò)層和傳輸層加密這種對(duì)上層數(shù)據(jù)包進(jìn)行整體加密的技術(shù),又可以被稱作協(xié)議封裝.實(shí)際場(chǎng)景中不僅可以在某一層對(duì)流量數(shù)據(jù)進(jìn)行加密傳輸,也可以在不同層同時(shí)使用加密協(xié)議,如使用VPN通信的Skype流量就是將應(yīng)用層加密后的流量數(shù)據(jù)進(jìn)一步進(jìn)行協(xié)議封裝.
在加密協(xié)議握手階段,雙方往往需要通過(guò)明文協(xié)商相關(guān)加密參數(shù),這一階段可以得到許多與加密相關(guān)的寶貴數(shù)據(jù),如加密采用的 HTTP 、URL、DNS主機(jī)名、TLS版本、算法、證書(shū)、TLS擴(kuò)展選項(xiàng)等.除此之外,還可以利用數(shù)據(jù)包長(zhǎng)度和報(bào)文的時(shí)間間隔和順序,以及被分析的數(shù)據(jù)流中數(shù)據(jù)包的有效載荷上的字節(jié)分布,分析加密流量的行為模式,根據(jù)這些信息,建立加密數(shù)據(jù)的流量模型,同時(shí)可以進(jìn)一步研究加密流量傳輸?shù)膬?nèi)容,使得加密流量的入侵檢測(cè)有著更高的精度.
加密流量的分類方法主要有兩種:一種是基于載荷的分類方法,流量采用不同的加密協(xié)議對(duì)流量進(jìn)行加密,而不同的加密協(xié)議的協(xié)議格式是不同的,利用模式匹配檢查數(shù)據(jù)包的包頭格式來(lái)判斷其采用了哪種加密協(xié)議,是否為加密流量,達(dá)到識(shí)別加密流量的效果.但是,這種分類方法只是粗分類,只能判斷流量是否為加密流量,無(wú)法對(duì)加密流量具體分類.另一種是基于行為的分類方法,通過(guò)深度學(xué)習(xí)的方式提取加密流量的各種行為特征,最終實(shí)現(xiàn)加密流量的識(shí)別和分類,實(shí)現(xiàn)入侵檢測(cè)的功能.
在加密流量的入侵檢測(cè)中,可以利用加密協(xié)議握手過(guò)程中提取的特征進(jìn)行檢測(cè),如加密協(xié)議的協(xié)議特征、與加密流相關(guān)的DNS上下文信息、以及5分鐘內(nèi)來(lái)自相同源IP地址的HTTP上下文信息等數(shù)據(jù),通過(guò)相關(guān)的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,實(shí)現(xiàn)加密流量的入侵檢測(cè).此外,也可以利用原始數(shù)據(jù)包有效載荷來(lái)進(jìn)行加密流量的入侵檢測(cè),通過(guò)被分析的數(shù)據(jù)流中數(shù)據(jù)包的有效載荷上的字節(jié)分布,分析加密流量的行為特征,從而達(dá)到入侵檢測(cè)的目的.
王偉[14]針對(duì)傳統(tǒng)基于機(jī)器學(xué)習(xí)的入侵檢測(cè)方法需要手動(dòng)的提取特征的問(wèn)題,提出了一種基于CNN的端到端的加密流量檢測(cè)方法,利用深度學(xué)習(xí)的優(yōu)勢(shì)實(shí)現(xiàn)流量特征的自動(dòng)提取與流量類型的識(shí)別.在公開(kāi)的VPN數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)一維CNN比二維CNN更適用于網(wǎng)絡(luò)流量分析與分類.Foroushani等[28]提出了一種通過(guò)SSH2(Secure Shell)協(xié)議檢測(cè)加密數(shù)據(jù)中異常行為的新方法.在Snort入侵檢測(cè)軟件上實(shí)現(xiàn)了所提出的系統(tǒng),并利用DARPA評(píng)估數(shù)據(jù)集對(duì)其進(jìn)行了評(píng)估.評(píng)估結(jié)果表明,該方法在檢測(cè)精度和計(jì)算效率方面具有良好的前景,因此,適用于實(shí)時(shí)入侵檢測(cè).Prasse等[29]開(kāi)發(fā)并研究了基于LSTM的惡意軟件檢測(cè)模型,該模型僅使用HTTPS流量的握手階段的可觀察信息,并通過(guò)神經(jīng)語(yǔ)言模型將域名轉(zhuǎn)化為低維特征,即域名特征,在實(shí)驗(yàn)的過(guò)程中得出結(jié)論,基于LSTM的模型優(yōu)于基于隨機(jī)森林的模型,并且域名特征和網(wǎng)絡(luò)流特征的組合使用優(yōu)于使用其中的一種特征.該機(jī)制能夠識(shí)別網(wǎng)絡(luò)流中的大部分惡意軟件,包括以前未見(jiàn)過(guò)的惡意軟件.
零日漏洞,即被惡意行為發(fā)現(xiàn)后立刻被其利用的安全漏洞,也稱零時(shí)差漏洞,而零日攻擊便是對(duì)應(yīng)產(chǎn)生的攻擊,它因某些系統(tǒng)或軟件的漏洞未被修補(bǔ)或未被開(kāi)發(fā)商知曉,從而被惡意行為發(fā)起攻擊.隨著信息技術(shù)的發(fā)展,系統(tǒng)及代碼越來(lái)越龐大復(fù)雜,雖然能實(shí)現(xiàn)更多的功能,但安全隱患也會(huì)隨之增加.雖然一般企業(yè)已經(jīng)盡力防止被惡意行為入侵,但系統(tǒng)漏洞無(wú)法避免,都可能成為零日攻擊的目標(biāo).
與傳統(tǒng)病毒攻擊相比,零日攻擊不再被動(dòng)、緩慢,而是主動(dòng)且迅速的發(fā)起攻擊,如MS Blast在漏洞被發(fā)現(xiàn)不到25天內(nèi)就被惡意行為加以利用,造成了巨大損失.此外,普通病毒雖然傳播迅速,但其在爆發(fā)后短短幾小時(shí)之內(nèi),就會(huì)被相關(guān)防護(hù)系統(tǒng)識(shí)別特征碼并阻止其入侵.而對(duì)于零日攻擊而言,從攻擊爆發(fā)到該漏洞補(bǔ)丁的出現(xiàn),最快可能也需要數(shù)天時(shí)間,而在這段時(shí)間內(nèi),系統(tǒng)都沒(méi)有有效的防御手段.
為了能更準(zhǔn)確地檢測(cè)到零日攻擊,應(yīng)加強(qiáng)網(wǎng)絡(luò)入侵防御系統(tǒng)建設(shè).誤用檢測(cè)和異常檢測(cè)是目前最常規(guī)的兩種檢測(cè)方式.誤用檢測(cè),即基于簽名的檢測(cè),將采樣到的數(shù)據(jù)包與數(shù)據(jù)庫(kù)中已知的入侵特征進(jìn)行比較.這種方法對(duì)已知攻擊的檢測(cè)準(zhǔn)確率較高,但無(wú)法直接檢測(cè)出零日攻擊,因此,對(duì)于該方法,只能不斷優(yōu)化簽名更新的速度,才能盡量將確認(rèn)攻擊的時(shí)間縮短,提升網(wǎng)絡(luò)的安全性.而基于異常檢測(cè)的方法則是先建立正常網(wǎng)絡(luò)行為的模型,在對(duì)采樣數(shù)據(jù)包的檢測(cè)中,所有偏離正常的行為都被判定為異常,即如果網(wǎng)絡(luò)的行為數(shù)據(jù)超過(guò)了設(shè)定的正常行為的閾值,這些操作將被判為異常,并將報(bào)告發(fā)送給網(wǎng)絡(luò)管理員.因此,異常檢測(cè)可檢測(cè)到從未出現(xiàn)過(guò)的零日攻擊或已知攻擊的變種.
為了提升網(wǎng)絡(luò)的安全性,有許多研究針對(duì)零日攻擊進(jìn)行了入侵檢測(cè)的研究和優(yōu)化.麻省理工學(xué)院的林肯實(shí)驗(yàn)室在1998-1999年間對(duì)18種不同的入侵檢測(cè)系統(tǒng)進(jìn)行了比較研究.結(jié)果表明,最好的入侵檢測(cè)系統(tǒng)檢測(cè)到了63%~93%的已知攻擊和大約50%的零日攻擊.然而,實(shí)驗(yàn)結(jié)果對(duì)真實(shí)場(chǎng)景的實(shí)用性有限.Amoli等[30]提出并實(shí)現(xiàn)了一種新穎的、實(shí)時(shí)無(wú)監(jiān)督的NIDS,它通過(guò)在NIDS中應(yīng)用了無(wú)監(jiān)督機(jī)器學(xué)習(xí)算法來(lái)提高零日攻擊的檢測(cè)率,同時(shí)在沒(méi)有任何先驗(yàn)知識(shí)的情況下減少不平衡流量中的誤報(bào).在Dang等[31]的研究中,他們通過(guò)使用不同的無(wú)監(jiān)督算法來(lái)檢測(cè)移動(dòng)自組織網(wǎng)絡(luò)中的異常,實(shí)驗(yàn)對(duì)比發(fā)現(xiàn)k-means和c-means的表現(xiàn)最好,而k-means需要的資源更少.
雖然基于深度學(xué)習(xí)的入侵檢測(cè)相比于傳統(tǒng)的誤用檢測(cè)在加密攻擊檢測(cè)和零日攻擊檢測(cè)問(wèn)題上具有優(yōu)勢(shì),然而深度學(xué)習(xí)技術(shù)至今仍然無(wú)法在商用入侵檢測(cè)系統(tǒng)中實(shí)現(xiàn)大范圍應(yīng)用,其中,重要的原因是目前基于深度學(xué)習(xí)的入侵檢測(cè)研究只是在良好的數(shù)據(jù)集上進(jìn)行,一些現(xiàn)實(shí)環(huán)境中存在的問(wèn)題無(wú)法得到有效的解決.
短流指的是數(shù)據(jù)包較少的網(wǎng)絡(luò)數(shù)據(jù)流.當(dāng)一條流包含的數(shù)據(jù)包較少時(shí),難以根據(jù)這些數(shù)據(jù)包獲得有效的流特征.對(duì)于統(tǒng)計(jì)特征來(lái)說(shuō),需要在充分多的數(shù)據(jù)包的情況下統(tǒng)計(jì)出來(lái)的數(shù)據(jù)才有意義,短流的統(tǒng)計(jì)特征往往包含大量的空值或者具有很強(qiáng)的隨機(jī)性,難以表達(dá)流量的行為模式.同理,對(duì)時(shí)序特征來(lái)說(shuō),通常需要在一段較長(zhǎng)時(shí)間范圍內(nèi)計(jì)算多個(gè)時(shí)間窗口里的行為特征,以體現(xiàn)流量行為在時(shí)間上的變化特征,而短流的持續(xù)時(shí)間短,難以用多個(gè)窗口刻畫(huà),難以提取有效的時(shí)序特征.對(duì)有效載荷特征來(lái)說(shuō),由于需要保證輸入特征的維度相同,因此,通常會(huì)對(duì)長(zhǎng)流做截取,對(duì)短流做填充,而如果短流的數(shù)據(jù)包個(gè)數(shù)太少,流量的有效載荷特征中將包含大量的填充值,可能會(huì)影響對(duì)真正數(shù)據(jù)包內(nèi)容的檢測(cè).
對(duì)于使用更強(qiáng)加密協(xié)議的流量,如使用QUIC、TLS1.3等加密協(xié)議的流量,尚未有良好的檢測(cè)方法.大多數(shù)瀏覽器(包括Chrome和Firefox)已經(jīng)使用了TLS1.3協(xié)議.以前對(duì)使用TLS1.2協(xié)議的加密流量的檢測(cè),主要是通過(guò)從握手階段的明文字段提取輸入特征,通過(guò)深度學(xué)習(xí)的方法進(jìn)行訓(xùn)練,從而實(shí)現(xiàn)對(duì)加密流量的檢測(cè).但在TLS1.3和QUIC中,由于新的密鑰機(jī)制和0-RTT連接,加密流量第一個(gè)數(shù)據(jù)包只有少數(shù)字段處于未加密狀態(tài),因而無(wú)法從中得到關(guān)于加密流量的足夠信息來(lái)支持對(duì)加密流量的檢測(cè).同時(shí),對(duì)于加密的隧道協(xié)議,數(shù)個(gè)流可能會(huì)被合并成一個(gè)加密流進(jìn)行轉(zhuǎn)發(fā),導(dǎo)致加密流量的檢測(cè)更為困難.
網(wǎng)絡(luò)流量的行為特征是會(huì)隨著時(shí)間和空間而發(fā)生改變的.比如,在學(xué)校采集的正常流量的行為特征,往往會(huì)與公司的正常流量行為特征有所不同.此外,隨著時(shí)間的發(fā)展,進(jìn)入互聯(lián)網(wǎng)的流量數(shù)據(jù)和終端應(yīng)用的類型在不斷增多,人們上網(wǎng)的行為習(xí)慣也在不斷發(fā)生變化,這將導(dǎo)致正常流量的行為特征也會(huì)隨時(shí)間變化.好的入侵檢測(cè)算法應(yīng)當(dāng)有良好的時(shí)間和空間的自適應(yīng)能力,以應(yīng)對(duì)在不同時(shí)間、不同地點(diǎn)流量特征的分布可能不同的問(wèn)題.該問(wèn)題同樣存在于計(jì)算機(jī)視覺(jué)領(lǐng)域,并且相應(yīng)的遷移學(xué)習(xí)和域自適應(yīng)算法已經(jīng)被廣泛研究.然而在入侵檢測(cè)領(lǐng)域,如何解決流量行為特征隨時(shí)間和空間變化的問(wèn)題尚未有人研究.
在深度學(xué)習(xí)的過(guò)程中,一個(gè)好的數(shù)據(jù)集對(duì)于模型的訓(xùn)練起著至關(guān)重要的作用.在對(duì)訓(xùn)練集進(jìn)行訓(xùn)練的過(guò)程中,往往需要足夠多的訓(xùn)練樣本來(lái)完成神經(jīng)網(wǎng)絡(luò)中各個(gè)參數(shù)的訓(xùn)練.在入侵檢測(cè)領(lǐng)域,訓(xùn)練集中往往包含大量的正常流量樣本,而攻擊數(shù)據(jù)很少.訓(xùn)練樣本不平衡會(huì)使訓(xùn)練出來(lái)的檢測(cè)模型存在著嚴(yán)重的偏向性,即模型將過(guò)多的關(guān)注正常流量,致使樣本數(shù)量較少的異常流量的識(shí)別效果下降.目前很少有研究工作研究入侵檢測(cè)問(wèn)題下的樣本不平衡問(wèn)題及解決方法.
深度學(xué)習(xí)技術(shù)為解決加密攻擊檢測(cè)和零日攻擊檢測(cè)這些入侵檢測(cè)的新挑戰(zhàn)提供了很好的方法,因此,基于深度學(xué)習(xí)的入侵檢測(cè)技術(shù)受到了廣泛的關(guān)注.本文從流量的特征選擇、檢測(cè)模型選擇和檢測(cè)任務(wù)分類三方面總結(jié)了基于深度學(xué)習(xí)的入侵檢測(cè)相關(guān)最新研究進(jìn)展.最后,本文總結(jié)了將深度學(xué)習(xí)技術(shù)應(yīng)用到入侵檢測(cè)問(wèn)題中仍然存在的幾個(gè)實(shí)際的必須克服的問(wèn)題.