劉闞蓉,李 丹,裴夢迪,張家熹
(安徽工業大學 電氣與信息工程學院,安徽 馬鞍山 243002)
近年來互聯網技術的快速發展和大規模使用,使得互聯網成為最有效的工具和最重要的信息源.易受攻擊的網絡安全已經成為一個重要的問題,網絡安全(Network security)成為當代人們關注的主要問題之一.因此設計一個保護各種數據的網絡安全系統以及迫在眉睫.入侵檢測系統 (IDS,Intrusion detection system)正是一個適應于該需求的重大發明,網絡管理者利用入侵檢測系統來抵御惡意攻擊,因此該系統已成為安全管理的重要組成部分.網絡入侵檢測系統能檢測出對網絡的任何企圖和濫用的攻擊,并能在大量惡意攻擊爆發的情況下,保持網絡正常性能的運行.
機器學習(ML,Machine Learning)廣泛流行于運用于各個檢測和識別領域中,在模式識別、圖像劃分、計算機視覺和網絡入侵檢測[1]等領域中有著大量的應用.其基本類型分為三種:監督學習、非監督學習和強化學習[2].作為未來智能化社會的基本技術,機器學習的理論研究和算法設計正在加速發展,其最終目標即是獲得更加有效的性能、更低的算法復雜度、可靠的預測能力和精確地分類[3].由于代碼的開源性、入侵的復雜變化多樣性,機器學習其技術本身的安全性問題受到諸多限制,譬如對于一個面部識別系統[4]來說,一些攻擊者可通過偽裝來破壞其中關鍵敏感數據以達到入侵的目的,更有甚者,一些攻擊者攻擊自動駕駛系統和語音控制系統使得汽車無法識別信號燈并無法理解語音含義.因此對傳統機器學習算法進行改進顯得迫切需要,許多研究者在入侵領域里做出了許多工作,提出了許多有效防御技術算法、模型和系統.為表明時效性,本文選取近五年來機器學習在網絡安全中幾個改進的新算法加以綜述.
在面對復雜的網絡攻擊問題時,傳統的機器學習安全性能評估機制已經不適用于應對這些網絡威脅.在現有的環境來看,大多數評估技術主要是量化評估各種機器學習的學習性能而非單獨的安全性能評估,因而對其算法安全性能沒有得到相應的重視.更進一步來說:防御機制的設計者可通過對分類器安全性能的缺陷來引入對抗假設,之后該設計者提出一個防御分類器的免受攻擊的對抗措施,與傳統被動式防御不同,該策略主動引入假象攻擊策略并以積極應對,由此來看存在兩種防御機制:被動防御(Reactive defense)與主動防御(Proactive defense).其闡述如圖1所示:

