?

基于深度學習的網絡入侵檢測研究綜述

2019-03-18 02:42張勇東陳思洋彭雨荷
關鍵詞:數據包加密神經網絡

張勇東, 陳思洋, 彭雨荷, 楊 堅

(中國科學技術大學 信息科學技術學院, 安徽 合肥 230027)

根據《互聯網安全威脅報告》(簡稱ISTR), 2015年,大約有4.3億新惡意軟件變種、362個加密勒索軟件和其他互聯網威脅被發現[1].網絡犯罪和威脅活動已成為日常生活的重要組成部分,網絡安全的重要性日益成為人們關注的焦點.近年,一款勒索軟件“WannaCry”于2017年5月12日在150多個國家的1萬多家組織中發起攻擊,顯示出新興網絡攻擊的影響日益嚴重[2].

入侵檢測(ID)是網絡安全的核心要素[3].入侵檢測的主要目的是識別網絡和計算機系統中入侵者引起的異常行為.根據入侵檢測的執行位置,存在兩種不同類型的入侵檢測:基于主機的入侵檢測和基于網絡的入侵檢測.根據如何進行入侵檢測,IDS可以實現誤用檢測(基于簽名)和異常檢測[4-5].誤用檢測通過對已知的攻擊行為進行分析,提取攻擊特征,建立相應的攻擊簽名庫,利用文件或者網絡流量數據與攻擊簽名的匹配情況判斷入侵行為;而異常檢測首先構建主機、用戶或網絡連接的正常行為描述,通過判斷所檢測到的行為是否偏離了正常行為模式,從而判斷是否發生了入侵行為.

誤用檢測是發展最成熟、應用最廣泛的技術.大部分商用的入侵檢測系統主要采用基于誤用的檢測方法,并依靠不斷提升規則庫的完備性來提升檢測的可靠性.誤用檢測可以有效地檢測已知的攻擊行為,并且具有較高的準確率.然而,由于誤用檢測的基礎是已知的攻擊簽名和可獲取的數據包載荷,因此,誤用檢測通常難以應對加密攻擊檢測和零日攻擊檢測問題.異常檢測通過分析流量的行為模式來檢測那些偏離正常行為的異常流量.異常檢測在已知攻擊時的準確率不如誤用檢測,而且經常面臨著高誤報率的問題.然而,由于基于異常的入侵檢測方法不需要分析數據包的有效載荷,并且可以只利用正常流量就可以檢測出異常流量,因此,異常檢測在檢測加密攻擊和零日攻擊時具有無與倫比的優勢,針對異常檢測的研究受到了廣泛的關注.

本文綜述了利用深度學習方法進行網絡異常檢測的最新研究進展,旨在系統地梳理這一方向最新的研究工作,并討論目前存在的問題和發展方向:①總結了目前基于深度學習的入侵檢測常用的輸入特征及相關預處理方式;②介紹了幾種典型的深度學習模型及選擇方式;③總結了利用深度學習可以實現的幾種不同的檢測任務;④討論了目前存在的若干問題和發展方向.

1 特征選擇

利用深度學習進行入侵檢測時首先需要從原始網絡數據中提取出流量的行為特征.流量的行為特征通常指的是流級特征,即將網絡數據按照源IP、目的IP、源端口、目的端口、協議聚合后提取的特征.這些特征通??梢苑譃榻y計特征、時序特征、協議特征、有效載荷特征四種.

1.1 統計特征

在數據傳輸時,可以從整個數據流中獲得許多統計特征,例如數據包的平均長度和最小到達間隔時間.許多研究已經驗證了統計特征用于分類可以得到較高精度的結果,如Roughan等[6]的研究采用了平均數據包大小,流量持續時間,每個流的字節數,每個流的數據包和均方根數據包大小等統計特征,在服務類型分類中最低僅有5.1%的誤報率,取得了較好的結果.

但統計特征數量較少,輸入維度較低,因此,大多數研究僅在經典機器學習中應用統計特征以構建更簡單的分類器.此外,為了獲得統計特征,分類器通常需要觀察流的全部或大部分.雖然已經有研究證明,根據數據集和統計特征的選擇,從前10到180個數據包獲得的統計特征可能足以進行分類,但是因為它需要捕獲大量流,以從中獲得可靠的統計特征,所以可能不適合用于在線分類和快速分類.而且,在某些情況下,統計特征的選擇可能會受到特定用戶的行為、特定操作系統的模式或特定網絡條件的影響.

