李俊強,黃 洪,2,周子云
(1.四川輕化工大學 計算機科學與工程學院,四川 宜賓 644005;2.企業信息化與物聯網測控技術四川省高校重點實驗室,四川 宜賓 644005)
內部威脅一直是網絡安全領域中一個難以攻破的難題,對國家和企業都造成了很大的破壞和困擾。由Ponemon研究所和IBM Security聯合制作的《2021年數據泄露成本報告》[1]指出,相比2020年,2021年的數據泄漏平均成本上升了10%,并且泄漏的數據主要為客戶的個人身份信息、客戶數據、公司的知識產權以及員工的個人身份信息。報告指出惡意內部人員泄密造成的數據泄露事件的平均識別時間為231天,平均遏制時間為75天,在所有泄漏事件中排名第三,并且惡意內部人員所造成的經濟損失占總損失的8%。為了有效檢測和識別企業內部的威脅員工,避免重要數據的泄漏和破壞,內部威脅檢測系統的不斷迭代和完善迫在眉睫。
用戶畫像是對用戶全體特征的概括和描述,根據需要對用戶的特定信息和行為進行抽象的一種標簽化用戶模型。用戶畫像的構成一般由靜態屬性和動態屬性組成。靜態屬性用于記錄用戶不會經常發生變動的靜態特征,動態屬性一般多用于記錄用戶的各種行為數據以及經常變動的特征。雖然畫像技術主要用于個性化服務和精準營銷等商業領域,但越來越多的學者將此技術用于其他領域[2-5]。用戶畫像對用戶使用簡化的標簽描述用戶所具有的特定特征,并實現對滿足該特征的用戶或用戶群體的精準定位。具有特定特征需求在信息安全領域同樣適用。國內外已有部分學者率先將用戶畫像技術運用于入侵檢測技術和內部威脅領域當中,并取得了一定的研究成果。
在最近的調查中,文獻[6]提出了一種基于多維特征的內部威脅檢測混合模型,實驗結果表明,ADAD和ATAD模型具有魯棒性,混合模型明顯優于兩個分離模型。趙剛和姚興仁[7]將用戶畫像技術用于入侵檢測技術中,提出了基于用戶畫像的入侵檢測模型,實現入侵檢測粒度的細化。張建平[8]提出一種基于流量與日志的分析方法,構建用戶關鍵行為的數據畫像,實現了專用網絡中用戶關鍵行為監測的系統。郭淵博等[9]提出了一種行為特征自動提取和局部全細節行為畫像方法,將局部描寫與全局預測相結合,提高了檢測準確率。鐘雅等[10]將組織內的用戶作為研究主體,將內部威脅檢測與可視化相結合取得較好效果。雖然用戶畫像技術在入侵檢測技術和內部威脅領域中取得一定的研究進展與效果,但大多數學者都只運用了用戶畫像技術中標簽化模型的特點,沒有將所有用戶的行為信息整合進行檢測,缺少對每一個員工行為畫像的刻畫,降低了檢測的細粒度。為了提高內部威脅檢測粒度的細化程度,本文將用戶畫像技術作為內部威脅檢測的基礎,并基于員工的動態行為信息構建內部威脅實時檢測模型。
企業數字系統中的用戶行為在很大程度上取決于他們在組織中的不同角色或職位,及其負責的不同項目和任務。因此,用戶在系統中的行為很可能反映他們需要定期執行的任務。將用戶畫像作為內部威脅檢測的核心概念,根據員工的動態行為特征和靜態屬性構建出員工的用戶畫像模型進而提取出員工的潛在特征,畫像的模型構建過程如圖1所示。

