999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于角色異常行為挖掘的內部威脅檢測方法

2020-11-03 01:00:44顧兆軍郭靖軒
計算機工程與設計 2020年10期
關鍵詞:數據庫

顧兆軍,郭靖軒+

(1.中國民航大學 信息安全測評中心,天津 300300;2.中國民航大學 計算機科學與技術學院,天津 300300)

0 引 言

互聯網的發展使網上辦公成為員工辦公的首要方式,給工作帶來了高效和便捷,但是伴隨網絡攻擊手段的不斷進步,單一的防火墻防御已經顯現出不足。目前信息系統安全防護主要關注來自系統外部的威脅,但是來自員工的內部威脅已經成為首要問題,內部威脅帶來的損失比普通的外部威脅更加嚴重。

國內外學者對此進行了深入研究,文雨等[1]對數據庫的非法使用行為進行研究,以數據庫數據日志為核心提取SQL語句的數據訪問特征來確定當前用戶執行SQL語句的可疑程度;張銳[2]建立了系統業務與用戶之間的關系網絡,將用戶映射到具體業務系統上,通過判斷用戶對業務系統之間的關系網絡間的差異來確定是否存在內部威脅;文獻[3]提出了用戶行為的多元模式,提出了一種用戶跨域行為模式挖掘方法。

本文著重對角色行為進行分析研究,在文獻[4]中對Web用戶行為挖掘的基礎上提出了一種基于角色行為模式挖掘的角色行為異常檢測算法,該算法對傳統PrefixSpan算法進行改進,提高了對角色異常行為的檢測時間,同時縮短了挖掘時間,提高了挖掘效率。

1 角色行為分析及處理

角色行為模式是指角色對業務系統操作過程中對程序的執行所體現出的一般規律性,服務器會在日志文件中存儲角色操作記錄以及與數據庫交互信息,包括操作屬性、操作內容、調用資源等信息。角色行為具有以下3個特點[5]:

(1)規律性。每個角色在使用業務系統時會有自身獨有的特點,在程序執行上和操作行為上具有相關關系,現稱之為角色行為習慣。在一定時間間隔內,根據角色行為習慣可以挖掘出頻繁行為,從而建立角色正常行為模式;

(2)偶然性。角色受到隨機事件和自身其它因素影響會改變原有的行為習慣,增加了局部偶然性,所以在挖掘過程中需要大量的歷史審計日志來判斷其偶然性,避免出現異常漏報和檢測效率低下的問題;

(3)重復性。在一段時間內角色的某一行為會多次重復出現,這些行為跟時間間隔的大小具有高度的相關性,如何確定恰當的時間間隔是順利進行挖掘過程的關鍵步驟。

在充分了解角色行為特點后,利用日志提取需要的角色行為及屬性,以便于之后挖掘角色行為模式。Windows操作系統在其運行的生命周期中會記錄其大量的日志信息,常見的日志文件包括Serer logs、Error logs、Cookie logs等其它類型,角色日常工作使用到的信息系統都是基于Telnet協議的,處理異常事件時可以通過截取聯網傳輸的數據包進行相應的協議解析,這樣就可以復原角色與信息系統交互的操作命令和返回結果。這些日志信息在溯源和取證調查過程中十分重要,日志文件在系統中是以特定的數據結構方式進行內容存儲,其中包括相關系統應用程序和安全的記錄。審計記錄中包含了9個元素:日期/時間、事件類型、用戶、計算機、事件ID、來源、類別、描述、數據等信息。通過處理無用項和多余項之后,每條有效審計記錄見表1,其中包含7個字段。

表1 審計記錄

本文的目的就是要從有效審計記錄中運用序列模式挖掘的方法,根據角色歷史正常行為提取出角色正常行為模式,從而進行異常檢測。針對信息系統角色行為模式的特點給出異常檢測系統框架如圖1所示,主要包括日志預處理、角色正常行為模式挖掘、序列匹配、模式比較,異常檢測輸出等步驟。

圖1 內部威脅異常檢測框架

2 正常行為模式挖掘