通常,我們對于統計特征采取標準化、最大-最小縮放等預處理方法.如Alom等[7]在處理KDD數據集時,因持續時間等特征的最大值和最小值之間差值的范圍較大,需要對數據進行最大-最小縮放預處理.

1.2 時序特征

時間序列特征包括數據包長度的序列、到達間隔時間序列和連續數據包的方向等,它在統計特征的基礎上進一步體現了數據包之間時間上的關聯性.相關工作已經證明,時間序列特征對于原數據具有更準確的代表性,即使對于加密流量,前幾個數據包(最多20個數據包)也已被證明足以達到一定的準確度,因此,時間序列特征被廣泛應用于各種場景和數據集.

由于時間特征的提取會面臨一系列的困難,因此,很多文章研究了不同特征提取方法,如滑動窗口法,但這種方法不考慮窗口跨越時間,且內存和運行時的復雜度高,為了解決這些問題,Mirsky等[8]設計了一個新的框架.該框架提出了一個衰減窗口模型,用于在動態數量的數據流(網絡信道)上進行時間統計數據的高速特征提取.為了達到這個目的,文中通過使用衰減增量統計方法來提取時序統計特征.在特征更新時引入遺忘因子,使得較早的數據對當前時刻結果的影響呈指數減少,最終輸出為當前時刻值和上一時刻值分別與其權重乘積之和.這種方法既考慮到了時間的影響,又只占用了較少的內存,比一般的時間特征提取方法效果更好.

因為網絡入侵行為往往會持續一段時間,通過分析數據包在一段時間內的變化能更好地檢測到入侵行為的發生, 而循環神經網絡恰好適合處理具有時間域特征的數據,可以通過訓練好的神經網絡模型提取出正常和異常網絡流量具有區分度的時間依賴特征.Yin等[9]就是使用基于循環神經網絡的模型進行分類,并在NSL-KDD數據集上評估該方法在二分類和多分類中檢測網絡入侵時的性能.實驗提取了數據包持續時間等特征,經過數字化和標準化處理后,將其輸入到循環神經網絡模型進行訓練和測試.實驗結果表明基于循環神經網絡的入侵檢測系統非常適合入侵檢測,在二分類和多分類中,其性能優于傳統的機器學習分類方法,提高了入侵檢測的準確性.

時間序列特征提取出的數據因為上下限范圍大,應采取歸一化的預處理方法,具體方法內容和統計特征的預處理相似,一般需要將數據映射到[0,1]之間.

1.3 協議特征

協議特征是通過提取網絡協議中某些字段而得到的特征,如網絡層IP協議相關字段、應用層HTTP協議相關字段等.網絡流量的協議特征相較于簡單的統計特征包含了更多流量的隱藏結構特征信息,可用于檢測利用協議漏洞或針對網絡協議發起的攻擊,如DOS/DDOS攻擊.此外,還可以通過分析流量的協議字段從而獲取正常流量的協議參數,得到協議狀態的轉移關系,進而分析異常行為.

在入侵檢測系統中,基于傳統特征的檢測方法常常無法檢測到加密流量,而基于協議特征的方法因為無需檢測數據包有效載荷,在此方面表現較好,如檢測針對TLS協議中特定加密算法的攻擊行為.相關工作通過利用TLS握手元數據、與加密流相關的DNS上下文信息,以及5分鐘內來自相同源IP地址的HTTP上下文信息等數據,提高了對加密攻擊流量的識別精度[10].

然而協議特征并沒有包含數據包的有效載荷信息,僅僅依靠協議字段信息對流量的分類不夠精細,因此,具有一定的局限性.

協議特征通常采用數值化的預處理方法,即將“protocol_type”,“service”和“flag”等非數字特征,轉換為數字形式,通常采用獨熱編碼方式,又稱為一位有效編碼,主要是采用N維向量來對N個狀態進行編碼,每個狀態對應其中的一個維度,并且在任意時候只有一維有效,獨熱編碼可以使特征之間的距離計算更加合理.例如,在KDD數據集中特征“protocol_type”有三種類型的屬性:“tcp”、“udp”和“icmp”,其數值被編碼為二進制向量(1,0,0),(0,1,0)和(0,0,1).同樣,特征“service”有70種類型的屬性,功能“flag”有11種類型的屬性.以這種方式處理后,KDD數據集中41維的特征轉換為122維特征.

1.4 有效載荷

