国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

隱私保護的基于圖卷積神經(jīng)網(wǎng)絡(luò)的攻擊溯源方法

2021-06-04 00:21張嘉偉高懌旸王申奧沈玉龍馬建峰
計算機研究與發(fā)展 2021年5期
關(guān)鍵詞:日志節(jié)點方案

李 騰 喬 偉 張嘉偉 高懌旸 王申奧 沈玉龍 馬建峰

1(西安電子科技大學網(wǎng)絡(luò)與信息安全學院 西安 710071) 2(西安電子科技大學計算機科學與技術(shù)學院 西安 710071) 3(西安電子科技大學人工智能學院 西安 710071)

在各類網(wǎng)絡(luò)安全問題中,高級持續(xù)性威脅(advanced persistent threat, APT)現(xiàn)在是各大企業(yè)、政府所要面對的最大問題.智能系統(tǒng)通常“外部安全堡壘”建設(shè)完善,但是,APT攻擊多以商業(yè)信息和政治安全為攻擊目的,具有高度的隱蔽性,往往經(jīng)過了長期的經(jīng)營與策劃.APT攻擊已在世界范圍產(chǎn)生了巨大的危害,2019年4月俄羅斯背景組織APT28(Fancy Bear)攻擊烏克蘭2019年大選活動(1)https://www.fifthdomain.com/international/2019/02/13/ukrainian-official-hacking-intensifies-as-election-nears/,6月14日美國E-ISAC發(fā)現(xiàn)Triton針對美國境內(nèi)智能電網(wǎng)的探測活動(2)https://www.wired.com/story/triton-hackers-scan-us-power-grid/.檢測并對APT攻擊進行溯源,已成為了國家、企業(yè)所要解決的重要問題.如果安全攻防信息持續(xù)不對等,系統(tǒng)方將很難發(fā)現(xiàn)APT攻擊的蛛絲馬跡.由于APT攻擊表現(xiàn)行為復(fù)雜多變,使用傳統(tǒng)人工規(guī)則分析方式將存在很多局限,人工智能技術(shù)是解決此類問題的重要手段.

APT攻擊持續(xù)時間長,空間跨度大,前期采用社會工程學等手段對目標進行反復(fù)偵察并獲取有用信息,其行為往往難以探測并具有偽裝性.當攻擊者獲取目標的信任并能夠以不被發(fā)現(xiàn)的身份潛藏在目標網(wǎng)絡(luò)中時,便會盜取信息并不斷擴大其感染范圍,嚴重的會使整個目標網(wǎng)絡(luò)癱瘓.一次完整的攻擊事件由多個階段構(gòu)成,主要包括信息搜集、漏洞利用、建立據(jù)點、權(quán)限提升、權(quán)限維持、橫向移動、痕跡清除7步,期間涉及了多個攻擊程序和步驟,這為實現(xiàn)對攻擊的快速溯源、構(gòu)建攻擊溯源圖、及準確判斷APT攻擊的類型帶來了很大的挑戰(zhàn).傳統(tǒng)的攻擊溯源會將日志字段進行關(guān)鍵字相似度關(guān)聯(lián)匹配,由于攻擊者的隱秘性以及在系統(tǒng)中攻擊事件所產(chǎn)生日志的關(guān)聯(lián)性,使得溯源事件關(guān)聯(lián)分析時會產(chǎn)生狀態(tài)爆炸問題.除此之外,傳統(tǒng)的訪問控制,流量監(jiān)控等技術(shù)手段針對APT攻擊的檢測和溯源早已不能適用,針對越來越智能的攻擊者和豐富的攻擊手段來說,檢測和溯源技術(shù)必須引入人工智能的手段來幫助攻擊事件之間的關(guān)系查找及具體攻擊類型的鑒別[1].此外,由于日志及流量數(shù)據(jù)中往往包含大量的重要數(shù)據(jù)和敏感信息,因此,在檢測攻擊時必須對日志數(shù)據(jù)的訪問進行限制從而保護數(shù)據(jù)隱私.

為解決這一問題,現(xiàn)有的工作[2-5]對日志記錄展開了分析,然而現(xiàn)有的溯源方案仍存在著大量問題.當下很多的攻擊檢測都基于單個日志,他們對DNS,HTTP等單一日志進行流量分析[1-2],然而APT攻擊多是多步攻擊,其攻擊蹤跡隱藏在多個日志之中,單一日志分析很難完整地提取攻擊社區(qū).一次完整的APT攻擊過程中不只有異常事件,而傳統(tǒng)單點檢測的方法只能發(fā)現(xiàn)某階段的局部異常,沒有關(guān)注日志間聯(lián)系,無法從局部異常還原出整體攻擊過程.同時,異常檢測技術(shù)存在著嚴重的誤報情況.并且,因為日志間關(guān)系錯綜復(fù)雜,連接日志關(guān)系時會產(chǎn)生嚴重的狀態(tài)爆炸[6-7],為解決因此產(chǎn)生的狀態(tài)爆炸問題,現(xiàn)有的工作[8-11]很多集中在了數(shù)據(jù)的篩選與精簡,然而其實際表現(xiàn)并不一定可以很好地優(yōu)化數(shù)據(jù)關(guān)系,而且可能會影響數(shù)據(jù)的有效性.MARD[12]和Holmes[13]可以實時構(gòu)造APT的攻擊圖譜,但是沒有對攻擊進行特定類型的識別,這不利于后續(xù)APT攻擊的防范和分析.

