亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種面向無線入侵檢測系統(tǒng)的復(fù)雜攻擊識別技術(shù)的制作方法

文檔序號:12739479閱讀:378來源:國知局
一種面向無線入侵檢測系統(tǒng)的復(fù)雜攻擊識別技術(shù)的制作方法與工藝

本發(fā)明涉及復(fù)雜攻擊識別技術(shù),更具體說,它涉及一種識別復(fù)雜攻擊并預(yù)測攻擊者最終意圖的識別技術(shù)。



背景技術(shù):

近幾年來無線網(wǎng)絡(luò)越來越普及,無論是在公司內(nèi)部,公共場所還是消費(fèi)者家中都會(huì)部署無線局域網(wǎng)WLAN,而非常豐富的接入點(diǎn)AP也極大的方便了人們尤其是使用移動(dòng)終端的用戶。移動(dòng)端的用戶量這些年一直在增長,而很多應(yīng)用如社交、游戲、影音、新聞、金融等也越來越偏向于讓用戶使用移動(dòng)端來交互,這是移動(dòng)端的天然優(yōu)勢。但由于無線通信協(xié)議本身的缺陷,或者這些移動(dòng)端設(shè)備制造時(shí)留下的漏洞,使得用戶的信息、財(cái)產(chǎn)甚至生命都會(huì)受到潛在的威脅。這些設(shè)備所使用的移動(dòng)網(wǎng)絡(luò)成了入侵的門路,而移動(dòng)端特別是手機(jī)端就成了不法者獲取非法信息的來源或?qū)嵤┕?、詐騙的載體。所以如何盡量填補(bǔ)移動(dòng)互聯(lián)網(wǎng)中的漏洞,以及如何檢測和防范針對它的各種已知和未知的入侵,是一件相當(dāng)重要的事情。為此已經(jīng)發(fā)展了很多相關(guān)技術(shù),其中主要有防火墻、入侵檢測和防御技術(shù),它們已經(jīng)在有線網(wǎng)絡(luò)環(huán)境安全中有了很大的應(yīng)用。而針對無線網(wǎng)絡(luò)環(huán)境的則是無線入侵檢測和防御系統(tǒng)WIDS\WIPS。另一事實(shí)是攻防兩方都是在發(fā)展的,攻擊者為了達(dá)到他們的目的,也在開發(fā)更加復(fù)雜的攻擊技術(shù)。目前針對無線網(wǎng)絡(luò)環(huán)境的攻擊者往往會(huì)實(shí)施很多的攻擊步驟來接近目標(biāo),這大大增加了入侵檢測或防御難度,而傳統(tǒng)的誤用檢測如Snort rules等只適用于單步攻擊,針對復(fù)雜攻擊的研究,目前主要還集中在有線入侵檢測領(lǐng)域,而無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)在攻擊行為上存在很大差異,比如攻擊目標(biāo)不同,有線網(wǎng)絡(luò)攻擊目標(biāo)多為主機(jī),而無線網(wǎng)絡(luò)則包含AP、PC端和移動(dòng)終端等;攻擊層次不同,有線網(wǎng)絡(luò)攻擊多為網(wǎng)絡(luò)層及以上,而無線網(wǎng)絡(luò)攻擊涉及物理層和邏輯鏈路層;攻擊手段不同,有線網(wǎng)絡(luò)攻擊往往探測主機(jī)漏洞來入侵,而無線網(wǎng)絡(luò)攻擊主要是破解密鑰,非法接入或偽裝來對流量進(jìn)行操作,由于無線攻擊的這些特殊性,尚無有效的適用復(fù)雜攻擊的多步無線攻擊檢測技術(shù)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是克服現(xiàn)有技術(shù)中的不足,提供一種識別復(fù)雜攻擊并預(yù)測攻擊者最終意圖的面向無線入侵檢測系統(tǒng)的復(fù)雜攻擊識別技術(shù)。

為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明采用了以下技術(shù)方案:

面向無線入侵檢測系統(tǒng)的復(fù)雜攻擊識別技術(shù),包括如下步驟:

步驟一、數(shù)據(jù)采集

系統(tǒng)數(shù)據(jù)采集來源為線上線下兩種,線上采用kismet分布式采集或libpcap,接口一般為monitor mode的USB網(wǎng)卡,或者是kismet寫入的tun/tap虛擬接口;采集到的數(shù)據(jù)包根據(jù)數(shù)據(jù)鏈路層類型又分為三種格式,正確解析可得到各個(gè)層各字段信息,其中radiotap和PPI將包含諸如接收信號強(qiáng)度指示器(Received Signal Strength Indicator,RSSI)等物理層特征;

步驟二、單步攻擊識別

由兩個(gè)部分組成,一個(gè)是一種通用的無需訓(xùn)練的檢測方法(General Detector),對于各個(gè)攻擊行為,只需設(shè)定所需metric即可;另外針對特定攻擊行為,使用誤用檢測技術(shù),通過配置攻擊簽名庫(Signature Database)來判斷的方法(Specification Detector);本模塊將結(jié)合兩種識別方法來判斷單步攻擊是否發(fā)生,以及攻擊者影響到的幀;

步驟三、復(fù)雜攻擊識別

步驟二產(chǎn)生一系列的單步攻擊信息SAI存入到攻擊數(shù)據(jù)庫(Attack Database)中,供復(fù)雜攻擊識別模塊進(jìn)行分析;復(fù)雜攻擊識別對應(yīng)IDS的告警關(guān)聯(lián)階段,而攻擊圖用于告警關(guān)聯(lián);復(fù)雜攻擊識別就使用了邏輯攻擊圖(logic attack graph,LAG),和虛擬拓?fù)鋱D(virtual topology graph,VTG)搭配去挖掘攻擊路徑(Attack Path);復(fù)雜攻擊識別包含告警精簡,VTG生成器,LAG生成器,簽名數(shù)據(jù)庫,攻擊路徑解析器,復(fù)雜攻擊評估等子模塊,其架構(gòu)如圖4所示;

上一步得到的單步攻擊的告警,在這一模塊中,將有兩個(gè)主要步驟;首先需要預(yù)處理,去除無關(guān)告警和重復(fù)告警,精簡告警數(shù)量;第二步需要通過整理得到的超告警hyper alert去識別攻擊者易采取的攻擊序列,并預(yù)測攻擊者后續(xù)動(dòng)作和最終意圖;

識別攻擊序列時(shí),從邏輯上將告警(Alert)分為三類;一類是已檢測到的告警(Alert Detected,ADE),這類告警明確屬于某種單步攻擊;一類是未檢測到的告警(Alert Undetected,AUD),即可能丟失的告警;一類是未來將發(fā)生的告警(Alert Predicted,APR),即預(yù)測結(jié)果;第一類告警還分為屬于真實(shí)意圖的告警(Alert Real,AR)以及擾亂告警(Alert Disturbed,AD);

步驟四、信息展示界面