有效載荷特征即通過提取基于TCP/UDP傳輸中數據包的特定負載而獲取的特征.基于數據包載荷的檢測方法可以通過有效載荷特征來識別數據包,即能夠通過深度學習方法提取攻擊流量的有效載荷中隱含的特征信息,進而識別異常流量.

網絡數據包基本的傳輸形式為二進制比特流,而灰度圖的原始存儲方式也為二進制比特流,在對網絡流數據包協議的識別過程中,兩者存在相似性,可將網絡流數據包當作灰度圖來進行處理.利用成熟的卷積神經網絡圖像識別技術,避免了顯式的特征提取,而隱式地從訓練數據中進行深度學習,自動得到不同網絡流量的特征模型,實現對異常流量的識別.卷積神經網絡可以通過局部感知和權值共享對原始流量有效載荷灰度圖進行卷積,將異常流量信息的特征提取出來,再用池化操作對特征值進行降維,經多層提取,最終抽取出對應異常網絡流量信息的多項抽象特征.例如,Zhou等[11]從流中提取了256個特征并將其映射為16*16灰度圖像,然后使用改進的卷積神經網絡對流進行分類.對于數據量較大的數據類型,他們的模型具有良好的分類結果,但對數據量較小的流量類型,其分類效果是非常有限的.

此外,還有一些工作也針對有效載荷特征進行了研究.如Yuan等[12]提出了深度學習的神經網絡模型.他們從連續流序列中提取了20個區域,并使用長度為T的滑動時間窗生成了一個三維特征圖.實驗發現,與傳統的機器學習算法相比,所提出的模型將誤差降低了5個百分點.Zhang等[13]通過將原始代碼映射到等長的十進制數作為流量的特征,來提取流中的原始十六進制代碼,并設計了改進的分層網絡模型以進行分類,在兩個不同的數據集中進行了實驗.實驗結果表明,在數據量充足的條件下,所提出的模型仍然可以達到99.9%的分類準確率.

有效載荷特征的預處理不再采用標準化的方法,王偉[14]對基于有效載荷特征的預處理流程進行了詳細的描述,大致分為流量切分、流量清理、統一長度和圖片生成四個流程.首先,將一份原始流量數據切分成一些較小的流量數據,如果待分類的流量來自相同的網絡環境則需要對其進行清洗,即用隨機生成的新地址替換原地址;其次,對沒有應用層數據的數據包進行文件清理,以防止這些數據包產生空文件;再次,對清理過的文件按照一定字節進行統一長度處理,如果文件長度超過標準則按統一長度截取,少于該長度的文件在后面補充0x00;最后,將統一長度后的文件按照二進制形式轉換成灰度圖片,即每個字節對應相應的灰度像素值,如0x00對應黑色,0xff對應白色.

2 深度學習模型及選擇

入侵檢測的準確率不僅取決于輸入的特征數據,還取決于選擇的深度學習模型,不同的模型具有不同的特點,適用于不同的檢測任務和不同的輸入特征,本節討論了四種典型深度學習模型的原理、進行入侵檢測時的優勢和不足,以及選擇的方法.

2.1 多層感知機

多層感知機(MLP) 是一種人工神經網絡結構,可以用來解決分類和回歸問題.MLP由輸入層、隱藏層、輸出層三部分組成,在MLP中,層與層之間采用全連接的方式,即每層的神經元與上層的所有神經元都有聯系且存在相應的連接權值.MLP可以通過對隱藏層數目和神經元個數的設計,實現對任意非線性函數的學習.訓練MLP的算法通常是BP算法(反向傳播算法),MLP訓練完成后,可以根據輸入數據來判別它的所屬類別.

MLP原理簡單,但在網絡結構較大時往往性能較差,一方面是因為訓練參數的增多,使得計算時間變長,同時容易陷入局部最小值導致得不到全局最優解;另一方面是網絡結構較大時會產生過擬合的情況,導致訓練效果降低.

在網絡入侵檢測中,純MLP難以得到良好的訓練效果而很少使用.但幾層采用全連接方式的神經元(可被視為MLP)可被用作其他模型的一小部分.此外,對于上文所述的統計特征,統計特征數量較少、維度較低、構成的網絡結構相對簡單,用MLP訓練會有不錯的訓練效果.例如,Roy等[15]將MLP應用于入侵檢測系統,前饋網絡包括輸入層,大約400個隱藏層神經元和輸出神經元,使用ReLu函數作為激活函數,并用softmax分類器實現流量分類,達到入侵檢測的目的,與使用支持向量機的模型進行比較,模型的精度有了很大的提高.Shun等[16]利用前饋神經網絡構建檢測模型并利用反向傳播算法進行優化,實驗說明訓練后的模型可用于Tor網絡中的入侵檢測和用戶識別,并有著較好的效果.

