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

?

一種無監(jiān)督的竊密攻擊及時發(fā)現(xiàn)方法

2021-06-04 00:22劉寶旭張金莉汪旭童劉潮歌申明喆劉奇旭
計算機研究與發(fā)展 2021年5期
關(guān)鍵詞:竊密會話日志

馮 云 劉寶旭 張金莉 汪旭童 劉潮歌 申明喆 劉奇旭

(中國科學(xué)院信息工程研究所 北京 100093) (中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100049)

竊密攻擊是企業(yè)和組織都正在面臨的嚴峻問題,威脅著知識產(chǎn)權(quán)和機密數(shù)據(jù)的安全.竊密攻擊可以由外部攻擊者投遞的惡意軟件實施,也可以由內(nèi)部人員實施,即內(nèi)部威脅.根據(jù)Verizon統(tǒng)計的數(shù)據(jù)[1],大約30%的數(shù)據(jù)泄露是由內(nèi)部人員造成的.Ponemon研究所2020發(fā)布的《內(nèi)部威脅成本全球報告》[2]也顯示,由內(nèi)部威脅造成的數(shù)據(jù)泄露成本在2年間增長了31%,達到1 000余萬美元.內(nèi)部人員可能出于受賄、將要離職等原因竊取公司數(shù)據(jù),由于內(nèi)部人員更加熟悉企業(yè)內(nèi)部的部門架構(gòu)、內(nèi)網(wǎng)環(huán)境和安全策略,并且擁有一定的內(nèi)部計算機訪問權(quán)限,因此帶來的威脅更大.

在攻擊檢測和發(fā)現(xiàn)領(lǐng)域已經(jīng)有很多研究成果.入侵檢測和惡意軟件檢測是典型的方法,但是在內(nèi)部人員竊密攻擊檢測方面存在缺陷.通常,在竊密攻擊尤其是由人實施的竊密攻擊中,很少有明顯的異常行為,而是由一系列正常的操作構(gòu)成,如文件、網(wǎng)絡(luò)和電子郵件操作等,并且很少使用惡意軟件,因此不會被入侵檢測系統(tǒng)觸發(fā)警報,傳統(tǒng)的檢測方法難以生效.另外,存在一些策略上的解決方案,例如安全控制策略、數(shù)據(jù)防泄露等,但僅可以防范未授權(quán)的訪問.相反,內(nèi)部人員竊密是一系列的用戶行為事件(后文簡稱“用戶事件”),因此,利用用戶事件進行攻擊發(fā)現(xiàn)值得研究.

現(xiàn)有的內(nèi)部威脅檢測方法更關(guān)注惡意內(nèi)部人員檢測,而不是攻擊發(fā)現(xiàn).很多工作從用戶長期完整的事件日志中提取特征,然后通過基于統(tǒng)計學(xué)或機器學(xué)習(xí)的方法,將正常用戶和惡意用戶進行分類,從而實現(xiàn)惡意人員檢測.但這類方法需要大量帶標簽的數(shù)據(jù)作為訓(xùn)練集,且會造成攻擊發(fā)生和攻擊發(fā)現(xiàn)之間的時間滯后性.另一種內(nèi)部威脅檢測方法是基于規(guī)則的,依賴于專家知識,且需要人工更新規(guī)則來避免攻擊者刻意的偽裝和策略轉(zhuǎn)換.目前,很多研究試圖采用深度學(xué)習(xí)技術(shù)以實現(xiàn)更智能的內(nèi)部人員攻擊檢測,但這也需要大量的數(shù)據(jù),且會以攻擊發(fā)現(xiàn)的及時性作為代價.

本文設(shè)計并實現(xiàn)了一個竊密攻擊及時發(fā)現(xiàn)方法.我們關(guān)注用戶事件從而解決由人實施的攻擊,尤其是內(nèi)部人員威脅.為了攻擊發(fā)現(xiàn)的及時性,以會話為單位進行用戶事件日志的分析,會話即用戶從登入計算機到登出計算機的階段.另外,由于在真實的場景中很難獲得大量的帶標簽數(shù)據(jù),本文利用無監(jiān)督算法進行異常檢測.同時,我們針對的是攻擊發(fā)現(xiàn)而不是惡意內(nèi)部人員檢測.更具體地說,發(fā)現(xiàn)什么人在什么時候做了什么,而不只發(fā)現(xiàn)是什么人做的.本文主要貢獻有4個方面:

1) 提出利用用戶事件發(fā)現(xiàn)攻擊行為,基于用戶行為習(xí)慣構(gòu)建行為模式,以會話為單位,通過比較用戶當(dāng)前行為與歷史行為的差異實現(xiàn)異常檢測,并加入了一個動態(tài)更新機制以適應(yīng)用戶可能的習(xí)慣變化;