信息展示界面包含VTG可視化圖,排序攻擊鏈以及攻擊目標(biāo)預(yù)測;無線入侵檢測系統(tǒng)實(shí)時(shí)顯示當(dāng)前VTG,通過VTG讓用戶觀察出當(dāng)前網(wǎng)絡(luò)是否有攻擊行為發(fā)生,以及通過對虛擬節(jié)點(diǎn)間流量的統(tǒng)計(jì)來突出攻擊者和受害者等重要節(jié)點(diǎn)的位置;排序攻擊鏈則實(shí)時(shí)顯示當(dāng)前估計(jì)的所有可能的攻擊鏈,其中排在前面的1個(gè)或幾個(gè)攻擊鏈對應(yīng)的攻擊意圖則為當(dāng)前預(yù)測攻擊者意圖。

所述步驟二具體包括:

(一)識別方法

對于一個(gè)幀而言,有Θ={NF,MF},其中{NF|MF}=UF(uncertain frame);對于每一個(gè)metric,維持一個(gè)滑動(dòng)窗口(sliding window,SW),其長度為n,則有n個(gè)NF幀在其中組成profile dataset;若檢測到一個(gè)幀為MF,則不會(huì)將其放入SW中,若檢測為NF則更新SW;

該方法對的基本概率分配(BPA)如下:

BeliefMF:SW中metric重復(fù)最大次數(shù)F,均值mean,最大Euclidean距離Dmax,角度α計(jì)算方法見公式1;

而對于每一個(gè)進(jìn)入的幀,角度β計(jì)算方法見公式2;

其中D是該幀的metric對應(yīng)mean的Euclidean距離,值為

BeliefNF:將SW中的數(shù)據(jù)按metric大小順序排列后,根據(jù)進(jìn)入幀的metric值所在位置分配固定值;離中位數(shù)越近取值越高,最高為0.5;

BeliefUF:根據(jù)前面兩種分配數(shù)值有以下四種情形:

(1)MF取低值,NF取低值;

(2)MF取低值,NF取高值;

(3)MF取高值,NF取低值;

(4)MF取高值,NF取高值;

在(2)(3)種情形下,MF和NF沒有沖突則分配UF一個(gè)較小值;在(1)(4)種情形下則需要分配較高值;分配方法是先按公式3計(jì)算出BeliefUF,而后按公式4和公式5重新分配各個(gè)Belief值使其和為1;

m(x)=Beliefx-μ 公式(5)

之后合成各個(gè)metric的BPA,并設(shè)定閾值,用于判定進(jìn)入幀是MF還是NF;

要使得該方法有效有三個(gè)需要滿足的條件;第一,正常流量占總流量大部分;第二,NF、MF的metrics值有明顯差異;第三,滑動(dòng)窗口長度n的設(shè)置;n取值過小,則無法包含足夠信息,取值過大,則增加誤入MF風(fēng)險(xiǎn),同時(shí)延長檢測過程;

(二)攻擊簽名

單步攻擊檢測中的誤用檢測,使用攻擊簽名模型EDL來描述攻擊行為,而Specification Detector據(jù)此簽名數(shù)據(jù)庫signature database來進(jìn)行檢測;若檢測到單步攻擊,則有8元組s_attack(name,src,dst,tran,ftime,etime,bssid,rframes);其中name為攻擊名,src為AN地址,dst為VN地址,tran為SN地址,ftime為檢測出時(shí)間,etime為估計(jì)攻擊最早發(fā)生時(shí)間,bssid為VN所在網(wǎng)絡(luò)BSSID,rframes為相關(guān)MF幀集合;

(三)單步攻擊決策

根據(jù)上述兩種檢測方法得到的結(jié)果,綜合判斷攻擊是否發(fā)生;兩種檢測方法均建立內(nèi)存數(shù)據(jù)庫,存儲(chǔ)所有檢測的歷史數(shù)據(jù);General Detector存儲(chǔ)每個(gè)幀的信任區(qū)間,Specification Detector存儲(chǔ)每個(gè)檢測到s_attack;單步攻擊決策函數(shù)為s_decsion(t):int->[0,1],t為某時(shí)刻,結(jié)果為攻擊發(fā)生可能性(attack possiblility,AP);s_decsion將從內(nèi)存數(shù)據(jù)庫中分別根據(jù)幀的時(shí)間戳和ftime查找t附近的數(shù)據(jù);

若某種攻擊行為只進(jìn)行了其中一種檢測方法,則以其為準(zhǔn);若兩者均處于檢測中則對某時(shí)刻t有如下情形:

(1)General Detector檢測到,Specification Detector檢測到;

(2)General Detector檢測到,Specification Detector未檢測到;

(3)General Detector未檢測到,Specification Detector檢測到;

(4)General Detector未檢測到,Specification Detector未檢測到;

在(1)(4)情形下,兩者結(jié)果一致則直接以此為結(jié)果,為1和0;

在(2)情形下,認(rèn)為有攻擊A發(fā)生,對應(yīng)該MF,結(jié)果為公式6所示;

αBelMF(A)+βPlMF(A) 公式(6)

在(3)情形下,對應(yīng)該攻擊和幀的信任區(qū)間或拒絕證據(jù)區(qū)間較大,此時(shí)認(rèn)為有攻擊A發(fā)生,對應(yīng)s_attack;此時(shí),計(jì)算s_attack中r_frames的所有信任區(qū)間的均值如公式7、8所示;

若均值滿足General Detector設(shè)定的閾值,則結(jié)果為1,否則結(jié)果按公式9計(jì)算;

αBelr_frames(A)+βPlr_frames(A) 公式(9)

上述有參數(shù)α+β=1,α,β∈[0,1],通常取值α=β=0.5;

單步攻擊決策中,需要對幀的分類,單步攻擊結(jié)果輸出進(jìn)行統(tǒng)一化;在(1)情形下,將General Detector對應(yīng)的MF加入到rframes中,在(2)情形下,根據(jù)MF構(gòu)造出s_attack(A,MF.mac_src,MF.mac_dst,MF.mac_reciever,MF.timestamp,MF.bssid,{MF}),其中的name為A,src為MF數(shù)據(jù)鏈路層的源地址,dst為MF的目的地址,tran為接收端地址,ftime和etime為timestamp,rframes為{MF},bssid為MF的BSSID;最終單步攻擊識別模塊輸出對象single-step attack information(SAI)為二元組(AP,s_attack);另外,上述描述針對某一攻擊行為A進(jìn)行識別,而某個(gè)MF則可能識別后與多個(gè)攻擊行為相關(guān);所以該模型需要假設(shè)如下;

Hypothesis 1:實(shí)際情形下,當(dāng)某一個(gè)數(shù)據(jù)幀對應(yīng)幾種不同的攻擊行為,則這些攻擊行為互不干擾,且有一定的關(guān)聯(lián)關(guān)系。

所述步驟3具體包括:

(一)告警精簡

步驟二中產(chǎn)生的單步攻擊告警,由于其General Detector細(xì)化到幀的程度,將可能產(chǎn)生大量的告警,所以有必要對這些告警進(jìn)行精簡處理,以減少告警數(shù)量,消除無關(guān)告警和重復(fù)告警;告警精簡流程如圖5所示;無關(guān)告警和重復(fù)告警描述如下:

