劉闞蓉,李 丹,裴夢(mèng)迪,張家熹
(安徽工業(yè)大學(xué) 電氣與信息工程學(xué)院,安徽 馬鞍山 243002)
近年來(lái)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和大規(guī)模使用,使得互聯(lián)網(wǎng)成為最有效的工具和最重要的信息源.易受攻擊的網(wǎng)絡(luò)安全已經(jīng)成為一個(gè)重要的問(wèn)題,網(wǎng)絡(luò)安全(Network security)成為當(dāng)代人們關(guān)注的主要問(wèn)題之一.因此設(shè)計(jì)一個(gè)保護(hù)各種數(shù)據(jù)的網(wǎng)絡(luò)安全系統(tǒng)以及迫在眉睫.入侵檢測(cè)系統(tǒng) (IDS,Intrusion detection system)正是一個(gè)適應(yīng)于該需求的重大發(fā)明,網(wǎng)絡(luò)管理者利用入侵檢測(cè)系統(tǒng)來(lái)抵御惡意攻擊,因此該系統(tǒng)已成為安全管理的重要組成部分.網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)能檢測(cè)出對(duì)網(wǎng)絡(luò)的任何企圖和濫用的攻擊,并能在大量惡意攻擊爆發(fā)的情況下,保持網(wǎng)絡(luò)正常性能的運(yùn)行.
機(jī)器學(xué)習(xí)(ML,Machine Learning)廣泛流行于運(yùn)用于各個(gè)檢測(cè)和識(shí)別領(lǐng)域中,在模式識(shí)別、圖像劃分、計(jì)算機(jī)視覺(jué)和網(wǎng)絡(luò)入侵檢測(cè)[1]等領(lǐng)域中有著大量的應(yīng)用.其基本類型分為三種:監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)[2].作為未來(lái)智能化社會(huì)的基本技術(shù),機(jī)器學(xué)習(xí)的理論研究和算法設(shè)計(jì)正在加速發(fā)展,其最終目標(biāo)即是獲得更加有效的性能、更低的算法復(fù)雜度、可靠的預(yù)測(cè)能力和精確地分類[3].由于代碼的開(kāi)源性、入侵的復(fù)雜變化多樣性,機(jī)器學(xué)習(xí)其技術(shù)本身的安全性問(wèn)題受到諸多限制,譬如對(duì)于一個(gè)面部識(shí)別系統(tǒng)[4]來(lái)說(shuō),一些攻擊者可通過(guò)偽裝來(lái)破壞其中關(guān)鍵敏感數(shù)據(jù)以達(dá)到入侵的目的,更有甚者,一些攻擊者攻擊自動(dòng)駕駛系統(tǒng)和語(yǔ)音控制系統(tǒng)使得汽車無(wú)法識(shí)別信號(hào)燈并無(wú)法理解語(yǔ)音含義.因此對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行改進(jìn)顯得迫切需要,許多研究者在入侵領(lǐng)域里做出了許多工作,提出了許多有效防御技術(shù)算法、模型和系統(tǒng).為表明時(shí)效性,本文選取近五年來(lái)機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)安全中幾個(gè)改進(jìn)的新算法加以綜述.
在面對(duì)復(fù)雜的網(wǎng)絡(luò)攻擊問(wèn)題時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)安全性能評(píng)估機(jī)制已經(jīng)不適用于應(yīng)對(duì)這些網(wǎng)絡(luò)威脅.在現(xiàn)有的環(huán)境來(lái)看,大多數(shù)評(píng)估技術(shù)主要是量化評(píng)估各種機(jī)器學(xué)習(xí)的學(xué)習(xí)性能而非單獨(dú)的安全性能評(píng)估,因而對(duì)其算法安全性能沒(méi)有得到相應(yīng)的重視.更進(jìn)一步來(lái)說(shuō):防御機(jī)制的設(shè)計(jì)者可通過(guò)對(duì)分類器安全性能的缺陷來(lái)引入對(duì)抗假設(shè),之后該設(shè)計(jì)者提出一個(gè)防御分類器的免受攻擊的對(duì)抗措施,與傳統(tǒng)被動(dòng)式防御不同,該策略主動(dòng)引入假象攻擊策略并以積極應(yīng)對(duì),由此來(lái)看存在兩種防御機(jī)制:被動(dòng)防御(Reactive defense)與主動(dòng)防御(Proactive defense).其闡述如圖1所示:
圖1 兩種防御機(jī)制
在被動(dòng)防御機(jī)制中,常見(jiàn)的攻擊者通過(guò)分析目標(biāo)分類器以確認(rèn)攻擊策略并設(shè)計(jì)出和應(yīng)用它,分類器設(shè)計(jì)者可通過(guò)分析新增的樣本和攻擊結(jié)果,以適應(yīng)其攻擊策略達(dá)到防衛(wèi)的目的.
2.1.1 支持向量機(jī)改進(jìn)
傳統(tǒng)的支持向量機(jī) (SVMs,Support Vector Machines)算法廣泛應(yīng)用于如垃圾郵件檢測(cè)、面部識(shí)別和溫度預(yù)測(cè)[5]等問(wèn)題的分類和預(yù)測(cè)中.該算法是利用已知標(biāo)簽的訓(xùn)練樣本來(lái)進(jìn)行預(yù)測(cè)或檢測(cè)的監(jiān)督學(xué)習(xí)算法.與其他機(jī)器學(xué)習(xí)算法類似,傳統(tǒng)的SVMs也易受到利用系統(tǒng)來(lái)進(jìn)行攻擊的入侵者,需要利用多個(gè)傳感器來(lái)進(jìn)行集中式數(shù)據(jù)收集、通信和存儲(chǔ).而其應(yīng)用的關(guān)鍵點(diǎn)在于需要對(duì)大規(guī)模問(wèn)題進(jìn)行大量計(jì)算,因此使得支持向量機(jī)的在線信息融合和處理能力有所欠缺[6].之后提出的分布式支持向量機(jī)(DSVM,Distributed Support Vector Machines)算法是將擁有多節(jié)點(diǎn)和智能體通過(guò)網(wǎng)絡(luò)獨(dú)立處理數(shù)據(jù)和通信訓(xùn)練信息能力聚集起來(lái)的SVMs.該體系結(jié)構(gòu)可通過(guò)每個(gè)節(jié)點(diǎn)并行地學(xué)習(xí)自己的數(shù)據(jù),并將學(xué)習(xí)結(jié)果從一個(gè)節(jié)點(diǎn)轉(zhuǎn)到另一個(gè)節(jié)點(diǎn)以最終達(dá)到全局性能來(lái)解決大規(guī)模機(jī)器學(xué)習(xí)問(wèn)題.此外,DSVM算法不需要一個(gè)融合中心來(lái)存儲(chǔ)所有的數(shù)據(jù),每個(gè)節(jié)點(diǎn)都執(zhí)行其本地計(jì)算不必與其他節(jié)點(diǎn)共享數(shù)據(jù)內(nèi)容[7].因此與傳統(tǒng)的SVMs算法相比,有效地降低了內(nèi)存開(kāi)銷和數(shù)據(jù)通信的開(kāi)銷.盡管DSVM算法提高了效率,但是分散式訓(xùn)練系統(tǒng)比集中式訓(xùn)練系統(tǒng)更容易受到攻擊,DSVM多一增加的攻擊面可使網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都可以受到攻擊.攻擊者不僅可以選擇幾個(gè)節(jié)點(diǎn)來(lái)破壞他們的個(gè)體學(xué)習(xí)過(guò)程,也可發(fā)送錯(cuò)誤信息影響其他節(jié)點(diǎn)導(dǎo)致最終影響整個(gè)DSVM網(wǎng)絡(luò).
為了解決以上問(wèn)題,文獻(xiàn)[8]提出了將博弈論與DSVM算法結(jié)合的網(wǎng)絡(luò)入侵檢測(cè)方法[9].由于某個(gè)攻擊者可以使用諸如操控?cái)?shù)據(jù)樣本和改變測(cè)試數(shù)據(jù)這樣的攻擊,在文獻(xiàn)中作者假設(shè)攻擊者僅可采用修改訓(xùn)練數(shù)據(jù)標(biāo)簽的攻擊方式.而對(duì)攻擊者更進(jìn)一步的認(rèn)知?jiǎng)t是體現(xiàn)在如下三個(gè)方面:
(1)攻擊者的目標(biāo):其目的為了摧毀DSVM學(xué)習(xí)者的訓(xùn)練過(guò)程并使其分類錯(cuò)誤增加;
(2)攻擊者的知識(shí)儲(chǔ)備:假設(shè)攻擊者有完備的知識(shí)理論儲(chǔ)備即滿足Kerckhoffs準(zhǔn)則;
(3)攻擊者的能力水平:攻擊者可通過(guò)手動(dòng)刪除數(shù)據(jù)以達(dá)到修改訓(xùn)練數(shù)據(jù)的目的.
2.2.2 決策樹(shù)和k鄰近算法混合檢測(cè)
將多種機(jī)器學(xué)習(xí)算法結(jié)合以提高檢測(cè)效應(yīng)的方法備受如今研究者的關(guān)注.文獻(xiàn)[10]提出了一種混合算法,將二進(jìn)制分類器和k-NN算法結(jié)合起來(lái)以檢測(cè)網(wǎng)絡(luò)入侵.本算法的檢測(cè)步驟分為兩步:在步驟1中,將網(wǎng)絡(luò)安全問(wèn)題視為二進(jìn)制分類問(wèn)題.而當(dāng)類別數(shù)過(guò)多時(shí)(即大于2時(shí)),此時(shí)則是多類別分類問(wèn)題.事實(shí)上,網(wǎng)絡(luò)入侵檢測(cè)問(wèn)題是一個(gè)多類別分類問(wèn)題.在該算法中,應(yīng)用多個(gè)獨(dú)立的BCs來(lái)進(jìn)行檢測(cè),通過(guò)將網(wǎng)絡(luò)入侵檢測(cè)問(wèn)題轉(zhuǎn)變成二進(jìn)制問(wèn)題,以減少由于入侵檢測(cè)數(shù)據(jù)集不均衡造成的負(fù)面影響.一個(gè)BC用于檢測(cè)一類,以此解決少數(shù)代表性類別的分類問(wèn)題.并采用決策樹(shù)C4.5無(wú)參數(shù)算法去學(xué)習(xí)BCs.如圖2所示為該檢測(cè)的流程框架:
圖2 混合算法檢測(cè)流程
2.2.3 集成策略的應(yīng)用
之前所說(shuō)的一系列傳統(tǒng)的機(jī)器學(xué)習(xí)算法(包括對(duì)其的改進(jìn))均有自己的適應(yīng)范圍,譬如一些適合處理線性可分的問(wèn)題,一些適合處理線性不可分問(wèn)題.而隨著網(wǎng)絡(luò)在政府、商業(yè)和日常生活中有著廣泛的應(yīng)用,僅僅是單一的某種機(jī)器學(xué)習(xí)算法在網(wǎng)絡(luò)安全領(lǐng)域不一定適用.對(duì)于一個(gè)復(fù)雜的系統(tǒng),將機(jī)器學(xué)習(xí)的諸多算法有效結(jié)合起來(lái)的策略——集成方法被廣泛運(yùn)用.對(duì)于不同的問(wèn)題,集成學(xué)習(xí)方法有著不同的算法,在分類問(wèn)題中,投票數(shù)越多的類最終定為劃分類;而在回歸問(wèn)題里,則是將最大的均值作為最終結(jié)果.常見(jiàn)的分類算法有Bagging算法和Boosting算法等.文獻(xiàn)[11]提出的multi-perspective機(jī)器學(xué)習(xí)(MPML:multi-perspective machine learning)算法就是通過(guò)對(duì)數(shù)據(jù)集中創(chuàng)建有區(qū)別的特征子集來(lái)進(jìn)行集成學(xué)習(xí).MPML的目的是通過(guò)將特征與稱之為perspectives的已定義的群分類,以提高檢測(cè)速率.其中每個(gè)perspective都是種類子集的具體特征,其自我特征在歸類時(shí)也是互相關(guān)聯(lián)的.因此MPML方法的問(wèn)題關(guān)鍵在于:尋找一個(gè)策略利用每個(gè)perspective之間相互的關(guān)聯(lián)以達(dá)到最優(yōu)可能結(jié)果.考慮到某個(gè)有著x個(gè)類別的測(cè)試T,那么測(cè)試T的特征可通過(guò)類別x的子集表達(dá),并去perspectives中尋找影響力最大的特征.
現(xiàn)如今,機(jī)器學(xué)習(xí)作為大數(shù)據(jù)、云計(jì)算和人工智能的核心算法,以此各種各樣的網(wǎng)絡(luò)安全威脅和相應(yīng)的對(duì)抗機(jī)器學(xué)習(xí)策略受到廣泛的關(guān)注.機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)威脅中的應(yīng)用和防御策略將面臨以下幾個(gè)問(wèn)題:(1)新的基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)威脅將不斷出現(xiàn);(2)對(duì)現(xiàn)有機(jī)器學(xué)習(xí)算法面臨網(wǎng)絡(luò)安全威脅時(shí)進(jìn)行可靠的安全性能評(píng)估;(3)機(jī)器學(xué)習(xí)算法中數(shù)據(jù)隱私問(wèn)題;(4)安全的深度學(xué)習(xí)成為機(jī)器學(xué)習(xí)安全的關(guān)鍵點(diǎn);(5)學(xué)習(xí)算法的優(yōu)化、性能和損耗成為關(guān)注的重點(diǎn).由此來(lái)看,面對(duì)網(wǎng)絡(luò)威脅,機(jī)器學(xué)習(xí)算法的逐步改進(jìn)會(huì)更加優(yōu)化網(wǎng)絡(luò)環(huán)境以面對(duì)各種未知的攻擊.
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2018年12期