2) 對于無法與正常行為模式匹配的異常事件序列,利用無監(jiān)督算法進行檢測,對每一個當(dāng)前的事件序列進行處理以實現(xiàn)攻擊發(fā)現(xiàn)的及時性;

3) 對于算法檢測為異常的會話,進行事件鏈的構(gòu)建以還原具體的惡意竊密操作,并進行更精確的攻擊判斷;

4) 進行了實驗比較不同算法的效果,同時證明了方法的有效性.

1 相關(guān)工作

很多研究人員提出了針對不同場景的攻擊檢測和發(fā)現(xiàn)方法.隨著攻擊規(guī)模和復(fù)雜度的提高,所帶來的挑戰(zhàn)也越來越嚴峻.尤其是對于竊密攻擊,因其很少有明顯的異常行為,更加難以發(fā)現(xiàn).

事件起源追蹤法是目前的研究熱點,通過監(jiān)控并分析系統(tǒng)中的所有實體及事件來檢測攻擊,并構(gòu)建攻擊事件鏈.有些研究聚焦事件起源關(guān)系的捕獲和記錄,通過改進系統(tǒng)級進程啟動和中斷追蹤機制實現(xiàn)更全面、高效的事件起源信息捕獲[3-6].利用細粒度的起源信息進行事件間因果關(guān)系分析從而檢測攻擊也是一個研究重點.文獻[7]提出利用進程、文件等實體間的交互信息,在起源圖上隨機游走并計算異常分數(shù),從而發(fā)現(xiàn)可疑的事件路徑.文獻[8]設(shè)計了3種屬性來描述一個事件的優(yōu)先級,包括稀有度、扇出度和數(shù)據(jù)流終止,以進行及時的異常事件鏈構(gòu)建.由于系統(tǒng)中事件數(shù)量龐大,起源圖可能會非常錯綜復(fù)雜,稱為依賴關(guān)系爆炸問題.文獻[9]提出了HOLMES,通過評估依賴關(guān)系的強弱來減少不重要的事件.另一個方法UNICORN[10]構(gòu)建了一個可增量更新、固定大小的圖形數(shù)據(jù)結(jié)構(gòu),以跟蹤系統(tǒng)的整個起源歷史并檢測攻擊.然而,這些系統(tǒng)都關(guān)注進程級的事件.

內(nèi)部威脅和商業(yè)間諜是竊密攻擊的常見類型,這2種攻擊都是由人而不是程序執(zhí)行的.因此,需要關(guān)注利用用戶事件的攻擊發(fā)現(xiàn).傳統(tǒng)的方法是從用戶行為日志中提取特征,利用統(tǒng)計方法、機器學(xué)習(xí)或深度學(xué)習(xí)算法進行異常分析.一般來說,特征包括基于頻率、基于時間、基于序列和基于屬性等[11-14].由于用戶事件序列可以看作一個事件鏈,因此隱馬爾可夫模型可以用于攻擊檢測[15-16].文獻[17]采用了多種機器學(xué)習(xí)算法,包括邏輯回歸、隨機森林和神經(jīng)網(wǎng)絡(luò)等來識別內(nèi)部威脅.Jiang等人[18]提出了一種將用戶之間的特征和屬性刻畫成圖的圖卷積網(wǎng)絡(luò)(graph convolutional network, GCN)模型.文獻[19]將特征轉(zhuǎn)化為灰度圖像,并通過預(yù)先訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)進行圖像分類,檢測惡意用戶.近年來,為了提高方法的自動化程度,針對特征自動學(xué)習(xí)出現(xiàn)了一些研究成果.利用自然語言處理(natural language processing, NLP)算法Word2Vec將行為日志轉(zhuǎn)換為向量,通過向量之間的距離來度量事件之間的依賴關(guān)系是近年來備受關(guān)注的方法[20-22].Liu等人[23-24]提出了4W(‘who’,‘when’,‘where’,‘what’)句子模板將每個事件轉(zhuǎn)換成文本,然后使用Word2Vec將每個事件轉(zhuǎn)換成向量.另一種方法是使用長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)學(xué)習(xí)用戶行為并提取特征,將這些特征作為卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)分類器的輸入[25].然而,這些方法依賴于一定數(shù)量的數(shù)據(jù)或標簽,不能很好地適用于真實的內(nèi)網(wǎng)場景和及時的攻擊發(fā)現(xiàn)需求.

本文針對現(xiàn)有研究存在的問題進行了改進.1)僅基于行為日志進行分析,保證了方法的通用性;2)利用當(dāng)前而非長期累計的事件日志來發(fā)現(xiàn)攻擊,保證了攻擊發(fā)現(xiàn)的及時性;3)利用無監(jiān)督算法進行檢測,無需借助大量帶標簽數(shù)據(jù)訓(xùn)練模型,保證了方法的實際意義;4)能夠構(gòu)建可視的事件鏈以還原具體惡意操作,有助于攻擊分析、溯源和取證.表1對比并展示了本文方法如何優(yōu)于最新的其他研究工作.

