基于元學習的小樣本增量攻擊識別模型
隨著網絡攻擊的頻繁發生,人們不得不更加關注網絡安全并實施有效的工具來確保這一點。入侵檢測系統(IDS)是用于檢測和分析網絡中入侵行為的基本且特別重要的工具。然而,在普通的網絡環境中,入侵檢測系統往往也會生成的大量的警報。這些警報需要安全專家進行確認并做出處置決策,虛假警報將會延遲對關鍵警報的處理,這威脅到了組織或個人的信息安全。為此,入侵檢測領域的研究更多專注于如何通過升級檢測模型的能力來減少錯誤警報。
顯卡等硬件的技術突破為算法運行提供良好的平臺支持,深度神經網絡以其強大的功能而成為各種領域中流行的用于識別和分類的工具,入侵檢測領域也不例外。近年來,因深度學習模型的出色學習能力,許多基于深度學習模型的入侵檢測系統已被廣泛使用并取得了良好的性能。這些模型雖然檢測準確率較高,但他們只能檢測在訓練數據集中已知的攻擊類。然而,攻擊者為實現更高的攻擊成功率,使得網絡攻擊持續演進更新,新的攻擊類別不斷在網絡中出現,以上這類模型的訓練設置顯然限制了這些方法在實際應用中的使用。
實用的IDS應該能夠盡快適應新的任務,即迅速學習到新類攻擊特征。這種情況可以歸為類增量(class-incremental)學習,即:i)學習器應可以在不斷增多新類的數據中學習;ii)由于計算需求、存儲預算和數據隱私等各種問題,將新數據與舊數據集結合進行再訓練模型通常是不可行的。上述類增量學習方法通常會導致穩定性-可塑性困境,即,過多地關注新任務的學習范式,由于災難性的遺忘(catastrophic forgetting)而導致對過去類別檢測能力的大幅下降,但防止災難性遺忘又會遭受學習新任務的阻力。
在過去的幾十年中,解決此難題的工作取得了巨大進展,具體分為以下幾類:基于動態體系結構的、基于存儲重放的和基于正則化的方法。不幸的是,這些方法很少考慮小樣本學習,它們幾乎僅在有足夠新類數據的情況下才會生效。但是,當只有極少量有標注的新類數據可用時,可以有效檢測所有攻擊的模型在入侵檢測中會更有現實意義,因為它能夠盡快響應新型入侵的出現。因此,應該考慮小樣本增量學習情景。
想要將小樣本增量學習考慮進增量攻擊的檢測模型中,有必要對類增量學習、入侵檢測與增量學習進行了解。
1. 類增量學習
早在1989年,McClosKey M. 和Cohen N.J. 就認為采用反向傳播訓練的算法存在災難性的遺忘問題。后來,Ratcliff R. 通過在多種任務,使用反向傳播來更新模型的測試下,證實了這一發現。但是,增量學習和持續學習必須在保留先前任務的知識的同時保持學習當前任務新知識的能力。為了解決災難性的遺忘,研究者的研究成果可分類如下:基于動態架構、基于演練和基于正則化的方法。
顧名思義,基于動態體系結構的方法可以動態調整其網絡架構以應對新任務學習新知識。例如,面對新的知識要求,可增加神經元數量,并可以通過合并神經元的方式來防止冗余來改善它。有模型可以層次增量化的隨著新類的推出而逐步擴展網絡。它的基本思想是,自然物體由于進化的過程,存在固有的本體層次結構,學習模型應類似地具有層次結構。
基于演練的方法會定期重播歷史數據,以增強其在模型中的相應記憶。這種方法通常需要額外的存儲空間來存儲舊實例,不用保存整個數據集。有方法利用知識提煉的優勢即可以保留從舊樣本中獲得的知識,使得僅使用一小部分舊樣本即可達到很好的性能。此外,重放樣本也不限于真實樣本,也有研究人員嘗試使用生成對抗網絡對舊類別的基礎分布進行建模,然后使用生成對抗網絡(Generative Adversarial Networks, GAN)和存儲在其中的真實示例生成的合成數據訓練網絡,并減輕災難性的遺忘。
當學習新類時,基于正則化的方法通常會對模型更新施加其他約束。詳細地說,這些方法首先確定先前分類任務的重要學習權重,然后嚴厲懲罰他們的偏差,以保留先前的知識。
2. 入侵檢測與增量學習
由于網絡攻擊的不斷發展,類增量學習在協助IDS及時檢測網絡入侵中起著非常重要的作用。盡管機器學習技術已在IDS中廣泛使用,這些基于機器學習的模型如何適應網絡攻擊的演變,近年來才引起人們的注意,而基于動態架構的方法是最常見的。
鑒于增量學習需求和K近鄰(K-NN)具有處理龐大且增量式多類數據的優勢,有研究者提出結合K-NN與支持向量機SVM的增量學習方法。也有學習方法通過利用兩個重要組成部分即分類和可靠性評估模塊,可以在適當的時候調整其模型。可靠性評估模塊通過一組流離群值檢測器評估一段時間內分類的可靠性。考慮到它可能是由于新的攻擊行為錯誤分類引起的可靠性變化,因此它可以在評估結果不好的情況下更新模型。
由于標記數據的獲取通常非常昂貴,因此有研究人員提出了一種具有主動學習方法的增量樸素貝葉斯分類器,該方法可以為基于主動學習策略采樣的數據獲取標簽。為了及時檢測到zero-day攻擊,提出了基于元學習的框架,其先利用所有數據訓練DNN模型,作為特征提取器,再結合元學習任務訓練學習,獲取足夠的先驗知識,使其利用少量新類樣本即可產生很好的泛化能力。遺憾的是,此方法只能發現新類攻擊,無法用于其他舊攻擊類別的識別中。
3. 基于元學習的小樣本增量攻擊檢測模型
為解決以上問題,我們提出基于元學習的小樣本增量攻擊檢測模型,FSCIL。下面將從問題的定義、模型的基礎架構對檢測模型訓練過程進行簡單描述。
圖 1 FSCIL模型結構
由于元學習在從少量新數據中快速學習新任務中表現良好,因此在初始訓練階段,我們利用元學習來解決新攻擊識別檢測小樣本學習問題。增量訓練階段是典型的監督學習過程,可以通過標準反向傳播來解決。在此階段,需要所有類型的攻擊樣本,即在此過程中也需要重播非常少量的舊樣本。這些舊類型的樣本可以是過去保存的,新收集的或GAN生成的樣本。如果這些樣本是專家在處理入侵警報時發現的分類錯誤的樣本,則是更好的選擇。如是這樣,此更新過程不僅可以保證最終模型檢測新類型攻擊的能力,而且可以進一步增強其檢測舊類型攻擊的能力。
不過需要注意的是,盡管此模型是為入侵檢測而設計的,但它可以進一步擴展到其他檢測任務,例如經典計算機視覺任務,為更多同類型的問題提供可靠的解決辦法。