(1)無關(guān)告警:有一些告警指示的是與無線攻擊行為無關(guān)的其他攻擊,或者該告警明顯錯(cuò)誤;

(2)重復(fù)告警:同一攻擊行為產(chǎn)生的告警,且沒有在單步攻擊識別模塊中合并,通常是具有相同攻擊路徑由同一攻擊者發(fā)出的同一類型攻擊行為,或者時(shí)間上存在連續(xù)性、周期性的表現(xiàn);

處理單步攻擊識別模塊產(chǎn)生的數(shù)據(jù)庫SAIs時(shí),比較算子cmp(SAI1,SAI2)比較兩者是否可以合并,若可以則放入同一個(gè)集合Merging SAIs中;于是將SAIs分類成一組Merging SAIs,對每一個(gè)SAIs進(jìn)行合并;

合并規(guī)則如下:依據(jù)SAI.AP,SAI.ftime,averge[SAI.rframes.timestamps]進(jìn)行K-means聚類,將Merging SAIs細(xì)分后進(jìn)行合并;對于集合SAI sai_same合并后生成新的SAI_new(AP,A,src,dst,tran,ftime,etime,bssid,rframes);其中A,src,dst,tran,bssid不變;有ftimeSAI_new=min(ftimess),etimeSAI_new=min(etimess),rframesSAI_new=∪rframesss;

特別的是AP的選擇,如果以元組形式保存所有合并項(xiàng)的AP值,則會(huì)造成合并后的告警在這一字段擁有不同的維度;為了統(tǒng)一方便后續(xù)處理,有APSAI_new==median(APss),即選取AP的中位數(shù);

告警精簡過后得到超告警hyper alert,這些告警之間存在關(guān)聯(lián)關(guān)系,即可能的攻擊鏈;復(fù)雜攻擊識別模塊接下來的部分包含VTG生成器,LAG生成器,攻擊路徑解析,復(fù)雜攻擊評估等子模塊;

(二)攻擊鏈簽名

攻擊鏈簽名描繪了常見復(fù)雜攻擊場景,攻擊鏈基于因果關(guān)系建立攻擊之間的鏈接;一個(gè)攻擊發(fā)生需要前置條件,發(fā)生后產(chǎn)生一些后果;從前一步攻擊到達(dá)后一步攻擊需要滿足conditions;最后的一項(xiàng)攻擊節(jié)點(diǎn)為最終攻擊者所實(shí)施的攻擊,通常蘊(yùn)含著攻擊者的攻擊真實(shí)意圖;復(fù)雜攻擊識別模塊的簽名數(shù)據(jù)庫包含了一系列經(jīng)典攻擊鏈,供生成LAG所需;

(三)LAG生成

上述動(dòng)態(tài)生成的攻擊圖包含了所有已檢測到單步攻擊和它們所可能存在的攻擊鏈;簡單攻擊場景會(huì)生成簡單的攻擊圖,復(fù)雜攻擊場景會(huì)生成復(fù)雜的攻擊圖;

(四)VTG生成

上述動(dòng)態(tài)生成的虛擬拓?fù)鋱D包含了所有已檢測到單步攻擊涉及的節(jié)點(diǎn),以及節(jié)點(diǎn)之間的連接;虛擬拓?fù)鋱D定義VTG=(VNs,VNt,VNm,AE),其中VNs為攻擊者所在虛擬節(jié)點(diǎn)集合,VNt為受害者所在虛擬節(jié)點(diǎn)集合,VNm為過渡者所在虛擬節(jié)點(diǎn)集合,AE為虛擬節(jié)點(diǎn)之間的攻擊流量集合;虛擬節(jié)點(diǎn)VN擁有攻擊者、受害者、過渡者三個(gè)角色;虛擬節(jié)點(diǎn)VN并不代表真實(shí)的物理設(shè)備,一個(gè)VN可包含不同的地址,一個(gè)物理設(shè)備也可分出幾個(gè)VN,而一個(gè)VN對應(yīng)不同攻擊所扮演的角色也可以不同;

為了合理簡化系統(tǒng)復(fù)雜性,VN的生成和合并需要有以下假設(shè)條件:

Hypothesis 2:攻擊設(shè)備不會(huì)映射為受害者VN;

Hypothesis 3:一個(gè)VN對應(yīng)一個(gè)攻擊所關(guān)聯(lián)的角色是唯一的;

Hypothesis 4:若一個(gè)VN擁有多個(gè)地址,表明使用了地址欺騙,認(rèn)為其是攻擊者;

VN的地址為addr_vn(mac_addr,ip_addr,ssid,vendor),如果兩個(gè)地址的mac_addr、ip_addr至少有一個(gè)相同和一個(gè)不相同,則認(rèn)為其屬于同一個(gè)VN;如果mac_addr、ip_addr相同但卻擁有不同的ssid或vendor,也認(rèn)為其屬于同一個(gè)VN;

判斷VN所屬角色的方法:

(1)VN之間的地址產(chǎn)生沖突;

(2)VN地址包含SAI的src屬于VNs,包含dst屬于VNt,包含trans屬于VNm;

步驟三將計(jì)算VN之間對應(yīng)單步攻擊的關(guān)聯(lián)度;對于某個(gè)攻擊A,VN1到VN2的關(guān)聯(lián)度為公式10所示;

其中k為VN1到VN2的單步攻擊告警集合的告警數(shù)目;

VTG示例如圖9所示;該示例存在2個(gè)VNs,其中一個(gè)是由兩個(gè)VNs合并而來,還有3個(gè)VNm以及2個(gè)VNt;這個(gè)VTG中一共包含了4種單步攻擊,分別是:attack1:VNs1->VNm1->VNm2->VNt2;attack2:VNs1->VNm2->VNt2;attack3:VNs1->VNm1->VNt1+VNs21->VNm3->VNt2;attack4:VNs2[VNs21+VNs22]->VNm3->VNt2;

(五)攻擊路徑解析

結(jié)合VTG和LAG可以進(jìn)行攻擊路徑解析;

當(dāng)數(shù)據(jù)規(guī)模增大后,換用遺傳算法尋找解;每一條路徑代表一個(gè)攻擊鏈;攻擊鏈需要滿足LAG中各個(gè)邊設(shè)置的發(fā)生條件;在DFS過程中,每經(jīng)過一個(gè)攻擊節(jié)點(diǎn)A,代表在VTG中走過一條攻擊路徑;從VTG的攻擊者節(jié)點(diǎn)出發(fā),選擇屬于A的攻擊邊,若形成一條攻擊路徑,到達(dá)受害者節(jié)點(diǎn)B;則將其對應(yīng)的SAI信息放入LAG攻擊節(jié)點(diǎn)中,并判斷從該攻擊節(jié)點(diǎn)到下一個(gè)攻擊節(jié)點(diǎn)是否滿足條件,若滿足則遞歸下去并使LAG邊的impact生效;在這個(gè)過程中,VTG中所尋找到的SAI的ftime必須是在上一個(gè)攻擊節(jié)點(diǎn)ftime之后;

在VTG上找尋到一條的攻擊路徑時(shí),將計(jì)算其關(guān)聯(lián)度如公式11所示;