Table 1 Comparison with Related Work表1 與相關(guān)研究工作的對比

2 本文方法設(shè)計

2.1 概 述

本文拋棄傳統(tǒng)方法中不同用戶間對比分類的策略,而是將每個用戶視為獨立的個體,從用戶事件中觀察其當(dāng)前行為相比歷史行為的異常變化.具體來說,每個用戶都有獨特而相對穩(wěn)定的行為習(xí)慣,因此能夠利用歷史行為日志為每個用戶建立正常行為模式.用戶行為模式可以用來衡量當(dāng)前的行為是否正常.本文以會話為單位進行用戶事件日志的分析,而非幾周甚至幾個月的日志,以實現(xiàn)攻擊發(fā)現(xiàn)的及時性.采用無監(jiān)督算法檢測用戶當(dāng)前行為的異常,然后對異常會話中的事件序列進行可視化的攻擊事件鏈構(gòu)建,還原用戶具體的惡意操作,并進一步分析判斷是否真正發(fā)生了竊密攻擊.

方法的流程如圖1所示,由4個組件構(gòu)成:

1) 用戶行為模式構(gòu)建.用戶行為模式基于用戶在特定時間段內(nèi)的良性、正常的日常行為事件而構(gòu)建.

2) 實時監(jiān)控.對用戶事件進行持續(xù)的實時監(jiān)控和分析.

3) 檢測算法.采用無監(jiān)督算法進行異常會話的檢測.

4) 事件鏈構(gòu)建.對檢測為異常的會話進行事件鏈的構(gòu)建,從而直觀地掌握用戶的惡意竊密操作,并最終進行更精確的攻擊判斷.

Fig. 1 Approach schematic overview of this paper圖1 本文方法流程示意圖

2.2 用戶行為模式構(gòu)建

用戶通常具有獨特且相對穩(wěn)定的行為習(xí)慣.如果用戶執(zhí)行了一個罕見操作,偏離了他的正常行為模式,則可能是惡意操作.因此,我們選取一段特定的時間作為訓(xùn)練期,收集并分析用戶在訓(xùn)練期內(nèi)的良性、正常的行為事件,用于構(gòu)建用戶行為模式.關(guān)注7個類別的用戶事件,包括登入事件、登出事件、文件操作事件、電子郵件發(fā)送事件、電子郵件接收事件、可移動設(shè)備連接事件和網(wǎng)絡(luò)活動事件.在這里,登入、登出事件的時間特征不同,故區(qū)分對待;而電子郵件發(fā)送是竊密滲出的重要手段,且郵件發(fā)送、郵件接收的發(fā)件人、收件人含義不同,因此把電子郵件發(fā)送、接收事件進行區(qū)分.

首先,統(tǒng)計事件類稀有度,即每一類事件發(fā)生的稀有程度,取發(fā)生了該類別事件的會話數(shù)量所占全部會話數(shù)量的比例為值.對于這一特征,關(guān)注除登入、登出事件以外的5類事件,因為登入、登出事件在每個會話中都必然發(fā)生.其次,共設(shè)計了33個維度的指標以更細致地描述事件的特征,詳細信息如表2所示.對于每一個指標,統(tǒng)計所有可能情況的發(fā)生頻率以評估每種情況的稀有程度.例如,對于用戶登入時間這一指標,統(tǒng)計他在1天24小時中每個小時登入的頻率.事件類稀有度和每個維度指標稀有度共同構(gòu)成了用戶行為模式.基于用戶行為模式,可以更快地篩選出稀有的事件,事件越稀有,則其惡意性可能越大.例如,某用戶通常在早上7點登入自己的計算機,但某天在凌晨登入,這是一個稀有事件,意味著他可能執(zhí)行一些不可見人的操作.

Table2 Indicators to Build User Profile表2 用于構(gòu)建用戶行為模式的指標

為了對異常性進行量化評估,本文設(shè)計了會話異常性分數(shù)計算方法.訓(xùn)練期分數(shù)的計算與實時行為監(jiān)控階段的分數(shù)計算方法基本相同,將在2.3節(jié)詳細描述.

2.3 實時監(jiān)控

會話異常性分數(shù)計算流程如圖2所示:

Fig. 2 Session anomaly score calculation process圖2 會話異常性分數(shù)計算流程

持續(xù)監(jiān)控當(dāng)前用戶事件,從而及時發(fā)現(xiàn)竊密攻擊.關(guān)注用戶在每個會話中的每個事件,并利用2方面稀有程度進行異常性評分,包括事件類稀有度retype、各維度指標稀有度rindicator.