針對APT攻擊的溯源和分類問題,需要進行多日志的關(guān)系連接、解決狀態(tài)爆炸和隱私保護問題,本文提出了具有隱私保護的圖卷積神經(jīng)網(wǎng)絡(luò)攻擊溯源方法.本文首先通過正則匹配處理多日志信息,將日志解析為格式化條目.然后通過設(shè)定的特征關(guān)系,構(gòu)建多維特征向量,從而構(gòu)造條目關(guān)系網(wǎng).對構(gòu)建好的關(guān)系網(wǎng)進行權(quán)重優(yōu)化,輸入社區(qū)檢測模塊,提取出需要的攻擊社區(qū).同時,在外包日志數(shù)據(jù)時,采用一種日志隱私保護方法來實現(xiàn)多用戶安全數(shù)據(jù)共享.在數(shù)據(jù)共享方案中,我們不僅實現(xiàn)了半隱藏訪問策略來保護隱私信息,還實現(xiàn)了基于時間的細粒度訪問控制,任何用戶只有持有有效的屬性密鑰才可以訪問共享的日志數(shù)據(jù).最后本文將構(gòu)造好的溯源圖利用圖卷積神經(jīng)網(wǎng)絡(luò)進行特定類型的分類,告訴管理方具體的攻擊類型.

本文模擬了目前流行的4種APT攻擊,在Linux,Windows系統(tǒng)平臺都有實驗,過程中收集了可能會留有痕跡的多種日志,依據(jù)方案給出的特征維度,構(gòu)建了事件之間的關(guān)系,并通過基于TensorFlow構(gòu)造的GCN框架對攻擊進行了有效的分類.實驗結(jié)果表明了多日志分析可以更完善的展示攻擊社區(qū),并且通過對Louvain的優(yōu)化,運算時間最多可有90%的縮減,準確率可達92%.所使用的日志隱私保護方法,不僅支持大規(guī)模屬性集,而且通過引入高性能的質(zhì)數(shù)群,計算開銷減少了83%以上,密文的存儲開銷也縮減了50%以上.

本研究主要有4個創(chuàng)新點:

1) 提出基于監(jiān)督學習的攻擊關(guān)系圖優(yōu)化方法,解決了狀態(tài)爆炸問題,首次利用剪枝判斷、連接優(yōu)化的方法,提升社區(qū)檢測的速度與準確性.

2) 通過隱私保護的大規(guī)模屬性基加密方法,實現(xiàn)了日志文件在服務(wù)器存儲的多用戶安全共享和細粒度訪問控制.

3) 利用圖卷積神經(jīng)網(wǎng)絡(luò)對構(gòu)造的溯源圖進行基于人工智能的有效分類,準確告訴安全管理員攻擊的類型,方便后續(xù)的攻擊防御.

4) 實驗過程復(fù)現(xiàn)了流行的多種APT攻擊,收集產(chǎn)生的多種日志數(shù)據(jù).展示了本方法通過日志分析構(gòu)造出完整的攻擊社區(qū),并對分析結(jié)果做出了評估,很好地證明了系統(tǒng)的有效性.

1 相關(guān)工作

人工智能攻擊檢測技術(shù):現(xiàn)有方法[14-16]使用具有代表性的訓練數(shù)據(jù)和序列處理技術(shù),從過去的事件學習并預(yù)測接下來的事件.其中文獻[14]識別日志條目之間的關(guān)系,但忽視了事件之間的關(guān)系.然而,日志級別的粒度不能反映攻擊者的真實意圖,使得安全人員不能有效地識別和防范相應(yīng)的攻擊.Deeplog[14]和Tiresias[15]使用LSTM算法學習攻擊日志并且對攻擊進行預(yù)測,APT自動分類器[16]研究真實APT的已有行為,NoDoze[17]學習異常的攻擊事件的特征從而對攻擊進行檢測,PrioTracker[18]學習異常流量數(shù)據(jù)特征并對流量數(shù)據(jù)進行檢測.但這些方法忽略了41%的APT攻擊技術(shù)和使用的軟件都是未知,它們不能簡單地從歷史數(shù)據(jù)中學習并且進行預(yù)測.當攻擊者使用新型的惡意軟件或者未知方法時,攻擊就能避開檢測.大多數(shù)方法只考慮多個日志之間的空間相關(guān)性或單個日志的事件相關(guān)性,沒有融入人工智能手段,不能進行有效的分類.

通常攻擊者在發(fā)動一個APT攻擊破壞前,就已經(jīng)開始在進入系統(tǒng)之前為其做準備,他們通常掃描并收集情報,以更好地了解一個目標如何工作及其潛在的弱點.對于APT的溯源,Log2vec[19]使用系統(tǒng)審計日志來檢測內(nèi)部威脅,UIScope[20]利用Windows事件追蹤(ETW)日志也只能追蹤到進入系統(tǒng)內(nèi)部的攻擊事件.這2個方法關(guān)注系統(tǒng)內(nèi)部威脅而忽略了破壞系統(tǒng)之前的準備工作.在后續(xù)的因果分析工作中,會確立事件之間的關(guān)聯(lián)關(guān)系,由于是通過字段匹配來進行關(guān)聯(lián)分析,當前事件依賴于前面所有事件,即會產(chǎn)生狀態(tài)爆炸問題[21-22],這會導致溯源圖構(gòu)造的分析結(jié)果不準確.為解決這一問題,SLEUTH[23]和MORSE[24]利用了編碼可信度和數(shù)據(jù)敏感性的評估標簽,但在APT場景中,我們不能從原始審計日志中找出標簽.OmegaLog[25]構(gòu)造了一個帶有應(yīng)用程序日志的通用起源圖(UPG),但跨應(yīng)用程序的事件因果關(guān)聯(lián)增加了解決問題的難度.UIScope[22]將系統(tǒng)事件屬性歸為高級UI元素,這種方法不能普遍適用于系統(tǒng).