并將其對應(yīng)到候選攻擊鏈的相應(yīng)節(jié)點(diǎn)上;

(六)復(fù)雜攻擊評估

上一步中針對每一個(gè)目標(biāo)攻擊節(jié)點(diǎn),都將生成一組候選攻擊鏈;假定攻擊者的實(shí)際發(fā)生攻擊鏈和攻擊意圖將是這些攻擊鏈中的某一個(gè);

候選攻擊鏈評分由兩部分組成;一個(gè)代表每個(gè)節(jié)點(diǎn)自身的告警有效性,一個(gè)代表告警之間的相關(guān)度;前者個(gè)數(shù)同所有候選攻擊鏈中節(jié)點(diǎn)個(gè)數(shù),若所有單步攻擊個(gè)數(shù)為K,則后者為K*K矩陣;

對每個(gè)目標(biāo)攻擊節(jié)點(diǎn),分別按公式12計(jì)算出其每個(gè)候選攻擊鏈的評分要素assc1;

其中averge_assd表示候選攻擊全局中為該攻擊類型的節(jié)點(diǎn)assd的平均值;

對攻擊A1到攻擊A2的相關(guān)度,計(jì)算方法如下:

找到VTG中所有攻擊類型為A1和A2的邊集合E1和E2,邊個(gè)數(shù)分別為n和m;公式13為兩個(gè)邊之間的關(guān)聯(lián)度,公式14則是攻擊鏈中兩相鄰單步攻擊的關(guān)聯(lián)度;

則整條攻擊鏈的assc2值計(jì)算方式為公式15,其中k為攻擊鏈長度;

候選攻擊鏈的總評分為公式16所示;其中assc1是一個(gè)正數(shù),assc2是一個(gè)[0,1]范圍取值的數(shù);

assc(Attack_chain)=αln(assc1(Attack_chain))+βassc2(Attack_chain) 公式(16)

本發(fā)明中參數(shù)α,β均為1;

得到每個(gè)攻擊鏈評分后,針對每個(gè)目標(biāo)攻擊節(jié)點(diǎn)按評分進(jìn)行排序;

然后丟棄下列攻擊鏈和目標(biāo)攻擊節(jié)點(diǎn):

(1)沒有攻擊鏈的目標(biāo)攻擊節(jié)點(diǎn);

(2)攻擊鏈評分低于閾值0.5的;

(3)若目標(biāo)攻擊節(jié)點(diǎn)所有的候選攻擊鏈均處于低值水平,則刪除整個(gè)攻擊鏈集合;

排序所有剩余攻擊鏈,從中找出評分最高的前K個(gè)目標(biāo)攻擊節(jié)點(diǎn)及其攻擊鏈,并將其輸出為multi-step attack information。

本發(fā)明的有益效果是:1)對單步攻擊的識別采用hybird架構(gòu),增強(qiáng)了單步攻擊識別準(zhǔn)確率,減少誤報(bào)漏報(bào);2)對復(fù)雜攻擊識別采用評估機(jī)制,而非單純的是或否來判斷單步攻擊行為,進(jìn)而生成攻擊序列,有效減少模塊間信息失真造成最終結(jié)果失真;3)設(shè)計(jì)了一種識別復(fù)雜攻擊并預(yù)測攻擊者最終意圖的算法,對于存在明顯特征行為的復(fù)雜攻擊意圖具有較好的預(yù)測結(jié)果。

附圖說明

圖1是本發(fā)明提出的無線入侵檢測系統(tǒng)的總體結(jié)構(gòu)圖;

圖2是本發(fā)明描述的數(shù)據(jù)采集框架圖;

圖3是本發(fā)明描述的單步攻擊識別框架圖;

圖4是本發(fā)明描述的復(fù)雜攻擊識別框架圖;

圖5是本發(fā)明描述的單步攻擊告警精簡流程圖;

圖6是本發(fā)明定義的攻擊鏈模型;

圖7是本發(fā)明描述的邏輯攻擊圖LAG生成流程圖;

圖8是本發(fā)明描述的虛擬拓?fù)鋱DVTG生成流程圖;

圖9是本發(fā)明描述的虛擬拓?fù)鋱DVTG示例圖;

圖10是本發(fā)明描述的多步攻擊路徑解析流程圖;

圖11是本發(fā)明描述的候選攻擊鏈集合示例圖;

圖12是本發(fā)明描述的信息展示界面框架圖;

圖13是本發(fā)明設(shè)計(jì)的kismet的分布式采集架構(gòu)圖;

圖14是本發(fā)明描述的Kismet drone關(guān)鍵配置項(xiàng)說明圖;

圖15是本發(fā)明描述的Kismet server關(guān)鍵配置項(xiàng)說明圖;

圖16是本發(fā)明描述的libpcap主要函數(shù)接口說明圖;

圖17是本發(fā)明實(shí)現(xiàn)的無線入侵檢測系統(tǒng)實(shí)驗(yàn)平臺(tái)的網(wǎng)絡(luò)拓?fù)浼軜?gòu)圖;

圖18是本發(fā)明實(shí)現(xiàn)的無線入侵檢測系統(tǒng)實(shí)驗(yàn)平臺(tái)的實(shí)驗(yàn)設(shè)備配置圖;

圖19是本發(fā)明實(shí)現(xiàn)的無線入侵檢測系統(tǒng)實(shí)驗(yàn)平臺(tái)的實(shí)驗(yàn)環(huán)境說明圖。

具體實(shí)施方式

下面結(jié)合實(shí)施例對本發(fā)明做進(jìn)一步描述。下述實(shí)施例的說明只是用于幫助理解本發(fā)明。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

如圖1至圖19所示,本發(fā)明的無線網(wǎng)絡(luò)中的復(fù)雜攻擊識別技術(shù),包括四個(gè)步驟:數(shù)據(jù)采集、單步攻擊識別、復(fù)雜攻擊識別和信息展示界面。

(1)數(shù)據(jù)采集:數(shù)據(jù)采集的來源和度量(metrics)的選擇對于入侵檢測系統(tǒng)來說非常重要。選取合適的metrics可以有效的控制產(chǎn)生告警的質(zhì)量,避免過高的假正率(false positive rate)。本專利采用基于kismet drone的分布式采集方法,為后續(xù)分析提供數(shù)據(jù)來源。

(2)單步攻擊識別:在單步攻擊識別階段,誤用檢測系統(tǒng)根據(jù)步驟一得到的數(shù)據(jù)、預(yù)設(shè)單步攻擊簽名signature以及一種基于Dempster-Shafer Theory的無需訓(xùn)練的檢測方法來綜合判定某種單步攻擊是否發(fā)生,以及與它相關(guān)的數(shù)據(jù)幀。

(3)復(fù)雜攻擊識別:在復(fù)雜攻擊識別階段,系統(tǒng)對步驟二產(chǎn)生的一系列原始告警進(jìn)行精簡和處理,根據(jù)預(yù)設(shè)的攻擊鏈數(shù)據(jù)庫動(dòng)態(tài)生成攻擊圖并依據(jù)評估得到前K個(gè)候選攻擊鏈,其中每個(gè)攻擊鏈的根節(jié)點(diǎn)為候選的最終攻擊意圖。