對于某一指標indicatorj的某一種情況xi的稀有度rindicatorj(xi)計算:

其中,Nxi表示xi發(fā)生的次數(shù),Nx表示與xi相同指標類型的所有情況的發(fā)生次數(shù),亦等同于該類別所有事件的數(shù)量.

在實際的場景中,用戶的行為特征可能會隨著時間的推移而改變,這可能是由于自身行為習(xí)慣的改變,或者由外部因素(如開始負責(zé)不同的項目)所導(dǎo)致.這種現(xiàn)象稱為概念漂移[26].因此,用戶行為模式不能完全固定,需要隨著用戶習(xí)慣的變化而調(diào)整,以防止出現(xiàn)錯誤警報.為了減輕概念漂移的影響,我們采用指數(shù)權(quán)重衰減[27]方法,為不同時期的行為特征賦予不同的權(quán)重,逐漸忘記過時的習(xí)慣,而更加重視近期的習(xí)慣.權(quán)重的計算與當(dāng)前時間到訓(xùn)練期的時間間隔成反比:

ωt=e-λΔt,

(2)

其中,λ是可以控制衰減速率的權(quán)重衰減因子,Δt表示時間差.以10 d作為1個周期來執(zhí)行權(quán)重衰減,Δt等于時間間隔的周期數(shù).則稀有度計算可改進為

(3)

其中a為周期序號.

需要注意的是,訓(xùn)練期分值計算是將整個訓(xùn)練期間的行為習(xí)慣視為整體,不進行概念漂移的處理.

事件的稀有度得分由該事件所有維度指標的稀有度決定.為了平衡不同類別事件指標數(shù)量不同的區(qū)別,對分數(shù)進行了均值處理.定義某事件的事件稀有度為

(4)

其中m是該事件類的指標數(shù)量.

會話的異常性是由該會話中所有事件的稀有度得分決定的.為了減輕會話中由于事件類別不同和事件數(shù)量不同所造成的影響,取同一類別的所有事件得分的均值作為該事件類的得分.另外,存在一種可能的情況,在某個會話中某類事件沒有發(fā)生,則根據(jù)計算流程,該類別分數(shù)計算結(jié)果為0.對于用戶不經(jīng)常執(zhí)行的某類事件,其在某次會話中不發(fā)生的可能性較高,而分數(shù)為0會嚴重影響后續(xù)的異常性判斷.因此采用該類別事件不發(fā)生的頻率作為其得分.為了進一步平衡某個事件類是否在會話中發(fā)生這2種情況的稀有度得分,將發(fā)生了此類事件的會話得分與事件類稀有度retype相乘.會話中某事件類Ek的稀有度分數(shù)為

其中,k為事件類序號,n為會話中該類事件的數(shù)量.

最后,依照式(5)計算1個會話的7個事件類分數(shù).當(dāng)會話結(jié)束,該會話的異常性分數(shù)可以立即計算得到,從而能夠確保攻擊發(fā)現(xiàn)的及時性.

2.4 檢測算法

在計算出1個會話的分數(shù)后,利用檢測算法來判斷會話是否異常.對于實際場景,我們無法獲得足夠的帶標簽數(shù)據(jù),因此采用有監(jiān)督的分類算法是不合理的.本文采用異常值判斷和多種無監(jiān)督聚類算法進行異常會話的檢測.算法的細節(jié)和各種算法的效果將分別在3.2節(jié)和3.3節(jié)中具體描述.對于檢測結(jié)果為良性的會話,會話中的所有事件都將用于更新該用戶的行為模式.對于檢測結(jié)果為異常的會話,則會觸發(fā)警報.隨后,我們對異常會話中的事件序列構(gòu)建事件鏈,還原用戶具體的操作并進一步精確判斷竊密攻擊.

應(yīng)該注意的是,良性會話也可能被檢測為異常,這是因為用戶做了一些不常見但非惡意的操作.在這種情況下會進行及時反饋,并將此會話利用到用戶行為模式更新中,以適應(yīng)其行為習(xí)慣的變化.即使該事件僅僅是偶然事件,行為模式也不會被此類事件污染,因為該用戶歷史的行為特征依然在發(fā)揮作用,未來的行為也會不斷更新到其個人行為模式中.

2.5 事件鏈構(gòu)建

構(gòu)建異常會話的事件鏈有2個好處:首先,可以得到用戶具體的惡意操作,而不是僅僅知道他是惡意的,這也是目前相關(guān)研究工作的不足;其次,由檢測算法確定的異常會話可能是良性的,因為其中存在一些罕見但良性的事件,從而導(dǎo)致誤報,通過對事件鏈進行構(gòu)建和分析,并與竊密攻擊模式進行對比,可以做出更準確的判斷.