最近,策略隱藏的密文策略屬性基加密(Hidden Policy Ciphertext-Policy Attribute Based Encryption, HP-CP-ABE)方案[26]得到了廣泛的關(guān)注和擴展.然而,這類方案中的訪問策略本身可能會包含用戶隱私,這給用戶隱私帶來很大威脅.因此,Nishide等人[27]在2008年提出了第1個部分隱藏訪問策略的屬性基加密方案,但是僅支持與邏輯訪問策略;2018年文獻[28]中提出了完全隱藏訪問策略的方案以支持訪問策略中的屬性完全隱藏,多屬性機構(gòu)和多種訪問策略,為了降低該方案的開銷,文獻[28]擴展了該方案并引入外包解密和可驗證機制;由于完全隱藏策略存在高計算復(fù)雜度等缺點,文獻[29]基于合數(shù)階群提出了一種具備解密測試的部分隱藏訪問策略方案;之后,文獻[30]提出了基于質(zhì)數(shù)階的部分隱藏訪問策略方案以提高效率;2020年Han等人[31]提出了一種支持可撤銷可追蹤功能的部分隱藏策略的屬性基加密方案.然而,該方案無法提供基于時間的用戶密鑰有效期的功能.

本文提出基于時間的細粒度訪問控制.只有具有足夠權(quán)限的用戶在有效訪問時間范圍內(nèi)才可以訪問存儲在服務(wù)器的共享日志數(shù)據(jù).同時,共享日志數(shù)據(jù)的機密性需要得到保護.由于訪問策略是隨著密文一起在服務(wù)器存儲和共享,因此,訪問策略的值能夠隱藏,保證用戶隱私不被泄露.

2 攻擊示例

一次完整的APT攻擊涉及了多個程序、多個文件,其攻擊痕跡分布在了多個日志之中,如圖1所示.階段1用戶點擊了釣魚郵件中的鏈接,通過鏈接下載了含有惡意命令的文檔;階段2用戶運行文檔后,通過執(zhí)行惡意命令,打開了PowerShell后門;階段3便可訪問用戶數(shù)據(jù)、植入病毒.攻擊針對性強,隱蔽能力高,完整的APT攻擊過程不僅僅有異常行為,還有很多正常的程序過程,而且各階段攻擊采用的手段極為豐富,現(xiàn)有的異常檢測系統(tǒng)并不能很好地對此進行分析.對此,本文給出了基于多日志的攻擊社區(qū)提取方法.

Fig. 1 Microsoft Office memory corruption vulnerability圖1 Microsoft Office內(nèi)存損壞漏洞

3 系統(tǒng)概覽

完整的系統(tǒng)概覽,如圖2所示.整個系統(tǒng)包含了4個實體:密鑰產(chǎn)生中心、日志生產(chǎn)者、日志分析者和服務(wù)器.其中①密鑰產(chǎn)生中心,該實體負責初始化整個系統(tǒng),生成系統(tǒng)公共參數(shù)和主密鑰,并為系統(tǒng)中的用戶分發(fā)密鑰;②日志生產(chǎn)者在運行過程中生產(chǎn)大量的日志數(shù)據(jù),為了減輕系統(tǒng)的本地負擔,需要將日志數(shù)據(jù)加密后上傳至服務(wù)器進行共享;③日志分析者負責各種日志數(shù)據(jù)的分析,并檢測其中的攻擊.在日志分析之前,該實體需要從服務(wù)器下載具體的加密日志文件并進行解密;④服務(wù)器提供海量日志存儲和共享服務(wù),并根據(jù)用戶的請求返還對應(yīng)的日志文件.

Fig. 2 Atlack provenance system framework圖2 攻擊溯源系統(tǒng)框架

本文系統(tǒng)運行過程分為4個部分,通過多個處理模塊,提取所需要的攻擊社區(qū),從而更好的分析與解決APT攻擊,并對攻擊進行分類.階段1,本文方法中的日志生產(chǎn)者收集的多種日志信息(如firewall日志、網(wǎng)絡(luò)日志、系統(tǒng)日志)加密存儲到服務(wù)器中.在需要日志分析時,合法的日志分析者從服務(wù)器中獲取日志密文并解密.然后,日志分析者依據(jù)預(yù)設(shè)的提取字段,解析為信息完整且易于系統(tǒng)操作的結(jié)構(gòu)化日志條目.將條目節(jié)點依據(jù)特征關(guān)系連接,構(gòu)成關(guān)系圖.因日志關(guān)系連接緊密,關(guān)系圖的構(gòu)建會產(chǎn)生的嚴重的狀態(tài)爆炸,所以,階段2本文方法采用了監(jiān)督學習的方式,重構(gòu)關(guān)系圖,生成帶權(quán)關(guān)系圖.在階段3進行社區(qū)檢測,劃分社區(qū).通過社區(qū)發(fā)現(xiàn)提取所需的攻擊社區(qū).最后,本文利用圖卷積神經(jīng)網(wǎng)絡(luò)對劃分的社區(qū)進行攻擊分類.

4 系統(tǒng)設(shè)計

4.1 日志格式化與關(guān)系鏈接方法

我們通過爬蟲、抓包等方式收集系統(tǒng)、網(wǎng)絡(luò)(HTTP,DNS,UDP/TCP)、應(yīng)用(Chrome,Email,Office)等產(chǎn)生的日志,輸入解析程序.解析程序中,將所需的特征量表達為正則式通過正則匹配方式,解析日志,如將系統(tǒng)的DNS日志“26-June-2020 09:18:46.056 queries:client 192.168.1.106#39164(www.baidu.com):query:www.baidu.com IN AAAA+(45.116.155.55)”解析為表1所示的結(jié)構(gòu)化實體:

Table 1 Structured Entity表1 結(jié)構(gòu)化實體

表2給出了解析中預(yù)設(shè)提取的條目特征,如進程號、端口號等,我們在表3中給出了這些特征的關(guān)系連接.

Table 2 Feature Description表2 特征描述

Table 3 Feature Relation Connection表3 特征關(guān)系連接

續(xù)表3

d1:在一個閾值時間內(nèi)的事件往往有一定的相關(guān),所以我們在該維度通過時間設(shè)定了關(guān)系的連接.如我們接受釣魚郵件、下載病毒文檔、執(zhí)行文檔會發(fā)生在同一時間段下.

d2~d4:APT攻擊在靶機中多是由多個進程多次攻擊完成,所以d2~d4維度表示了進程的相關(guān)性.如一個進程的溢出,從而產(chǎn)生新的進程,發(fā)起真正的攻擊,所以進程號、名稱、進程的父子關(guān)系都可以很好地聯(lián)系2個日志事件.

d6~d10:網(wǎng)絡(luò)攻擊中檢測IP地址、端口號、傳輸類型、傳輸狀態(tài)是否相同,可以很重要地反映攻擊來源的相關(guān)性、攻擊方式的相關(guān)性,所以為其建立了特征聯(lián)系.

d11~d13反映了進程與網(wǎng)絡(luò)路徑對文件的訪問,如某一網(wǎng)絡(luò)事件u下載惡意程序,另一進程v執(zhí)行了該程序,則u和v應(yīng)屬于同一攻擊路徑.或者是進程A創(chuàng)建了惡意對象obj,而進程B訪問了obj,進程A,B間也應(yīng)存在攻擊聯(lián)系.

將解析后的格式化數(shù)據(jù)輸入,通過日志條目的特征關(guān)系連接節(jié)點構(gòu)成未加權(quán)無向圖.形成一個n維網(wǎng)絡(luò)圖G(V,E,D).其中V是一節(jié)點事件集合,表示日志條目,E是日志條目間關(guān)系構(gòu)成的邊,D是n維的特征關(guān)系.最終形成了V×V×D的3維矩陣M,i和j表示2個節(jié)點條目,則Mi,j,k=1表示節(jié)點i和節(jié)點j間存在第k維的關(guān)系,Mi,j,k=0則表示節(jié)點i和節(jié)點j間沒有關(guān)系.E中的邊e可以表示為{(i,j,d1,d2,…,dn)|i,j∈V,dk∈D}.

4.2 解決狀態(tài)爆炸問題

關(guān)系構(gòu)圖后,因日志條目間的關(guān)系錯綜復(fù)雜,不對特征量進行權(quán)重分配,會出現(xiàn)很明顯的狀態(tài)爆炸現(xiàn)象,而現(xiàn)有的很多攻擊分析沒有解決狀態(tài)爆炸問題,直接對構(gòu)成的關(guān)系網(wǎng)絡(luò)圖檢測,所得結(jié)果會因攻擊社區(qū)與非攻擊社區(qū)間的關(guān)系連接產(chǎn)生很大的影響.為了解決這一問題,我們給出了使用監(jiān)督學習優(yōu)化權(quán)重的方法.我們將日志條目分為A,B社區(qū),其中A社區(qū)包含攻擊相關(guān)的日志條目,B社區(qū)包含攻擊無關(guān)的日志條目.則eA,eB分別表示A,B社區(qū)內(nèi)部的邊,eAB為2個社區(qū)間的邊,為了更好地區(qū)分攻擊社區(qū)與非攻擊社區(qū),我們需要使eA?eAB且eB?eAB,所以我們使用了Logistic Regression,通過學習找到一個權(quán)重向量α,可以使權(quán)重關(guān)系滿足不等式條件:

(1)

為了防止α對邊加權(quán)后出現(xiàn)負權(quán),我們通過函數(shù)設(shè)置將權(quán)重范圍映射到[0,1],

(2)

對m條訓練邊,定義E=(xi,yi),i∈[1,m],xi表示第i條訓練邊e,若e∈eAB,則yi=1,否則yi=0,構(gòu)造函數(shù)g:

(3)

我們用hα(xi)表示e∈eAB,yi=1的概率,反之,概率為1-hα(xi),我們用對數(shù)似然法最小化成本函數(shù):

(4)

4.3 社區(qū)檢測方法

關(guān)系圖加權(quán)后,我們給出了增強型Louvain算法對節(jié)點進行分類,找出攻擊社區(qū).

社區(qū)發(fā)現(xiàn)中通過模塊度評估一個社區(qū)網(wǎng)絡(luò)劃分好壞的程度.其定義為

(5)

4.3.1 社區(qū)劃分

將圖中的每個節(jié)點初始化為獨立的社區(qū),然后對每個節(jié)點i,依次嘗試分配到其鄰居節(jié)點所在的社區(qū),計算移動前后的模塊度變化ΔQ,并記錄ΔQ最大的鄰居節(jié)點,若max ΔQ>0,則把節(jié)點i分配給ΔQ最大的居節(jié)點所在的社區(qū),否則不移動社區(qū).實驗發(fā)現(xiàn),節(jié)點i從A移動到另一社區(qū)B后,我們只需將不在社區(qū)B中節(jié)點i的鄰居節(jié)點加入節(jié)點判讀隊列即可,無需判斷全部節(jié)點.這樣可以大幅提升算法速度,且對分區(qū)準確率影響很小.