(4)信息展示界面:實(shí)時(shí)顯示當(dāng)前系統(tǒng)評估出的前K個(gè)攻擊鏈以及攻擊意圖的預(yù)測。

該方法的總體結(jié)構(gòu)如圖1所示,具體實(shí)現(xiàn)步驟如下:

步驟一、數(shù)據(jù)采集

數(shù)據(jù)采集如圖2所示。系統(tǒng)數(shù)據(jù)采集來源可以是線上線下兩種,線上可采用kismet分布式采集或libpcap,接口一般為monitor mode的USB網(wǎng)卡,或者是kismet寫入的tun/tap虛擬接口。采集到的數(shù)據(jù)包根據(jù)數(shù)據(jù)鏈路層類型又分為三種格式,正確解析可得到各個(gè)層各字段信息,其中radiotap和PPI將包含諸如接收信號強(qiáng)度指示器(Received Signal Strength Indicator,RSSI)等物理層特征。

步驟二、單步攻擊識別

本專利的單步攻擊識別方法主要由兩個(gè)部分組成,一個(gè)是一種通用的無需訓(xùn)練的檢測方法(General Detector),對于各個(gè)攻擊行為,只需設(shè)定所需metric即可;另外針對特定攻擊行為,使用誤用檢測技術(shù),通過配置攻擊簽名庫(Signature Database)來判斷的方法(Specification Detector)。本模塊將結(jié)合兩種識別方法來判斷單步攻擊是否發(fā)生,以及攻擊者影響到的幀。單步攻擊識別如圖3所示。

從邏輯分類的角度可以將幀(frame),攻擊(attack)和網(wǎng)絡(luò)節(jié)點(diǎn)(network node)進(jìn)行分類。從數(shù)據(jù)幀的粒度來說,根據(jù)是否攻擊者發(fā)出或影響可以將之分為正常幀(normal frame,NF)和非正常幀(malicious frame,MF)。從攻擊對網(wǎng)絡(luò)流量是否影響,可以將攻擊分為顯性攻擊(explicit attack,EA)和隱性攻擊(hidden attack,HA)。顯然AF來自于EA。而網(wǎng)絡(luò)節(jié)點(diǎn)則分為攻擊者(attacker node,AN),受害者(victim node,VN),過渡者(springboard node,SN)。一個(gè)實(shí)際發(fā)生的攻擊行為對應(yīng)一條從攻擊者到受害者的攻擊路徑(attack path)。攻擊識別其實(shí)就是識別出數(shù)據(jù)幀、攻擊行為和場景角色這三個(gè)對象。

(四)一種基于D-S理論識別方法

General Detector所使用的識別方法,是一種針對幀的基于Dempster-Shafer證據(jù)理論的識別方法。對于一個(gè)幀而言,有Θ={NF,MF},其中{NF|MF}=UF(uncertain frame)。對于每一個(gè)metric,維持一個(gè)滑動(dòng)窗口(sliding window,SW),其長度為n,則有n個(gè)NF幀在其中組成profile dataset。若檢測到一個(gè)幀為MF,則不會(huì)將其放入SW中,若檢測為NF則更新SW。

該方法對的基本概率分配(BPA)如下:

BeliefMF:SW中metric重復(fù)最大次數(shù)F,均值mean,最大Euclidean距離Dmax,角度α計(jì)算方法見公式1。

而對于每一個(gè)進(jìn)入的幀,角度β計(jì)算方法見公式2。

其中D是該幀的metric對應(yīng)mean的Euclidean距離,值為

BeliefNF:將SW中的數(shù)據(jù)按metric大小順序排列后,根據(jù)進(jìn)入幀的metric值所在位置分配固定值。離中位數(shù)越近取值越高,最高為0.5。

BeliefUF:根據(jù)前面兩種分配數(shù)值有以下四種情形:

(1)MF取低值,NF取低值;

(2)MF取低值,NF取高值;

(3)MF取高值,NF取低值;

(4)MF取高值,NF取高值。

在(2)(3)種情形下,MF和NF沒有沖突則分配UF一個(gè)較小值。在(1)(4)種情形下則需要分配較高值。分配方法是先按公式3計(jì)算出BeliefUF,而后按公式4和公式5重新分配各個(gè)Belief值使其和為1。

m(x)=Beliefx-μ公式(5)

之后合成各個(gè)metric的BPA,并設(shè)定閾值,用于判定進(jìn)入幀是MF還是NF。

要使得該方法有效有三個(gè)需要滿足的條件。第一,正常流量占總流量大部分;第二,NF、MF的metrics值有明顯差異;第三,滑動(dòng)窗口長度n的設(shè)置。n取值過小,則無法包含足夠信息,取值過大,則增加誤入MF風(fēng)險(xiǎn),同時(shí)延長檢測過程。

(五)攻擊簽名

單步攻擊檢測中的誤用檢測,使用攻擊簽名模型EDL來描述攻擊行為,而Specification Detector據(jù)此簽名數(shù)據(jù)庫signature database來進(jìn)行檢測。若檢測到單步攻擊,則有8元組s_attack(name,src,dst,tran,ftime,etime,bssid,rframes)。其中name為攻擊名,src為AN地址,dst為VN地址,tran為SN地址,ftime為檢測出時(shí)間,etime為估計(jì)攻擊最早發(fā)生時(shí)間,bssid為VN所在網(wǎng)絡(luò)BSSID,rframes為相關(guān)MF幀集合。

(六)單步攻擊決策

根據(jù)上述兩種檢測方法得到的結(jié)果,綜合判斷攻擊是否發(fā)生。兩種檢測方法均建立內(nèi)存數(shù)據(jù)庫,存儲(chǔ)所有檢測的歷史數(shù)據(jù)。General Detector存儲(chǔ)每個(gè)幀的信任區(qū)間,Specification Detector存儲(chǔ)每個(gè)檢測到s_attack。單步攻擊決策函數(shù)為s_decsion(t):int->[0,1],t為某時(shí)刻,結(jié)果為攻擊發(fā)生可能性(attack possiblility,AP)。s_decsion將從內(nèi)存數(shù)據(jù)庫中分別根據(jù)幀的時(shí)間戳和ftime查找t附近的數(shù)據(jù)。

若某種攻擊行為只進(jìn)行了其中一種檢測方法,則以其為準(zhǔn)。若兩者均處于檢測中則對某時(shí)刻t有如下情形:

(1)General Detector檢測到,Specification Detector檢測到;

(2)General Detector檢測到,Specification Detector未檢測到;

(3)General Detector未檢測到,Specification Detector檢測到;

(4)General Detector未檢測到,Specification Detector未檢測到。

在(1)(4)情形下,兩者結(jié)果一致則直接以此為結(jié)果,為1和0。

在(2)情形下,認(rèn)為有攻擊A發(fā)生,對應(yīng)該MF,結(jié)果為公式6所示。

αBelMF(A)+βPlMF(A) 公式(6)

