孫 衛(wèi) 喜
(渭南師范學(xué)院網(wǎng)絡(luò)安全與信息化學(xué)院 陜西 渭南 714099)
現(xiàn)今網(wǎng)絡(luò)已經(jīng)成為國(guó)家戰(zhàn)略部署、人民日常生活、社會(huì)經(jīng)濟(jì)發(fā)展的重要基礎(chǔ)。人們?cè)诠ぷ?、學(xué)習(xí)、生活等方面分享網(wǎng)絡(luò)帶來(lái)極大便利的同時(shí)也為經(jīng)常出現(xiàn)的網(wǎng)絡(luò)安全問(wèn)題感到困惑,而網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜化、數(shù)據(jù)的綜合化及協(xié)議的多樣化等使管理人員感到茫然[1],特別是互聯(lián)網(wǎng)環(huán)境高速進(jìn)化中網(wǎng)絡(luò)安全威脅及網(wǎng)絡(luò)攻擊手段多樣化已超越了防范措施的推出速度[2]。面對(duì)網(wǎng)絡(luò)攻擊行為規(guī)?;⒊B(tài)化發(fā)展的趨勢(shì),研究如何在網(wǎng)絡(luò)攻擊之前,利用有效的防護(hù)措施及時(shí)發(fā)現(xiàn)攻擊行為并予以阻止就顯得非常有意義。
傳統(tǒng)的安全衛(wèi)士、殺毒軟件、防火墻的網(wǎng)絡(luò)安全防護(hù)往往是單一的,難以主動(dòng)防御網(wǎng)絡(luò)威脅。美國(guó)的Time Bass[3-4]針對(duì)網(wǎng)絡(luò)安全的復(fù)雜性于1999年提出了網(wǎng)絡(luò)安全態(tài)勢(shì)感知的概念,網(wǎng)絡(luò)安全態(tài)勢(shì)感知NSSA(Network Security Situation Awareness)能對(duì)影響網(wǎng)絡(luò)安全的各種因素信息進(jìn)行解析、收集、綜合處理,并建立數(shù)學(xué)模型,給出評(píng)估網(wǎng)絡(luò)安全的方法,進(jìn)而對(duì)網(wǎng)絡(luò)安全進(jìn)行預(yù)測(cè)。NSSA包含對(duì)網(wǎng)絡(luò)態(tài)勢(shì)要素獲取、態(tài)勢(shì)信息融合量化及對(duì)未來(lái)態(tài)勢(shì)預(yù)測(cè)等方面的內(nèi)容。傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)主要存在,檢測(cè)的數(shù)據(jù)流數(shù)據(jù)單一、速度慢、更新周期繁瑣等問(wèn)題。與傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)相比,NSSA具有實(shí)時(shí)性、多樣性、整體性等優(yōu)點(diǎn)。其更注重網(wǎng)絡(luò)安全細(xì)節(jié)的特征[5]。NSSA作為網(wǎng)絡(luò)安全的新技術(shù),以網(wǎng)絡(luò)安全發(fā)展?fàn)顩r為關(guān)注點(diǎn),能從整體上感知網(wǎng)絡(luò)的安全狀況。它的數(shù)據(jù)支持來(lái)源于硬件設(shè)備與軟件系統(tǒng),更加注重統(tǒng)籌分析影響網(wǎng)絡(luò)安全的各種因素,全面實(shí)時(shí)、多角度反映網(wǎng)絡(luò)當(dāng)前時(shí)刻的安全狀況。采用更加科學(xué)合理的網(wǎng)絡(luò)安全評(píng)估手段和方法對(duì)網(wǎng)絡(luò)安全狀況實(shí)時(shí)監(jiān)測(cè),及時(shí)發(fā)現(xiàn)并處理發(fā)現(xiàn)的網(wǎng)絡(luò)安全問(wèn)題,NSSA是網(wǎng)絡(luò)管理的發(fā)展方向。網(wǎng)絡(luò)安全態(tài)勢(shì)感知系統(tǒng)以網(wǎng)絡(luò)安全態(tài)勢(shì)要素為基礎(chǔ),網(wǎng)絡(luò)安全態(tài)勢(shì)要素以數(shù)據(jù)精煉、對(duì)象精練、態(tài)勢(shì)精練三次抽象來(lái)獲取, 從網(wǎng)絡(luò)系統(tǒng)安全中獲取高質(zhì)量的網(wǎng)絡(luò)態(tài)勢(shì)要素是實(shí)現(xiàn)網(wǎng)絡(luò)安全主動(dòng)防御的前提[6]。
網(wǎng)絡(luò)安全的重要性無(wú)論是國(guó)家或單位都有充分的認(rèn)識(shí),紛紛構(gòu)建其網(wǎng)絡(luò)安全態(tài)勢(shì)感知系統(tǒng),該系統(tǒng)不僅需要對(duì)網(wǎng)絡(luò)實(shí)施漏洞檢查、入侵檢測(cè)、防火墻等基礎(chǔ)防御,更需要掌握全局網(wǎng)絡(luò)系統(tǒng)的安全運(yùn)行數(shù)據(jù),為管理者提供整個(gè)網(wǎng)絡(luò)變化的決策依據(jù)。
在實(shí)際操作中,NSSA能通過(guò)實(shí)時(shí)監(jiān)測(cè)的手段了解大規(guī)模復(fù)雜網(wǎng)絡(luò)環(huán)境中影響網(wǎng)絡(luò)安全狀態(tài)的網(wǎng)絡(luò)、用戶、網(wǎng)絡(luò)設(shè)備運(yùn)行情況。在技術(shù)上,NSSA通常通過(guò)對(duì)當(dāng)前和早期檢測(cè)信息表現(xiàn)出的網(wǎng)絡(luò)安全狀態(tài)進(jìn)行分析處理,預(yù)測(cè)后續(xù)的網(wǎng)絡(luò)安全態(tài)勢(shì)[7],從而使網(wǎng)絡(luò)管理者能及時(shí)利用可視化的網(wǎng)絡(luò)安全預(yù)測(cè)系統(tǒng),對(duì)發(fā)現(xiàn)的網(wǎng)絡(luò)安全弱點(diǎn)、預(yù)測(cè)到的威脅,制定出相應(yīng)的措施主動(dòng)進(jìn)行防御。本文研究的重點(diǎn)為網(wǎng)絡(luò)安全態(tài)勢(shì)感知中有關(guān)態(tài)勢(shì)預(yù)測(cè)的部分。
SA(Situation Awareness),態(tài)勢(shì)感知起源于軍事領(lǐng)域,用于對(duì)復(fù)雜結(jié)構(gòu)、影響因素眾多、大范圍事件的整體理解及快速?zèng)Q策處理[8]。Endsley[9]以“在一定的范圍內(nèi),感知和理解環(huán)境狀況,并對(duì)后續(xù)發(fā)展趨勢(shì)進(jìn)行推算” 最先確定了態(tài)勢(shì)感知,并將態(tài)勢(shì)獲取、態(tài)勢(shì)理解、態(tài)勢(shì)預(yù)測(cè)界定為態(tài)勢(shì)感知的三個(gè)方面。Loke[10]提出了“網(wǎng)絡(luò)態(tài)勢(shì)感知是網(wǎng)絡(luò)環(huán)境中所有信息按照邏輯約束關(guān)系進(jìn)行組合的結(jié)果”,Lacey 等[11]通過(guò)系統(tǒng)研究網(wǎng)絡(luò)態(tài)勢(shì)感知給出了網(wǎng)絡(luò)空間態(tài)勢(shì)感知框架,雖然網(wǎng)絡(luò)態(tài)勢(shì)感知目前還沒(méi)有權(quán)威的定義,但網(wǎng)絡(luò)態(tài)勢(shì)感知作用很明確,即:通過(guò)感知系統(tǒng)觀測(cè)整個(gè)網(wǎng)絡(luò)的安全情況,依據(jù)觀測(cè)到的數(shù)據(jù)對(duì)網(wǎng)絡(luò)安全事件及時(shí)做出判斷,并以可視化方式提供給管理者決策[12]。
用于進(jìn)行網(wǎng)絡(luò)安全態(tài)勢(shì)感知的三大技術(shù)包括數(shù)據(jù)挖掘、態(tài)勢(shì)評(píng)估以及態(tài)勢(shì)預(yù)測(cè)。其中,數(shù)據(jù)挖掘中力求準(zhǔn)確、快速、全面地找到網(wǎng)絡(luò)威脅事件;態(tài)勢(shì)評(píng)估要求更為有效客觀地評(píng)價(jià)網(wǎng)絡(luò)安全態(tài)勢(shì);態(tài)勢(shì)預(yù)測(cè)則強(qiáng)調(diào)預(yù)測(cè)網(wǎng)絡(luò)安全的準(zhǔn)確性,以便網(wǎng)絡(luò)管理者依據(jù)預(yù)測(cè)結(jié)果采取相應(yīng)的措施,保護(hù)網(wǎng)絡(luò)安全。本文的研究重點(diǎn)是在分析網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)中的相關(guān)技術(shù)后,對(duì)其進(jìn)行改進(jìn),并使改進(jìn)后的態(tài)勢(shì)預(yù)測(cè)系統(tǒng)精度得以提高。
國(guó)外網(wǎng)絡(luò)安全態(tài)勢(shì)感知系統(tǒng)架構(gòu)的建立主要采用的是集成化思想,卡內(nèi)基梅隆大學(xué)SEI 2005年在網(wǎng)絡(luò)態(tài)勢(shì)感知系統(tǒng)中集成了Netflow工具,能對(duì)潛在的、惡意的網(wǎng)絡(luò)攻擊行為進(jìn)行識(shí)別與響應(yīng)并做出相應(yīng)的防御。King等[13]在分類屬性網(wǎng)絡(luò)中運(yùn)用深度包檢測(cè)技術(shù)提供了深刻全面的態(tài)勢(shì)感知結(jié)果,Varun 等在基于事件學(xué)習(xí)理論的基礎(chǔ)上構(gòu)建了分析網(wǎng)絡(luò)攻擊態(tài)勢(shì)的網(wǎng)絡(luò)攻擊檢測(cè)模型,Bode等[14]構(gòu)建了網(wǎng)絡(luò)態(tài)勢(shì)風(fēng)險(xiǎn)管理的貝葉斯網(wǎng)絡(luò)模型,F(xiàn)riedberg等[15]給出了網(wǎng)絡(luò)異常行為的態(tài)勢(shì)感知基于事件自動(dòng)關(guān)聯(lián)的事件檢測(cè)AECID。CID(Cooperative Infrastructure Defense)中Fink等[16]提出了分層協(xié)同管理的思路,并在CID之上,提出了數(shù)字螞蟻的思路[17]。Szwed等[18]對(duì)網(wǎng)絡(luò)依賴關(guān)系中重要資產(chǎn)采用模糊認(rèn)知圖的方式獲取并評(píng)估其危害程度,該方法存在數(shù)據(jù)來(lái)源單一、主觀性、誤差較大的問(wèn)題。Liu等[19]基于隱馬爾可夫模型與報(bào)警觀測(cè)序列,以Viterbi 算法推導(dǎo)最大可能狀態(tài)轉(zhuǎn)移序列,實(shí)現(xiàn)攻擊意圖識(shí)別,但缺乏全網(wǎng)風(fēng)險(xiǎn)值量化。Ghasemigol 等[20]針對(duì)攻擊發(fā)生概率的不確定性,提出了一種綜合預(yù)測(cè)算法,提高了預(yù)測(cè)精度。Wu等[21]基于大數(shù)據(jù)分析提出了電網(wǎng)系統(tǒng)安全態(tài)勢(shì)感知機(jī)制,將博弈論和模糊聚類相結(jié)合,降低錯(cuò)誤率提高預(yù)測(cè)效率。
國(guó)內(nèi)研究網(wǎng)絡(luò)安全態(tài)勢(shì)感知主要包括:網(wǎng)絡(luò)安全數(shù)據(jù)的全面獲得,數(shù)據(jù)融合方法及數(shù)據(jù)之間的關(guān)聯(lián)性分析,網(wǎng)絡(luò)安全態(tài)勢(shì)指標(biāo)體系的建立以及網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估。陳秀真等[22]利用網(wǎng)絡(luò)運(yùn)行情況與告警信息數(shù)據(jù),對(duì)網(wǎng)絡(luò)結(jié)構(gòu)及主機(jī)和服務(wù)發(fā)揮的作用進(jìn)行系統(tǒng)分析,提取影響網(wǎng)絡(luò)態(tài)勢(shì)的多個(gè)因素,給出了網(wǎng)絡(luò)安全態(tài)勢(shì)計(jì)算方法和層次化的量化評(píng)估模型,但其缺乏對(duì)網(wǎng)絡(luò)攻擊間的聯(lián)系及整體性分析。李方偉等[23]給出的一種徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型,雖然對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)精度有所提高,但有預(yù)測(cè)結(jié)果不穩(wěn)定與過(guò)擬合的問(wèn)題存在。韋勇等[24]依據(jù)層次化的思想,對(duì)節(jié)點(diǎn)上的安全要素利用D-S證據(jù)理論做了融合,再按照節(jié)點(diǎn)、子網(wǎng)、全網(wǎng)層融合,最后獲得網(wǎng)絡(luò)態(tài)勢(shì)值,從而在信息融合的基礎(chǔ)上建立網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估模型。由于其有效處理了多源安全事件,使多源信息間的互補(bǔ)性得到了充分利用,從而使態(tài)勢(shì)感知的準(zhǔn)確性進(jìn)一步提高,也使得在網(wǎng)絡(luò)態(tài)勢(shì)感知中多源信息融合優(yōu)于單源的特征得到驗(yàn)證。周新衛(wèi)等[25]基于安全態(tài)勢(shì)值與多節(jié)點(diǎn)網(wǎng)絡(luò)安全態(tài)勢(shì)重要影響因子值,采用構(gòu)建的模型對(duì)多節(jié)點(diǎn)網(wǎng)絡(luò)安全態(tài)勢(shì)進(jìn)行預(yù)測(cè),實(shí)現(xiàn)對(duì)突變態(tài)勢(shì)的有效預(yù)測(cè),提高網(wǎng)絡(luò)安全態(tài)勢(shì)的預(yù)測(cè)精度。劉效武等[26]以數(shù)據(jù)信息從融合異質(zhì)多傳感器獲得,再用支持向量機(jī)結(jié)合特征約簡(jiǎn)算法生成網(wǎng)絡(luò)安全態(tài)勢(shì)值,最后依據(jù)評(píng)價(jià)指標(biāo)評(píng)價(jià)量化態(tài)勢(shì)感知。賈焰等[27]建立態(tài)勢(shì)感知模型時(shí)采用關(guān)聯(lián)分析與集中處理所收集到的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù),再對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)用建立的指標(biāo)體系進(jìn)行預(yù)測(cè),該模型可用于較大規(guī)模的網(wǎng)絡(luò)環(huán)境。張丹等[28]利用自律反饋特性獲取網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù),建立態(tài)勢(shì)評(píng)估模型時(shí)用層次分析法(AHP),再用神經(jīng)網(wǎng)絡(luò)的改進(jìn)方法對(duì)態(tài)勢(shì)進(jìn)行預(yù)測(cè)。甘文道等[29]使用網(wǎng)絡(luò)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)更利于神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與參數(shù)控制,使得用網(wǎng)絡(luò)安全態(tài)勢(shì)圖反映網(wǎng)絡(luò)安全更直觀。黃亮亮[30]在網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)中用PSO(Particle Swarm Optimization)優(yōu)化RBF(Radial Basis Function)網(wǎng)絡(luò)的方法,給出PSO-RBF網(wǎng)絡(luò)模型,通過(guò)對(duì)歷史數(shù)據(jù)分析并映射出未來(lái)的網(wǎng)絡(luò)態(tài)勢(shì)值。胡冠宇等[31]將云群的高維差分進(jìn)化算法應(yīng)用到預(yù)測(cè)網(wǎng)絡(luò)安全態(tài)勢(shì)中補(bǔ)充了算法的多樣性及搜索精度。琚安康等[32]將現(xiàn)有大數(shù)據(jù)處理技術(shù)與安全事件管理需求相結(jié)合,構(gòu)建了集數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)關(guān)聯(lián)檢測(cè)、收集整理、離線分析發(fā)現(xiàn)、態(tài)勢(shì)呈現(xiàn)、威脅預(yù)警等有效地實(shí)施了全流程網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)。
經(jīng)過(guò)專家學(xué)者對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)大量的分析研究及驗(yàn)證,發(fā)現(xiàn)網(wǎng)絡(luò)式非線性的狀態(tài)特征使得時(shí)間序列應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)中存在許多問(wèn)題。而傳統(tǒng)的統(tǒng)計(jì)學(xué)方法表示的是線性特征,因此需要借助于人工智能算法如支持向量機(jī)、馬爾可夫、神經(jīng)網(wǎng)絡(luò)等提高對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)的預(yù)測(cè)精準(zhǔn),但支持向量機(jī)參數(shù)選定的盲目性、神經(jīng)網(wǎng)絡(luò)參數(shù)的難以確定和馬爾可夫算法公式推導(dǎo)與建模過(guò)程的繁瑣也是網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)面臨新的問(wèn)題[33-35]。
網(wǎng)絡(luò)安全態(tài)勢(shì)感知常用的方法包括基于神經(jīng)網(wǎng)絡(luò)的方法、支持向量機(jī)、模糊邏輯、知識(shí)推理、基于貝葉斯網(wǎng)絡(luò)、深度學(xué)習(xí)的方法等。神經(jīng)網(wǎng)絡(luò)利用大量的實(shí)驗(yàn)來(lái)進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的建立,存在計(jì)算量大、選擇基函數(shù)較為困難的問(wèn)題。知識(shí)推理方法克服數(shù)學(xué)模型難以處理的情況,避免客觀性受主觀因素的影響,模擬人類思維過(guò)程。貝葉斯網(wǎng)絡(luò)用有向圖表示,圖中每一個(gè)節(jié)點(diǎn)表示一種變遷狀態(tài),可從狀態(tài)屬性圖最小割、重要性程度、可信任性等分析網(wǎng)絡(luò)系統(tǒng)。網(wǎng)絡(luò)安全態(tài)勢(shì)感知方法按照其原理可分為:基于模式識(shí)別的態(tài)勢(shì)研究方法、基于知識(shí)推理的態(tài)勢(shì)研究方法及基于數(shù)學(xué)模型的態(tài)勢(shì)研究方法。
已有文獻(xiàn)對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)提供了理論基礎(chǔ)以及思路上的借鑒。目前網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的技術(shù)尚不成熟,用于網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的技術(shù)一般為一些智能優(yōu)化算法,然而這些算法較少考慮網(wǎng)絡(luò)安全態(tài)勢(shì)感知的實(shí)際情況。因此,造成了預(yù)測(cè)準(zhǔn)確率低,時(shí)變性和非線性等因素未被考慮等問(wèn)題?;诖?,本文給出了一種將改進(jìn)粒子群算法與支持向量機(jī)相結(jié)合的新算法來(lái)提高網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的精度。
網(wǎng)絡(luò)安全態(tài)勢(shì)的預(yù)測(cè)以發(fā)生網(wǎng)絡(luò)安全事件的數(shù)量、頻率、網(wǎng)絡(luò)受威脅程度等因素經(jīng)過(guò)處理而獲取反映網(wǎng)絡(luò)態(tài)勢(shì)的數(shù)據(jù)為根據(jù)。目前關(guān)于網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)思路與框架尚未完全形成,發(fā)展較快的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法主要有:灰色預(yù)測(cè)、神經(jīng)網(wǎng)絡(luò)、時(shí)間序列預(yù)測(cè)法及支持向量機(jī)預(yù)測(cè)。
本文對(duì)上述網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的方法進(jìn)行了分析比較[36-49],并給出了相關(guān)方法的優(yōu)缺點(diǎn)以及適用范圍,具體如表1所示。
表1 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法比較
續(xù)表1
依據(jù)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)相關(guān)文獻(xiàn)及上述研究分析,得出網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)具有以下特征:
(1) 數(shù)據(jù)呈現(xiàn)非線性,高維度等特征。
(2) 預(yù)測(cè)結(jié)果表現(xiàn)出不確定性,無(wú)周期性。
鑒于此,本文選擇支持向量機(jī)作為網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的基本模型。
然而傳統(tǒng)的支持向量機(jī)方法存在參數(shù)確定困難以及結(jié)果可能為局部最優(yōu)等問(wèn)題。針對(duì)傳統(tǒng)支持向量機(jī)存在的問(wèn)題,本文引入了一種改進(jìn)的粒子群算法。改進(jìn)的粒子群算法與傳統(tǒng)粒子群算法相比,使用了混沌優(yōu)化函數(shù),使得改進(jìn)后的算法更加偏向全局最優(yōu),從而解決了參數(shù)確定及局部最優(yōu)的問(wèn)題。
綜上所述,本文是在對(duì)目前網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法大量的分析研究后,給出一種支持向量機(jī)與改進(jìn)粒子群優(yōu)化算法相結(jié)合的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,即在SVM優(yōu)點(diǎn)特征的基礎(chǔ)上引入改進(jìn)的粒子群優(yōu)化算法,通過(guò)用無(wú)體積無(wú)質(zhì)量的粒子作為個(gè)體且規(guī)定各粒子的行為規(guī)則,使用個(gè)體之間的協(xié)作尋優(yōu)在表現(xiàn)出復(fù)雜特性的整個(gè)粒子群中尋找最優(yōu)解,進(jìn)而優(yōu)化支持向量機(jī)的三個(gè)參數(shù)。該安全態(tài)勢(shì)預(yù)測(cè)方法還克服了使用線性方法評(píng)估網(wǎng)絡(luò)安全態(tài)勢(shì)帶來(lái)的預(yù)測(cè)精度低、描述網(wǎng)絡(luò)目前狀態(tài)與未來(lái)狀態(tài)關(guān)系困難等問(wèn)題,更適應(yīng)網(wǎng)絡(luò)安全態(tài)勢(shì)變化時(shí)變性、非線性等特點(diǎn)。
本文將按照由簡(jiǎn)單到復(fù)雜的順序行文。首先給出一般的支持向量機(jī)算法,然后,引入改進(jìn)的粒子群算法確定支持向量機(jī)所需參數(shù),最后,給出綜合算法的計(jì)算步驟。
2.2.1支持向量機(jī)算法
為解決復(fù)雜的模式識(shí)別問(wèn)題,Vapnik提出了支持向量機(jī),取得了較大進(jìn)展[50],并在統(tǒng)計(jì)學(xué)習(xí)理論的基礎(chǔ)上給出了SVM分類器,較好地解決了線性不可分的問(wèn)題[51]。后續(xù)的學(xué)者們研究出基于二叉樹的多分類方法[52]、序列最小優(yōu)化訓(xùn)練算法(SMO)[53]、多分類理論、決策導(dǎo)向非循環(huán)圖法(DDAG)[54]、1-a.r方法[55],近年來(lái)學(xué)者們又研究出Class-SVM、v-SVM、C-SVM等算法,進(jìn)一步完善支持向量機(jī)的理論體系。張翔等[56]在態(tài)勢(shì)評(píng)估指標(biāo)的時(shí)間序列預(yù)測(cè)中采用支持向量回歸預(yù)測(cè)方法。王庚等[57]采用遺傳算法的染色體編碼優(yōu)化支持向量機(jī)參數(shù)。李潔等[58]給出的通過(guò)對(duì)態(tài)勢(shì)樣本集進(jìn)行歸一化處理和相空間重構(gòu),利用相關(guān)向量機(jī)最優(yōu)的超參數(shù)與和聲搜索算法搜索,采用wilcoxon符號(hào)秩檢驗(yàn)驗(yàn)證模型預(yù)測(cè)性能之間的差異性,提升了網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型的預(yù)測(cè)精度和速度。
支持向量機(jī)SVM訓(xùn)練樣本通過(guò)預(yù)設(shè)函數(shù)的支持向量機(jī)訓(xùn)練,函數(shù)的確定是在用不斷擬合方法給出重要參數(shù)的基礎(chǔ)上獲得的。SVM泛化能力強(qiáng),對(duì)復(fù)雜的非線性數(shù)據(jù)與小樣本數(shù)據(jù)的建模識(shí)別能力很好。
本文所給樣本集為:
{{X1,Y1},{X2,Y2},…,{Xn,Yn}}Xi∈Rn
觀測(cè)樣本值Yi∈Rn,設(shè)回歸模型為:
f(x)=ωTx+b
(1)
式中:ω為支持向量機(jī)法向量,b為偏移量。
實(shí)現(xiàn)合理擬合樣本集需要用到損失函數(shù)ε,|yi-f(xi)|=max{0,|yi-f(xi)|-ε}觀測(cè)值與f(xi)回歸預(yù)測(cè)值間誤差的相對(duì)值不能大于ε,因而:
(2)
(3)
(4)
懲罰因子C>0,利用拉格朗日乘子求解,即:
(5)
(6)
并滿足:
(7)
把式(6)代入式(4)獲取優(yōu)化目標(biāo)函數(shù),給出K(x,xi)核函數(shù)來(lái)替換點(diǎn)積運(yùn)算,則:
(8)
(9)
于是,問(wèn)題就變?yōu)槎我?guī)劃問(wèn)題,該問(wèn)題的解:
(10)
鑒于在支持向量機(jī)核函數(shù)中使用高斯核函數(shù)較好,對(duì)高斯核函數(shù)做如下設(shè)定:
(11)
如下表達(dá)式是支持向量機(jī)預(yù)測(cè)模型:
(12)
高斯核函數(shù)寬度用σ表示。
2.2.2改進(jìn)的粒子群優(yōu)化算法
使用SVM算法能從龐雜的網(wǎng)絡(luò)安全因素中找出規(guī)律,足以說(shuō)明其對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的有效性,而傳統(tǒng)確定SVM參數(shù)的方法如網(wǎng)絡(luò)搜索法、窮舉法及經(jīng)驗(yàn)法存在耗時(shí)長(zhǎng)、難以找到最優(yōu)參數(shù)、模型的預(yù)測(cè)精度較低等問(wèn)題,分析前期對(duì)SVM用于網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)的研究,發(fā)現(xiàn)SVM參數(shù)的優(yōu)化問(wèn)題是決定預(yù)測(cè)精度的關(guān)鍵。支持向量機(jī)的主要參數(shù)是:① 核函數(shù)的寬度σ,非線性問(wèn)題最優(yōu)解的復(fù)雜度用σ確定,σ的取值關(guān)系支持向量機(jī)的泛化能力;② 懲罰因子C,是過(guò)學(xué)習(xí)還是欠學(xué)習(xí)由C的取值過(guò)大或過(guò)小決定;③ 不敏感損失函數(shù)ε,支持向量數(shù)目和計(jì)算復(fù)雜度由ε確定,其表示訓(xùn)練時(shí)的誤差期望。支持向量機(jī)主要參數(shù)的選取決定其預(yù)測(cè)精度,本文采用粒子群結(jié)合混沌優(yōu)化兩種算法對(duì)SVM的三個(gè)參數(shù)進(jìn)行了優(yōu)化。
粒子群算法是基于群體智能的優(yōu)化理論所抽象出算法,其包括三方面內(nèi)容:一是用一個(gè)具備初始位置和速度的粒子表示優(yōu)化問(wèn)題的解;二是按其最優(yōu)位置以及全局最優(yōu)位置動(dòng)態(tài)調(diào)整粒子飛行速度和當(dāng)前所處位置,搜尋粒子最好的目標(biāo)獲得最優(yōu)解;三是用適應(yīng)度函數(shù)衡量解的優(yōu)劣程度。
粒子群優(yōu)化算法是一種全局優(yōu)化進(jìn)化算法,有著進(jìn)化初期需要調(diào)整的參數(shù)少、容易實(shí)現(xiàn)、概念簡(jiǎn)單、快速收斂等特征。但在用PSO優(yōu)化SVM的三個(gè)主要參數(shù)時(shí)發(fā)現(xiàn):粒子群中當(dāng)單個(gè)粒子搜索到某個(gè)局部最優(yōu)解時(shí)會(huì)影響到其周圍的其他尋優(yōu)粒子,導(dǎo)致它們快速靠近該粒子,這樣就會(huì)出現(xiàn)局部最優(yōu)解及粒子早熟等問(wèn)題[59]。針對(duì)PSO存在局部最優(yōu)解及粒子早熟的問(wèn)題,本文引入了混沌優(yōu)化算法對(duì)粒子群優(yōu)化算法做了改進(jìn)?;煦鐑?yōu)化算法具有全局性的優(yōu)點(diǎn)[60],其可以按某種規(guī)則一次性搜索一定范圍內(nèi)的所有情況,當(dāng)粒子群出現(xiàn)部分收斂后,再按照粒子群變化的適應(yīng)情況對(duì)粒子群最優(yōu)值及情況差的粒子進(jìn)行混沌變異,使粒子群優(yōu)化算法避開部分最優(yōu)的能力得到進(jìn)一步的提高。
采用改進(jìn)的PSO算法優(yōu)化支持向量機(jī)中參數(shù)的思路為:將支持向量機(jī)中的三個(gè)參數(shù)作為一個(gè)組合優(yōu)化(σ,C,ε),計(jì)算利用該組合得到的模擬值f(x)與實(shí)際值y的標(biāo)準(zhǔn)差(MSE),并以此為目標(biāo)建立多目標(biāo)規(guī)劃模型,設(shè)置初始化參數(shù)并進(jìn)行迭代,最終得到目標(biāo)最小值。在迭代過(guò)程中,需要注意每個(gè)粒子的適應(yīng)度值。若適應(yīng)度值大于所給閾值,則使用一般PSO算法進(jìn)行更新,若適應(yīng)度值小于所給閾值,則使用混沌優(yōu)化算法進(jìn)行處理,再對(duì)粒子進(jìn)行更新。
當(dāng)模型取最小值時(shí),得到的組合為SVM的最優(yōu)參數(shù)。值得指出的是,需要預(yù)先給出這三個(gè)參數(shù)的取值范圍,并作為多目標(biāo)規(guī)劃的約束。
式中:y為實(shí)際值,f(x)為利用SVM得到的模擬值。
ming(z1,z2,…,zi)=minMSE
s.t.ai≤zi≤bij=1,2,3
(13)
式中:z1、z2、z3分別對(duì)應(yīng)SVM中需要得到的三個(gè)參數(shù)σ、C、ε,[ai,bi]分別為其對(duì)應(yīng)的上下界。
使用PSO算法進(jìn)行迭代的公式為:
(14)
(15)
下面給出用使用改進(jìn)的PSO算法計(jì)算支持向量機(jī)參數(shù)的步驟:
Step2利用式(12)-式(13)計(jì)算所有粒子的初始個(gè)體極值以及全局初始極值。
Step5輸出最優(yōu)解向量。得到支持向量機(jī)所對(duì)應(yīng)的函數(shù)表達(dá)式f(x)。
本文充分綜合上述兩種算法的優(yōu)點(diǎn)計(jì)算SVM的三個(gè)參數(shù)。用混沌優(yōu)化算法在參數(shù)選取時(shí)能使用普遍的參數(shù)選取法,不用考慮模型的變量維數(shù)和復(fù)雜度的特性,再利用混沌理論的規(guī)律性、遍歷性、隨機(jī)性等特點(diǎn)有效地解決了用PSO算法優(yōu)化時(shí)出現(xiàn)的局部最優(yōu)解及粒子早熟的問(wèn)題,也就是用混沌變異算子對(duì)粒子群優(yōu)化算法進(jìn)行必要的改進(jìn)。在粒子群進(jìn)化中確定粒子是否早熟依據(jù)粒子群適應(yīng)度最優(yōu)變化情況,若變化不大于確定值時(shí),則對(duì)粒子群中優(yōu)勝粒子的位置與速度進(jìn)行更換,再用混沌變量映射非優(yōu)勝粒子,然后把替換了的優(yōu)勝粒子與使用混沌優(yōu)化后的非優(yōu)粒子組成新種群。使用混沌優(yōu)化法對(duì)此時(shí)全局最優(yōu)值進(jìn)行擾動(dòng),以便增加尋找全局最優(yōu)解的幾率,使得粒子群經(jīng)過(guò)本操作后避開出現(xiàn)局部最優(yōu)點(diǎn)的問(wèn)題。粒子的速度與位置經(jīng)混沌變量隨機(jī)性初始化后,種群的遍歷性及多樣性得到進(jìn)一步的提高。
預(yù)測(cè)步驟如圖1所示。
圖1 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)
(1) 收集、整理網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù),量化處理網(wǎng)絡(luò)安全監(jiān)測(cè)數(shù)據(jù)。
(2) 數(shù)據(jù)歸一化處理,影響網(wǎng)絡(luò)安全態(tài)勢(shì)的因素眾多,有時(shí)收集到的數(shù)據(jù)差異明顯,而支持向量機(jī)數(shù)據(jù)預(yù)測(cè)敏感區(qū)在(0,1)之間,故需要在(0,1)之間歸類原始的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)。
(3) 在前兩步的基礎(chǔ)上通過(guò)確定嵌入維數(shù)和時(shí)間延遲將一維的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)轉(zhuǎn)換為多維樣本態(tài)勢(shì)數(shù)據(jù)。
(4) 把獲得的樣本數(shù)據(jù)分為測(cè)試集與訓(xùn)練集兩部分,把訓(xùn)練集數(shù)據(jù)輸入SVM學(xué)習(xí)。
(5) SVM主要參數(shù)的優(yōu)化采用改進(jìn)的粒子群優(yōu)化算法,實(shí)現(xiàn)用最優(yōu)參數(shù)建立預(yù)測(cè)模型。
(6) 對(duì)測(cè)試集使用建立的預(yù)測(cè)模型進(jìn)行預(yù)測(cè),完成反歸一化預(yù)測(cè)結(jié)果等處理,再依據(jù)得到的處理數(shù)據(jù)預(yù)測(cè)網(wǎng)絡(luò)安全態(tài)勢(shì)。
選取某公司2017年3月1日-4月29日和5月1日-6月29日的安全測(cè)試數(shù)據(jù),每天取樣4回,安全測(cè)試數(shù)據(jù)按兩月為一批,通過(guò)計(jì)算后每批各獲得240個(gè)態(tài)勢(shì)值,以相同的過(guò)程分別對(duì)兩批數(shù)據(jù)進(jìn)行實(shí)驗(yàn),通過(guò)MATLAB 2016b進(jìn)行實(shí)驗(yàn)。
累加所得的各組態(tài)勢(shì)值,以獲得新數(shù)據(jù)樣本,實(shí)行歸一化處理新數(shù)據(jù)樣本。把NSSA時(shí)間延遲設(shè)定為1,用試湊法得到的嵌入維數(shù)為6,這樣SVM就有了1個(gè)輸出變量和5個(gè)輸入變量,最后通過(guò)嵌入維數(shù)與延遲時(shí)間對(duì)獲得的數(shù)據(jù)進(jìn)行重構(gòu),生成SVM的測(cè)試集與訓(xùn)練集樣本,再將生成的訓(xùn)練集樣本數(shù)據(jù)輸入到預(yù)測(cè)模型中學(xué)習(xí)。預(yù)測(cè)模型為改進(jìn)的粒子群優(yōu)化后的SVM。
對(duì)本文所給網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型通用性與有效性的檢驗(yàn),采用上述獲得的兩組重構(gòu)數(shù)據(jù),以未改進(jìn)的PSO-SVM模型與改進(jìn)后的模型分別進(jìn)行預(yù)測(cè),然后比較兩種模型所得的預(yù)測(cè)結(jié)果。具體操作方法采用:① 先將兩組重構(gòu)數(shù)據(jù)的前200個(gè)點(diǎn)作為訓(xùn)練樣本,用于兩種方法的訓(xùn)練及模型的構(gòu)建;兩組數(shù)據(jù)的后40個(gè)點(diǎn)作為測(cè)試樣本,用于將兩種模型的預(yù)測(cè)結(jié)果與實(shí)際值進(jìn)行比較。② 分別將兩組重構(gòu)數(shù)據(jù)的訓(xùn)練樣本輸入SVM進(jìn)行學(xué)習(xí),SVM的三個(gè)參數(shù)用改進(jìn)的粒子群優(yōu)化算法進(jìn)行優(yōu)化,獲得用第一批數(shù)據(jù)時(shí)σ=5、ε=0.001、C=98;第二批數(shù)據(jù)時(shí)σ=5、ε=0.001、C=76.12。③ 用兩組數(shù)據(jù)所獲得的三個(gè)參數(shù)再分別將兩組重構(gòu)數(shù)據(jù)輸入到支持向量機(jī)進(jìn)行學(xué)習(xí)、訓(xùn)練得到新模型的預(yù)測(cè)結(jié)果。④ 圖2為比對(duì)未經(jīng)處理的原始值、本文所給方法得到的預(yù)測(cè)結(jié)果及未改進(jìn)PSO-SVM得到的預(yù)測(cè)結(jié)果,圖3為PSO-SVM改進(jìn)前后的誤差比較。
圖2 三種數(shù)據(jù)比較圖
圖3 兩種方法誤差比較
結(jié)果表明,采用本文給出的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,預(yù)測(cè)未來(lái)的網(wǎng)絡(luò)安全狀態(tài)精度高、誤差小。
本文給出的采用支持向量機(jī)與改進(jìn)粒子群優(yōu)化算法相結(jié)合的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,是基于實(shí)際問(wèn)題展開的,理論基礎(chǔ)深厚、可實(shí)施性強(qiáng)。實(shí)驗(yàn)表明,該方法進(jìn)一步提高了網(wǎng)絡(luò)安全預(yù)測(cè)的精確度及有效性。用本文給出的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型,能對(duì)先前網(wǎng)絡(luò)安全態(tài)勢(shì)的變化趨勢(shì)做出準(zhǔn)確、客觀的評(píng)估,很好地預(yù)測(cè)后續(xù)的網(wǎng)絡(luò)安全態(tài)勢(shì),便于指導(dǎo)網(wǎng)絡(luò)管理者做出更好應(yīng)對(duì)網(wǎng)絡(luò)安全威脅的決策。