本章的工作是圍繞角色正常行為模式挖掘展開的。根據第一節中提出的有效審計記錄中得到角色行為數據及屬性,選取合適的序列模式挖掘算法,介紹算法的概念和原理,重點給出對算法的改進過程及核心思想,最后通過舉例說明。

2.1 模式挖掘方法對比

序列模式挖掘是數據挖掘中一個重要分支,它的原理是從大量序列數據中挖掘出一段時間間隔內出現頻率最高的序列數據。目前序列模式挖掘的主要算法有廣義序列模式(GSP)算法、apriori算法、FP Tree算法、FreeSpan算法和PrefixSpan算法。FreeSpan算法和apriori算法是基于挖掘項集數據挖掘的[6],而PrefixSpan算法和廣義序列模式(GSP)算法是面向序列數據的[7]。

如表2所示,表左的數據記錄就是在Apriori算法和FreeSpan算法中使用的項集數據,每個項集數據由若干項數據記錄組成,這些數據項沒有時間上的先后關系,對于多于一個項的項集要加上括號,以便和其它的項集分開。而右邊的序列數據則不一樣,它是由若干數據項集組成的序列,比如第一個序列,它由a,bc,ac,d,cf共5個項集數據組成,并且這些項有時間上的先后關系,不同的序列順序代表了不同的含義。

表2 項集數據與序列數據對比

在本文中提出的角色行為模式中,角色行為具有持續性且每個行為具有時間上的先后關系,例如管理員角色的行為首先是登錄管理系統,然后對設備進行檢查,最后注銷退出系統。這一系列行為是以集合的形式存在,這種數據顯然符合序列數據的特點,故舍棄了Apriori算法和FreeSpan算法。另一方面在對序列數據進行數據挖掘時,由于PrefixSpan算法在挖掘過程中不產生大量候選的序列模式,而且生成的投影數據庫相比于原始序列數據庫大大減少,因此減少了構造投影數據庫的時間,并且縮減了算法運行需要的存儲空間,所以其性能更優。而廣義序列模式(GSP)算法會產生大量候選的序列模式,增加了算法運行所需要的時間,而且候選的大量序列模式會消耗存儲空間,故選擇PrefixSpan算法進行角色行為模式挖掘。本文將PrefixSpan算法運用到角色正常行為模式的挖掘中,并且針對此算法進行了改進。

2.2 PrefixSpan算法相關概念及定義

PrefixSpan(prefix-projected pattern crowth)[8],意思是前綴投影的模式挖掘,PrefixSpan算法采用分而治之的思想,首先從數據集中挖掘出頻繁一項集,找到頻繁一項集之后使用頻繁項前綴劃分搜索空間,從而生成投影數據庫,再分別對這些投影數據庫里的項集數據執行同樣的步驟來挖掘頻繁項,直到循環執行數據庫中所有的數據項。

本文將PrefixSpan算法應用到信息系統中角色正常行為模式挖掘中,并針對此應用場景下進行改進,在時間和空間方面改進的算法提高了算法適用性,并且提高了數據挖掘的效率。下面首先介紹PrefixSpan算法對角色正常行為模式挖掘的相關概念及定義。

概念1:S是一個項集序列數據庫,表示為S=(t1,t2,…,ti),其中i表示為角色行為序列的長度,tk(1≤k≤i)表示為同一角色的行為數據項。

概念2:子序列和超序列的概念和數學上的子集的概念很類似,如果某個序列A所有的項集在序列B中的項集都可以找到,則A就是B的子序列。現在給定兩個序列A=(a1,a2,…,an)和序列B=(b1,b2,…,bm), n≤m,如果對于序列B來說序列A中的每一項數據均滿足a1?b1,a2?b2…an?bn,則稱A是B的子序列,反過來說B就是A的超序列。

概念3:對于某一個前綴,序列里前綴后面剩下的子序列即為得到的后綴,前綴投影其實就是后綴的意思,前綴加上前綴投影就可以構成一個完整的序列。如果前綴最后的項是項集的一部分,則用一個“_”來占位表示,這里需要注意的是_b和b是兩個不同的序列項。表3給出前綴和后綴的例子。

表3 頻繁項集序列

