張樹曉,唐 勇,劉宇靖
(國(guó)防科技大學(xué) 計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410073)
互聯(lián)網(wǎng)是一個(gè)龐大復(fù)雜的系統(tǒng),根據(jù)數(shù)據(jù)統(tǒng)計(jì),其當(dāng)前包含7 萬(wàn)多個(gè)網(wǎng)絡(luò)自治系統(tǒng)(autonomous system,AS)[1],且數(shù)量一直處于不斷增加之中.AS 之間通過(guò)邊界網(wǎng)關(guān)路由協(xié)議進(jìn)行通信,實(shí)現(xiàn)網(wǎng)絡(luò)的互聯(lián)互通[2].BGP (border gateway protocol)作為邊界網(wǎng)關(guān)路由協(xié)議的事實(shí)標(biāo)準(zhǔn),有效實(shí)現(xiàn)了AS 間乃至整個(gè)互聯(lián)網(wǎng)通信的有效可靠運(yùn)行.然而,由于原始設(shè)計(jì)本身的安全缺陷,BGP 很容易遭到惡意攻擊或產(chǎn)生錯(cuò)誤配置,對(duì)互聯(lián)網(wǎng)的正常運(yùn)行造成重大影響[3].
根據(jù)相關(guān)研究[4],BGP 協(xié)議本身的安全缺陷主要包括:對(duì)等體(peer)的真實(shí)性及其之間通信報(bào)文的完整性、及時(shí)性沒有驗(yàn)證;沒有安全機(jī)制對(duì)AS 宣告網(wǎng)絡(luò)層可達(dá)信息(NLRI)的權(quán)限進(jìn)行驗(yàn)證;沒有安全機(jī)制確保AS 通告路徑(AS_PATH)的真實(shí)性.此外,由于BGP協(xié)議使用TCP 傳輸協(xié)議進(jìn)行通信,TCP 協(xié)議的安全風(fēng)險(xiǎn)在BGP 協(xié)議上同樣存在.
由于上述的缺陷問題,通常可以將對(duì)BGP 協(xié)議的惡意攻擊分為前綴劫持攻擊和路由泄露攻擊[5].其中,前綴劫持攻擊一般通過(guò)偽造NLRI 信息或NLRI 信息與AS_PATH 信息來(lái)實(shí)現(xiàn).進(jìn)一步細(xì)化原因分類,可以分為源AS 路由修改、偽造AS_PATH 路徑信息、錯(cuò)誤配置AS、錯(cuò)誤AS 路徑前置等4 種類型[6].前綴劫持攻擊很容易導(dǎo)致互聯(lián)網(wǎng)的大規(guī)模異常,也是國(guó)內(nèi)外眾多研究人員關(guān)注的焦點(diǎn).然而,現(xiàn)實(shí)表明,每年依然會(huì)有很多機(jī)構(gòu)發(fā)表關(guān)于BGP 前綴劫持攻擊事件的報(bào)告[7,8],部分事件更是由于波及范圍廣,影響時(shí)間久,引起了社會(huì)大眾的廣泛關(guān)注.數(shù)據(jù)表明[8],有超過(guò)40%的網(wǎng)絡(luò)運(yùn)營(yíng)商曾是劫持攻擊的受害者.此外,通過(guò)BGP前綴劫持攻擊,惡意攻擊者能夠在用戶毫無(wú)知覺的情況下竊聽、操控、記錄指定Internet 流量,進(jìn)一步實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的中間人攻擊[2],對(duì)信息安全造成嚴(yán)重危害.路由泄露則是由于AS 沒有按照規(guī)定的路由通告策略執(zhí)行而產(chǎn)生,導(dǎo)致相關(guān)的網(wǎng)絡(luò)流量重定向到非正常的AS.這在現(xiàn)實(shí)中很有可能導(dǎo)致非法路由的快速異常擴(kuò)散,引發(fā)大規(guī)模乃至全球范圍內(nèi)的“斷網(wǎng)”事件.
因此,對(duì)BGP 異常事件的檢測(cè)研究很有必要,有助于運(yùn)營(yíng)商快速發(fā)現(xiàn)異常,及時(shí)響應(yīng)處理,避免產(chǎn)生更大危害.
本文依托從互聯(lián)網(wǎng)公開收集的BGP 更新報(bào)文數(shù)據(jù),提出一種基于拓?fù)鋱D特征的數(shù)據(jù)集構(gòu)建方法,重點(diǎn)提取分析報(bào)文中的AS_PATH 屬性信息,獲取網(wǎng)絡(luò)拓?fù)鋱D序列,生成圖嵌入特征的時(shí)間序列數(shù)據(jù)集,進(jìn)一步結(jié)合LSTM 自動(dòng)編碼器模型架構(gòu),實(shí)現(xiàn)一種新的BGP異常數(shù)據(jù)檢測(cè)方法,并在實(shí)際的異常事件數(shù)據(jù)中進(jìn)行了驗(yàn)證,取得了良好效果.
對(duì)BGP 攻擊的研究主要從兩個(gè)方面考慮:一是攻擊的預(yù)防,二是攻擊的檢測(cè).
對(duì)于攻擊的預(yù)防,主要從前文所述的BGP 協(xié)議缺陷入手,進(jìn)行相應(yīng)改進(jìn),以求從根本上解決問題.包括安全域間路由(secure inter-domain routing,SIDR)工作組的安全BGP 研究[9];避免選擇虛假路由的完美BGP(pretty good BGP)[10];已經(jīng)被加入RFC 標(biāo)準(zhǔn)的BGPsec[11];引入加密和路由冗余機(jī)制的BGP[12]等.然而,由于多種原因,相關(guān)的改進(jìn)一直未能在真正的互聯(lián)網(wǎng)上大規(guī)模部署,BGP 協(xié)議的缺陷問題沒有從根本上發(fā)生改變,各類安全異常事件也時(shí)有發(fā)生.
通過(guò)對(duì)BGP 數(shù)據(jù)進(jìn)行異常檢測(cè)來(lái)發(fā)現(xiàn)、分類以及處理攻擊行為的研究同樣得到了廣泛開展.綜合現(xiàn)有研究成果,按照異常檢測(cè)所用的數(shù)據(jù)類型,大致可以分成3 類方法[13]:控制平面方法、數(shù)據(jù)平面方法和混合方法.控制平面方法是一種無(wú)源解決方案,其依賴于第三方監(jiān)控器和收集器提供的數(shù)據(jù)進(jìn)行異常行為的檢測(cè).現(xiàn)在常用的第三方工具框架有BGPmon[14]和BGPStream[15],二者均提供歷史和實(shí)時(shí)BGP 數(shù)據(jù)的解析運(yùn)行情況,記錄相關(guān)的異常事件.在此基礎(chǔ)上,文獻(xiàn)[16]提出了前綴劫持報(bào)警系統(tǒng)PHAS;文獻(xiàn)[17]提出了ARTEMIS 系統(tǒng),其號(hào)稱能夠快速檢測(cè)到前綴劫持異常,并能通過(guò)多種手段迅速靈活的緩解劫持異常.總之,此類方法都屬于對(duì)異常的響應(yīng)處理,以及時(shí)做出策略應(yīng)對(duì).數(shù)據(jù)平面方法則從網(wǎng)絡(luò)中數(shù)據(jù)轉(zhuǎn)發(fā)的異常入手,使用了常見的ping、traceroute 等網(wǎng)絡(luò)工具.通過(guò)檢測(cè)相應(yīng)的前綴地址的可達(dá)性實(shí)現(xiàn)異常的檢測(cè)[13].混合方法主要是考慮前面兩種方法的優(yōu)缺點(diǎn),將二者進(jìn)行結(jié)合使用,主要思路是發(fā)現(xiàn)控制平面數(shù)據(jù)的不一致性后,進(jìn)一步通知數(shù)據(jù)平面進(jìn)行精確測(cè)量[13].
近年來(lái),隨著人工智能的繁榮發(fā)展,機(jī)器學(xué)習(xí)也廣泛應(yīng)用于異常檢測(cè)領(lǐng)域,對(duì)BGP 異常數(shù)據(jù)的檢測(cè)也同樣包含其中.大量的文獻(xiàn)使用機(jī)器學(xué)習(xí)(包含深度學(xué)習(xí))模型算法提高BGP 異常檢測(cè)的準(zhǔn)確性以及分類識(shí)別BGP 異常等.文獻(xiàn)[18]對(duì)BGP 數(shù)據(jù)進(jìn)行特征提取并建立數(shù)據(jù)集,提出使用支持向量機(jī)(SVM)模型來(lái)訓(xùn)練和測(cè)試BGP 數(shù)據(jù)集,并使用隱藏馬爾可夫模型(HMM)來(lái)評(píng)估數(shù)據(jù)特征的有效性.文獻(xiàn)[19]使用了決策樹和模糊測(cè)試集方法進(jìn)行特征選擇,然后使用決策樹和極限學(xué)習(xí)機(jī)進(jìn)行異常分類,提升BGP 異常檢測(cè)的準(zhǔn)確性.文獻(xiàn)[20]則是對(duì)常見機(jī)器學(xué)習(xí)算法進(jìn)行性能評(píng)估,其使用的數(shù)據(jù)來(lái)自路由信息庫(kù)(RIB),分布使用了樸素貝葉斯(NB),支持向量機(jī)(SVM)和決策樹(J48)分類器進(jìn)行異常檢測(cè),對(duì)比其檢測(cè)效能.文獻(xiàn)[21]同樣基于支持向量機(jī)模型進(jìn)行檢測(cè),其利用Fisher 線性分析算法和馬爾可夫隨機(jī)理論對(duì)特征選取進(jìn)一步優(yōu)化,提升檢測(cè)性能.文獻(xiàn)[22]提出了利用離散小波變換來(lái)體現(xiàn)BGP數(shù)據(jù)的時(shí)間序列信息,并與多層LSTM 模型結(jié)合,在異常數(shù)據(jù)集的檢測(cè)中取得了良好效果.
本文通過(guò)圖嵌入特征學(xué)習(xí)算法提取BGP 數(shù)據(jù)中的拓?fù)鋱D特征,生成多維時(shí)間序列數(shù)據(jù),并使用LSTM自動(dòng)編碼器模型實(shí)現(xiàn)異常數(shù)據(jù)的檢測(cè).
眾所周知,整個(gè)互聯(lián)網(wǎng)作為互聯(lián)互通的整體,其必然存在完整的拓?fù)鋱D,但由于實(shí)際網(wǎng)絡(luò)中的海量設(shè)備及復(fù)雜的連接關(guān)系,該拓?fù)涞睦L制是無(wú)法實(shí)現(xiàn)的.因此我們從構(gòu)成互聯(lián)網(wǎng)的AS 角度考慮,將每個(gè)AS 看作互聯(lián)網(wǎng)中的一個(gè)節(jié)點(diǎn),也就是拓?fù)鋱D中的頂點(diǎn),將AS 間互相連接關(guān)系看作拓?fù)鋱D的邊,是可以構(gòu)建出基本的連接關(guān)系的.BGP 更新報(bào)文中的AS_PATH 屬性恰好包含構(gòu)成拓?fù)鋱D的要素,其中蘊(yùn)含了網(wǎng)絡(luò)的拓?fù)鋱D特征,同時(shí),每一條AS_PATH 都可以看作整體拓?fù)鋱D中的一個(gè)子圖.此外,結(jié)合報(bào)文的定時(shí)更新特性,按時(shí)間窗口累計(jì)的AS_PATH 就可以構(gòu)成相對(duì)完整的拓?fù)鋱D,整個(gè)網(wǎng)絡(luò)的變化狀態(tài)就演變成網(wǎng)絡(luò)拓?fù)鋱D的變化,并通過(guò)圖的分布式特征表現(xiàn)出來(lái).其示意圖如圖1所示.
圖1 圖嵌入特征結(jié)構(gòu)
圖1中,拓?fù)鋱D序列表示將AS_PATH 屬性按時(shí)間窗口劃分聚合后的拓?fù)?經(jīng)過(guò)圖嵌入學(xué)習(xí)后,關(guān)聯(lián)各時(shí)序的圖特征,得到嵌入特征,每個(gè)圖的特征可以用統(tǒng)一維度的向量表示,最終獲取多維的時(shí)間序列數(shù)據(jù)進(jìn)行后續(xù)處理.
具體來(lái)說(shuō),對(duì)于給定的圖的集合G={G1,G2,G3,…,Gn},每個(gè)圖Gi都可以用e維向量表示(e為正整數(shù)),那么所有圖的集合可以使用矩陣M表示,其中M∈R|G|×e.對(duì)具體的圖G={N,E,λ},N表示節(jié)點(diǎn)集合,E表示邊的集合,函數(shù)λ表示對(duì)圖中每一個(gè)節(jié)點(diǎn)進(jìn)行唯一標(biāo)記.同時(shí),定義子圖sgn(d),其表示圖中某個(gè)節(jié)點(diǎn)n的深度為d的子圖.其主要算法[23]流程如算法1.
算法1.圖嵌入特征學(xué)習(xí)算法輸入:圖集合G={G1,G2,G3,…,Gn},對(duì)任意圖Gi={Ni,Ei,λi};D:有根子圖的最大深度,并產(chǎn)生包含所有有根子圖的集合,SG={sg1,sg2,…,sgn};e:向量維度;p:周期輪數(shù);r:學(xué)習(xí)率.輸出:圖向量表示矩陣M.1) 隨機(jī)初始化矩陣M.2) 對(duì)所有圖隨機(jī)排序.3) 對(duì)每個(gè)圖Gi的每個(gè)節(jié)點(diǎn)Ni 進(jìn)行處理.4) 獲取節(jié)點(diǎn)Ni周圍所有深度為d的子圖sgi(d),d∈(0,D).5) 獲取子圖sgi(d)出現(xiàn)在圖G 中的概率R(M)=?lnPr(sgi(d)|M(G)).r ?R 6) 根據(jù)上述概率不斷修正更新矩陣M=M?.7) 返回步驟2),進(jìn)行新一輪計(jì)算直至p 輪結(jié)束.8) 返回最終矩陣M.?M
子圖的獲取主要使用了經(jīng)典的威斯費(fèi)勒-萊曼算法.當(dāng)然,對(duì)于圖來(lái)說(shuō),所有子圖的規(guī)模是很大的,因此采用了負(fù)采樣優(yōu)化的方法計(jì)算概率.在學(xué)習(xí)率的選取上,使用經(jīng)驗(yàn)數(shù)值進(jìn)行調(diào)整.
3.2.1 自動(dòng)編碼器(AutoEncoder)
自動(dòng)編碼器[24]是一種對(duì)稱結(jié)構(gòu)的人工神經(jīng)網(wǎng)絡(luò),包括編碼器和解碼器兩個(gè)部分,其本質(zhì)上是一種數(shù)據(jù)壓縮的算法,通常用于高維數(shù)據(jù)的處理.對(duì)輸入的數(shù)據(jù),其編碼器部分會(huì)通過(guò)一個(gè)或多個(gè)隱藏層,形成低維向量數(shù)據(jù),再通過(guò)解碼器部分重建輸入數(shù)據(jù),其框架如圖2所示.
圖2 自動(dòng)編碼器結(jié)構(gòu)
圖2中,輸入層M表示多維向量的集合,輸出層M′表示重構(gòu)向量的集合,中間為隱藏層H,輸入層與隱藏層之間的組件為編碼器,隱藏層與輸出層之間的組件為解碼器.通過(guò)自動(dòng)編碼器的處理,我們可以重建數(shù)據(jù)的原始輸入,并學(xué)習(xí)隱藏層中的高維數(shù)據(jù)的編碼表示.對(duì)于正常數(shù)據(jù)與異常數(shù)據(jù)來(lái)說(shuō),二者重構(gòu)后的數(shù)據(jù)特征差異是巨大的,這樣我們就可以將異常數(shù)據(jù)檢測(cè)出來(lái).
通常,編碼層和解碼層都可以用矩陣變換函數(shù)Φ和Ψ表示:
其中,φ、ψ表示激活函數(shù),W1、W2為轉(zhuǎn)移矩陣,b1、b2為偏差向量.具體來(lái)說(shuō),編碼層的變換將輸入M壓縮表示為H,我們選擇使用常見的激活函數(shù)ReLU,其收斂速度和計(jì)算速度相對(duì)更快;解碼層的變換則是還原并輸出M′的過(guò)程,同樣使用ReLU 作為激活函數(shù).
對(duì)于輸入和輸出之間的重構(gòu)誤差,則使用二階距離度量,記為:
綜上,我們可以通過(guò)尋找合適的參數(shù)使得正常數(shù)據(jù)的重構(gòu)誤差最小,便于將正常數(shù)據(jù)與非正常的數(shù)據(jù)區(qū)分出來(lái).總體而言,自動(dòng)編碼器具備非線性的降維能力,并能通過(guò)中間的隱藏層學(xué)習(xí)更多的特征,與傳統(tǒng)的主成分分析(PCA)算法相比,更具靈活性,也利于提高檢測(cè)的正確率.
3.2.2 集成LSTM的自動(dòng)編碼器
LSTM (long short term memory network)全稱為長(zhǎng)短期記憶網(wǎng)絡(luò)[25],是一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),相比普通的RNN,LSTM 在更長(zhǎng)的時(shí)間序列中有更好的表現(xiàn).
LSTM 網(wǎng)絡(luò)由LSTM 單元構(gòu)成,每個(gè)LSTM 單元會(huì)傳遞自身的狀態(tài)和之前輸入的狀態(tài),選擇忘記不重要的信息,選擇記憶重要的特征信息.因此,可以將LSTM 單元集成到自動(dòng)編碼器中[26],每個(gè)編碼器和解碼器部分都采用LSTM 單元,其結(jié)構(gòu)示意如圖3所示.
圖3 LSTM 自動(dòng)編碼器結(jié)構(gòu)
圖3中,S={S1,S2,…,Sn}表示輸入的時(shí)間序列數(shù)據(jù),時(shí)刻i的序列狀態(tài)記為Si,S'表示自動(dòng)編碼器訓(xùn)練過(guò)程中產(chǎn)生的序列.圖中給出了子序列長(zhǎng)度為4的實(shí)例流程,在編碼器階段,時(shí)刻i的狀態(tài)Pien受到i–3 時(shí)刻到i時(shí)刻的狀態(tài)影響,而在傳遞到解碼器時(shí),只需要傳遞i時(shí)刻的狀態(tài),也就是在此時(shí)刻編碼器狀態(tài)與解碼器狀態(tài)是一致的,解碼器再進(jìn)行反向的狀態(tài)遍歷,還原時(shí)間序列.
在實(shí)驗(yàn)過(guò)程中,使用的BGP 數(shù)據(jù)均來(lái)自開源項(xiàng)目RIPE RIS[27]收集的真實(shí)互聯(lián)網(wǎng)路由信息數(shù)據(jù).RIPE RIS 包含多個(gè)部署在全球各地的遠(yuǎn)程采集器(remote route collectors,RRC)實(shí)時(shí)記錄路由表及更新報(bào)文信息,并提供MRT 格式文件供下載利用.根據(jù)已有的研究成果和最新的BGP 安全事件,我們選取了3 個(gè)事件進(jìn)行分析:2003年的Slammer 蠕蟲爆發(fā)、2017年谷歌劫持BGP 路由、2020年CenturyLink 網(wǎng)絡(luò)中斷事件.其中,Slammer 蠕蟲爆發(fā)時(shí)間最早,且持續(xù)時(shí)間相對(duì)最長(zhǎng)、波及范圍最廣,是當(dāng)時(shí)的年度重大安全事件,相關(guān)的檢測(cè)分析研究也較多,便于與本文提出的方法進(jìn)行對(duì)比;Google 劫持事件則是一次主要集中在日本范圍內(nèi)的異常,且發(fā)現(xiàn)處理的速度較快,影響相對(duì)較小;CenturyLink 網(wǎng)絡(luò)中斷則是2020年最新發(fā)生的全球性大規(guī)模異常事件,反映了整個(gè)互聯(lián)網(wǎng)依然存在的脆弱性問題.各事件相關(guān)情況如表1所示.
表1中的數(shù)據(jù)來(lái)自于RIPE RIS 項(xiàng)目位于日內(nèi)瓦的采集器RRC04和東京大手町的RRC06,分別采集異常事件發(fā)生前后共計(jì)5 天的BGP 更新報(bào)文數(shù)據(jù),并按每分鐘作為間隔提取該時(shí)間范圍內(nèi)的AS_PATH 屬性信息,按照異常的持續(xù)時(shí)間范圍,對(duì)相應(yīng)的信息統(tǒng)一標(biāo)記為BGP 異常數(shù)據(jù).
表1 數(shù)據(jù)集
利用上文提到的圖嵌入特征學(xué)習(xí)算法,結(jié)合AS_PATH 屬性信息,我們可以將相應(yīng)時(shí)間段內(nèi)的網(wǎng)絡(luò)拓?fù)渥兓闆r以向量特征表示出來(lái).具體結(jié)果如圖4.
從圖4中可以看出,在發(fā)生異常事件的時(shí)間段內(nèi),網(wǎng)絡(luò)的拓?fù)涮卣魍瑯訒?huì)發(fā)生明顯變化.
圖4 異常事件拓?fù)鋱D部分特征
在模型數(shù)據(jù)處理中,將數(shù)據(jù)集中的正常數(shù)據(jù)作為訓(xùn)練集和驗(yàn)證集進(jìn)行模型的訓(xùn)練,并使用標(biāo)記的全部數(shù)據(jù)集作為訓(xùn)練集,將模型的檢測(cè)結(jié)果與實(shí)際數(shù)據(jù)集中的標(biāo)記類型進(jìn)行對(duì)比,對(duì)檢測(cè)效果進(jìn)行評(píng)價(jià).
對(duì)正常與異常數(shù)據(jù)的二分類問題,通常采用正確率(Accuracy)、準(zhǔn)確率(Precision)、召回率(Recall)、F值(F-measure)進(jìn)行評(píng)價(jià).具體如下所示:
其中,TP表示檢測(cè)正常為真,TN表示檢測(cè)異常為真,FP表示檢測(cè)異常為假,FN表示檢測(cè)正常為假.正確率反映了整體檢測(cè)的正確水平,準(zhǔn)確率和召回率只針對(duì)正常數(shù)據(jù)的檢測(cè)情況,反映精準(zhǔn)度和錯(cuò)檢情況,F值則是綜合衡量檢測(cè)的性能.
此外,由于異常檢測(cè)中的數(shù)據(jù)是不平衡的,同樣需要關(guān)注對(duì)異常值的檢測(cè)情況,可以使用曲線下面積AUC (area under curve)進(jìn)展評(píng)估,此處的曲線指接收者操作特征曲線ROC,該曲線表示了兩類預(yù)測(cè)分布間的差異性,通常認(rèn)為AUC 值越接近1,分類的效果就越好.
首先,我們使用上文提到的數(shù)據(jù)及模型,對(duì)相關(guān)數(shù)據(jù)集進(jìn)行檢測(cè)分類,以驗(yàn)證方法的有效性.對(duì)于本文而言,通過(guò)實(shí)驗(yàn)不僅可以驗(yàn)證模型的檢測(cè)效果,同時(shí)可以對(duì)文中提出的基于網(wǎng)絡(luò)拓?fù)鋱D嵌入特征的數(shù)據(jù)集構(gòu)建方法進(jìn)行有效驗(yàn)證.實(shí)驗(yàn)的具體結(jié)果如表2所示.
表2 LSTM 自動(dòng)編碼器檢測(cè)結(jié)果(%)
從表2中可知,模型整體的正確率很高,都在90%以上,特別是在Google 事件數(shù)據(jù)集中正確率達(dá)到了99.37%,但其F值相對(duì)較低,主要是該異常事件持續(xù)時(shí)間短,在按分鐘級(jí)的數(shù)據(jù)提取情況下,異常數(shù)據(jù)的量相對(duì)于正常數(shù)據(jù)所占比例是非常小的,同時(shí)個(gè)別數(shù)據(jù)特別是在異常事件起始和終止時(shí)刻的數(shù)據(jù)難以精準(zhǔn)的識(shí)別判斷,容易出現(xiàn)錯(cuò)檢情況,從而對(duì)檢測(cè)結(jié)果產(chǎn)生較大影響.相對(duì)的,對(duì)于持續(xù)時(shí)間較長(zhǎng)的異常事件,受到的干擾影響就比較小,檢測(cè)的結(jié)果就比較穩(wěn)定.具體到F值上看,異常事件的持續(xù)時(shí)間越長(zhǎng),異常檢測(cè)的準(zhǔn)確度也越高.
同時(shí),進(jìn)一步使用AUC 對(duì)3 個(gè)異常事件的整體分類情況進(jìn)行評(píng)估,得到AUC 曲線圖如圖5所示.
圖5 ROC 曲線圖
從圖5中可知,在CenturyLink 事件中的異常檢測(cè)效果最好,達(dá)到95.6%.這也與前表中該事件正確率與F值的水平都比較均衡有關(guān),整體上達(dá)到了很好的異常分類效果.而在Google 事件中,可以明顯觀察到曲線的階梯狀上升,這就是在極少量異常數(shù)據(jù)情況下單個(gè)異常點(diǎn)數(shù)據(jù)影響的結(jié)果.
綜合上述檢測(cè)結(jié)果,我們認(rèn)為構(gòu)建的數(shù)據(jù)集和相應(yīng)的檢測(cè)模型都是有效的.特別是對(duì)于BGP 數(shù)據(jù)集的構(gòu)建方法,采用的拓?fù)鋱D嵌入特征能夠很好的反映異常事件中的數(shù)據(jù)變化情況,相比于文獻(xiàn)[18]中提出的基于37 種BGP 數(shù)據(jù)擴(kuò)展特征構(gòu)建的數(shù)據(jù)集或者從中選取部分?jǐn)U展特征構(gòu)建的數(shù)據(jù)集而言,更加簡(jiǎn)單易于處理,并且進(jìn)一步結(jié)合檢測(cè)模型能獲得較為理想的檢測(cè)結(jié)果.
為了進(jìn)一步評(píng)估模型的效果,使用經(jīng)典的支持向量機(jī)(support vector machines,SVM)模型及前文提到的原始自動(dòng)編碼器模型對(duì)Slammer 數(shù)據(jù)集進(jìn)行了異常檢測(cè)分類測(cè)試,結(jié)果如表3所示.
從表3中可知,文中提出的LSTM 自動(dòng)編碼器模型的異常檢測(cè)效果最好,其F值和正確率都優(yōu)于其他兩種模型.對(duì)于原始的自動(dòng)編碼器模型而言,還是體現(xiàn)出了其作為深度學(xué)習(xí)算法在高維數(shù)據(jù)非線性處理上的優(yōu)勢(shì),結(jié)合數(shù)據(jù)的時(shí)間序列特征集成LSTM 處理單元之后,模型的檢測(cè)能力得到了進(jìn)一步的提高.
表3 不同模型異常檢測(cè)結(jié)果(%)
本文針對(duì)BGP 數(shù)據(jù)的異常檢測(cè)問題,提出了一種使用LSTM 自動(dòng)編碼器模型進(jìn)行異常事件檢測(cè)的方法.為了能夠有效的檢測(cè)出BGP 異常事件,從互聯(lián)網(wǎng)中真實(shí)的歷史數(shù)據(jù)入手,利用圖嵌入特征算法,獲取基于時(shí)間序列的網(wǎng)絡(luò)拓?fù)渥兓闆r,構(gòu)建基于網(wǎng)絡(luò)拓?fù)鋱D特征的數(shù)據(jù)集,為模型處理提供高效簡(jiǎn)潔的數(shù)據(jù).我們通過(guò)選取3 起有代表性的BGP 安全事件及相關(guān)節(jié)點(diǎn)采集的數(shù)據(jù)進(jìn)行了模型方法的驗(yàn)證.實(shí)驗(yàn)結(jié)果表明,該數(shù)據(jù)集能夠很好的反映異常事件中的網(wǎng)絡(luò)特征變化情況,使用的模型相比于傳統(tǒng)的檢測(cè)方法有更高的準(zhǔn)確率,能夠有效檢測(cè)出BGP 異常事件,便于后續(xù)及時(shí)響應(yīng)處理.下一步將結(jié)合具體的應(yīng)用場(chǎng)景,研究更大規(guī)模BGP 時(shí)間序列數(shù)據(jù)情況下的檢測(cè)與響應(yīng)機(jī)制.