2.2 卷積神經網絡

卷積神經網絡(CNN)是人工神經網絡的一種,主要包括卷積層和池化層兩個模塊.卷積層的作用是對輸入層進行卷積,來提取更高層次的特征,池化層的作用是對卷積層得到的特征進行特征選擇和過濾,減少數據處理量.

卷積神經網絡具有良好的泛化能力,能夠適用于多種分類任務,在模式識別、物體檢測等方面具有良好的效果.利用卷積神經網絡建立模式分類器,能直接用于灰度圖像的識別和分類.在入侵檢測和分類過程中,卷積神經網絡的輸入往往是流量數據圖片化后的灰度圖,通過將流量分類問題轉變為圖片分類來處理.可以利用卷積神經網絡提取流量的空間特征.

在入侵檢測中,首先對原始流量數據進行預處理,生成統一大小的流量灰度圖,將獲得的流量灰度圖作為輸入數據輸入CNN中,通過CNN提取流量有效載荷中的相關特征,并利用所得特征進行異常流量檢測.CNN中獲得的特征多是空間特征,可以與其他神經網絡獲得的特征結合起來,并用于異常流量檢測.如與RNN搭配使用,可以同時提取流量的時序特征和空間特征,更加準確地描述了流量的特點,對分類精度的提高有很大的幫助.例如,Lin等[17]使用了一種基于LeNet5模型的CNN方法來進行網絡入侵檢測,實驗結果表明,隨著訓練樣本數目的增大,入侵檢測的準確度會隨之提高.當樣本數目超過10 000時,入侵檢測的預測準確率達到99.65%,總體準確率為97.53%.Naseer等[18]使用不同的深度神經網絡架構,包括CNN、AE和RNN,來訓練并構建入侵檢測模型.這些深度學習模型在NSLKDD訓練數據集上進行訓練,并在NSLKDD提供的兩個測試數據集上進行評估.發現CNN和LSTM模型在入侵檢測中表現出卓越的性能,測試數據集的準確度分別為85%和89%.Blanco等[19]利用遺傳算法(GA)優化CNN分類器,以找到更好的輸入特征組合,不僅能實現正常流量和異常流量的分類,而且能對異常流量進一步細分,正常流量的檢測準確度最高達到了98.14%.

2.3 循環神經網絡

循環神經網絡(RNN)是常規前饋神經網絡的擴展,是一類用于處理序列數據的網絡.與常規的神經網絡相比,循環神經網絡通過在隱藏層的神經元中添加了自連接的權重值,使得每次的訓練可以記錄前面訓練時輸出值狀態的信息,實現了保存前一個序列的信息的功能,成功地解決了序列數據預測問題.

RNN主要提取的是流量的時序特征,可以通過RNN分別學習數據包和網絡流兩個層次上的特征,數據包層次,即RNN將一個數據包的字節序列作為輸入,只針對每一個數據包進行特征學習,學習到每個數據包的特征信息,并輸出每個數據包對應的特征向量.網絡流層次,即使用RNN在每個數據包特征向量的基礎上進一步學習數據包之間的序列關系,最終得到一個流特征向量.在入侵檢測中,不僅可以使用兩階段的RNN先后提取數據包和網絡流的時間特征,得到流特征向量,利用Softmax分類器進行分類.也可以結合CNN,通過CNN學習數據包內部的空間特征,再利用RNN提取數據包間的時序特征,綜合利用兩種神經網絡的特征,得到準確刻畫網絡行為的時空特征,并用于網絡入侵檢測.此外,也可以將RNN和自動編碼器結合,自動編碼器用于網絡流特征提取和維度壓縮,RNN處理網絡流數據的序列信息,得到流數據的時間特征,兩者結合起來,用于網絡入侵檢測.