概念4:給定S為一個序列數據庫,A=(a1,a2,…,an)是序列數據庫S其中的一個序列,數據庫S中包含序列A的個數占S中總序列數的比值記為Support(A),其意義是序列A的支持度。由專家意見以及實際情況給出一個支持度閾值min_sup,如果序列A在序列數據庫中的支持度Support(A)不低于min_sup,則稱序列A為一項頻繁序列。

2.3 PrefixSpan算法的不足及改進

在使用PrefixSpan算法對數據項進行掃描挖掘時有三方面不足:

(1)挖掘過程中會采用遞歸的方法構建投影數據庫,消耗大量時間。審計日志中包含的非頻繁數據較多,隨著挖掘過程的深入會產生大量的非頻繁項,從而消耗大量時間來挖掘不可能出現的頻繁項;

(2)挖掘過程中構造的投影數據庫數量呈幾何倍數增長,空間開銷巨大,而且存在多個重復的投影數據庫,占用大量空間;

(3)算法處理海量審計日志所生成的頻繁序列項以及其投影數據庫數量紛繁復雜,在挖掘過程中對投影數據庫反復進行掃描,導致數據項查找挖掘效率低下,算法執行效率低下。

針對PrefixSpan算法的不足之處以及審計日志數據的特點,本文提出一種改進的PrefixSpan算法,對此算法的不足之處進行如下改進和擴展以提高挖掘效率:

(1)改進后的算法在挖掘數據項的過程中通過比較數據項與最小支持度得到頻繁項,直接刪除非頻繁項,避免繼續挖掘出非頻繁項;在構建投影數據庫時放棄對支持度小于閾值的投影數據庫的掃描,能夠有效減少投影數據庫構建的次數,提高算法的時間效率;

(2)改進后的算法在構建投影數據庫的過程中,預先檢查序列數據庫S中所有數據項的前綴,對相同的數據項進行合并,避免對投影數據庫中同一數據項前綴重復投影,從而減少投影的數量,這樣能夠有效地減少投影數據庫構建的次數,減少投影數據庫不必要的存儲空間;

(3)對投影數據庫引入標簽索引,先給定一個初始的頻繁序列投影數據庫用于記錄掃描過程中全部下標的位置,接下來的挖掘過程只需要利用下標去數據庫中查找該字符序列即可。此方法從數據預處理的角度出發,通過增加一個步驟從而提高了查找效率。

現在根據算法改進思想給出改進后的PrefixSpan算法流程描述:

輸入:序列數據庫S、支持度閾值min_sup、數據庫S中數據序列長度i。

步驟1 對數據庫S中的所有數據進行挖掘,得到所有長度為1的頻繁一項集和其所對應的投影數據庫;

步驟2 計算每一個長度為1的前綴在數據庫中的支持度Support(),并對其進行計數,根據結果將支持度低于閾值min_sup的前綴所對應的項從數據庫S中刪除,同時記錄所有支持度滿足Support()≥min_sup的頻繁一項集,記i=1;

步驟3 對步驟2得到的頻繁一項集前綴進行遞歸挖掘:

(1)找出頻繁一項集所對應的投影數據庫,如果該前綴的投影數據庫不存在,則遞歸返回步驟2;

(2)統計頻繁一項集所對應的投影數據庫中各項的支持度,如果所有頻繁一項集的支持度都低于閾值min_sup,則刪除此項并遞歸返回步驟2;

(3)將支持度滿足Support()≥min_sup的各個頻繁一項集和當前的前綴進行合并得到頻繁二項集,并且生成新的前綴;

(4)i=i+1,使用得到的新前綴繼續挖掘第i項頻繁項,分別遞歸執行步驟3。

輸出:滿足支持度Support()≥min_sup的所有頻繁項。

針對上文給出對算法改進的流程描述,現在以表4中所給的數據項為例描述序列模式挖掘過程,并且給定閾值min_sup=2。

表4 角色行為序列數據庫S

表5 序列模式挖掘過程

3 模式匹配