算法1中,先將每個節(jié)點初始化為單節(jié)點社區(qū),設(shè)置一個空隊列,節(jié)點以隨機順序添加到隊列中,然后我們從隊首取出節(jié)點,通過質(zhì)量函數(shù),判斷該節(jié)點是否應(yīng)該移動至其他社區(qū),若該節(jié)點被移動,則會將不屬于新社區(qū)且尚未加入隊列的所有鄰居節(jié)點加入隊列,然后我們不斷從隊列中取出節(jié)點進行移動操作,一直持續(xù)到隊列為空.

算法1.快速移動節(jié)點算法.

輸入:圖G;

輸出:節(jié)點所在社區(qū)C.

①FastMoveNodes(G);

②C←Initial(G);

③Q←Queue(V(G));

④ whileQ≠? do

⑤v←Q.pop();

⑥best_commnuity←SelectBeatCommunity();

⑦N←{u|(u,v)∈E(G),u?

(best_community∪Q)};

⑧Q.push(N);

⑨ end while

⑩ ReturnC.

4.3.2 連接優(yōu)化與節(jié)點聚合

社區(qū)劃分過程中,每次僅考慮單個節(jié)點的移動,因此可能會出現(xiàn)當1個節(jié)點離開社區(qū)后,社區(qū)內(nèi)節(jié)點斷開的情況,為了解決在社區(qū)劃分過程產(chǎn)生的連接不良,我們對劃分的后社區(qū)進行了進一步的連接優(yōu)化.

在劃分社區(qū)后,對每個社區(qū)進行精煉,然后基于精煉社區(qū)聚合網(wǎng)絡(luò),避免聚合網(wǎng)絡(luò)時會將斷開的社區(qū)聚合為新的節(jié)點.并且在精煉劃分過程中,使用貪婪移動限制太大,以至于不能達到最優(yōu)劃分,而通過隨機性的選擇社區(qū)允許更廣泛地探索分區(qū)空間.所以我們讓節(jié)點可以與使模塊度增加的任意社區(qū)隨機合并,模塊度增加越大,移動可能性便越大.其中社區(qū)的隨機選擇程度通過參數(shù)θ>0影響.

分區(qū)精煉算法中,首先將G中的每個節(jié)點初始化為一個單節(jié)點社區(qū),對于本地移動后劃分好的社區(qū),我們通過判斷其節(jié)點的連接度是否良好,選擇連接良好的節(jié)點進一步分析,對于良好連接的節(jié)點集合中未被合并的點,我們挑選連接良好的社區(qū),將節(jié)點依模塊度的提升隨機移入,未被并入社區(qū)節(jié)點單獨成為社區(qū).

基于精煉分區(qū),我們對整個網(wǎng)絡(luò)圖進行壓縮,將一個社區(qū)的節(jié)點壓縮為一個新的節(jié)點,社區(qū)內(nèi)節(jié)點間的邊權(quán)轉(zhuǎn)換為新節(jié)點的自環(huán)權(quán)重,社區(qū)間連接的邊權(quán)轉(zhuǎn)換為新節(jié)點間的邊權(quán).然后重新執(zhí)行社區(qū)劃分.

4.3.3 基于GCN的網(wǎng)絡(luò)威脅分類

圖是一種常用的數(shù)據(jù)結(jié)構(gòu)類型,它由若干個頂點以及邊組成,通過邊可以將頂點之間的連接關(guān)系進行直觀的表示.CNN卷積神經(jīng)網(wǎng)絡(luò)能對目標的特征信息進行提取,從而學習到輸入與輸出之間的映射關(guān)系.但由于拓撲圖中每個頂點的度都不同,因此CNN在非歐幾里得數(shù)據(jù)上無法保持平移不變性.而GCN可以較好地解決這一問題,提取拓撲圖的空間特征.

