郝菊香, 馮娜
(西安交通工程學(xué)院,交通運(yùn)輸學(xué)院, 陜西, 西安 710300)
網(wǎng)絡(luò)安全是城市軌道交通需要研究的重要問(wèn)題之一,隨著城市軌道交通規(guī)模的擴(kuò)大和智能化信息化程度的提升,其通信網(wǎng)絡(luò)更為復(fù)雜,對(duì)網(wǎng)絡(luò)安全的要求更為嚴(yán)苛。傳統(tǒng)單一的防御機(jī)制無(wú)法保證能夠阻止所有的網(wǎng)絡(luò)攻擊,防火墻也僅能過(guò)濾和阻止大多數(shù)非法入侵。數(shù)據(jù)規(guī)則檢測(cè)被看作是防火墻之后的第二層安全防護(hù)網(wǎng),可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的實(shí)時(shí)檢測(cè),在保證網(wǎng)絡(luò)通信速度和數(shù)據(jù)通信質(zhì)量的情況下,對(duì)網(wǎng)絡(luò)多個(gè)關(guān)鍵節(jié)定進(jìn)行數(shù)據(jù)收集和過(guò)濾,發(fā)掘和阻止存在的異常行為[1]。文中分析異常檢測(cè)和誤用檢測(cè)2種方法的特點(diǎn),引入仲裁機(jī)制將2種算法的特性進(jìn)行融合,提出一種基于雙輪廓模型的復(fù)合規(guī)則檢測(cè)算法,利用Apriori算法提升檢測(cè)規(guī)則的挖掘速度,實(shí)驗(yàn)結(jié)果驗(yàn)證了算法的有效性。
規(guī)則檢測(cè)模型如圖1所示,主要可以分為數(shù)據(jù)解析、預(yù)處理、規(guī)則檢測(cè)引擎、日志與報(bào)警、警告輸出等。首先需要對(duì)待檢測(cè)數(shù)據(jù)包進(jìn)行數(shù)據(jù)解析;然后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,對(duì)數(shù)據(jù)進(jìn)行重組、格式化等處理,將其轉(zhuǎn)換為規(guī)則檢測(cè)規(guī)定的標(biāo)準(zhǔn)格式[2];最后將預(yù)處理后的數(shù)據(jù)輸入至檢測(cè)引擎,通過(guò)規(guī)則庫(kù)的檢測(cè)判斷,輸出所有符合規(guī)則的數(shù)據(jù)包,獲取并輸出檢測(cè)結(jié)果。

圖1 規(guī)則檢測(cè)模型
常見(jiàn)的規(guī)則檢測(cè)方法包括誤用檢測(cè)法和異常檢測(cè)法等。誤用檢測(cè)法主要依據(jù)“黑名單”庫(kù),將已獲知的網(wǎng)絡(luò)攻擊行為轉(zhuǎn)化為判據(jù)規(guī)則,生成判別規(guī)則數(shù)據(jù)庫(kù)。將待檢測(cè)事件與規(guī)則庫(kù)進(jìn)行比對(duì),若與規(guī)則能夠成功匹配,則判別為網(wǎng)絡(luò)入侵行為。異常檢測(cè)主要依據(jù)“白名單”庫(kù),即將正常網(wǎng)絡(luò)訪問(wèn)行為轉(zhuǎn)化為相對(duì)應(yīng)的規(guī)則庫(kù),當(dāng)待檢事件與規(guī)則庫(kù)無(wú)法匹配時(shí),則判斷為異常行為。誤用檢測(cè)法對(duì)已入庫(kù)的網(wǎng)絡(luò)攻擊類型具有較高的檢測(cè)準(zhǔn)確率,而對(duì)新型的未入庫(kù)入侵行為其檢測(cè)能力不足。異常檢測(cè)法則對(duì)未知的新型入侵具有較高的檢測(cè)能力。若能將2種檢測(cè)方法進(jìn)行融合,發(fā)揮二者的優(yōu)勢(shì),則可提升系統(tǒng)整體的檢測(cè)準(zhǔn)確率。
雙輪廓檢測(cè)法主要是同時(shí)利用異常檢測(cè)和誤用檢測(cè)2種檢測(cè)方法,對(duì)正常行為和異常行為進(jìn)行協(xié)同檢測(cè)。雙輪廓規(guī)則檢測(cè)算法框架如圖2所示。數(shù)據(jù)被同時(shí)進(jìn)行誤用檢測(cè)和異常檢測(cè),將2種方法的檢測(cè)結(jié)果輸入至仲裁模塊,通過(guò)仲裁來(lái)判決是否存在異常入侵行為。需要設(shè)定仲裁規(guī)則以對(duì)2種檢測(cè)結(jié)果進(jìn)行裁決,這里采用基于專家投票的判決方法。