在上一節中我們通過數據挖掘得到了頻繁項數據集,這代表了角色歷史正常行為模式集,現在通過對比角色當前行為與歷史正常行為,就可以檢測角色行為的準確性,從而判斷該角色是否發生內部威脅。模式匹配的關鍵就是字符串匹配,字符串匹配通常是指在主模式串中一次或多次重復出現某一字符串,并把子串在主串中的定位操作稱為串的模式匹配。從匹配方式上來說串匹配可以分類為精確匹配、模糊匹配、并行匹配等。針對角色頻繁行為模式的特點,解決字符串匹配這個問題首先很容易想到BF算法,是指從子串首部與主串首部匹配,當子串的首部和主串的某個部位匹配成功后,兩個串剩下的字符繼續匹配;當兩者匹配失敗時,比較子串首部和主串的下一部位,重復上面的過程直到循環結束,BF算法的復雜度是O(n2),該算法簡單低效,處理大量數據時間會爆炸式增長[9]。

針對BF算法時間復雜度還有更好的辦法可以提高效率,這就是KMP算法,本節提出一種基于KMP算法的精確匹配算法。為了方便下文對模式匹配算法的描述,做以下符號定義:主模式串記為S,長度記為n,待匹配的子串記為P,長度記為m,串中的字符記為Si和Pj(1≤i≤n,1≤j≤m)。KMP算法的主要思想是利用已經得到的兩個字符串的部分匹配結果將模式串右滑盡可能遠的距離再繼續進行比較[10],具體來說就是判斷主模式串中的Si和子串Pj是否匹配,當兩者匹配時主串中的指針i和字串中的指針j分別向后移動一位,繼續判斷是否匹配,當Si和Pj匹配失敗時,指針i保持不動,指針j回到一個合適的位置而不是像暴力算法中回到字符串首位,這樣大大提高了匹配效率,縮短了匹配時間,所以為了計算得到這個合適的位置,引入一個臨時數組next[]。next[]數組的定義和計算過程請參見文獻[11]。下面給出算法流程描述[12]:

輸入:主模式串S=S1S2…Sn,待匹配的子串P=P1P2…Pm,其中串中的字符記為Si和Pj(1≤i≤n,1≤j≤m);

(1)初始化數組next[];

(2)循環查找子串P是否在主模式串S中:

1)首先比較P[i]==S[j],如果相等,繼續比較字符串下一個字符;

配電網直接與用戶連接,電力系統對用戶供電的能力和質量必須通過配電網得到實現和保障,因此提高配電網的供電可靠性一直是電力發展中的一個重要問題。配電自動化(Distribution Automation,DA)是提高配電網可靠性的一種重要技術手段,在正常運行情況下,通過監視配電網的運行工況,優化配電網的運行方式;當配電網發生故障或運行異常時,可以迅速查找和處理故障區段及異常情況,快速隔離故障區段,及時恢復非故障區域用戶的供電,縮短停電時間,減少停電面積,提高配電網的可靠性[1-2]。

2)令j=next[j],如果j==-1; 說明匹配失敗,i++,j++,繼續下一趟比較;

(3)直到找到子串P在主串S中的位置或者主模式串S已經比較結束;

輸出:當子串與主串正確配對成功時,將主模式串S中第一個配對字符的位置輸出,否則輸出-1。

4 實驗結果及分析

針對本文提出的兩個算法,為了驗證此算法的可行性,在PC機上的Anaconda實驗環境中實現代碼,實驗數據來自于某民航直屬單位辦公系統中3個月的系統操作日志。

4.1 數據預處理

在挖掘角色正常行為模式之前,獲取的操作命令按照審計記錄的格式(表1)進行保存,需要對角色操作日志進行預處理,數據預處理方法包括將操作時間轉換為時間戳片斷,其中分為上午(am)、下午(pm)、晚上(nt);刪除編輯狀態下用戶輸入的指令,刪去無意義指令;指令參數僅保留文件的后綴名,對于操作指令中涉及到的敏感信息和文件進行隱藏處理。在本文研究內部威脅的問題中,由于涉及到系統業務和行業安全,且當前不存在角色異常行為引發的內部威脅,所以在測試數據集中采取手工注入異常的方法,然后利用上文提出的方法對注入的行為異常情況進行檢測,并分析評估該方法的異常檢測效果。