對于執(zhí)行竊密攻擊的用戶,有可能在1個會話中只進行惡意操作,也可能執(zhí)行大量正常事件以隱藏惡意活動.因此,使用會話中的所有事件來構(gòu)建事件鏈會造成時間和資源的浪費.我們利用之前計算得到的會話中每個事件的稀有度得分進行優(yōu)先級排序,稀有度越低,則事件的優(yōu)先級越高.由此,會話中的異常事件具有更高的優(yōu)先級,從而先于正常事件用于事件鏈構(gòu)建.在實時監(jiān)控中,事件分數(shù)已經(jīng)進行了均值處理,因此不會受到不同事件類別指標數(shù)量的影響,可以進行比較和排序.

根據(jù)事件間的時間關(guān)系和信息流關(guān)系構(gòu)建事件鏈,時間關(guān)系即時間先后順序,信息流關(guān)系即2個事件之間發(fā)生了明確的信息流動,例如,文件操作事件與帶附件的電子郵件發(fā)送之間存在信息流動,則具有依賴關(guān)系.對于存在明確信息流依賴關(guān)系的事件,以信息流關(guān)系串聯(lián)2個事件;對于不存在明確信息流關(guān)系的事件,則按照時間順序建立連接.

事件鏈的具體構(gòu)建步驟為:

1) 將異常會話中除登入、登出以外的事件按照稀有度分值從低到高排列;

2) 依次讀取事件,利用事件屬性(如時間、名稱、操作等)建立節(jié)點;

3) 從第2個事件節(jié)點開始,與已有節(jié)點存在依賴關(guān)系的,根據(jù)信息流關(guān)系建立連接;

4) 當(dāng)連續(xù)n個事件無法與已有節(jié)點建立連接時,停止事件讀取,n=min(5,countrest_events);

5) 已有節(jié)點未與其他節(jié)點關(guān)聯(lián)的,按時間順序建立連接;

6) 建立登入、登出事件節(jié)點,分別作為事件鏈的頭和尾,按照時間順序與其他節(jié)點串聯(lián).

接下來,將構(gòu)建完成的事件鏈與竊密攻擊模式進行對比,以精確發(fā)現(xiàn)竊密攻擊的發(fā)生.本文利用專家知識建立竊密攻擊模式.通常,竊密攻擊的數(shù)據(jù)滲出過程主要有3種方式:通過可移動設(shè)備(如U盤)拷貝、通過電子郵件發(fā)送、以及上傳到互聯(lián)網(wǎng).因此,我們關(guān)注從文件操作到可移動設(shè)備、文件操作到電子郵件發(fā)送、文件操作到網(wǎng)絡(luò)上傳這3種信息流模式,能夠匹配特定模式的事件鏈被確定為竊密攻擊.

3 實驗與結(jié)果

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

使用卡內(nèi)基梅隆大學(xué)的CERT內(nèi)部威脅數(shù)據(jù)集r6.2[28]進行實驗.這是一個仿真數(shù)據(jù)集,模擬了完整的企業(yè)內(nèi)網(wǎng)場景,記錄了4 000名用戶在516 d內(nèi)的行為日志,包括登入登出、文件操作、電子郵件操作、可移動設(shè)備連接和網(wǎng)絡(luò)活動.此外,數(shù)據(jù)集還提供了員工心理測量、部門隸屬關(guān)系等信息.本文只利用用戶事件日志,忽略該數(shù)據(jù)集提供的其他類型數(shù)據(jù),以保證方法的通用性.該數(shù)據(jù)集中有5個攻擊場景,其中的2個場景:用戶ACM2278、用戶CDE1846涉及到竊密攻擊的完整事件日志,因此,本文以這2個場景作為檢測對象.為了防止另外3個攻擊場景對算法檢測結(jié)果的影響,本文將其排除在數(shù)據(jù)集之外.選取每個用戶前60 d的行為日志作為訓(xùn)練期,進行用戶行為習(xí)慣的學(xué)習(xí)和正常行為模式的建立,因此日志記錄總天數(shù)不多于60 d的用戶也被排除.本文以檢測60 d后的日志中發(fā)生了竊密攻擊的會話為目標.則篩選后的數(shù)據(jù)集詳細情況如表3所示:

Table 3 Ground Truth of Dataset表3 數(shù)據(jù)集詳細信息

對2個惡意用戶進行簡單的介紹:

1) 用戶ACM2278以往從不使用可移動設(shè)備,也從不在下班后工作.他開始在下班后登錄,使用可移動設(shè)備并將數(shù)據(jù)上傳到維基解密網(wǎng)站,不久后離職.日志記錄了他2次完整的竊密行為.