GCN是一種基于圖的深度神經(jīng)卷積網(wǎng)絡(luò),它能利用拉普拉斯矩陣對圖的特征進行分析,從而完成分類等工作.GCN結(jié)構(gòu)通??煞譃檩斎雽印⑷舾呻[藏層和輸出層,其中隱藏層用于完成圖上的卷積操作.

假設(shè)無向圖G=(V,E),其中V,E分別代表頂點和邊的集合.矩陣X,A分別為節(jié)點的特征矩陣和鄰接矩陣.則GCN的層間傳播規(guī)則為

(6)

對于一個2層的GCN模型,其前向傳播公式為

(7)

Fig. 3 Two layer GCN model圖3 2層GCN模型

對于圖3所示的2層GCN網(wǎng)絡(luò),分別使用ReLU和softmax作為激活函數(shù).其中s為輸入,ReLU將輸入s與0取最大值后輸出,對輸入具有單側(cè)抑制的作用,使神經(jīng)元具有稀疏激活性.

使用ReLU激活函數(shù)可以解決非線性問題,有助于神經(jīng)網(wǎng)絡(luò)的快速收斂,ReLU表達式為

ReLU(s)=max(0,s).

(8)

在輸出層我們使用softmax作為激活函數(shù),歸一化后每個元素的輸出為

(9)

softmax函數(shù)可以將輸出映射到(0,1)區(qū)間內(nèi)的某個值,且各輸出的加和為1.若將映射后的輸出視為概率,則可以選取概率最大的節(jié)點作為預(yù)測目標,也就是預(yù)測標簽.

對于本文所需要解決的分類問題,我們使用交叉熵誤差作為損失函數(shù):

(10)

其中,M為類別的數(shù)量;yic為指示變量(取值為0或1),若類別與樣本i類別相同則取1,否則取0;pic為觀測樣本i屬于類別c的預(yù)測概率.

在訓練過程中,我們使用梯度下降法對權(quán)重矩陣W(0)和W(1)進行訓練,每次訓練迭代對整個數(shù)據(jù)集進行批量梯度降.并通過dropout向訓練過程中引入隨機性,防止模型過擬合,提高泛化能力.

在驗證模型的有效性時,只需把樣本送入訓練完成的網(wǎng)絡(luò)中即可得到預(yù)測標簽.例如輸入樣本圖的鄰接矩陣A和特征矩陣X,根據(jù)GCN網(wǎng)絡(luò)的前向傳播公式式(7)以及訓練好的權(quán)重矩陣,可以得到網(wǎng)絡(luò)輸出,并用softmax激活函數(shù)對輸出進行歸一化處理,選擇最大概率的輸出所對應(yīng)的標簽作為預(yù)測標簽,并與真實標簽進行對比,驗證模型預(yù)測的準確性.

4.4 日志隱私保護方法

任何一種日志分析方法,都需要大量的日志數(shù)據(jù)作為支撐,這需要各種系統(tǒng),包括資源受限的系統(tǒng),不停產(chǎn)生大量的日志數(shù)據(jù).因此,需要將日志數(shù)據(jù)外包存儲到服務(wù)器中進行共享,以減輕系統(tǒng)的本地負擔.

在圖2所示的系統(tǒng)框架中,根據(jù)文獻[30],整個系統(tǒng)運行時,共享服務(wù)器被認為“半可信”的,該實體按照指定協(xié)議提供服務(wù),但是可能會通過分析用戶日志數(shù)據(jù)獲取隱私和機密信息.日志生產(chǎn)者被認為是可信的且不與服務(wù)器進行串謀.密鑰產(chǎn)生中心被認為是可信的并且不與任何一方串謀.日志分析者被認為是不可信任的,存在一些惡意的日志分析者非法訪問共享日志并且泄露其中的敏感和隱私信息,甚至篡改日志文件以影響其他日志分析者的分析結(jié)果.而日志文件包含大量的用戶隱私和敏感信息,如果共享的日志文件被惡意日志分析者攻擊或者被服務(wù)器分析和竊聽,將會對用戶隱私造成重大危害.因此,我們設(shè)計了一種新穎且高效的日志隱私保護方法.本文方法主要用于保護日志文件中敏感和隱私數(shù)據(jù)的安全共享.

(11)

其次,密鑰產(chǎn)生中心注冊并校驗用戶的合法性,同時根據(jù)用戶的屬性集合生成對應(yīng)的私鑰,并指定該用戶私鑰的有效時間.對于一個用戶u,系統(tǒng)選取一個隨機數(shù)r∈Zp對其進行標識.而該用戶的屬性集合Su中的每個屬性ai∈Su,計算對應(yīng)的私鑰元素Di=gairμ-β r.然后,系統(tǒng)對該用戶設(shè)定一個密鑰有效時間Tv,并且根據(jù)該有效時間Tv的形式化表示:

T=(δ1,…,δm,…,δk),

對于第m個時間元素δm,選擇一個隨機數(shù)σm∈Zp計算對應(yīng)的私鑰元素:

(12)

最后,密鑰產(chǎn)生中心生成用戶u的私鑰為

SKu={D0=gβ r,D1=gr,{Di}ai∈Su, {Dm,1,Dm,2}m∈[k]}.

(13)

Cx,1=hλxμtx,Cx,2=g-txvx,Cx,3=gtx,

(14)

(15)

日志密文生成之后,日志生產(chǎn)者將該密文上傳到服務(wù)器中,以節(jié)省本地的存儲空間.

當日志分析者需要分析日志檢測攻擊時,從服務(wù)器請求得到加密日志數(shù)據(jù)CT,用自己的密鑰SKu按照步驟進行計算:

(16)

(17)

當且僅當日志分析者擁有足夠權(quán)限時,即用戶私鑰中嵌入的屬性值aρ(i)和密文中嵌入的訪問策略值vx一致(aρ(i)=x),我們可以得到結(jié)果:

(18)

(19)

當且僅當日志分析者所持有的密鑰在有效范圍內(nèi).

最后,對稱會話密鑰ssk可以通過計算獲得

(20)

同時,明文數(shù)據(jù)可以通過m=Dec(ssk,CT1)進行恢復(fù).日志分析者即可對日志明文進行相關(guān)攻擊檢測分析.

5 實驗與結(jié)果

我們使用惡意軟件數(shù)據(jù)集CCCS-CIC-AndMal-2020對增強型Louvain算法的計算速度提升進行了驗證,并且對目前4種常見的APT攻擊進行了仿真復(fù)現(xiàn)實驗,以此來評價本文方法在圖卷積神經(jīng)網(wǎng)絡(luò)攻擊溯源中的檢測效果.

5.1 數(shù)據(jù)集

在時間復(fù)雜度優(yōu)化效果的驗證部分,我們選用了惡意軟件數(shù)據(jù)集CCCS-CIC-AndMal-2020.該數(shù)據(jù)集包括20萬個良性和20萬個惡意軟件樣本,總計40萬個android應(yīng)用程序,其中包含14個突出的惡意軟件類別和191個惡意軟件家族.

5.2 攻擊溯源性能分析

在檢測效果的對比部分,我們選取了表4所示的4種常見APT攻擊漏洞來進行仿真復(fù)現(xiàn)實驗,分別用本文方法與HERCULE方法進行攻擊溯源,并將2種方法的檢測準確性進行對比.

Table 4 Four Common APT Attack Vulnerabilities表4 4種常見APT攻擊漏洞

增強型Louvain算法通過對社區(qū)劃分的移動過程進行優(yōu)化,大幅提升了算法的執(zhí)行速度.為了更直觀地展示該算法對于整個社區(qū)檢測過程時間復(fù)雜度的優(yōu)化效果,我們對比了本文方法和HERCLUE在同一數(shù)據(jù)集下進行社區(qū)檢測所消耗的時間成本.

圖4是2種算法的運行時間對比圖,可以明顯看出,HERCULE方法在該數(shù)據(jù)集上的平均執(zhí)行時間為80.6 s,而本文方法的執(zhí)行時間平均為8.2 s.圖4中的實驗結(jié)果證明:相比于HERCULE方法,本文方法時間優(yōu)化率大約在90%左右.這種優(yōu)化效果在算法檢測大量節(jié)點或者進行多次迭代的過程中體現(xiàn)的尤為明顯.

Fig. 4 Running time comparison between our method and HERCULE method圖4 本文方法和HERCULE方法運算時間對比

另外,本文方法對社區(qū)劃分過程中產(chǎn)生的連接不良的社區(qū)進行了優(yōu)化,因此大大減少了無關(guān)日志節(jié)點在社區(qū)檢測中的錯誤連接,提高了社區(qū)發(fā)現(xiàn)算法的精準度.為了對比方法在社區(qū)檢測中的執(zhí)行效果,我們用F1分數(shù)對其識別質(zhì)量進行衡量.把正確分類為攻擊日志的節(jié)點數(shù)量,錯誤分類為攻擊日志的節(jié)點數(shù)量,正確分類為無關(guān)日志的節(jié)點數(shù)量和錯誤分類為無關(guān)日志的節(jié)點數(shù)量分別記為tp,fp,tn,fn.

我們對比了該方法、HERCULE方法和PROBLEMCHILD方法.如圖5所示,對于4種APT攻擊的檢測效果.在最壞情況下,如APT1檢測中,本文方法的F1分數(shù)也可達到0.87,而HERCULE方法僅為0.74,PROBLEMCHILD方法更是低至0.68;而最優(yōu)情況下,如APT3檢測中,本文方法的F1分數(shù)可達0.94,HERCULE方法和PROBLEMCHILD方法分別為0.83和0.73.因為本文方法在檢測中優(yōu)化了連接不良的社區(qū),所以可以大幅減少攻擊相關(guān)的事件和與攻擊無關(guān)的事件之間的錯誤連接.更好的事件劃分有效地提高了檢測系統(tǒng)的性能,對比HERCULE方法和本文方法的平均F1分數(shù),分別為0.77和0.89.本文方法的檢測效率平均提升了16%.對比PROBLEMCHILD方法,檢測效率平均提升了20%.在圖6中,我們展示了圖卷積神經(jīng)網(wǎng)絡(luò)攻擊溯源的可視化輸出.方形節(jié)點所在的社區(qū)是與攻擊相關(guān)的社區(qū),圓形節(jié)點所在的社區(qū)則是與攻擊無關(guān)的社區(qū).通過對攻擊社區(qū)進行分析,我們能夠完成對攻擊者惡意行為的重構(gòu)和復(fù)現(xiàn).

以圖6中CVE-2019-1367所構(gòu)建出的攻擊社區(qū)為例,這是一個IE瀏覽器腳本引擎內(nèi)存損壞漏洞,攻擊者可以利用此漏洞破壞內(nèi)存,獲得用戶的當前權(quán)限,并執(zhí)行任意代碼.如果當前用戶擁有管理權(quán)限,攻擊者可以在系統(tǒng)上執(zhí)行各種操作,從創(chuàng)建具有完全權(quán)限的新賬戶到安裝程序甚至修改數(shù)據(jù).

在仿真實驗中,我們利用本文方法對攻擊行為進行了日志溯源,成功重構(gòu)了3種攻擊行為:1)攻擊者發(fā)送電子郵件,并誘導目標打開Gmail中的鏈接,查看攻擊者提前利用該漏洞構(gòu)造的惡意網(wǎng)頁.2)攻擊者成功獲取了目標客戶機的管理員用戶權(quán)限并與C&C服務(wù)器的IP地址192.168.2.15建立了反向TCP連接.3)攻擊者瀏覽了不同的文件夾和文件.找到目標文件后,在命令行中啟動FTP客戶端,將文件上傳到IP地址192.168.2.15.