圖1 兩種防御機制
在被動防御機制中,常見的攻擊者通過分析目標分類器以確認攻擊策略并設計出和應用它,分類器設計者可通過分析新增的樣本和攻擊結果,以適應其攻擊策略達到防衛的目的.
2.1.1 支持向量機改進
傳統的支持向量機 (SVMs,Support Vector Machines)算法廣泛應用于如垃圾郵件檢測、面部識別和溫度預測[5]等問題的分類和預測中.該算法是利用已知標簽的訓練樣本來進行預測或檢測的監督學習算法.與其他機器學習算法類似,傳統的SVMs也易受到利用系統來進行攻擊的入侵者,需要利用多個傳感器來進行集中式數據收集、通信和存儲.而其應用的關鍵點在于需要對大規模問題進行大量計算,因此使得支持向量機的在線信息融合和處理能力有所欠缺[6].之后提出的分布式支持向量機(DSVM,Distributed Support Vector Machines)算法是將擁有多節點和智能體通過網絡獨立處理數據和通信訓練信息能力聚集起來的SVMs.該體系結構可通過每個節點并行地學習自己的數據,并將學習結果從一個節點轉到另一個節點以最終達到全局性能來解決大規模機器學習問題.此外,DSVM算法不需要一個融合中心來存儲所有的數據,每個節點都執行其本地計算不必與其他節點共享數據內容[7].因此與傳統的SVMs算法相比,有效地降低了內存開銷和數據通信的開銷.盡管DSVM算法提高了效率,但是分散式訓練系統比集中式訓練系統更容易受到攻擊,DSVM多一增加的攻擊面可使網絡中的每個節點都可以受到攻擊.攻擊者不僅可以選擇幾個節點來破壞他們的個體學習過程,也可發送錯誤信息影響其他節點導致最終影響整個DSVM網絡.
為了解決以上問題,文獻[8]提出了將博弈論與DSVM算法結合的網絡入侵檢測方法[9].由于某個攻擊者可以使用諸如操控數據樣本和改變測試數據這樣的攻擊,在文獻中作者假設攻擊者僅可采用修改訓練數據標簽的攻擊方式.而對攻擊者更進一步的認知則是體現在如下三個方面:
(1)攻擊者的目標:其目的為了摧毀DSVM學習者的訓練過程并使其分類錯誤增加;
(2)攻擊者的知識儲備:假設攻擊者有完備的知識理論儲備即滿足Kerckhoffs準則;
(3)攻擊者的能力水平:攻擊者可通過手動刪除數據以達到修改訓練數據的目的.
2.2.2 決策樹和k鄰近算法混合檢測
將多種機器學習算法結合以提高檢測效應的方法備受如今研究者的關注.文獻[10]提出了一種混合算法,將二進制分類器和k-NN算法結合起來以檢測網絡入侵.本算法的檢測步驟分為兩步:在步驟1中,將網絡安全問題視為二進制分類問題.而當類別數過多時(即大于2時),此時則是多類別分類問題.事實上,網絡入侵檢測問題是一個多類別分類問題.在該算法中,應用多個獨立的BCs來進行檢測,通過將網絡入侵檢測問題轉變成二進制問題,以減少由于入侵檢測數據集不均衡造成的負面影響.一個BC用于檢測一類,以此解決少數代表性類別的分類問題.并采用決策樹C4.5無參數算法去學習BCs.如圖2所示為該檢測的流程框架:

圖2 混合算法檢測流程
2.2.3 集成策略的應用
之前所說的一系列傳統的機器學習算法(包括對其的改進)均有自己的適應范圍,譬如一些適合處理線性可分的問題,一些適合處理線性不可分問題.而隨著網絡在政府、商業和日常生活中有著廣泛的應用,僅僅是單一的某種機器學習算法在網絡安全領域不一定適用.對于一個復雜的系統,將機器學習的諸多算法有效結合起來的策略——集成方法被廣泛運用.對于不同的問題,集成學習方法有著不同的算法,在分類問題中,投票數越多的類最終定為劃分類;而在回歸問題里,則是將最大的均值作為最終結果.常見的分類算法有Bagging算法和Boosting算法等.文獻[11]提出的multi-perspective機器學習(MPML:multi-perspective machine learning)算法就是通過對數據集中創建有區別的特征子集來進行集成學習.MPML的目的是通過將特征與稱之為perspectives的已定義的群分類,以提高檢測速率.其中每個perspective都是種類子集的具體特征,其自我特征在歸類時也是互相關聯的.因此MPML方法的問題關鍵在于:尋找一個策略利用每個perspective之間相互的關聯以達到最優可能結果.考慮到某個有著x個類別的測試T,那么測試T的特征可通過類別x的子集表達,并去perspectives中尋找影響力最大的特征.
現如今,機器學習作為大數據、云計算和人工智能的核心算法,以此各種各樣的網絡安全威脅和相應的對抗機器學習策略受到廣泛的關注.機器學習在網絡威脅中的應用和防御策略將面臨以下幾個問題:(1)新的基于機器學習的網絡威脅將不斷出現;(2)對現有機器學習算法面臨網絡安全威脅時進行可靠的安全性能評估;(3)機器學習算法中數據隱私問題;(4)安全的深度學習成為機器學習安全的關鍵點;(5)學習算法的優化、性能和損耗成為關注的重點.由此來看,面對網絡威脅,機器學習算法的逐步改進會更加優化網絡環境以面對各種未知的攻擊.