在(3)情形下,對應(yīng)該攻擊和幀的信任區(qū)間或拒絕證據(jù)區(qū)間較大,此時(shí)認(rèn)為有攻擊A發(fā)生,對應(yīng)s_attack。此時(shí),計(jì)算s_attack中r_frames的所有信任區(qū)間的均值如公式7、8所示。

若均值滿足General Detector設(shè)定的閾值,則結(jié)果為1,否則結(jié)果按公式9計(jì)算。

αBelr_frames(A)+βPlr_frames(A) 公式(9)

上述有參數(shù)α+β=1,α,β∈[0,1],通常取值α=β=0.5。

單步攻擊決策中,需要對幀的分類,單步攻擊結(jié)果輸出進(jìn)行統(tǒng)一化。在(1)情形下,將General Detector對應(yīng)的MF加入到rframes中,在(2)情形下,根據(jù)MF構(gòu)造出s_attack(A,MF.mac_src,MF.mac_dst,MF.mac_reciever,MF.timestamp,MF.bssid,{MF}),其中的name為A,src為MF數(shù)據(jù)鏈路層的源地址,dst為MF的目的地址,tran為接收端地址,ftime和etime為timestamp,rframes為{MF},bssid為MF的BSSID。最終單步攻擊識別模塊輸出對象single-step attack information(SAI)為二元組(AP,s_attack)。另外,上述描述針對某一攻擊行為A進(jìn)行識別,而某個(gè)MF則可能識別后與多個(gè)攻擊行為相關(guān)。所以該模型需要假設(shè)如下。

Hypothesis 1:實(shí)際情形下,很可能某一個(gè)數(shù)據(jù)幀對應(yīng)幾種不同的攻擊行為,則這些攻擊行為互不干擾,且有一定的關(guān)聯(lián)關(guān)系。

步驟三、復(fù)雜攻擊識別

步驟二產(chǎn)生一系列的單步攻擊信息SAI存入到攻擊數(shù)據(jù)庫(Attack Database)中,供復(fù)雜攻擊識別模塊進(jìn)行分析。復(fù)雜攻擊識別對應(yīng)IDS的告警關(guān)聯(lián)階段,而攻擊圖可用于告警關(guān)聯(lián)。復(fù)雜攻擊識別就使用了邏輯攻擊圖(logic attack graph,LAG),和虛擬拓?fù)鋱D(virtual topology graph,VTG)搭配去挖掘攻擊路徑(Attack Path)。復(fù)雜攻擊識別包含告警精簡,VTG生成器,LAG生成器,簽名數(shù)據(jù)庫,攻擊路徑解析器,復(fù)雜攻擊評估等子模塊,其架構(gòu)如圖4所示。

上一步得到的單步攻擊的告警,在這一模塊中,將有兩個(gè)主要步驟。首先需要預(yù)處理,去除無關(guān)告警和重復(fù)告警,精簡告警數(shù)量。第二步需要通過整理得到的超告警hyper alert去識別攻擊者易采取的攻擊序列,并預(yù)測攻擊者后續(xù)動(dòng)作和最終意圖。

識別攻擊序列時(shí),從邏輯上將告警(Alert)分為三類。一類是已檢測到的告警(Alert Detected,ADE),這類告警明確屬于某種單步攻擊;一類是未檢測到的告警(Alert Undetected,AUD),即可能丟失的告警;一類是未來將發(fā)生的告警(Alert Predicted,APR),即預(yù)測結(jié)果。另外考慮到攻擊者可能會(huì)在攻擊過程中進(jìn)行一些無意義攻擊來混淆其真實(shí)目的,第一類告警還將分為屬于真實(shí)意圖的告警(Alert Real,AR)以及擾亂告警(Alert Disturbed,AD)。

(七)告警精簡

步驟二中產(chǎn)生的單步攻擊告警,由于其General Detector細(xì)化到幀的程度,將可能產(chǎn)生大量的告警,所以有必要對這些告警進(jìn)行精簡處理,以減少告警數(shù)量,消除無關(guān)告警和重復(fù)告警。告警精簡流程如圖5所示。無關(guān)告警和重復(fù)告警描述如下:

(1)無關(guān)告警:有一些告警指示的是與無線攻擊行為無關(guān)的其他攻擊,或者該告警明顯錯(cuò)誤。

(2)重復(fù)告警:同一攻擊行為產(chǎn)生的告警,且沒有在單步攻擊識別模塊中合并,通常是具有相同攻擊路徑由同一攻擊者發(fā)出的同一類型攻擊行為,或者時(shí)間上存在連續(xù)性、周期性的表現(xiàn)。

處理單步攻擊識別模塊產(chǎn)生的數(shù)據(jù)庫SAIs時(shí),比較算子cmp(SAI1,SAI2)比較兩者是否可以合并,若可以則放入同一個(gè)集合Merging SAIs中。于是將SAIs分類成一組Merging SAIs,對每一個(gè)SAIs進(jìn)行合并。

合并規(guī)則如下:依據(jù)SAI.AP,SAI.ftime,averge[SAI.rframes.timestamps]進(jìn)行K-means聚類,將Merging SAIs細(xì)分后進(jìn)行合并。對于集合SAI sai_same合并后生成新的SAI_new(AP,A,src,dst,tran,ftime,etime,bssid,rframes)。其中A,src,dst,tran,bssid不變。有ftimeSAI_new=min(ftimess),etimeSAI_new=min(etimess),rframesSAI_new=∪rframesss。

特別的是AP的選擇,如果以元組形式保存所有合并項(xiàng)的AP值,則會(huì)造成合并后的告警在這一字段擁有不同的維度。為了統(tǒng)一方便后續(xù)處理,有APSAI_new==median(APss),即選取AP的中位數(shù)。

告警精簡過后得到超告警hyper alert,這些告警之間存在關(guān)聯(lián)關(guān)系,即可能的攻擊鏈。復(fù)雜攻擊識別模塊接下來的部分即是本發(fā)明針對復(fù)雜攻擊進(jìn)行識別的關(guān)鍵組件,包含VTG生成器,LAG生成器,攻擊路徑解析,復(fù)雜攻擊評估等子模塊。

(八)攻擊鏈簽名

攻擊鏈簽名描繪了常見復(fù)雜攻擊場景,攻擊鏈基于因果關(guān)系建立攻擊之間的鏈接。一個(gè)攻擊發(fā)生需要前置條件,發(fā)生后產(chǎn)生一些后果。從前一步攻擊到達(dá)后一步攻擊需要滿足conditions。最后的一項(xiàng)攻擊節(jié)點(diǎn)為最終攻擊者所實(shí)施的攻擊,通常蘊(yùn)含著攻擊者的攻擊真實(shí)意圖。復(fù)雜攻擊識別模塊的簽名數(shù)據(jù)庫包含了一系列經(jīng)典攻擊鏈,供生成LAG所需。其模型如圖6所示。

(九)LAG生成

上述動(dòng)態(tài)生成的攻擊圖包含了所有已檢測到單步攻擊和它們所可能存在的攻擊鏈。從簽名庫中選擇相關(guān)攻擊鏈而后合并生成攻擊樹、攻擊圖是因?yàn)楹灻麕煲?guī)模增大后,整個(gè)簽名庫生成的完整攻擊圖將會(huì)變得比較復(fù)雜,不利于后續(xù)挖掘。簡單攻擊場景會(huì)生成簡單的攻擊圖,復(fù)雜攻擊場景會(huì)生成復(fù)雜的攻擊圖,這樣比較匹配。LAG生成流程如圖7所示。

