賴建華 唐敏
摘 要:為了應對高級持續(xù)性威脅(APT)攻擊造成的威脅,解決傳統(tǒng)基于規(guī)則的分析方法對用戶異常行為檢測的誤報與漏報問題,提高用戶異常行為檢測效果,通過采集用戶行為日志生成用戶操作行為矩陣,并通過模型定義方式對用戶行為進行相似度分析。采用容忍度測算、突變測算、差值測算與峰值測算方法,分析與發(fā)現(xiàn)用戶異常訪問?;谟脩舢嬒竦漠惓P袨榉治龇椒ńY合了用戶操作行為特征及角色定義,利用用戶行為日志歷史信息勾勒出用戶行為畫像,使系統(tǒng)能準確、實時地判斷用戶行為異常,提高了對異常行為的實時檢測與快速響應能力。
關鍵詞:異常行為分析;高級持續(xù)性威脅攻擊;行為矩陣;用戶畫像
DOI:10. 11907/rjdk. 182544 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP309文獻標識碼:A 文章編號:1672-7800(2019)008-0181-05
Research and Application of User Abnormal Behavior Analysis Method
LAI JIAN-hua1,2, TANG Min3
(1. Fujian Institute of Science and Technology Information;2. Fujian Key Laboratory of Information Network;
3. Fujian Straits Information Co. Ltd,F(xiàn)uzhou 350003, China)
Abstract: In order to deal with the threat caused by high-level persistent threat attack, the traditional rule-based analysis method is used to solve the false alarm and missed alarm of user abnormal behavior detection, and improve the detection effect of user abnormal behavior. User behavior matrix is generated by collecting user behavior log, and similarity analysis of user behavior is done by model definition. Tolerance measure method, mutation measure method, difference measure method and peak value measure method are collected. Users' abnormal access is analyzed and found by common use. The abnormal behavior analysis method based on user portrait is combined with user operation behavior characteristics and role definition, and the user behavior portrait is outlined by using user behavior log history information. The system can judge user behavior abnormality in real-time and improve the ability of real-time detection and rapid response to abnormal behavior.
Key Words: abnormal behavior analysis; high-level persistent threat attack; behavior matrix; user portrait
基金項目:福建省科技計劃項目(2017R1008-1,2018R1008-9)
作者簡介:賴建華(1974-),男,碩士,福建省科學技術信息研究所高級工程師,研究方向為網(wǎng)絡與信息安全、軟件工程;唐敏(1976-),男,碩士,福建省海峽信息技術有限公司工程師,研究方向為安全管理與分析、資產(chǎn)情報。
0 引言
近年來,高級持續(xù)性威脅(APT)攻擊已成為政府及各級企事業(yè)組織面臨的主要安全威脅。APT攻擊檢測防御技術能夠主動檢測APT攻擊行為,防止惡意入侵及異常行為造成的破壞與損失。傳統(tǒng)基于流量特征庫的APT攻擊檢測與防御方法對于已知威脅,如已知漏洞或病毒木馬程序的攻擊比較有效,但對于攻擊特征未知、技術復雜、持續(xù)時間長的APT攻擊則無法進行有效檢測與定位[1]。國內(nèi)外在構建APT檢測模型與APT防御系統(tǒng)方面取得了一定進展。在國外,F(xiàn)ireEye研發(fā)了一種基于終端異常行為檢測的APT防御系統(tǒng),將用于樣本分析的沙箱技術前置到用戶環(huán)境監(jiān)測設備中,但其檢測過程建立在捕獲惡意代碼基礎上,因此存在被繞過的可能;RSA[2]提出一種基于網(wǎng)絡異常行為監(jiān)測的原型Beehive,通過對企業(yè)網(wǎng)絡環(huán)境中各類日志的采集與分析進行異常檢測,但是檢測結果的有效性仍需要人工鑒定與確認。在國內(nèi),根據(jù)用戶異常行為識別已知或未知安全威脅一直是研究熱點,并取得了一定成果[3-6],如董彬[7]提出一種基于Netflow的異常行為檢測框架,能夠對蠕蟲、DDOS攻擊、網(wǎng)絡掃描等行為進行檢測,并提出基于Hadoop平臺的系統(tǒng)框架,但其側重于對大規(guī)模異常的監(jiān)測,而對APT攻擊這類注重自身隱蔽性、網(wǎng)絡流量特征不顯著的攻擊行為檢測能力有限;孫建坡[8]提出一種基于攻擊鏈的描述模型,能夠對攻擊過程與結果進行建模,但對于如何進行攻擊行為檢測并未給出具體算法描述。構建APT威脅檢測模型需要考慮數(shù)據(jù)采集、數(shù)據(jù)存儲、行為識別、告警響應等多個環(huán)節(jié)。隨著大數(shù)據(jù)時代的到來,APT檢測與防御設備受到數(shù)據(jù)量龐大、人工處理能力不足及特征庫有限等因素影響,無法跟上時代發(fā)展步伐,必須從入侵行為角度,采用基于異常行為識別的檢測方法,才能更加快速、精確地檢測與定位APT入侵行為和攻擊者。
從APT入侵者視角,攻擊及用戶異常行為可分為:偵查目標、制作工具、傳送工具、觸發(fā)工具、控制目標、執(zhí)行活動與保留據(jù)點7個階段[9]。每個活動階段一般會在網(wǎng)絡及目標系統(tǒng)內(nèi)形成活動記錄,包括:流量日志、系統(tǒng)運行日志、配置變動記錄以及人員操作行為日志等。這些記錄日志包含了用戶登錄行為記錄、接口調(diào)用信息、數(shù)據(jù)增刪改查信息、權限及數(shù)據(jù)結構修改記錄,隱含著越權訪問、數(shù)據(jù)竊取以及主機失陷等入侵及異常行為的蛛絲馬跡。通過對操作行為數(shù)據(jù)的分析,可以挖掘出潛在的用戶異常行為。傳統(tǒng)APT入侵檢測系統(tǒng)對異常行為的檢測采用基于規(guī)則的分析方法,通過配置行為分析規(guī)則,定義異常行為的時間、地點、人員、訪問方式等,也即5W1H分析方法[10]。該方法對常規(guī)的行為定義與檢測是有效的,但由于異常行為場景很多,不能完全通過行為的若干要素進行簡單定義與排查,否則容易出現(xiàn)誤報和漏報情況。因此,需要對歷史行為數(shù)據(jù)進行建模,并采用相關算法對用戶行為進行預測及異常檢測,才能有效發(fā)現(xiàn)入侵及異常行為。
針對當前APT防御形勢的要求,本文提出一種基于用戶畫像的異常行為分析方法。用戶畫像可以將定性和定量方法很好地結合在一起[11],其中定性方法是指對用戶使用習慣、行為特點進行抽象與概括[12],定量分析是指通過對特征作精細化的統(tǒng)計分析計算,獲得對用戶異常行為的精準識別[13]。該方案結合了用戶操作行為特征及角色定義,利用用戶日志歷史信息勾勒出用戶行為畫像,使系統(tǒng)能夠準確、實時地判斷用戶行為異常,從而提高對異常行為的實時檢測與快速響應能力。
1 用戶異常行為分析流程
本文設計的用戶異常行為分析方法流程如圖1所示,共分為5個階段,分別為:日志采集、模型定義、行為刻畫、異常分析及安全告警。
圖1 用戶異常行為分析流程
1.1 日志采集
日志采集通過各種協(xié)議方法采集用戶異常行為分析所需的用戶訪問日志、業(yè)務操作日志、系統(tǒng)運行日志、數(shù)據(jù)庫訪問記錄及流量日志等。
不同類型的日志數(shù)據(jù)格式不完全相同,不同途徑獲取的數(shù)據(jù)也存在重復、相互關聯(lián),甚至相互矛盾的情況。本文在數(shù)據(jù)采集后進行還原操作,并進行一系列預處理,包括提取、清洗、關聯(lián)、比對與標識等操作。其中數(shù)據(jù)關聯(lián)是指將海量信息與用戶帳號、自然人等相關聯(lián),以方便信息溯源。最后將采集到的海量異構數(shù)據(jù)變換為一種適合后續(xù)數(shù)據(jù)分析的形式。
由于行為日志具有明顯的大數(shù)據(jù)特征[14],本文采用基于HDFS的分布式索引數(shù)據(jù)存儲,從而保證了數(shù)據(jù)的高可靠性,并能快速進行檢索。
1.2 模型定義
本文從實際業(yè)務系統(tǒng)數(shù)據(jù)中提取相關數(shù)據(jù)構建數(shù)據(jù)集,根據(jù)挖掘出的系統(tǒng)用戶信息,設計并構建了用戶模型。該模型將用戶屬性分為:基本屬性、職位屬性、業(yè)務屬性、時間屬性以及空間屬性5類,這5類屬性共同構建用戶完整信息。屬性模型定義如下:①基本屬性。表示用戶固有、靜態(tài)的屬性狀態(tài)[15],如:用戶性別、年齡、愛好等基本屬性特征;②職位屬性。表示用戶職位級別的屬性信息,用于識別相同職位等級人員的異常訪問行為;③業(yè)務屬性。表示用戶在業(yè)務功能使用方面的屬性信息[16],系統(tǒng)中不同角色能夠使用的業(yè)務功能不同,根據(jù)用戶業(yè)務功能設計不同標簽,如:超級用戶、操作用戶、審計用戶以及配置用戶等,每個業(yè)務屬性對應不同的功能模塊集合;④時間屬性。對用戶訪問行為在時間上進行分段建模,分段建立數(shù)據(jù)訪問與業(yè)務處理模型,用于識別特定時間段發(fā)生的異常行為,或訪問的異常時間段;⑤空間屬性。根據(jù)用戶訪問區(qū)域進行區(qū)分與建模,用于識別與用戶具有相同訪問區(qū)域的異常訪問行為,或異常訪問區(qū)域。
1.3 行為刻畫
用戶除基本屬性外,也應具有相應行為,類似于編程語言的屬性和方法。本文從七大維度進行描述,包括:用戶會話、訪問業(yè)務系統(tǒng)、操作內(nèi)容、操作內(nèi)容差異性、一天訪問行為、一周訪問行為、每天連續(xù)操作時間等構建用戶行為標簽,如表1所示。行為標簽是指用戶對系統(tǒng)的時序化操作行為,即行為序列[17]。
1.4 異常分析
以上步驟已提取了用戶行為數(shù)據(jù),形成用戶行為模型,接下來的異常分析通過預先建立一系列模型、策略,將用戶待檢測的行為序列模式與已知特征序列進行匹配。若能正常匹配,說明待測用戶行為正常;若存在無法匹配或部分無法匹配的情況,則說明待測行為存在異常,該行為稱為異常行為。
在異常分析環(huán)節(jié),本文在基礎屬性條件配置基礎上引入統(tǒng)計算法,通過對不同條件之間的測算進行分析運算。系統(tǒng)采用的統(tǒng)計算法包括:容忍度測算、突變測算、差值測算、峰值測算等。
1.5 安全告警
安全告警是實現(xiàn)從數(shù)據(jù)采集、異常分析到最終響應的主動防御體系的關鍵環(huán)節(jié)[18]。通過上述分析過程形成檢測分析結果,并在滿足一定條件時進行安全告警。生成的告警信息包括:告警名稱、告警對象(通常為某個業(yè)務系統(tǒng)對象)、告警內(nèi)容、告警等級、告警發(fā)生時間以及告警證據(jù)鏈等內(nèi)容。本文根據(jù)告警等級、告警對象責任人信息等條件,通過響應機制,利用郵件、短信、微信等方式自動通知管理人員,實現(xiàn)對消息的及時推送。
2 用戶異常行為分析方法
用戶異常行為分析步驟通常包括:畫像數(shù)據(jù)獲取、相似度計算、畫像聚類以及畫像生成。對于異常行為分析而言,畫像數(shù)據(jù)獲取階段即采集用戶行為日志,在相似度計算階段根據(jù)職位、時間以及空間模型計算同類用戶行為之間的相似度,系統(tǒng)根據(jù)相似度進行聚類,而遠離大規(guī)模聚類的對象則認為表現(xiàn)異常,進入告警環(huán)節(jié)。
本文提出的用戶異常行為分析方法的主要優(yōu)勢在于其結合了多種分析方法與用戶行為畫像定位能力,能夠準確定位異常用戶。即:用戶所有行為都與用戶賬號關聯(lián),用戶賬號與自然人唯一關聯(lián),用戶所有行為都有行為記錄。當匹配到異常行為時,可以迅速關聯(lián)到用戶賬號,從而定位到自然人(入侵者)。同時,通過業(yè)務屬性標簽,可以關聯(lián)到出現(xiàn)異常的具體業(yè)務功能。
2.1 相似度方法
基于相似度的方法[19]是一種可用于實時異常行為識別的分析方法。系統(tǒng)采用歐氏距離法對用戶在單位時間內(nèi)的操作行為習性進行相似運算。歐氏距離也稱為歐幾里得距離,是一種多維空間的距離計算方法[20]。
歐氏距離法通過以下步驟對用戶行為進行相似度計算:
(1)系統(tǒng)根據(jù)畫像模型為不同職位、時間、空間類別的用戶生成操作習性矩陣。
(2)計算用戶操作習性矩陣不同屬性之間的相似度,相似度的值在0~1之間。屬性包括1.3章提到的七大維度。對于行為習性矩陣的每個屬性,都定義一個與之相對應的相似度計算函數(shù)。該函數(shù)返回一個0~1之間的相似度計算值。
(3)采集到新的行為日志時,會與已有用戶操作習性矩陣的屬性值進行比較,計算其之間的相似度。行為日志之間相似度定義為不同屬性相似度的加權平均值,具體公式如下:
[SIM(X,Y)=Ej*SIM(Xj,Yj)Ej]? (1)
其中,X表示已有用戶行為屬性,Y表示新的用戶行為記錄,j表示用戶行為習性的屬性索引值,[Ej]表示屬性j的相似度期望,[Xj]、[Yj]表示用戶行為屬性X與用戶行為記錄Y中屬性j的值。
(4)最后,計算用戶行為習性的相似度,并結合異常度量加權,對超過閾值的用戶行為生成安全告警。
2.2 容忍度測算
容忍度測算[21]是根據(jù)兩個不同分析維度條件之間的比例關系,從中發(fā)現(xiàn)同一用戶或同一源地址發(fā)起各類行為占比操作是否超標的情況。例如:某天用戶對數(shù)據(jù)庫的導出操作次數(shù)是否占該用戶當天對所有數(shù)據(jù)庫操作次數(shù)的一半以上。按容忍度測算規(guī)則中配置的開始時間與周期決定本次分析事件的時間區(qū)間,即開始時間減去周期,再到開始時間為止為本次分析的事件區(qū)間。容忍度測算流程如圖2所示。
在容忍度測算流程中,從事件區(qū)間與日志類型組合依次查找事件條件1和事件條件2的數(shù)據(jù),并將兩個數(shù)據(jù)按關注點進行匯總計數(shù),提取兩次匯總中相關的關注點,通過關注點循環(huán)計算兩個事件總數(shù)占比,對占比超過閾值的情況進行告警。
圖2 容忍度測算流程
2.3 突變測算
突變測算是對同一日志屬性下不同時間段之間的數(shù)量變化進行測算,并對變化明顯的情況進行告警。例如:一個目標地址當前事件量為前一小時的5倍。
突變測算流程如圖3所示,根據(jù)事件條件分別讀取當前時間減去時間差,再到當前時間的事件量,以及當前時間減去兩個時間差,再到當前時間減去時間差的事件量。通過關注點將兩個時段中關注點的事件量相除,如果結果大于規(guī)則給定的閾值,則對相關關注點進行安全告警。
圖3 突變測算流程
2.4 差值測算
差值測算是對同一關注點下不同時間的同一日志屬性矢量差進行分析,矢量差超過規(guī)則閾值則產(chǎn)生告警。例如同一用戶登出和登錄時間矢量差在3天以上,將進行告警。
差值測算流程如圖4所示,根據(jù)規(guī)則中配置的時間啟動,獲取前一周期中所有滿足條件2與條件1的數(shù)據(jù)。將條件2與條件1同一關注點下相關屬性矢量差與規(guī)則閾值進行對比,若超過閾值則進行告警。
圖4 突變測算流程
2.5 峰值測算
峰值測算是指對同一日志屬性按關注點進行排序,對從高到低的TopN進行告警。峰值測算流程如圖5所示,根據(jù)規(guī)則中配置的時間進行啟動,獲取前一周期中所有滿足條件的數(shù)據(jù),并按關注點從大到小進行排序,對于前n位(n為規(guī)則中配置的top值)取值大于規(guī)則閾值的情況進行告警。
圖5 峰值測算流程
3 實驗與分析
本文實驗測試選用某4A堡壘機一個月的用戶操作日志作為測試數(shù)據(jù)集,合計記錄數(shù)據(jù)2 190 518條。在一個月時間內(nèi),模擬了各類異常行為150次,包括:違規(guī)時間數(shù)據(jù)訪問、違規(guī)終端業(yè)務訪問、暴力登錄嘗試、木馬違規(guī)刷數(shù)據(jù)、越權操作指令、違規(guī)金庫操作等異常行為類型。將測試數(shù)據(jù)集作為輸入,并啟用不同分析方法引擎進行檢測。根據(jù)檢測出的異常行為數(shù)量,得出各種測試方法的準確率、誤判率與漏判率。采用N(t)代表實際異常行為總數(shù),N(d)代表正確檢測出的異常行為數(shù)量,N(n)代表錯誤檢測出的異常行為數(shù)量。
根據(jù)上述計算方法,得到實驗結果如表2所示。
表2 用戶異常行為分析實驗結果
實驗結果表明,在單獨使用突變測算、差值測算與峰值測算方法的情況下,檢測準確率不高,存在一定的誤報和漏報情況,而在綜合場景下,當各種分析方法都對行為進行確定性的告警匹配時,可得到較高的準確率與較低的誤報率。
4 結語
本文提出的基于用戶行為刻畫的異常行為分析方法,通過采集用戶行為日志生成用戶操作行為矩陣,并通過模型定義方式對用戶行為進行相似度分析、容忍度測算、突變測算、差值測算、峰值測算,從而及時發(fā)現(xiàn)用戶異常訪問,提高了對異常行為的實時檢測及響應能力。本系統(tǒng)已應用于實際項目中,幫助用戶分析堡壘機、操作審計系統(tǒng)等應用中的操作行為日志,并成功發(fā)現(xiàn)了其中采用木馬程序盜刷數(shù)據(jù)、違規(guī)越權操作等違規(guī)行為。未來將繼續(xù)對分析算法進行擴展,采用密度分析等分類方法對用戶異常行為進行檢測,通過多個分析維度進行分析,以提高分析可靠性。同時還可將該方法應用于網(wǎng)絡流量異常分析,以識別異常流量行為。
參考文獻:
[1] 周濤. 基于統(tǒng)計學習的網(wǎng)絡異常行為檢測技術[J]. 大數(shù)據(jù),2015 (4):38-47.
[2] YEN T F,OPREA A,ONARLIOGLU K,et al. Beehive: large-scale log analysis for detecting suspicious activity in enterprise networks[C]. Proceedings of the 29th Annual Computer Security Applications Conference, 2013:199-208.
[3] 江瀚,郭威,鄧韻東. 一種基于等級保護的高級持續(xù)性威脅防護模型研究[J]. 電子測試,2015(21):17-20.
[4] 陳強. 高級持續(xù)性威脅攻擊及預防的探索[J]. 網(wǎng)絡安全技術與應用,2015(7):63-64.
[5] 武宗濤,趙進,葉忠. 基于基線的APT檢測分析平臺研究與設計[J]. 網(wǎng)絡安全技術與應用,2017(9):35-37.
[6] 管磊,胡光俊,王專. 基于大數(shù)據(jù)的網(wǎng)絡安全態(tài)勢感知技術研究[J]. 信息網(wǎng)絡安全,2016(9):45-50.
[7] 董彬. 基于hadoop的APT建模與流量預處理技術研究與實現(xiàn)[D]. 長沙:國防科學技術大學,2015.
[8] 孫建坡. 基于攻擊鏈的威脅感知系統(tǒng)[J]. 郵電設計技術,2016(1):74-77.
[9] 徐遠澤,張文科,尹一樺,等. APT攻擊及其防御研究[J].通信技術,?2015,48(6):740-745.
[10] 常松麗,陳立潮,潘理虎. 基于信息生命周期的多主體交互模型及形式化[J].計算機仿真,2012,29?(11):158-161.
[11] 王洋,丁志剛,鄭樹泉,等. 一種用戶畫像系統(tǒng)的設計與實現(xiàn)[J]. 計算機應用與軟件,2018(3):8-14.
[12] 張哲. 基于微博數(shù)據(jù)的用戶畫像系統(tǒng)的設計與實現(xiàn)[D]. 武漢:華中科技大學,2015.
[13] 張麗娟. 基于大數(shù)據(jù)分析的用戶畫像助力精準營銷研究[J]. 電信技術,2017,8(1):61-62.
[14] 張慷. 手機用戶畫像在大數(shù)據(jù)平臺的實現(xiàn)方案[J]. 信息通信,2014(2):266-267.
[15] 陳志明,胡震云. UGC網(wǎng)站用戶畫像研究[J]. 計算機系統(tǒng)應用,2017,26(1):24-30.
[16] 王冬羽. 基于移動互聯(lián)網(wǎng)行為分析的用戶畫像系統(tǒng)設計[D]. 成都:成都理工大學,2017.
[17] 唐夢楠. 網(wǎng)絡入侵事件檢測及攻擊行為預測的方法研究[D]. 西安:西安電子科技大學,2014.
[18] 顧立強. 主動防御技術體系分析及在網(wǎng)絡安全中的應用[J]. 通訊世界,2017(14):26-27.
[19] 金倩倩,陳春霖,于曉文,等. 基于相似度分析的電力信息內(nèi)網(wǎng)用戶行為異常預警方法[J]. 計算機系統(tǒng)應用,2017(12):220-226.
[20] 吳迪. 基于曲線相似性分析的竊電用戶判斷[J]. 中國電力,2017,50(2):181-184.
[21] 王曉芳,謝仲文,李彤,等. 一種帶租戶演化容忍度的SaaS服務演化一致性判定方法[J]. 計算機科學,2018,45(5):147-155.
(責任編輯:黃 ?。?/p>