圖2 雙輪廓規(guī)則檢測(cè)算法框架
專家投票過(guò)程首先是對(duì)每個(gè)檢測(cè)器的結(jié)果進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)樣本被判定為每個(gè)類別的次數(shù),將判定次數(shù)最多的類別看作該樣本的真實(shí)類別。專家投票法簡(jiǎn)單有效,但其將各個(gè)檢測(cè)器的比重看作一樣,忽視了檢測(cè)器性能的差異[3]。由于每個(gè)檢測(cè)器的檢測(cè)性能實(shí)際并不完全相同,采用相同權(quán)重處理每個(gè)檢測(cè)結(jié)果則會(huì)造成檢測(cè)結(jié)果與實(shí)際產(chǎn)生偏差。為解決該問(wèn)題,為各個(gè)檢測(cè)器設(shè)置不同的權(quán)重系數(shù)。設(shè)n個(gè)檢測(cè)器定義為D={D1,D2,…,Dn},設(shè)樣本為Xi,各個(gè)檢測(cè)器輸出值中,1定義為入侵行為,0定義為正常行為。所有檢測(cè)器輸出結(jié)果定義為向量N={N1,N2,…,Nn},所有檢測(cè)器的檢測(cè)準(zhǔn)確率定義為向量TPR={T1,T2,…,Tn},根據(jù)各個(gè)檢測(cè)器的檢測(cè)準(zhǔn)確率為其分配權(quán)重值,公式為
(1)
獲得權(quán)重值向量W={W1,W2,…,Wn},將檢測(cè)結(jié)果與權(quán)重向量作內(nèi)積,獲得最終裁決結(jié)果為
R=N×W=N1W1+N2W2+…+NnWn
(2)
式中,R表示輸出的最終檢測(cè)結(jié)果,當(dāng)R>0.5時(shí),則判定數(shù)據(jù)檢測(cè)結(jié)果為入侵行為,輸出報(bào)警結(jié)果,否則判定為正常行為。該系統(tǒng)分為誤用檢測(cè)和異常檢測(cè)2種檢測(cè)器,設(shè)定2種檢測(cè)器的檢測(cè)準(zhǔn)確率如表1所示。

表1 檢測(cè)器準(zhǔn)確率
表中Na的值為0,表示檢測(cè)結(jié)果為正常;Nm的值為1,表示檢測(cè)結(jié)果為異常。a值的范圍為[0,1],依據(jù)上述仲裁規(guī)則,得到輸出結(jié)果R的公式為
(3)
R值的范圍為[0,1],當(dāng)R>0.5時(shí)判定為異常,否則判定為正常行為。
基于雙輪廓規(guī)則檢測(cè)法主要是同時(shí)利用誤用檢測(cè)和異常檢測(cè)規(guī)則作為其檢測(cè)引擎,同時(shí)構(gòu)建“白名單”和“黑名單”數(shù)據(jù)庫(kù),以提升系統(tǒng)的檢測(cè)準(zhǔn)確率。雙輪廓檢測(cè)模型如圖3所示。與傳統(tǒng)檢測(cè)模型相比,增加了仲裁判決模塊,系統(tǒng)的核心部分在于檢測(cè)規(guī)則,采用關(guān)聯(lián)分析算法,在大數(shù)據(jù)中挖掘數(shù)據(jù)間的潛在規(guī)則[4]。
關(guān)聯(lián)分析算法指在大數(shù)據(jù)中挖掘數(shù)據(jù)之間隱藏的關(guān)聯(lián)關(guān)系,屬于數(shù)據(jù)挖掘的重要研究方向之一,其目的是挖掘數(shù)據(jù)間關(guān)聯(lián)規(guī)則。關(guān)聯(lián)分析算法可分為頻繁項(xiàng)挖掘和規(guī)則生成2個(gè)主要部分,首先是從數(shù)據(jù)集合中挖掘出支持度值大于最小支持度閾值的所有項(xiàng)集,將其視為頻繁項(xiàng)集。然后,從頻繁項(xiàng)集中提取置信度大于最小置信度閾值的強(qiáng)規(guī)則,最終生成關(guān)聯(lián)規(guī)則。Apriori算法是一種新型的頻繁集挖掘算法,其主要原理是利用頻繁項(xiàng)集的非空子集必定具備頻繁性質(zhì),反之,對(duì)于非頻繁項(xiàng)集,其超集也必是非頻繁性[5]。利用此特性可對(duì)數(shù)據(jù)集合進(jìn)行剪切,從而降低了數(shù)據(jù)比較次數(shù),具有運(yùn)算速度快的優(yōu)勢(shì)。