Kim等[20]基于長短期記憶(LSTM)神經網絡建立IDS模型,并用KDD Cup 1999數據集進行訓練.在實驗中,作者建立了一個基于LSTM的IDS分類器,并將其與其他IDS分類器進行比較,發現基于LSTM的IDS分類器對于攻擊有著很高的檢測精度.王偉[14]結合CNN和LSTM兩種神經網絡來學習網絡流量的時空特征,就此提出了一個網絡流量異常檢測系統HAST—NAD.首先利用CNN對每個數據包的空間特征進行提取,再利用LSTM在數據包特征向量的序列上提取其時序特征,然后結合網絡流的空間特征和時序特征,實現對網絡流量異常的精準檢測.在DAPRA1998和ISCX2012兩個數據集中,有著很高的檢測精度,同時保持相對較低的誤報率.Mirza等[21]介紹了一種基于長短期記憶(LSTM)神經網絡的序列化自動編碼器結構,用于計算機網絡入侵檢測.首先通過LSTM處理可變長度數據序列,將可變長度數據轉化為固定長度數據,自動編碼器在無監督條件下處理固定長度數據,在提取到可靠特征的同時降低輸入數據的維度,最后基于交叉驗證分配閾值,以便對輸入的流量數據序列進行異常分類.實驗證明了提出的順序LSTM自動編碼器用于入侵檢測具有良好的分類效果,并在ISCX IDS 2012數據集上驗證了算法的性能.

2.4 自動編碼器

自動編碼器(autoencoder)是神經網絡的一種,自動編碼器(AE)的作用是想盡可能的重構輸入,使得隱藏層較低維度的神經元能夠代替高維的輸入層神經元,從而實現降維和特征提取的功能.該網絡可以看作由兩部分組成:一個由函數h=f(x)表示的編碼器和一個重構解碼器r=g(h).前一部分能將輸入數據進行壓縮,后一部分將壓縮后的數據進行重構.通過向自編碼器強加一些約束,可以通過不同的約束條件構建不同的自動編碼器,通過訓練不同的自編碼器來獲得數據不同類型的特征.

相比其他神經網絡,自編碼器是一種無監督學習的算法.通過編碼器和解碼器,學習某一類數據內在的特征分布.若只使用正常流量訓練自動編碼器,則可以得到一個簡單的正常與異常流量分類器.在測試樣本中,如果流量是正常流量,重構誤差(輸入和預測之間的誤差)應該在設定閾值范圍內,如果重構誤差超過閾值范圍,將其視為異常流量.

在網絡入侵檢測中,用一種只包含正常流量的訓練集訓練自動編碼器,產生的分類器能夠區分正常流量和異常量.Farahnakian等[22]提出了一種基于深度自動編碼器的入侵檢測方法,并通過逐層貪婪訓練來避免過度擬合,并在KDDCup99(舊版NSL-KDD)上評估,在二分類和多元分類上,均有著較高的準確度.Al-Qatf等[23]提出基于堆疊自編碼器的自我學習框架進行特征學習和降維,并使用SVM進行分類的方法.該方法在兩類和多分類中也表現出良好的性能,在NSL-KDD數據集上實現了很高的異常檢測準確率,同時縮短了訓練和測試時間,表現出高效的檢測性能.Javaid等[24]討論了現有NIDS技術所面臨的問題,為此提出了一種新型的棧式非對稱自動編碼器(SNDAE)用于無監督特征學習,在此基礎上,利用隨機森林算法對學習到的樣本特征進行分類.分別在KDDCup99和NSL-KDD數據集上訓練并測試該方法,結果表明,該模型擁有較高的準確性、精確度和召回率,同時縮短了訓練時間,與基于深度置信網絡的方法相比,模型精度提高5%,訓練時間縮短高達98.81%.

3 基于深度學習的入侵檢測任務

入侵檢測的基本任務是實現對網絡攻擊的分類,除此之外,基于深度學習的入侵檢測具有檢測加密攻擊和零日攻擊的天然優勢.本節討論了深度學習技術在上述三類入侵檢測任務上的應用和最新研究進展.

3.1 異常檢測與攻擊分類

針對計算機網絡的攻擊種類繁多,主要包括利用網絡通信協議自身存在的缺陷、利用用戶終端操作系統內在缺陷或利用程序語言本身所具有的安全隱患幾大類.由于當前主流的計算機硬件和軟件、網絡協議和結構以及網絡管理等方面均不可避免地存在安全漏洞,從而使得網絡攻擊有機可乘,難以防范.

對網絡攻擊進行分類是研究具體網絡攻擊及相應防御措施的一個重要前提.攻擊分類不僅僅是區分正常流量和異常流量,還要識別異常流量的攻擊類型,通過對攻擊類型的研究,可以清楚地了解每一類攻擊的詳細特性,從而更好地對攻擊進行防御.