2) 用戶CDE1846在3個月內(nèi)越來越頻繁地登入到另一個用戶的計算機并訪問感興趣的文件,并將文件通過電子郵件發(fā)送到自己的郵箱.日志中記錄了他9次完整的竊密行為.

3.2 實驗設(shè)置

本文使用異常值判斷和4種聚類算法來檢測異常會話.

首先采用拉依達準則(pauta criterion)進行異常值判斷,該方法能夠以99.7%的置信概率檢測出異常值.在這里,將1個會話中的7個分數(shù)相加作為該會話得分.一般來說,用戶行為習(xí)慣比較穩(wěn)定,因此每個會話的得分也會趨于穩(wěn)定,而異常會話會因事件的稀有性得分較低而呈現(xiàn)偏低的異常取值.利用用戶前60 d的事件日志計算正常會話得分范圍,并根據(jù)拉依達準則計算異常值閾值.由于分數(shù)衡量的是稀有性,分數(shù)越低越異常,因此只取區(qū)間下限作為異常值閾值ε=μ-3δ,將得分低于該閾值的會話判定為異常會話.

為了使用聚類算法,將1個會話的7個分數(shù)轉(zhuǎn)換成7維向量.由于正常用戶有穩(wěn)定的行為習(xí)慣,因此向量應(yīng)彼此相似,則向量之間的距離應(yīng)該接近;而惡意會話的向量應(yīng)該與正常向量明顯不同,在距離上應(yīng)遠離其他向量.聚類集群的數(shù)目是預(yù)先未知的,因此類似K-Means這類需要設(shè)置集群數(shù)量的算法無法解決這個問題.另外,每個用戶的正常行為可能不止1個模式,因此一類支持向量機算法也不適用.本文采用均值漂移算法(Meanshift)、具有噪聲的基于密度的聚類(density-based spatial clustering of applications with noise, DBSCAN)算法、孤立森林(Isolation Forest)算法、局部異常因子(local outlier factor, LOF)算法這4種聚類算法,它們都不需要提前設(shè)置集群的數(shù)量,且能夠處理多集群的場景.

1) Meanshift是一種非參數(shù)算法,通過移動質(zhì)心來尋求密度函數(shù)趨于最大值,并根據(jù)質(zhì)心和帶寬確定聚類結(jié)果.在本文實驗中,質(zhì)心和帶寬通過用戶前60 d的會話日志訓(xùn)練獲得.如果新會話的向量不能聚類到任何已有集群中,即其與所有質(zhì)心之間的距離均大于帶寬,則將被檢測為異常會話.

2) DBSCAN是一種基于密度空間的算法,能夠把具有足夠高密度的區(qū)域劃分為1個集群,且可以生成任意形狀的集群.異常會話與正常會話不相似,因此通常處于低密度區(qū)域,無法與數(shù)量占大多數(shù)的正常會話聚為1類,因此能夠被該算法檢測出來.

3) 孤立森林算法的核心思路是構(gòu)建樹型結(jié)構(gòu)對數(shù)據(jù)集進行劃分,在樹的每一層隨機選擇特征,并根據(jù)特征的取值將不同的樣本劃分到不同的分支上,迭代劃分過程,直到數(shù)據(jù)集不可再分或達到限定最大深度.樹型結(jié)構(gòu)建立完成后,計算每個樣本點的深度以衡量其異常程度.由于正常樣本點彼此相似,需要用更多的特征來劃分,而異常樣本點存在明顯差異,很快就會被劃分到不同的分支上.因此,樣本點的深度越小,則異常程度越高.

4) LOF算法通過比較每個樣本點與其領(lǐng)域點密度來判斷異常性,因此稱為“局部”異常因子算法.具體來說,計算某樣本點的鄰域樣本點所處位置的平均密度與該樣本點所在位置的密度的比值,該比值越大,則說明該樣本點所處位置的密度越低,則異常程度越大.

表4總結(jié)了4種聚類算法得到最優(yōu)結(jié)果的具體參數(shù)設(shè)置:

Table 4 Parameter Settings of Clustering Algorithm表4 聚類算法參數(shù)設(shè)置

3.3 實驗結(jié)果

本節(jié)描述5種檢測算法對于異常會話檢測的效果.首先,利用準確率評估各算法判斷正確的結(jié)果占總數(shù)的比例.另外,對于攻擊發(fā)現(xiàn),必須保證沒有漏報,同時可以容忍一定程度的誤報,因此,我們進一步利用真陽性率(true positive rate, TPR)和假陽性率(false positive rate, FPR)分別評估算法的漏報、誤報情況.具體來說,TPR衡量惡意會話被檢測為惡意的比率,F(xiàn)PR衡量良性會話被錯誤判斷為惡意會話的比率.