(十)VTG生成

上述動(dòng)態(tài)生成的虛擬拓?fù)鋱D包含了所有已檢測到單步攻擊涉及的節(jié)點(diǎn),以及節(jié)點(diǎn)之間的連接。虛擬拓?fù)鋱D定義VTG=(VNs,VNt,VNm,AE),其中VNs為攻擊者所在虛擬節(jié)點(diǎn)集合,VNt為受害者所在虛擬節(jié)點(diǎn)集合,VNm為過渡者所在虛擬節(jié)點(diǎn)集合,AE為虛擬節(jié)點(diǎn)之間的攻擊流量集合。虛擬節(jié)點(diǎn)VN可能擁有攻擊者、受害者、過渡者三個(gè)角色。虛擬節(jié)點(diǎn)VN并不代表真實(shí)的物理設(shè)備,一個(gè)VN可能包含不同的地址,一個(gè)物理設(shè)備也可能分出幾個(gè)VN,而一個(gè)VN對應(yīng)不同攻擊所扮演的角色也可以是不同的。VTG生成流程如圖8所示。

為了合理簡化系統(tǒng)復(fù)雜性,VN的生成和合并需要有以下假設(shè)條件:

Hypothesis 2:攻擊設(shè)備不會(huì)映射為受害者VN。

Hypothesis 3:一個(gè)VN對應(yīng)一個(gè)攻擊所關(guān)聯(lián)的角色是唯一的。

Hypothesis 4:若一個(gè)VN擁有多個(gè)地址,表明使用了地址欺騙,認(rèn)為其是攻擊者。

VN的地址為addr_vn(mac_addr,ip_addr,ssid,vendor),如果兩個(gè)地址的mac_addr、ip_addr至少有一個(gè)相同和一個(gè)不相同,則認(rèn)為其屬于同一個(gè)VN;如果mac_addr、ip_addr相同但卻擁有不同的ssid或vendor,也認(rèn)為其屬于同一個(gè)VN。

判斷VN所屬角色的方法:

(1)VN之間的地址產(chǎn)生沖突;

(2)VN地址包含SAI的src屬于VNs,包含dst屬于VNt,包含trans屬于VNm。

步驟三將計(jì)算VN之間對應(yīng)單步攻擊的關(guān)聯(lián)度。對于某個(gè)攻擊A,VN1到VN2的關(guān)聯(lián)度為公式10所示。

其中k為VN1到VN2的單步攻擊告警集合的告警數(shù)目。

VTG示例如圖9所示。該示例存在2個(gè)VNs,其中一個(gè)是由兩個(gè)VNs合并而來,還有3個(gè)VNm以及2個(gè)VNt。這個(gè)VTG中一共包含了4種單步攻擊,分別是:attack1:VNs1->VNm1->VNm2->VNt2;attack2:VNs1->VNm2->VNt2;attack3:VNs1->VNm1->VNt1+VNs21->VNm3->VNt2;attack4:VNs2[VNs21+VNs22]->VNm3->VNt2。

(十一)攻擊路徑解析

結(jié)合VTG和LAG可以進(jìn)行攻擊路徑解析,其流程圖如圖10所示。

流程中DFS問題可轉(zhuǎn)換為有向圖LAG經(jīng)過一些必經(jīng)節(jié)點(diǎn)的路徑。這是一個(gè)NP問題。當(dāng)數(shù)據(jù)規(guī)模增大后,可換用遺傳算法尋找解。每一條路徑代表一個(gè)攻擊鏈。攻擊鏈需要滿足LAG中各個(gè)邊設(shè)置的發(fā)生條件。在DFS過程中,每經(jīng)過一個(gè)攻擊節(jié)點(diǎn)A,代表在VTG中走過一條攻擊路徑。從VTG的攻擊者節(jié)點(diǎn)出發(fā),選擇屬于A的攻擊邊,若形成一條攻擊路徑,到達(dá)受害者節(jié)點(diǎn)B。則將其對應(yīng)的SAI信息放入LAG攻擊節(jié)點(diǎn)中,并判斷從該攻擊節(jié)點(diǎn)到下一個(gè)攻擊節(jié)點(diǎn)是否滿足條件,若滿足則遞歸下去并使LAG邊的impact生效。在這個(gè)過程中,VTG中所尋找到的SAI的ftime必須是在上一個(gè)攻擊節(jié)點(diǎn)ftime之后。

在VTG上找尋到一條的攻擊路徑時(shí),將計(jì)算其關(guān)聯(lián)度如公式11所示。

并將其對應(yīng)到候選攻擊鏈的相應(yīng)節(jié)點(diǎn)上。

(十二)復(fù)雜攻擊評估

上一步中針對每一個(gè)目標(biāo)攻擊節(jié)點(diǎn),都將生成一組候選攻擊鏈。假定攻擊者的實(shí)際發(fā)生攻擊鏈和攻擊意圖將是這些攻擊鏈中的某一個(gè),如圖11所示。

候選攻擊鏈評分由兩部分組成。一個(gè)代表每個(gè)節(jié)點(diǎn)自身的告警有效性,一個(gè)代表告警之間的相關(guān)度。前者個(gè)數(shù)同所有候選攻擊鏈中節(jié)點(diǎn)個(gè)數(shù),若所有單步攻擊個(gè)數(shù)為K,則后者為K*K矩陣。

對每個(gè)目標(biāo)攻擊節(jié)點(diǎn),分別按公式12計(jì)算出其每個(gè)候選攻擊鏈的評分要素assc1。

其中averge_assd表示候選攻擊全局中為該攻擊類型的節(jié)點(diǎn)assd的平均值。

對攻擊A1到攻擊A2的相關(guān)度,計(jì)算方法如下:

找到VTG中所有攻擊類型為A1和A2的邊集合E1和E2,邊個(gè)數(shù)分別為n和m。公式13為兩個(gè)邊之間的關(guān)聯(lián)度,公式14則是攻擊鏈中兩相鄰單步攻擊的關(guān)聯(lián)度。

則整條攻擊鏈的assc2值計(jì)算方式為公式15,其中k為攻擊鏈長度。

候選攻擊鏈的總評分為公式16所示。其中assc1是一個(gè)正數(shù),assc2是一個(gè)[0,1]范圍取值的數(shù)。

assc(Attack_chain)=αln(assc1(Attack_chain))+βassc2(Attack_chain) 公式(16)

本發(fā)明中參數(shù)α,β均為1。

得到每個(gè)攻擊鏈評分后,針對每個(gè)目標(biāo)攻擊節(jié)點(diǎn)按評分進(jìn)行排序。

然后丟棄下列攻擊鏈和目標(biāo)攻擊節(jié)點(diǎn):

(1)沒有攻擊鏈的目標(biāo)攻擊節(jié)點(diǎn);

(2)攻擊鏈評分低于閾值0.5的;