為了更精確地進行攻擊分類,通常采用深度學習的方法進行攻擊檢測.在過去的40年中,支持向量機和貝葉斯等算法模型在異常檢測和攻擊分類的研究中表現出色,而隨著技術的發展,作為機器學習的一個分支,深度學習算法在這些方面逐漸顯示出了獨有的優勢,因而深度學習算法逐漸開始被應用于異常檢測和攻擊分類等領域.

深度學習是機器學習的一種,主要用于對數據進行表征學習,其采用高效的無監督式或半監督式的特征學習和分層特征提取算法來替代人工特征提取.在網絡攻擊檢測領域,相較于傳統的特征提取算法,深度學習具有更好的特征提取效果,可以有效提高檢測速度和準確率、降低誤報率,能夠自動識別出不同的攻擊特征,從而更高效地發現潛在安全威脅.

目前,基于深度學習的網絡攻擊檢測算法已逐漸成為學術界和產業界的研究熱點.Muna等[25]使用無監督的深度自動編碼器模型進行訓練,以學習正常的網絡行為并產生最佳參數(權重和偏差).然后,在有監督的深度神經網絡模型中,使用ADE模型的估計算法來有效地調整其參數,并對網絡流量進行分類,并在兩個數據集上進行了評估,降低了檢測結果的假正類率.Staudemeyer等[26]提出了基于有監督的LSTM的入侵檢測算法,該算法適用于檢測有獨特時間序列特征的DoS攻擊和Probe攻擊.為了解決網絡流量特征難以定量選取和訓練數據集數量有限等問題,許勐璠等[27]首先采用了半監督的學習方法,利用少量已經標記的數據生成大規模的和原數據類似的數據集用以訓練模型,在降低流量數據標記成本的同時定量選取流量特征,不僅消除了傳統特征提取中人為因素的影響,同時也盡可能多地保留了特征的分類信息,能更準確地檢測到網絡中的未知攻擊.

3.2 加密攻擊檢測

近年來,隨著網絡規模的不斷擴大,保護傳輸數據和用戶隱私的需求也在迅速增加.各種流量傳輸加密技術的實現,在保證網絡應用傳輸數據安全和用戶隱私的同時,很多惡意軟件也開始利用加密技術來逃避防火墻和入侵系統的檢測,這些做法給攻擊流量的檢測帶來了巨大困難.

根據協議所處層的位置,流量加密技術可以分為三類,即網絡層加密、傳輸層加密以及應用層加密.網絡層加密是指在網絡層對上層數據包即傳輸層數據包進行整體加密,如IPsec技術.傳輸層加密是指在傳輸層對上層數據包即應用層的數據包進行加密,如TLS協議和SSL協議.應用層加密是指在應用層上對網絡應用數據使用專門的加密協議進行加密傳輸,如BitTorrent和Skype.網絡層和傳輸層加密這種對上層數據包進行整體加密的技術,又可以被稱作協議封裝.實際場景中不僅可以在某一層對流量數據進行加密傳輸,也可以在不同層同時使用加密協議,如使用VPN通信的Skype流量就是將應用層加密后的流量數據進一步進行協議封裝.

在加密協議握手階段,雙方往往需要通過明文協商相關加密參數,這一階段可以得到許多與加密相關的寶貴數據,如加密采用的 HTTP 、URL、DNS主機名、TLS版本、算法、證書、TLS擴展選項等.除此之外,還可以利用數據包長度和報文的時間間隔和順序,以及被分析的數據流中數據包的有效載荷上的字節分布,分析加密流量的行為模式,根據這些信息,建立加密數據的流量模型,同時可以進一步研究加密流量傳輸的內容,使得加密流量的入侵檢測有著更高的精度.

加密流量的分類方法主要有兩種:一種是基于載荷的分類方法,流量采用不同的加密協議對流量進行加密,而不同的加密協議的協議格式是不同的,利用模式匹配檢查數據包的包頭格式來判斷其采用了哪種加密協議,是否為加密流量,達到識別加密流量的效果.但是,這種分類方法只是粗分類,只能判斷流量是否為加密流量,無法對加密流量具體分類.另一種是基于行為的分類方法,通過深度學習的方式提取加密流量的各種行為特征,最終實現加密流量的識別和分類,實現入侵檢測的功能.