圖3 雙輪廓檢測(cè)模型
頻繁項(xiàng)集反應(yīng)了某類數(shù)據(jù)的特征,從異常入侵?jǐn)?shù)據(jù)集合中提取出的頻繁項(xiàng)集反應(yīng)了網(wǎng)絡(luò)入侵行為的特征,從正常數(shù)據(jù)集合中提取的頻繁項(xiàng)集反應(yīng)了系統(tǒng)正常數(shù)據(jù)的特征。關(guān)聯(lián)分析算法對(duì)入侵和正常的大數(shù)據(jù)集合分別實(shí)施數(shù)據(jù)挖掘,從而獲得最終用于數(shù)據(jù)檢測(cè)的檢測(cè)規(guī)則。關(guān)聯(lián)分析挖掘算法的主要流程如圖4所示,主要分為預(yù)處理、管理分析、生成規(guī)則等環(huán)節(jié)。首先分別對(duì)某些入侵型數(shù)據(jù)和正常數(shù)據(jù)進(jìn)行特征提取和編碼預(yù)處理,然后利用Apriori算法進(jìn)行大數(shù)據(jù)挖掘,將獲取的同時(shí)滿足最小支持度和最小置信度的規(guī)則判定為強(qiáng)規(guī)則,將強(qiáng)規(guī)則轉(zhuǎn)換為最終進(jìn)行數(shù)據(jù)檢測(cè)的檢測(cè)規(guī)則,引入雙輪廓檢測(cè)模型的規(guī)則庫(kù)中,作為雙輪廓檢測(cè)的入侵檢測(cè)規(guī)則[6]。

圖4 關(guān)聯(lián)分析挖掘算法流程
Apriori算法對(duì)待測(cè)數(shù)據(jù)進(jìn)行逐層搜索,通過(guò)逐層迭代搜尋出所有的頻繁項(xiàng)集,算法流程圖如圖5所示。整個(gè)挖掘算法以支持度為評(píng)判標(biāo)準(zhǔn),首先搜尋出頻繁項(xiàng)集L1,然后連接L1繼續(xù)搜索,獲得待候選的2項(xiàng)集,對(duì)2項(xiàng)集進(jìn)行進(jìn)一步篩選,剔除低于支持度的候選集,最終得到頻繁項(xiàng)集L2。算法以此遞推,挖掘出所有頻繁項(xiàng)集為止,所獲得的頻繁項(xiàng)集集合即為最終結(jié)果。在Apriori算法中,最小支持度值設(shè)定為0.5,最小置信度值也設(shè)為0.5,通過(guò)該算法的數(shù)據(jù)挖掘,導(dǎo)出數(shù)據(jù)檢測(cè)所需的關(guān)聯(lián)規(guī)則。
為驗(yàn)證雙輪廓檢測(cè)算法的性能,模擬3種典型的網(wǎng)絡(luò)攻擊,分別為tftp協(xié)議漏洞攻擊、MS09-001攻擊和MS17-010漏洞攻擊,將tftp協(xié)議漏洞攻擊和MS09-001攻擊看作已知的攻擊類型,MS17-010漏洞攻擊看作未知的攻擊類型。將獲取的3種攻擊的大數(shù)據(jù)包分為3份,分別用于誤用檢測(cè)、異常檢測(cè)、雙輪廓檢測(cè)3種方案的訓(xùn)練數(shù)據(jù),同時(shí)取信息系統(tǒng)正常數(shù)據(jù)包,同樣分為3份分別作為3種檢測(cè)方案的訓(xùn)練數(shù)據(jù)。然后,生成攻擊數(shù)據(jù)和正常數(shù)據(jù)的混合數(shù)據(jù)包,分別對(duì)3種檢測(cè)方法進(jìn)行檢測(cè)效果驗(yàn)證,共進(jìn)行120此實(shí)驗(yàn),檢測(cè)性能統(tǒng)計(jì)結(jié)果如表2所示。

圖5 Apriori算法流程圖

表2 數(shù)據(jù)檢測(cè)統(tǒng)計(jì)結(jié)果
由表2中統(tǒng)計(jì)結(jié)果可知,單獨(dú)的誤用檢測(cè)方法針對(duì)已獲知的網(wǎng)絡(luò)攻擊具備較高的檢測(cè)效果,而對(duì)于未知性的入侵攻擊類型的檢測(cè)能力不足,而異常檢測(cè)對(duì)已知和未知攻擊均具備較高的檢測(cè)率,整體檢測(cè)率較高,但同時(shí)造成誤報(bào)率較高。雙輪廓檢測(cè)算法兼容了誤用檢測(cè)和異常檢測(cè)二者的特性,具備最高的檢測(cè)率和最低的誤報(bào)率,3種方案相比,雙輪廓檢測(cè)算法的整體檢測(cè)效果最優(yōu)。
單一的誤用檢測(cè)和異常檢測(cè)算法均具有各自的優(yōu)勢(shì)和不足,通過(guò)專家投票裁決機(jī)制將2種算法有效融合,實(shí)現(xiàn)算法的互補(bǔ),模擬實(shí)驗(yàn)結(jié)果驗(yàn)證了方案的有效性。同時(shí),檢測(cè)規(guī)則是數(shù)據(jù)檢測(cè)中最為關(guān)鍵的環(huán)節(jié),利用關(guān)聯(lián)分析法實(shí)現(xiàn)大數(shù)據(jù)中隱含關(guān)聯(lián)關(guān)系的挖掘,采用Apriori算法可有效降低數(shù)據(jù)運(yùn)算復(fù)雜性,提升規(guī)則搜索速度,關(guān)于檢測(cè)規(guī)則的挖掘優(yōu)化問(wèn)題,可作進(jìn)一步深入研究。