Fig. 5 Comparison of the detection effect of this method with HERCULE method and PROBLEMCHILD method圖5 本文方法與HERCULE方法、PROBLEMCHILD方法的檢測效果對比

Fig. 6 Visual community graph of APT attack圖6 APT攻擊的可視化社區(qū)圖

5.3 GCN分類準確率對比

為驗證本文使用GCN作分類的有效性,我們將其與4種其他的方法進行比較驗證:

1) 深度游走(DeepWalk)[32]使用隨機游走(random walk)的方法在圖中對節(jié)點進行采樣,產(chǎn)生相應(yīng)的節(jié)點序列.然后用skip-gram模型對序列進行向量學習.

2) 半監(jiān)督節(jié)點嵌入(semi-supervised embedding, SemiEmb)[33]可以將圖數(shù)據(jù)映射為低維稠密向量,從而獲取圖的拓撲結(jié)構(gòu)等相關(guān)信息.

3) 獨立成分分析(ICA)[34]利用源信號的獨立性和非高斯性,從多維統(tǒng)計數(shù)據(jù)中分離出獨立分量.ICA可以在源信號和線性變換未知的情況下,從觀測的混合信號中估計出源信號.

4) BiLSTM-GCN[35]將網(wǎng)絡(luò)流量數(shù)據(jù)分解為基于IP的網(wǎng)絡(luò)流,并基于網(wǎng)絡(luò)流對IP信息進行重構(gòu),最后利用GCN模型從所有IP中檢測出APT攻擊的異常IP.