在加密流量的入侵檢測中,可以利用加密協議握手過程中提取的特征進行檢測,如加密協議的協議特征、與加密流相關的DNS上下文信息、以及5分鐘內來自相同源IP地址的HTTP上下文信息等數據,通過相關的神經網絡模型進行訓練,實現加密流量的入侵檢測.此外,也可以利用原始數據包有效載荷來進行加密流量的入侵檢測,通過被分析的數據流中數據包的有效載荷上的字節分布,分析加密流量的行為特征,從而達到入侵檢測的目的.

王偉[14]針對傳統基于機器學習的入侵檢測方法需要手動的提取特征的問題,提出了一種基于CNN的端到端的加密流量檢測方法,利用深度學習的優勢實現流量特征的自動提取與流量類型的識別.在公開的VPN數據集上的實驗結果發現一維CNN比二維CNN更適用于網絡流量分析與分類.Foroushani等[28]提出了一種通過SSH2(Secure Shell)協議檢測加密數據中異常行為的新方法.在Snort入侵檢測軟件上實現了所提出的系統,并利用DARPA評估數據集對其進行了評估.評估結果表明,該方法在檢測精度和計算效率方面具有良好的前景,因此,適用于實時入侵檢測.Prasse等[29]開發并研究了基于LSTM的惡意軟件檢測模型,該模型僅使用HTTPS流量的握手階段的可觀察信息,并通過神經語言模型將域名轉化為低維特征,即域名特征,在實驗的過程中得出結論,基于LSTM的模型優于基于隨機森林的模型,并且域名特征和網絡流特征的組合使用優于使用其中的一種特征.該機制能夠識別網絡流中的大部分惡意軟件,包括以前未見過的惡意軟件.

3.3 零日漏洞檢測

零日漏洞,即被惡意行為發現后立刻被其利用的安全漏洞,也稱零時差漏洞,而零日攻擊便是對應產生的攻擊,它因某些系統或軟件的漏洞未被修補或未被開發商知曉,從而被惡意行為發起攻擊.隨著信息技術的發展,系統及代碼越來越龐大復雜,雖然能實現更多的功能,但安全隱患也會隨之增加.雖然一般企業已經盡力防止被惡意行為入侵,但系統漏洞無法避免,都可能成為零日攻擊的目標.

與傳統病毒攻擊相比,零日攻擊不再被動、緩慢,而是主動且迅速的發起攻擊,如MS Blast在漏洞被發現不到25天內就被惡意行為加以利用,造成了巨大損失.此外,普通病毒雖然傳播迅速,但其在爆發后短短幾小時之內,就會被相關防護系統識別特征碼并阻止其入侵.而對于零日攻擊而言,從攻擊爆發到該漏洞補丁的出現,最快可能也需要數天時間,而在這段時間內,系統都沒有有效的防御手段.

為了能更準確地檢測到零日攻擊,應加強網絡入侵防御系統建設.誤用檢測和異常檢測是目前最常規的兩種檢測方式.誤用檢測,即基于簽名的檢測,將采樣到的數據包與數據庫中已知的入侵特征進行比較.這種方法對已知攻擊的檢測準確率較高,但無法直接檢測出零日攻擊,因此,對于該方法,只能不斷優化簽名更新的速度,才能盡量將確認攻擊的時間縮短,提升網絡的安全性.而基于異常檢測的方法則是先建立正常網絡行為的模型,在對采樣數據包的檢測中,所有偏離正常的行為都被判定為異常,即如果網絡的行為數據超過了設定的正常行為的閾值,這些操作將被判為異常,并將報告發送給網絡管理員.因此,異常檢測可檢測到從未出現過的零日攻擊或已知攻擊的變種.

為了提升網絡的安全性,有許多研究針對零日攻擊進行了入侵檢測的研究和優化.麻省理工學院的林肯實驗室在1998-1999年間對18種不同的入侵檢測系統進行了比較研究.結果表明,最好的入侵檢測系統檢測到了63%~93%的已知攻擊和大約50%的零日攻擊.然而,實驗結果對真實場景的實用性有限.Amoli等[30]提出并實現了一種新穎的、實時無監督的NIDS,它通過在NIDS中應用了無監督機器學習算法來提高零日攻擊的檢測率,同時在沒有任何先驗知識的情況下減少不平衡流量中的誤報.在Dang等[31]的研究中,他們通過使用不同的無監督算法來檢測移動自組織網絡中的異常,實驗對比發現k-means和c-means的表現最好,而k-means需要的資源更少.