(3)若目標(biāo)攻擊節(jié)點(diǎn)所有的候選攻擊鏈均處于低值水平,則刪除整個(gè)攻擊鏈集合。

排序所有剩余攻擊鏈,從中找出評分最高的前K個(gè)目標(biāo)攻擊節(jié)點(diǎn)及其攻擊鏈,并將其輸出為multi-step attack information(MAI)。

步驟四、信息展示界面

信息展示界面包含VTG可視化圖,排序攻擊鏈以及攻擊目標(biāo)預(yù)測。無線入侵檢測系統(tǒng)實(shí)時(shí)顯示當(dāng)前VTG,通過VTG可以讓用戶觀察出當(dāng)前網(wǎng)絡(luò)是否有攻擊行為發(fā)生,以及通過對虛擬節(jié)點(diǎn)間流量的統(tǒng)計(jì)來突出攻擊者和受害者等重要節(jié)點(diǎn)的位置。排序攻擊鏈則實(shí)時(shí)顯示當(dāng)前估計(jì)的所有可能的攻擊鏈,其中排在前面的1個(gè)或幾個(gè)攻擊鏈對應(yīng)的攻擊意圖則為當(dāng)前預(yù)測攻擊者意圖。信息展示界面如圖12所示。

本發(fā)明的一個(gè)具體的實(shí)例為:

步驟一、數(shù)據(jù)采集

數(shù)據(jù)采集使用開源庫libpcap和開源工具kismet的分布式采集來獲取所在無線環(huán)境數(shù)據(jù)包,同時(shí)也可線下分析存儲(chǔ)的pcap歷史文件。Pcap格式數(shù)據(jù),根據(jù)數(shù)據(jù)鏈路層類型本發(fā)明可識別三種格式,分別是80211、帶有radiotap的80211以及PPI(Per-Packet Information)。其中,kismet的分布式采集架構(gòu)如圖13所示。若干個(gè)裝有kismet drone的傳感器將數(shù)據(jù)匯總到一臺(tái)kismet server中,而后可以落地成pcap文件供后續(xù)分析,或透過tun/tap虛擬接口被第三方程序如libpcap、wireshark捕獲。Kismet drone及kismet server關(guān)鍵配置項(xiàng)分別如圖14和圖15所示。libpcap則提供API捕獲數(shù)據(jù)包并供程序后續(xù)使用,其主要函數(shù)如圖16所示。其中,使用int pcap_loop(pcap_t*p,int cnt,pcap_handler callback,u_char*user)循環(huán)獲取數(shù)據(jù)包,并在每一個(gè)報(bào)文到達(dá)時(shí)傳遞給回調(diào)函數(shù)void callback(u_char*userarg,const struct pcap_pkthdr*pkthdr,const u_char*packet)。該回調(diào)函數(shù)屬于靜態(tài)函數(shù),不可為類成員函數(shù),而處理報(bào)文的過程將作用到自定義的對象userarg里。數(shù)據(jù)包頭是pcap_pkthdr格式數(shù)據(jù)結(jié)構(gòu),它包含三個(gè)字段,分別是timestamp,caplen和len,其中timestamp是抓包時(shí)間,caplen是抓包數(shù)據(jù)長度,len是數(shù)據(jù)包實(shí)際長度。當(dāng)caplen小于len時(shí)表示不是完整抓包。數(shù)據(jù)包則根據(jù)linktype進(jìn)行分層解析。

步驟二、單步攻擊識別

單步攻擊識別對每一種攻擊行為,采取兩種識別方法相結(jié)合的方式來判斷,本發(fā)明中這兩種方法分別設(shè)計(jì)為General Detector和Specification Detector。General Detector以報(bào)文為檢測粒度,根據(jù)設(shè)置好的對該攻擊相關(guān)的度量進(jìn)行檢測。依據(jù)D-S決策理論,程序?qū)υ摴舻拿恳粋€(gè)度量計(jì)算當(dāng)前幀的BPA,然后合成所有度量BPA得到該幀是否涉及該種攻擊的信任區(qū)間。Specification Detector則使用攻擊簽名語言EDL來描述特定攻擊行為,所有攻擊簽名構(gòu)成簽名數(shù)據(jù)庫signature database,Specification Detector就將依據(jù)該簽名數(shù)據(jù)庫實(shí)施對一定時(shí)間窗口內(nèi)的所有幀進(jìn)行處理判斷是否符合該簽名特征。而后Decision Maker模塊將綜合兩者結(jié)果對某一攻擊行為的發(fā)生進(jìn)行估值,存儲(chǔ)為含有8個(gè)成員變量的對象s_attack(name,src,dst,tan,ftime,etime,bssid,rframes),而后和所在AP一同組成二元組Single-step Attack Information(SAI)輸出至數(shù)據(jù)庫中,供步驟三使用。

步驟三、復(fù)雜攻擊識別

對步驟二得到的SAI進(jìn)行告警精簡后,將構(gòu)造虛擬拓?fù)鋱DVTG以及邏輯攻擊圖LAG。VTG對象的生成依據(jù)所有的SAI,為單例類。LAG則對應(yīng)一個(gè)時(shí)間窗口,在這個(gè)時(shí)間窗口內(nèi)根據(jù)處于時(shí)間窗口內(nèi)的SAI和攻擊鏈數(shù)據(jù)庫,搜索所有檢測到的單步攻擊類型,而后從攻擊鏈數(shù)據(jù)庫中篩選出所有存有這些單步攻擊的攻擊鏈,進(jìn)而根據(jù)這些攻擊鏈生成包含相關(guān)目標(biāo)攻擊節(jié)點(diǎn)的列表,再對列表中每一個(gè)元素生成其攻擊樹,而后合并攻擊樹成為攻擊圖。而后程序?qū)?shí)時(shí)結(jié)合VTG和LAG進(jìn)行攻擊路徑解析,生成候選攻擊鏈。最后對候選攻擊鏈進(jìn)行評估,將其輸出為Multi-step Attack Information(MAI)并存入數(shù)據(jù)庫。

步驟四、信息展示界面

步驟三輸出的MAI信息將實(shí)時(shí)顯示在信息展示界面。本發(fā)明采用WEB端進(jìn)行顯示,包含VTG的可視化圖,前K個(gè)攻擊鏈以及攻擊目標(biāo)預(yù)測等信息。

本發(fā)明在實(shí)現(xiàn)提出的復(fù)雜攻擊識別技術(shù)時(shí)建立了無線入侵檢測系統(tǒng)MSWIDS(Multi-Step Wireless Intrusion Detection System),并對其進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)平臺(tái)的網(wǎng)絡(luò)拓?fù)浼軜?gòu)如圖17所示。該實(shí)驗(yàn)使用了1臺(tái)臺(tái)式機(jī)win7,2臺(tái)筆記本win8以及其上的3臺(tái)kali linux虛擬機(jī),另外攻擊者和MSWIDS采集器所需的USB網(wǎng)卡3張,實(shí)驗(yàn)室無線網(wǎng)絡(luò)環(huán)境AP。實(shí)驗(yàn)設(shè)備和環(huán)境情況如圖18和圖19所示。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1