圖1 內部員工畫像模型構建
員工的靜態畫像一般用于刻畫出員工的靜態信息,如員工的郵件、職位、所在部門、團隊、上司以及員工心理狀態測評結果等。員工的靜態畫像雖不能直接用于內部威脅檢測,但可用作輔助分析,便于對檢測出為威脅員工的信息快速整理和概括,包括其在整個企業中的隸屬關系等。
內部威脅檢測中最重要的信息就是員工行為數據信息,企業中對員工行為信息的收集一般都以格式化日志的形式進行,此類格式有助于大型重復性數據的記錄和整理。用戶畫像模型構建之前需要對日志數據進行預處理并分片成以各員工為單位的數據結構。
1.2.1 員工行為畫像的初始模型及構建規則
畫像初始模型的構建需要將員工起初一段時間的行為數據都視作正常的行為操作。該模型的構建是對初始時間段的所有行為通過行為樹及行為特征分類進行歸納和整合,行為樹的結構如圖2所示。圖中的活動類型表示用戶的行為類型,員工行為活動發生的時間段有上班前時間段、上班時間段以及下班后時間段,活動1~N表示在對應上班時間段行為發生的順序以及行為特征類型。

圖2 行為樹結構
模型中的行為特征類型用于對員工的行為信息進行分類,分類的標準是判斷當前的行為信息是否為新的行為。通過判斷此次行為產生的設備類型是否為未知設備、是否在該設備上發生過類似的行為以及該行為的屬性是否一致來表示行為的特征類型。具體特征表示結構如表1所示,其中員工以前未使用過的設備、未發生過的活動或者活動未產生過的屬性標記為N(New Event),員工以前使用過的設備、發生過的活動以及活動產生過的屬性則標記為S(Same Event)。例如,員工A通過使用原來的設備X進行郵件發送行為,但是發送的對象是新對象,對此次行為的特征描述為S-S-N。

表1 員工單次行為畫像的行為特征類型
員工的上下班是由員工所使用設備的開關機時間確定的,考慮到各員工上下班的情況不一,每個員工的上下班時間由各員工在初始時間段的上下班時間確定,上下班時間計算方法如下:

其中Ton表示員工上班時間閾值,tam表示該天設備的最早登錄時間,n表示初始時間段的天數。

其中Toff表示員工下班時間閾值,tpm表示該天設備的最晚注銷時間,n表示初始時間段的天數。
1.2.2 員工日行為畫像模型構建
員工日行為畫像模型主要用于記錄員工一整天的活動軌跡同時作為內部威脅檢測的基礎模型和單位。模型的構建需對員工每次行為記錄順序進行特征提取,特征提取的過程也是對行為樹的遍歷過程。模型的結構如圖3所示,主要構建流程如下:

圖3 員工每日行為畫像提取規則
(1)根據員工行為發生的時間順序依次進行提取;
(2)對行為類型進行多分類;
(3)對行為所在時間段進行多分類;
(4)對行為進行特征提取;
(5)統計出當天各類行為在各個時間段產生的活動所對應特征類型數的數量。
1.2.3 員工行為畫像模型的構建
員工行為畫像模型是以日行為畫像模型為單位構成的,是每個員工在初始時間段中生成的初始畫像,該畫像模型是對員工的行為模式和規律的初始刻畫,同時其也是內部威脅檢測中的初始模型。模型的結構如圖4所示,其中X表示員工各特征類型出現的次數。模型的構建流程如下所示:

圖4 員工行為畫像模型結構
(1)確定員工初始時間段,此時間段中的員工數據需保證其行為記錄均無異常;
(2)構建員工初始時間段內行為樹;
(3)提取出員工初始時間段的每日行為畫像記錄;
(4)將員工在初始時間段的每日行為畫像記錄合并,將此作為員工的初始行為畫像模型。其中每一行代表一天的行為特征的記錄,而每一列則是以行為類型為單位的不同時間段的行為特征類型的數量的記錄。
威脅檢測模型的異常檢測方法使用主成分分析(Principal Component Analysis,PCA)進行異常檢測。為了保證正常畫像模型的正確性并使模型隨著用戶的正常行為變化而變化,同時又能每天實時檢測員工當天的異常情況,本文將員工畫像的員工行為偏移模型采用滑動窗口機制。
異常檢測中通過對用戶活動類型、活動時間段的正異常指標的設定來判斷出員工是否具有異常。因畫像模型產生的數據維度過高,實驗使用PCA進行降維提取出行為特征中最主要的特征,同時通過計算行為前后數據點的偏差值大小檢測當天行為是否異常,具體流程和規則如下。
將當前用戶的行為畫像模型用X表示:

其中xi表示員工日行為畫像模型的向量形式,n表示行數,D表示特征數。
在進行PCA檢測之前需對當前模型數據進行中心化和標準化,使得矩陣中的所有元素都能被縮放到0~1之間,消除不同量綱的影響。
中心化:

其中μ、σ分別表示X對應列上的均值和標準差。
將預處理之后的矩陣記為Xstd,檢測的主要步驟如下:
(1)計算協方差矩陣,并求出C的特征值{λ1,λ2,…,λi}和特征向量{e1,e2,…,ei},同時將特征向量按其特征值大小從上到下按列排列成矩陣,取前k列組成矩陣Pk:

(2)將高維數據Xstd投影到低維數據Yk:

其中,Yk=[y1,y2,…,yn]T,Y∈Rn×k,yi∈RD,k<<D。
(3)求得不同維度中各數據點與其他數據的偏差:

其中dij表示該方向上的偏離程度,ej表示某特征向量,yi表示數據樣本,λj表示向量對應的特征值。
(4)根據各方向上的偏離程度求其綜合異常得分

(5)設置合適的閾值判斷員工是否異常

其中,C為判斷閾值。
員工初始畫像模型構建完之后,畫像模型的更新進入滑動階段,實時檢測員工異常原理如圖5所示,其中X表示員工畫像模型的特征。根據員工畫像的構建規則,可將每個員工的畫像模型轉換成一個矩陣。

圖5 畫像自適應偏移原理
滑動窗口的構建需要對畫像模型設置固定的天數作為滑動窗口的大小。畫像模型中滑動窗口的規則如下:若異常檢測模型檢測出員工當天行為無異常,則會對該員工的畫像模型進行偏移,保持員工的行為規律與畫像模型同步;若檢測出員工當天有異常行為,為保證模型的正確性則不會對畫像模型進行偏移。需要注意的是,畫像模型的偏移并不會對員工的行為樹產生影響。員工畫像模型與異常檢測模型息息相關,引入滑動窗口機制使得模型適應用戶的行為習慣變化。
為了驗證檢測模型的有效性,本實驗使用公開數據集CERT4.2進行實驗測試。CERT4.2數據集記錄了1 000名員工的資料信息以及在500天內所使用PC設備的所有活動,數據集結構和內容說明如表2所示,數據集的活動數目統計如表3所示。

表2 數據集各個日志文件記錄信息

表3 CERT4.2數據集的統計數據
實驗中,為了提高檢測的細粒度,先將日志數據拆分成以員工為單位的數據結構,再對各個員工構建用戶畫像模型。初始畫像模型構建完后,用數據模擬員工每天的行為活動,使用PCA檢測模型進行實時檢測。該數據集下內部威脅檢測整體流程如圖6所示。用戶畫像模型構建中每個員工每天的行為數據日志格式如表4所示。

圖6 使用CERT-4.2數據集進行內部威脅檢測流程

表4 員工每日行為記錄格式
實驗內部威脅檢測模型測試中,將異常時間段個數的判斷閾值設為1、異常天數判斷閾值設為2。當把PCA降維數據所得平方和的標準化行為類型檢測閾值設為2.477時,模型測試具有較好的檢測結果。
基于用戶畫像的PCA內部威脅檢測與非用戶畫像的PCA內部威脅檢測及三種機器學習模型的實驗對比結果如表5所示。實驗檢測到威脅員工的正確率為97.14%,檢測到員工異常行為所在時間段的正確率為82.75%。實驗結果證明了用戶畫像模型作為內部威脅檢測基礎的可行性。

表5 各內部威脅檢測方法結果對比 (%)
本文通過引入用戶畫像概念,將員工行為畫像模型作為內部威脅檢測的基礎,根據員工的行為數據構建出員工行為樹,并構建異常行為規則和檢測閾值。同時,引入滑動窗口機制,使員工畫像模型根據員工正常行為軌跡變化而產生偏移。最后,使用PCA進行特征降維和分類得出異常檢測結果。模型以員工行為日期作為檢測單位,增加了內部威脅檢測的細粒度,能實時檢測出發生異常的員工,實驗結果證明模型具有較好的檢測結果。后續研究將進一步提高檢測的細粒度,引入更優的異常檢測模型以提高檢測的精度和效果。