4 存在的問題和挑戰

雖然基于深度學習的入侵檢測相比于傳統的誤用檢測在加密攻擊檢測和零日攻擊檢測問題上具有優勢,然而深度學習技術至今仍然無法在商用入侵檢測系統中實現大范圍應用,其中,重要的原因是目前基于深度學習的入侵檢測研究只是在良好的數據集上進行,一些現實環境中存在的問題無法得到有效的解決.

4.1 短流的識別

短流指的是數據包較少的網絡數據流.當一條流包含的數據包較少時,難以根據這些數據包獲得有效的流特征.對于統計特征來說,需要在充分多的數據包的情況下統計出來的數據才有意義,短流的統計特征往往包含大量的空值或者具有很強的隨機性,難以表達流量的行為模式.同理,對時序特征來說,通常需要在一段較長時間范圍內計算多個時間窗口里的行為特征,以體現流量行為在時間上的變化特征,而短流的持續時間短,難以用多個窗口刻畫,難以提取有效的時序特征.對有效載荷特征來說,由于需要保證輸入特征的維度相同,因此,通常會對長流做截取,對短流做填充,而如果短流的數據包個數太少,流量的有效載荷特征中將包含大量的填充值,可能會影響對真正數據包內容的檢測.

4.2 更強的加密協議的檢測

對于使用更強加密協議的流量,如使用QUIC、TLS1.3等加密協議的流量,尚未有良好的檢測方法.大多數瀏覽器(包括Chrome和Firefox)已經使用了TLS1.3協議.以前對使用TLS1.2協議的加密流量的檢測,主要是通過從握手階段的明文字段提取輸入特征,通過深度學習的方法進行訓練,從而實現對加密流量的檢測.但在TLS1.3和QUIC中,由于新的密鑰機制和0-RTT連接,加密流量第一個數據包只有少數字段處于未加密狀態,因而無法從中得到關于加密流量的足夠信息來支持對加密流量的檢測.同時,對于加密的隧道協議,數個流可能會被合并成一個加密流進行轉發,導致加密流量的檢測更為困難.

4.3 流量行為特征隨時間和空間變化

網絡流量的行為特征是會隨著時間和空間而發生改變的.比如,在學校采集的正常流量的行為特征,往往會與公司的正常流量行為特征有所不同.此外,隨著時間的發展,進入互聯網的流量數據和終端應用的類型在不斷增多,人們上網的行為習慣也在不斷發生變化,這將導致正常流量的行為特征也會隨時間變化.好的入侵檢測算法應當有良好的時間和空間的自適應能力,以應對在不同時間、不同地點流量特征的分布可能不同的問題.該問題同樣存在于計算機視覺領域,并且相應的遷移學習和域自適應算法已經被廣泛研究.然而在入侵檢測領域,如何解決流量行為特征隨時間和空間變化的問題尚未有人研究.

4.4 數據量不平衡

在深度學習的過程中,一個好的數據集對于模型的訓練起著至關重要的作用.在對訓練集進行訓練的過程中,往往需要足夠多的訓練樣本來完成神經網絡中各個參數的訓練.在入侵檢測領域,訓練集中往往包含大量的正常流量樣本,而攻擊數據很少.訓練樣本不平衡會使訓練出來的檢測模型存在著嚴重的偏向性,即模型將過多的關注正常流量,致使樣本數量較少的異常流量的識別效果下降.目前很少有研究工作研究入侵檢測問題下的樣本不平衡問題及解決方法.

5 總 結

深度學習技術為解決加密攻擊檢測和零日攻擊檢測這些入侵檢測的新挑戰提供了很好的方法,因此,基于深度學習的入侵檢測技術受到了廣泛的關注.本文從流量的特征選擇、檢測模型選擇和檢測任務分類三方面總結了基于深度學習的入侵檢測相關最新研究進展.最后,本文總結了將深度學習技術應用到入侵檢測問題中仍然存在的幾個實際的必須克服的問題.

猜你喜歡
數據包加密神經網絡
二維隱蔽時間信道構建的研究*
一種新型離散憶阻混沌系統及其圖像加密應用
民用飛機飛行模擬機數據包試飛任務優化結合方法研究
神經網絡抑制無線通信干擾探究
一種基于熵的混沌加密小波變換水印算法
基于神經網絡的中小學生情感分析
SmartSniff
加密與解密
基于神經網絡的拉矯機控制模型建立
認證加密的研究進展
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合