4.2 對比實驗分析

對于數據量龐大冗雜的用戶操作日志,從中選取了幾種不同的角色類型進行分類,運用本文提出的改進后的PrefixSpan算法進行角色正常行為模式挖掘,并采取不同的最小支持度,最終得到角色的正常行為模式。為了評估改進后算法的優缺點,使用改進后的PrefixSpan算法和傳統PrefixSpan算法對數據集進行模式挖掘,分別從算法運行時間和算法挖掘效率兩個方面進行算法對比分析。

如圖2所示,在前提條件中給定最小支持度為2%的相同情況下,隨著數據量的增加,兩算法的處理時間都會增加,但是改進后的PrefixSpan算法在挖掘過程中所用時間明顯少于PrefixSpan算法,效率更高。其主要原因在于改進后的PrefixSpan算法綜合考慮到了非頻繁項和多余的投影數據庫,在挖掘過程中直接刪除非頻繁項以避免后續對其繼續挖掘,同時放棄對支持度小于閾值的投影數據庫的掃描, 結果節省了挖掘時間和存儲投影數據庫的空間。此外,通過檢查頻繁項前綴的前綴把同一數據項的后綴合并,避免對投影數據庫中同一數據項后綴重復投影,這樣能夠有效地減少投影數據庫構建的次數,節省不必要的挖掘時間。

圖2 兩種算法運行時間比較分析

如圖3所示,在前提條件中給定挖掘數據量相同的情況下,隨著最小支持度的增加,兩算法的處理時間都會降低。一方面兩算法處理時間均降低是因為最小支持度越大,挖掘到的頻繁行為模式包含數據項越少,需要構建的投影數據庫規模越小,算法處理時間就越短,所以導致兩算法處理時間隨著最小支持度的不斷提高都會降低。另一方面,當支持度逐漸增加時,改進后的算法處理時間優于傳統算法,主要原因是傳統算法構建了大量重復的投影數據庫,在挖掘非頻繁項和重復掃描的過程中浪費大量時間。而圖3中當支持度為3%時傳統算法處理時間優于改進后的算法,分析其原因是因為改進后的算法為了避免對投影數據庫中同一數據項進行重復投影而對相同數據項進行合并,這樣減少了構建投影數據庫所占內存空間,同時在檢查序列數據庫S中所有數據項的前綴所耗費的時間多于傳統算法對數據項的挖掘時間。

圖3 兩種算法運行時間比較分析

由以上數據以及原因分析可以得出本文提出的算法無論是在數據量或是最小支持度變化的情況下處理時間要優于傳統算法,從而提高數據挖掘效率。而當處理時間沒有優勢時節省了算法處理所需的內存空間,用投影數據庫空間開銷換取算法處理時間,也提高了算法挖掘效率,達到了改進的目的。

4.3 實驗結果及檢測

結合審計日志數據和業務系統的特點,在此將角色異常行為分成兩類。第一類是非授權異常,在系統中每個角色都有屬于自己的行為權限,非授權異常指的是角色試圖超出個人行為權限去執行其它操作,這會對系統造成嚴重的破壞,例如系統管理員對系統數據庫非法操作,拷貝數據庫信息或是訪問敏感文件。第二類是授權異常,指的是角色在執行行為時沒有遵循既定行為習慣和行為頻率,此情況出現時極有可能是有人盜取角色登錄信息非法登錄,例如系統管理員在休息日凌晨頻繁登錄業務系統。

針對以上可能存在的角色行為異常信息,現在對歷史正常數據注入異常數據,其中AOB(abnormal operation behavior)表示操作行為異常,AOF(abnormal operating frequency)表示操作頻率異常,AOT(abnormal operation time)表示操作時間異常,原始數據和注入的異常數據的具體情況見表6。

表6 異常行為注入數據集

將人工注入的異常數據分別添加到4組歷史正常數據中,分別對4組案例中不同的角色使用本文提出改進PrefixSpan算法進行角色正常行為模式挖掘,在挖掘到頻繁項后引入標簽索引,使用KMP算法進行異常檢測,利用標簽索引的不同檢測出非頻繁項,得到角色行為異常情況,實驗結果見表7。