表5匯總了5種檢測算法各自的表現(xiàn),包括準確率、TPR和FPR.可以看到,5種算法的檢測準確率普遍較高,均達到98%以上的水平,其中DBSCAN和LOF算法達到了99%以上的準確率.另外,5種算法的TPR都達到1,意味著所有的惡意會話都被成功檢測,沒有漏報發(fā)生.而5種算法的FPR水平都較低,說明誤報率處于可以接受的范圍內(nèi),但彼此之間有所差別.首先,利用拉依達準則進行異常值判斷的FPR處于相對較高的水平,經(jīng)過對實驗結(jié)果中各異常會話分值的分析,很多會話分值以微小的差距低于異常分數(shù)閾值而被判斷為異常,因此誤報率相對較高.其次,Meanshift算法的誤報率也較高,這出于其算法機制的影響.該算法根據(jù)質(zhì)心和帶寬確定聚類結(jié)果,那么每個集群的形狀都是規(guī)則的圓形,使其不能很好得適應(yīng)更復(fù)雜的集群形狀與集群分布,導(dǎo)致了較高的誤報率.孤立森林算法具有隨機選擇特征和計算節(jié)點深度的判斷機制,對于異常會話,存在惡意行為的特征維度被選擇的順序?qū)⒂绊懙秸?、異常樣本?jié)點的深度差異,因而影響到檢測的準確性和穩(wěn)定性.最后,DBSCAN算法和LOF算法都是基于密度的聚類算法,并且可以很好地處理形狀不規(guī)則的集群,因此都取得了更低的FPR值.

Table 5 Results of Anomalous Session Detection表5 異常會話檢測結(jié)果 %

在檢測結(jié)果為異常的會話中,存在著一些非惡意的會話,這些會話中的用戶事件與該用戶的歷史行為習(xí)慣不相匹配,但并非出于惡意目的.一些可能的場景包括,某用戶因為突發(fā)任務(wù)在非正常的時段登入了計算機、從不使用可移動設(shè)備的某用戶由于項目交接從可移動設(shè)備中拷入了文件等.為了進一步提高惡意會話檢測和竊密攻擊發(fā)現(xiàn)的精確程度,降低誤報并避免不必要的資源浪費,本文提出了事件鏈構(gòu)建和竊密攻擊模式匹配方法.

3.4 事件鏈構(gòu)建

我們對檢測算法判斷為異常的會話進行事件鏈構(gòu)建的處理,即將會話中的事件序列依據(jù)相互間的時間和信息流依賴關(guān)系建立關(guān)聯(lián),從而構(gòu)成事件鏈,以還原用戶所實施的具體操作.另外,由于本文的目標是進行竊密攻擊的及時發(fā)現(xiàn),我們還將事件鏈與竊密攻擊模式進行了對比,將能夠與竊密攻擊模式匹配的事件鏈判定為竊密攻擊,實現(xiàn)更低的誤報率和更精確的攻擊發(fā)現(xiàn).

對5種算法檢測得到的異常會話分別進行事件鏈構(gòu)建的實驗,并記錄事件鏈構(gòu)建前后被錯誤判斷為惡意的良性會話數(shù)量,即假陽性樣本量,以更直觀地展示效果的提升.結(jié)果如圖3所示,對于每種算法,假陽性樣本量都有了明顯的下降,這說明很多不包含惡意竊密操作的會話事件鏈被重新判定為正常.

Fig. 3 Comparison of FP before and after event chain construction圖3 事件鏈構(gòu)建前后的假陽性樣本數(shù)量對比

此外,我們再次統(tǒng)計檢測結(jié)果的準確率、TPR和FPR值,以觀察事件鏈構(gòu)建和竊密攻擊模式匹配所帶來的結(jié)果改善,統(tǒng)計結(jié)果如表6所示.準確率在之前的高標準基礎(chǔ)上有了進一步提升;TPR依然保持為1,意味著所有存在竊密攻擊行為的惡意會話都沒有漏報;而FPR也都明顯降低,均小于0.005.

Table 6 Results of Anomalous Session Detection After Event Chain Construction

由此可以說明,對會話事件序列進行事件鏈構(gòu)建和竊密攻擊模式匹配在提高準確率、降低誤報率同時保證無漏報的方面發(fā)揮了積極的作用.

提高竊密攻擊發(fā)現(xiàn)的精確程度是事件鏈構(gòu)建的目的之一.更重要的是,可以自動將用戶的行為鏈還原出來,直觀清晰地掌握用戶在此會話中進行了什么樣的惡意操作,該操作發(fā)生的位置、時間等屬性,以及各項操作之間的依賴關(guān)系,以協(xié)助安全管理人員進行攻擊分析、溯源及取證.