模型的測試結(jié)果如表5所示,我們使用本文方法對不同的威脅類型進行了分類測試,并用DeepWalk,SemiEmb,ICA,BiLSTM-GCN 4種方法作為對照.結(jié)果表明:對于4種不同類型的攻擊,本文所采用的GCN模型的分類準確率均顯著優(yōu)于其他4個模型.

Fig. 7 Scheme performance evaluation圖7 方案性能評估

Table 5 Comparison of Classification Accuracy表5 分類準確率對比 %

相對于傳統(tǒng)方法,本文結(jié)合GCN能有效對圖的特征進行提取并充分利用節(jié)點的特征關(guān)系,從而提高分類精度,得出較好的分類結(jié)果.

5.4 隱私保護性能分析

圖7(a)描繪了3個方案的文件加密時間消耗.可以很明顯看出,本文的方案在加密過程中所需要的時間損耗遠小于文獻[29,36]所述方案,而且隨著訪問策略復(fù)雜度的增長,本文中方案所需的加密時間增長較為緩慢.圖7(b)展示了3個方案中文件解密時間隨著密文個數(shù)的變化情況.在同樣的訪問策略設(shè)置下對同樣個數(shù)的密文進行解密的時間長度,本文中的方案所需要的時間消耗要遠低于另外2個文獻[29,36]方案.圖7(c)顯示了3個方案的密鑰生成時間.可以看出,在同樣的時間元素個數(shù)條件下,密鑰生成時間也在隨著用戶屬性集合大小緩慢增大.而文獻[29,36]方案的密鑰生成時間遠高于本文方法中的時耗.

圖7(d)描繪了系統(tǒng)公共參數(shù)的大小隨系統(tǒng)屬性集合的變化情況.很明顯,3個方案中,系統(tǒng)公共參數(shù)的大小均不受系統(tǒng)屬性全集大小的變化,也就是說,這3個方案均事實上支持大規(guī)模屬性集合.在本文方案中,由于要支持時間有效性而引入了時間相關(guān)的公共參數(shù),因此,會增大公共參數(shù)的存儲開銷.圖7(e)顯示了用戶私鑰大小在3個方案中隨著用戶屬性集合大小的變化情況.本文方案的用戶私鑰大小會隨著時間元素個數(shù)的增加而緩慢增長.而在同樣的時間元素個數(shù)設(shè)置下,本文方案和文獻[29,36]方案中的用戶私鑰大小都隨著用戶屬性集合大小的增大而增長,可以很明顯看到,本文方案的變化較為緩慢,同時,在同樣的用戶屬性集合大小情況下,文獻[29,36]方案中的用戶私鑰存儲占用要遠高于本文方案.圖7(f)展示了密文大小在3個方案中的變化情況.如圖7所示,3個方案中的密文大小均受訪問策略的復(fù)雜度影響.而且,隨著訪問策略的復(fù)雜度的增大,密文大小也在增加,所占用的存儲空間也會加大.然而,由于未采用雙系統(tǒng)方案,本文方案的密文占用存儲開銷遠低于文獻[29,36]方案.因此,本文的密文所需要的存儲空間更小.

本文方案由于在系統(tǒng)公共參數(shù)中,引入時間相關(guān)的一些固定參數(shù),因此在公共參數(shù)的存儲開銷中有所增加.然而,在方案的計算性能和其他存儲空間開銷方面,本文方法都遠超文獻[29,36]方案.因此,本文方法更具有實用性和可操作性.

6 總 結(jié)

本文介紹了一種具有隱私保護的基于圖卷積神經(jīng)網(wǎng)絡(luò)的攻擊溯源方法.本文方法將收集的多種日志解析為計算機可以操作的格式化條目,通過權(quán)重優(yōu)化解決了多日志關(guān)系連接導致的狀態(tài)爆炸,并且通過對Louvain算法的調(diào)整,很好地優(yōu)化了社區(qū)檢測過程,最后基于GCN對多重APT攻擊進行精確分類.相較于現(xiàn)有的單日志分析方法,本文方法可以更加完整地提取攻擊社區(qū).同時,本文方法結(jié)合屬性基加密實現(xiàn)了日志數(shù)據(jù)的隱私保護.實驗通過在不同操作系統(tǒng)上復(fù)現(xiàn)的多種APT攻擊,顯示了我們重構(gòu)后的攻擊社區(qū)信息更加完整且有效.實驗同時表明:優(yōu)化后的社區(qū)檢測很好地提升了算法的檢測速度和社區(qū)劃分的準確度.而且,所提出的隱私保護方法在實驗中也表現(xiàn)出了高效性和可用性.

猜你喜歡
日志節(jié)點方案
基于RSSI測距的最大似然估計的節(jié)點定位算法
爛臉了急救方案
分區(qū)域的樹型多鏈的無線傳感器網(wǎng)絡(luò)路由算法
一名老黨員的工作日志
基于圖連通支配集的子圖匹配優(yōu)化算法
讀扶貧日志
基于點權(quán)的混合K-shell關(guān)鍵節(jié)點識別方法
雅皮的心情日志
雅皮的心情日志
定邊:一份群眾滿意的“脫貧答卷” 一種提供借鑒的“扶貧方案”
德清县| 保康县| 广元市| 柳林县| 家居| 察雅县| 高唐县| 海城市| 重庆市| 锡林郭勒盟| 正镶白旗| 犍为县| 克山县| 淄博市| 莒南县| 永川市| 尼木县| 新源县| 珲春市| 樟树市| 南丰县| 太谷县| 家居| 安岳县| 东乡县| 隆尧县| 河北区| 阿坝县| 漳平市| 西青区| 吉首市| 涟水县| 五峰| 灵丘县| 思茅市| 陈巴尔虎旗| 南安市| 新建县| 淮安市| 临猗县| 怀远县|