表7 實驗結果檢測情況

為了進一步分析異常檢測結果,采用F1評價指標進行評價(也稱為F-measure)。其中P表示為準確率,R表示為召回率,F1表示為準確率和召回率的調和平均數,并根據挖掘結果和異常檢測數據分別進行計算R、P、F1的數值。由圖4可以看出在案例1中漏檢測了一項AOT,導致計算得到召回率為85.7%,案例3多檢測出兩項AOF,導致計算得到準確率為90.9%,案例2、4檢測效果良好。最后4個案例中召回率和準確率的計算得到F1分數維持在90%,說明在實際情況數據量更多的情況下本文提出的算法仍可以保持高水平的挖掘效率,達到本文改進傳統算法的目的。

圖4 挖掘結果比較分析

5 結束語

針對信息系統可能存在的內部威脅,本文研究了一種基于序列模式挖掘的內部威脅檢測方法,此方法包括兩部分,一方面改進PrefixSpan算法,通過角色歷史正常審計日志為數據源,挖掘角色正常行為,并且通過與傳統的PrefixSpan算法進行比較,表明該算法在挖掘時間和挖掘效率上有很大改進。另一方面利用KMP算法對挖掘到的角色正常行為與當前角色行為進行模式匹配,從而達到檢測異常行為的目的。實驗結果表明,本文提出的方法可以高效挖掘角色正常行為模式,并且在檢測角色異常行為方面保持較高的準確率。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲精品中文字幕无乱码| 2021精品国产自在现线看| 国产丝袜91| 欧美日韩中文字幕在线| 国产另类视频| 亚洲天堂视频网站| 久久无码av一区二区三区| 亚洲最黄视频| 国产主播在线一区| 国产人在线成免费视频| 中文字幕亚洲专区第19页| 草草线在成年免费视频2| 日本一区二区不卡视频| 亚洲一区二区日韩欧美gif| 欧美曰批视频免费播放免费| 女人一级毛片| 亚洲AV色香蕉一区二区| 亚洲日本www| 欧美不卡视频在线| 中文字幕乱码二三区免费| 香蕉eeww99国产精选播放| 免费国产在线精品一区 | 久久青草精品一区二区三区| 国产原创演绎剧情有字幕的| 波多野结衣无码AV在线| 国产女人爽到高潮的免费视频| 欧美特级AAAAAA视频免费观看| 日日拍夜夜操| 99资源在线| 精品视频在线一区| 久久人体视频| 国产永久在线观看| 精品国产成人a在线观看| 在线免费无码视频| 久久精品国产国语对白| 亚洲黄色片免费看| 一本一道波多野结衣av黑人在线| 青草视频网站在线观看| 国产导航在线| 青青青国产免费线在| 欧美第一页在线| 区国产精品搜索视频| 高清无码不卡视频| 97国产成人无码精品久久久| 无码日韩精品91超碰| 久久这里只精品国产99热8| 91视频青青草| 亚洲不卡av中文在线| 九九热视频精品在线| 国产96在线 | 亚洲福利视频一区二区| 草草影院国产第一页| 欧美性天天| 国产成a人片在线播放| 亚洲色无码专线精品观看| 精品视频一区二区三区在线播| 狠狠色成人综合首页| 国产v精品成人免费视频71pao| 999精品免费视频| 免费观看无遮挡www的小视频| 国产精品一区在线麻豆| 日本不卡在线| 国产中文一区二区苍井空| 四虎免费视频网站| 日韩毛片免费| 亚洲国产日韩视频观看| 夜夜爽免费视频| 麻豆AV网站免费进入| 老司机精品一区在线视频| a色毛片免费视频| 蜜臀AV在线播放| 免费国产小视频在线观看| 久久久久青草大香线综合精品| 亚洲无码久久久久| 日本精品视频一区二区| 国产精品区视频中文字幕 | 久久不卡精品| 97影院午夜在线观看视频| 久久99久久无码毛片一区二区| 国产精品久久自在自线观看| 国产成人综合日韩精品无码首页| 在线无码九区|