李俊強(qiáng),黃 洪,2,周子云
(1.四川輕化工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 宜賓 644005;2.企業(yè)信息化與物聯(lián)網(wǎng)測(cè)控技術(shù)四川省高校重點(diǎn)實(shí)驗(yàn)室,四川 宜賓 644005)
內(nèi)部威脅一直是網(wǎng)絡(luò)安全領(lǐng)域中一個(gè)難以攻破的難題,對(duì)國(guó)家和企業(yè)都造成了很大的破壞和困擾。由Ponemon研究所和IBM Security聯(lián)合制作的《2021年數(shù)據(jù)泄露成本報(bào)告》[1]指出,相比2020年,2021年的數(shù)據(jù)泄漏平均成本上升了10%,并且泄漏的數(shù)據(jù)主要為客戶的個(gè)人身份信息、客戶數(shù)據(jù)、公司的知識(shí)產(chǎn)權(quán)以及員工的個(gè)人身份信息。報(bào)告指出惡意內(nèi)部人員泄密造成的數(shù)據(jù)泄露事件的平均識(shí)別時(shí)間為231天,平均遏制時(shí)間為75天,在所有泄漏事件中排名第三,并且惡意內(nèi)部人員所造成的經(jīng)濟(jì)損失占總損失的8%。為了有效檢測(cè)和識(shí)別企業(yè)內(nèi)部的威脅員工,避免重要數(shù)據(jù)的泄漏和破壞,內(nèi)部威脅檢測(cè)系統(tǒng)的不斷迭代和完善迫在眉睫。
用戶畫像是對(duì)用戶全體特征的概括和描述,根據(jù)需要對(duì)用戶的特定信息和行為進(jìn)行抽象的一種標(biāo)簽化用戶模型。用戶畫像的構(gòu)成一般由靜態(tài)屬性和動(dòng)態(tài)屬性組成。靜態(tài)屬性用于記錄用戶不會(huì)經(jīng)常發(fā)生變動(dòng)的靜態(tài)特征,動(dòng)態(tài)屬性一般多用于記錄用戶的各種行為數(shù)據(jù)以及經(jīng)常變動(dòng)的特征。雖然畫像技術(shù)主要用于個(gè)性化服務(wù)和精準(zhǔn)營(yíng)銷等商業(yè)領(lǐng)域,但越來越多的學(xué)者將此技術(shù)用于其他領(lǐng)域[2-5]。用戶畫像對(duì)用戶使用簡(jiǎn)化的標(biāo)簽描述用戶所具有的特定特征,并實(shí)現(xiàn)對(duì)滿足該特征的用戶或用戶群體的精準(zhǔn)定位。具有特定特征需求在信息安全領(lǐng)域同樣適用。國(guó)內(nèi)外已有部分學(xué)者率先將用戶畫像技術(shù)運(yùn)用于入侵檢測(cè)技術(shù)和內(nèi)部威脅領(lǐng)域當(dāng)中,并取得了一定的研究成果。
在最近的調(diào)查中,文獻(xiàn)[6]提出了一種基于多維特征的內(nèi)部威脅檢測(cè)混合模型,實(shí)驗(yàn)結(jié)果表明,ADAD和ATAD模型具有魯棒性,混合模型明顯優(yōu)于兩個(gè)分離模型。趙剛和姚興仁[7]將用戶畫像技術(shù)用于入侵檢測(cè)技術(shù)中,提出了基于用戶畫像的入侵檢測(cè)模型,實(shí)現(xiàn)入侵檢測(cè)粒度的細(xì)化。張建平[8]提出一種基于流量與日志的分析方法,構(gòu)建用戶關(guān)鍵行為的數(shù)據(jù)畫像,實(shí)現(xiàn)了專用網(wǎng)絡(luò)中用戶關(guān)鍵行為監(jiān)測(cè)的系統(tǒng)。郭淵博等[9]提出了一種行為特征自動(dòng)提取和局部全細(xì)節(jié)行為畫像方法,將局部描寫與全局預(yù)測(cè)相結(jié)合,提高了檢測(cè)準(zhǔn)確率。鐘雅等[10]將組織內(nèi)的用戶作為研究主體,將內(nèi)部威脅檢測(cè)與可視化相結(jié)合取得較好效果。雖然用戶畫像技術(shù)在入侵檢測(cè)技術(shù)和內(nèi)部威脅領(lǐng)域中取得一定的研究進(jìn)展與效果,但大多數(shù)學(xué)者都只運(yùn)用了用戶畫像技術(shù)中標(biāo)簽化模型的特點(diǎn),沒有將所有用戶的行為信息整合進(jìn)行檢測(cè),缺少對(duì)每一個(gè)員工行為畫像的刻畫,降低了檢測(cè)的細(xì)粒度。為了提高內(nèi)部威脅檢測(cè)粒度的細(xì)化程度,本文將用戶畫像技術(shù)作為內(nèi)部威脅檢測(cè)的基礎(chǔ),并基于員工的動(dòng)態(tài)行為信息構(gòu)建內(nèi)部威脅實(shí)時(shí)檢測(cè)模型。
企業(yè)數(shù)字系統(tǒng)中的用戶行為在很大程度上取決于他們?cè)诮M織中的不同角色或職位,及其負(fù)責(zé)的不同項(xiàng)目和任務(wù)。因此,用戶在系統(tǒng)中的行為很可能反映他們需要定期執(zhí)行的任務(wù)。將用戶畫像作為內(nèi)部威脅檢測(cè)的核心概念,根據(jù)員工的動(dòng)態(tài)行為特征和靜態(tài)屬性構(gòu)建出員工的用戶畫像模型進(jìn)而提取出員工的潛在特征,畫像的模型構(gòu)建過程如圖1所示。
圖1 內(nèi)部員工畫像模型構(gòu)建
員工的靜態(tài)畫像一般用于刻畫出員工的靜態(tài)信息,如員工的郵件、職位、所在部門、團(tuán)隊(duì)、上司以及員工心理狀態(tài)測(cè)評(píng)結(jié)果等。員工的靜態(tài)畫像雖不能直接用于內(nèi)部威脅檢測(cè),但可用作輔助分析,便于對(duì)檢測(cè)出為威脅員工的信息快速整理和概括,包括其在整個(gè)企業(yè)中的隸屬關(guān)系等。
內(nèi)部威脅檢測(cè)中最重要的信息就是員工行為數(shù)據(jù)信息,企業(yè)中對(duì)員工行為信息的收集一般都以格式化日志的形式進(jìn)行,此類格式有助于大型重復(fù)性數(shù)據(jù)的記錄和整理。用戶畫像模型構(gòu)建之前需要對(duì)日志數(shù)據(jù)進(jìn)行預(yù)處理并分片成以各員工為單位的數(shù)據(jù)結(jié)構(gòu)。
1.2.1 員工行為畫像的初始模型及構(gòu)建規(guī)則
畫像初始模型的構(gòu)建需要將員工起初一段時(shí)間的行為數(shù)據(jù)都視作正常的行為操作。該模型的構(gòu)建是對(duì)初始時(shí)間段的所有行為通過行為樹及行為特征分類進(jìn)行歸納和整合,行為樹的結(jié)構(gòu)如圖2所示。圖中的活動(dòng)類型表示用戶的行為類型,員工行為活動(dòng)發(fā)生的時(shí)間段有上班前時(shí)間段、上班時(shí)間段以及下班后時(shí)間段,活動(dòng)1~N表示在對(duì)應(yīng)上班時(shí)間段行為發(fā)生的順序以及行為特征類型。
圖2 行為樹結(jié)構(gòu)
模型中的行為特征類型用于對(duì)員工的行為信息進(jìn)行分類,分類的標(biāo)準(zhǔn)是判斷當(dāng)前的行為信息是否為新的行為。通過判斷此次行為產(chǎn)生的設(shè)備類型是否為未知設(shè)備、是否在該設(shè)備上發(fā)生過類似的行為以及該行為的屬性是否一致來表示行為的特征類型。具體特征表示結(jié)構(gòu)如表1所示,其中員工以前未使用過的設(shè)備、未發(fā)生過的活動(dòng)或者活動(dòng)未產(chǎn)生過的屬性標(biāo)記為N(New Event),員工以前使用過的設(shè)備、發(fā)生過的活動(dòng)以及活動(dòng)產(chǎn)生過的屬性則標(biāo)記為S(Same Event)。例如,員工A通過使用原來的設(shè)備X進(jìn)行郵件發(fā)送行為,但是發(fā)送的對(duì)象是新對(duì)象,對(duì)此次行為的特征描述為S-S-N。
表1 員工單次行為畫像的行為特征類型
員工的上下班是由員工所使用設(shè)備的開關(guān)機(jī)時(shí)間確定的,考慮到各員工上下班的情況不一,每個(gè)員工的上下班時(shí)間由各員工在初始時(shí)間段的上下班時(shí)間確定,上下班時(shí)間計(jì)算方法如下:
其中Ton表示員工上班時(shí)間閾值,tam表示該天設(shè)備的最早登錄時(shí)間,n表示初始時(shí)間段的天數(shù)。
其中Toff表示員工下班時(shí)間閾值,tpm表示該天設(shè)備的最晚注銷時(shí)間,n表示初始時(shí)間段的天數(shù)。
1.2.2 員工日行為畫像模型構(gòu)建
員工日行為畫像模型主要用于記錄員工一整天的活動(dòng)軌跡同時(shí)作為內(nèi)部威脅檢測(cè)的基礎(chǔ)模型和單位。模型的構(gòu)建需對(duì)員工每次行為記錄順序進(jìn)行特征提取,特征提取的過程也是對(duì)行為樹的遍歷過程。模型的結(jié)構(gòu)如圖3所示,主要構(gòu)建流程如下:
圖3 員工每日行為畫像提取規(guī)則
(1)根據(jù)員工行為發(fā)生的時(shí)間順序依次進(jìn)行提??;
(2)對(duì)行為類型進(jìn)行多分類;
(3)對(duì)行為所在時(shí)間段進(jìn)行多分類;
(4)對(duì)行為進(jìn)行特征提?。?/p>
(5)統(tǒng)計(jì)出當(dāng)天各類行為在各個(gè)時(shí)間段產(chǎn)生的活動(dòng)所對(duì)應(yīng)特征類型數(shù)的數(shù)量。
1.2.3 員工行為畫像模型的構(gòu)建
員工行為畫像模型是以日行為畫像模型為單位構(gòu)成的,是每個(gè)員工在初始時(shí)間段中生成的初始畫像,該畫像模型是對(duì)員工的行為模式和規(guī)律的初始刻畫,同時(shí)其也是內(nèi)部威脅檢測(cè)中的初始模型。模型的結(jié)構(gòu)如圖4所示,其中X表示員工各特征類型出現(xiàn)的次數(shù)。模型的構(gòu)建流程如下所示:
圖4 員工行為畫像模型結(jié)構(gòu)
(1)確定員工初始時(shí)間段,此時(shí)間段中的員工數(shù)據(jù)需保證其行為記錄均無異常;
(2)構(gòu)建員工初始時(shí)間段內(nèi)行為樹;
(3)提取出員工初始時(shí)間段的每日行為畫像記錄;
(4)將員工在初始時(shí)間段的每日行為畫像記錄合并,將此作為員工的初始行為畫像模型。其中每一行代表一天的行為特征的記錄,而每一列則是以行為類型為單位的不同時(shí)間段的行為特征類型的數(shù)量的記錄。
威脅檢測(cè)模型的異常檢測(cè)方法使用主成分分析(Principal Component Analysis,PCA)進(jìn)行異常檢測(cè)。為了保證正常畫像模型的正確性并使模型隨著用戶的正常行為變化而變化,同時(shí)又能每天實(shí)時(shí)檢測(cè)員工當(dāng)天的異常情況,本文將員工畫像的員工行為偏移模型采用滑動(dòng)窗口機(jī)制。
異常檢測(cè)中通過對(duì)用戶活動(dòng)類型、活動(dòng)時(shí)間段的正異常指標(biāo)的設(shè)定來判斷出員工是否具有異常。因畫像模型產(chǎn)生的數(shù)據(jù)維度過高,實(shí)驗(yàn)使用PCA進(jìn)行降維提取出行為特征中最主要的特征,同時(shí)通過計(jì)算行為前后數(shù)據(jù)點(diǎn)的偏差值大小檢測(cè)當(dāng)天行為是否異常,具體流程和規(guī)則如下。
將當(dāng)前用戶的行為畫像模型用X表示:
其中xi表示員工日行為畫像模型的向量形式,n表示行數(shù),D表示特征數(shù)。
在進(jìn)行PCA檢測(cè)之前需對(duì)當(dāng)前模型數(shù)據(jù)進(jìn)行中心化和標(biāo)準(zhǔn)化,使得矩陣中的所有元素都能被縮放到0~1之間,消除不同量綱的影響。
中心化:
其中μ、σ分別表示X對(duì)應(yīng)列上的均值和標(biāo)準(zhǔn)差。
將預(yù)處理之后的矩陣記為Xstd,檢測(cè)的主要步驟如下:
(1)計(jì)算協(xié)方差矩陣,并求出C的特征值{λ1,λ2,…,λi}和特征向量{e1,e2,…,ei},同時(shí)將特征向量按其特征值大小從上到下按列排列成矩陣,取前k列組成矩陣Pk:
(2)將高維數(shù)據(jù)Xstd投影到低維數(shù)據(jù)Yk:
其中,Yk=[y1,y2,…,yn]T,Y∈Rn×k,yi∈RD,k<<D。
(3)求得不同維度中各數(shù)據(jù)點(diǎn)與其他數(shù)據(jù)的偏差:
其中dij表示該方向上的偏離程度,ej表示某特征向量,yi表示數(shù)據(jù)樣本,λj表示向量對(duì)應(yīng)的特征值。
(4)根據(jù)各方向上的偏離程度求其綜合異常得分
(5)設(shè)置合適的閾值判斷員工是否異常
其中,C為判斷閾值。
員工初始畫像模型構(gòu)建完之后,畫像模型的更新進(jìn)入滑動(dòng)階段,實(shí)時(shí)檢測(cè)員工異常原理如圖5所示,其中X表示員工畫像模型的特征。根據(jù)員工畫像的構(gòu)建規(guī)則,可將每個(gè)員工的畫像模型轉(zhuǎn)換成一個(gè)矩陣。
圖5 畫像自適應(yīng)偏移原理
滑動(dòng)窗口的構(gòu)建需要對(duì)畫像模型設(shè)置固定的天數(shù)作為滑動(dòng)窗口的大小。畫像模型中滑動(dòng)窗口的規(guī)則如下:若異常檢測(cè)模型檢測(cè)出員工當(dāng)天行為無異常,則會(huì)對(duì)該員工的畫像模型進(jìn)行偏移,保持員工的行為規(guī)律與畫像模型同步;若檢測(cè)出員工當(dāng)天有異常行為,為保證模型的正確性則不會(huì)對(duì)畫像模型進(jìn)行偏移。需要注意的是,畫像模型的偏移并不會(huì)對(duì)員工的行為樹產(chǎn)生影響。員工畫像模型與異常檢測(cè)模型息息相關(guān),引入滑動(dòng)窗口機(jī)制使得模型適應(yīng)用戶的行為習(xí)慣變化。
為了驗(yàn)證檢測(cè)模型的有效性,本實(shí)驗(yàn)使用公開數(shù)據(jù)集CERT4.2進(jìn)行實(shí)驗(yàn)測(cè)試。CERT4.2數(shù)據(jù)集記錄了1 000名員工的資料信息以及在500天內(nèi)所使用PC設(shè)備的所有活動(dòng),數(shù)據(jù)集結(jié)構(gòu)和內(nèi)容說明如表2所示,數(shù)據(jù)集的活動(dòng)數(shù)目統(tǒng)計(jì)如表3所示。
表2 數(shù)據(jù)集各個(gè)日志文件記錄信息
表3 CERT4.2數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)
實(shí)驗(yàn)中,為了提高檢測(cè)的細(xì)粒度,先將日志數(shù)據(jù)拆分成以員工為單位的數(shù)據(jù)結(jié)構(gòu),再對(duì)各個(gè)員工構(gòu)建用戶畫像模型。初始畫像模型構(gòu)建完后,用數(shù)據(jù)模擬員工每天的行為活動(dòng),使用PCA檢測(cè)模型進(jìn)行實(shí)時(shí)檢測(cè)。該數(shù)據(jù)集下內(nèi)部威脅檢測(cè)整體流程如圖6所示。用戶畫像模型構(gòu)建中每個(gè)員工每天的行為數(shù)據(jù)日志格式如表4所示。
圖6 使用CERT-4.2數(shù)據(jù)集進(jìn)行內(nèi)部威脅檢測(cè)流程
表4 員工每日行為記錄格式
實(shí)驗(yàn)內(nèi)部威脅檢測(cè)模型測(cè)試中,將異常時(shí)間段個(gè)數(shù)的判斷閾值設(shè)為1、異常天數(shù)判斷閾值設(shè)為2。當(dāng)把PCA降維數(shù)據(jù)所得平方和的標(biāo)準(zhǔn)化行為類型檢測(cè)閾值設(shè)為2.477時(shí),模型測(cè)試具有較好的檢測(cè)結(jié)果。
基于用戶畫像的PCA內(nèi)部威脅檢測(cè)與非用戶畫像的PCA內(nèi)部威脅檢測(cè)及三種機(jī)器學(xué)習(xí)模型的實(shí)驗(yàn)對(duì)比結(jié)果如表5所示。實(shí)驗(yàn)檢測(cè)到威脅員工的正確率為97.14%,檢測(cè)到員工異常行為所在時(shí)間段的正確率為82.75%。實(shí)驗(yàn)結(jié)果證明了用戶畫像模型作為內(nèi)部威脅檢測(cè)基礎(chǔ)的可行性。
表5 各內(nèi)部威脅檢測(cè)方法結(jié)果對(duì)比 (%)
本文通過引入用戶畫像概念,將員工行為畫像模型作為內(nèi)部威脅檢測(cè)的基礎(chǔ),根據(jù)員工的行為數(shù)據(jù)構(gòu)建出員工行為樹,并構(gòu)建異常行為規(guī)則和檢測(cè)閾值。同時(shí),引入滑動(dòng)窗口機(jī)制,使員工畫像模型根據(jù)員工正常行為軌跡變化而產(chǎn)生偏移。最后,使用PCA進(jìn)行特征降維和分類得出異常檢測(cè)結(jié)果。模型以員工行為日期作為檢測(cè)單位,增加了內(nèi)部威脅檢測(cè)的細(xì)粒度,能實(shí)時(shí)檢測(cè)出發(fā)生異常的員工,實(shí)驗(yàn)結(jié)果證明模型具有較好的檢測(cè)結(jié)果。后續(xù)研究將進(jìn)一步提高檢測(cè)的細(xì)粒度,引入更優(yōu)的異常檢測(cè)模型以提高檢測(cè)的精度和效果。