從2個惡意用戶ACM2278和CDE1846所實施了竊密攻擊的會話中各取1個會話為例進行事件鏈的構(gòu)建,并將構(gòu)建的圖形化結(jié)果進行展示和分析.

用戶ACM2278的事件鏈如圖4所示.在該會話中,用戶在凌晨1點登入自己的計算機;然后連接可移動設(shè)備到計算機上,從中拷貝了3個文件,將其逐一上傳到維基解密網(wǎng)站以滲出竊取的文件;上傳完畢之后,他斷開可移動設(shè)備連接,登出了計算機.在該案例中,用戶在非正常工作時間登入計算機并執(zhí)行了一系列操作,他連接了很少使用的可移動設(shè)備,并訪問了從未訪問過的維基解密網(wǎng)站,這一系列稀有的事件使得各類檢測算法都將其判斷為異常會話.從事件間信息流依賴關(guān)系分析,該會話事件鏈能夠與通過網(wǎng)絡(luò)上傳的竊密滲出模式匹配,從而被精確判定為竊密攻擊.

Fig. 4 Exfiltration attack event chain construction of user ACM2278圖4 用戶ACM2278的竊密攻擊事件鏈構(gòu)建

Fig. 5 Exfiltration attack event chain construction of user CDE1846圖5 用戶CDE1846的竊密攻擊事件鏈構(gòu)建

用戶CDE1846的事件鏈如圖5所示.在該會話中,用戶在短短的11 min內(nèi)實施了竊密操作.首先,他登入計算機,訪問了幾個文件,將這些文件通過電子郵件發(fā)送了出去,隨即登出了計算機.在這一案例中,該用戶登入了不屬于自己的計算機,這在他歷史的行為中非常罕見,然后他將幾個文件通過帶附件的郵件發(fā)出,這也是稀有程度較高的事件,因此被檢測算法判定為惡意.該事件鏈符合通過郵件發(fā)送這一竊密滲出模式,因此成功被判定為竊密攻擊.注意在左下角的3個虛線事件框,其稀有度較高,但無法與其他事件建立信息流依賴關(guān)系,因此按照時間順序進行了關(guān)聯(lián),我們認為這可能是由于數(shù)據(jù)集日志記錄的缺失導(dǎo)致.

在圖4、圖5描述的2個案例會話中,都有與竊密攻擊行為無關(guān)的網(wǎng)頁瀏覽或文件操作事件,但因其稀有度分值較高、優(yōu)先級更低且無法與其他事件建立信息流關(guān)聯(lián),因此沒有進入事件鏈的構(gòu)建.

4 總 結(jié)

本文提出了一種無監(jiān)督的方法以實現(xiàn)竊密攻擊的及時發(fā)現(xiàn).利用用戶事件,基于用戶自身的正常行為習(xí)慣建立可更新的行為模式,利用無監(jiān)督算法檢測當(dāng)前行為與正常行為模式的偏差,從而發(fā)現(xiàn)異常.以會話為單位的檢測滿足了攻擊發(fā)現(xiàn)的及時性.另外,還提出構(gòu)造異常事件序列的事件鏈,在更精確的判斷竊密攻擊的同時,還原用戶具體的竊密操作.在卡內(nèi)基梅隆大學(xué)CERT內(nèi)部威脅數(shù)據(jù)集上的實驗證明,本文提出的方法能夠以無漏報、低誤報的水平實現(xiàn)竊密攻擊的及時發(fā)現(xiàn)和行為還原.未來研究計劃應(yīng)用更多的用戶信息和屬性來擴展用戶行為模式,并嘗試使用深度學(xué)習(xí)技術(shù)來探索更多的時間和空間特征,還計劃使用概率模型來提升竊密攻擊事件鏈的判斷.

猜你喜歡
竊密會話日志
本期導(dǎo)讀
一名老黨員的工作日志
竊密者是誰
讀扶貧日志
QQ和微信會話話輪及話輪轉(zhuǎn)換特點淺析
雅皮的心情日志
雅皮的心情日志
用繪畫導(dǎo)入英語教學(xué)
本 期 導(dǎo) 讀
年齡大小的種種說法
伊春市| 乳源| 元氏县| 扎鲁特旗| 紫金县| 涿州市| 威海市| 长子县| 巴东县| 麦盖提县| 双城市| 来安县| 合川市| 久治县| 耿马| 伽师县| 祥云县| 昭平县| 兴安县| 永州市| 荆州市| 阜新市| 黔江区| 牡丹江市| 宜兰市| 苍山县| 洛南县| 六安市| 玛曲县| 鄂托克前旗| 湟源县| 沁水县| 瑞金市| 石河子市| 晋江市| 泗水县| 南乐县| 贺州市| 安福县| 沙雅县| 嘉鱼县|