《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于隱馬爾科夫模型的用戶行為異常檢測方法
基于隱馬爾科夫模型的用戶行為異常檢測方法
來源:電子技術應用2011年第7期
賴英旭, 劉 靜, 王一沛
(北京工業大學 計算機學院,北京 100124)
摘要: 提出了一種基于HMM的用戶行為異常檢測的新方法,用shell 命令序列作為審計數據,但在數據預處理、用戶行為輪廓的表示方面與現有方法不同。仿真實驗結果表明,本方法的檢測效率和實時性相對較高,在檢測準確率方面也有較大優勢。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2011)07-156-03
Method for anomaly detection of user behaviors based on hidden Markov models
Lai Yingxu, Liu Jing, Wang Yipei
College of Computer,Beijing University of Technology, Beijing 100124, China
Abstract: A method of user behavior anomaly detection was presented. The method constructs specific hidden Markov model (HMM) with shell commands as audit data. The method is different with other references on data preprocessing and representing the behavior profiles of users. The results of computer simulation show the method presented can achieve high detection accuracy and practicability.
Key words : intrusion detection; anomaly detection; behavior pattern; HMM


    由于當前計算機網絡的飛速發展,入侵檢測技術得到了研究者的廣泛重視,Forrest[1]等人在1996年首次提出以進程正常運行時產生的一定長度的系統調用短序列作為模型來表現進程正常運行時的狀態。Lee[2]等人則用RIPPER從系統調用序列中挖掘正常和異常模式,以規則的形式來描述系統的運行狀態,建立了一個更簡潔有效的系統正常模型。美國新墨西哥大學的Warrender[3]以系統調用為審計數據,進行了基于隱馬爾可夫模型HMM(Hidden Markov Model)的程序行為異常檢測研究。美國普渡大學的Lane [4]及其團隊則利用了Unix用戶的shell命令作為審計數據,進行了基于HMM的用戶行為異常檢測研究和實驗。西安交通大學的周星[5]提出一種利用進程堆棧中的函數返回地址鏈信息來提取不定長模式的方法,并基于系統調用序列及其對應的不定長模式序列構建了一個兩層的HMM來檢測異常行為,取得了更低的誤報率和漏報率。
    在以上檢測方法的基礎上,本文提出一種新的基于HMM的用戶行為異常檢測方法,與參考文獻[6]中提出的基于HMM的檢測方法相比,檢測效率和實時性相對較高,在檢測準確率方面也有較大優勢。

    本文用一種不同的方法來建立和訓練HMM模型,降低不必要的系統占用,并得到一個較好的正常行為模式與異常行為模式的區分效果。
2 基于HMM的用戶行為異常檢測方法
2.1 數據預處理

    本文所采用的原始數據來自普渡大學的Lane團隊,他們花費了很長時間去跟蹤了9個Unix用戶在2年內的活動記錄,以保證這些記錄的真實性。
    參考文獻[4]對這些數據記錄進行了預處理,將每次的命令運用相同的起始、終止符隔開,將各命令中所出現的地址均用統一標識方法代替,所涉及的文件也用相同的標識方法代替,這樣的預處理使得原始數據更加整齊且易于分析。在此基礎上,本文又作了進一步處理,對于命令行中所有出現的參數進行處理,即將命令中的附加參數與命令本身結合設定為命令序列中的一條命令,而對于地址、網絡等記錄則直接從命令序列流中刪除。表1中左欄的數據流經過本文二次處理后,該命令流序列如右欄所示,左欄中的14條記錄經過處理后,減少為右欄中的8條記錄,減少了近50%。

    采用本文方法進行數據預處理的依據是:(1)在實際訓練及檢測中,地址等參數并沒有實際意義。無論是按照shell命令序列長度,還是按照各命令本身出現頻率作為劃分狀態標準,都并不需要此類命令內容;(2)當利用大數量的shell命令序列進行建模和檢測時,進行這樣的二次處理可以降低對系統存儲空間的需求。

 


2.2 HMM建模
    本文所建立的HMM模型的目的是為了描述一個正常用戶行為,用W代表合法用戶正常行為模式的總類數,而相對應的shell命令集合則如C=(L(1),L(2),…,L(W+1)),其中L(j)為包含若干個長度為l(j)的shell命令序列。W的值越大意味著對于命令集合分類得越精細,所需要的系統資源也就越多。本文針對兩種不同的shell命令集合分類方法進行了對比實驗,方法一是參考文獻[6]中使用的方法;方法二是本文提出的改進隱馬爾科夫方法。

    (2)設定W個序列出現頻率門限,記為η1,η2,η3,…,ηw,該門限的作用是判定每個Seqmj是否可以成為正常用戶行為觀測值,低于門限值的即舍去。
  在C中的L(W+1)用來記錄未知和異常模式記錄的值,對于L(W+1)下shell命令記錄的判定方法為:當l(W)=1時,附加狀態W+1對應的觀測值集合L(W+1)是由長度為1、且在Sw中出現頻率小于門限值?濁w的shell命令序列構成,而當l(W)≠1時,則L(W+1)由所有長度為1的shell命令序列構成。
2.2.2 改進HMM方法
    用戶對于日常操作都有一套自己的命令使用頻率,本文依據用戶與用戶之間的命令使用頻率差別作為行為分類依據。本文方法中的C表示方法與參考文獻[6]中一致,C=(L(1),L(2),…,L(W+1)),W的值增大,則出現頻率的分類更細化,也會增加系統存儲和處理量,但與參考文獻[6]的狀態分類方法相比要小很多。假設正常用戶的訓練數據為R=(R1,R2,…,Rn),此時的用戶正常行為觀測值集合建立起來就相對簡單,根據訓練數據R,生成W個出現頻率分別為l(1),l(2),…,l(W)的shell命令序列流,表示為S1,S2…,Sw,每個Si中包含了所有出現在頻率區域的shell命令記錄。同樣,劃分在附加狀態W+1下的shell命令序列,也就是未知和異常行為模式的值。
    上述兩個建模方法各有利弊,對于參考文獻[6]的方法,在利用命令序列長度建模時,其優點是思路清晰,不同的狀態之間不會發生重疊,適用性強。缺點是由于每個狀態中Si都將存儲超過門限值的所有shell命令序列,這將是一個很大的存儲量(尤其是當W達到一定值時。而本文方法的,優點是利用命令的出現頻率分類,由于命令種類(即便加上了參數)的局限性,所需要的存儲量將會少得多,運算起來更快,也更為容易理解。缺點則是對于每個狀態對應的頻率區域的劃分將更多地依賴歷史記錄和經驗。
2.3 HMM的訓練
    訓練過程也就是參數估計過程,這個過程在研究中是極其重要的,傳統的思路是利用Baum-Welch 算法實現,而實際上該算法并不是唯一的,也不是最好的算法。本文采用參考文獻[3]提出的改進算法來實現對該HMM模型的訓練。
2.4 HMM的檢測
    檢測階段的主要工作是對被監測用戶在被監測時間內執行的shell命令行進行處理,并利用在訓練中已產生的HMM模型,計算相應的判決值,進而對該用戶的行為類別進行判別。
    假設在所需的檢測時間內記錄該時間段內用戶的命令流,記為R=(R1,R2,…,Rn)。其中,Ri為第i個獨立的shell命令序列,n為shell命令記錄的總量,此時的命令序列R中的值是按照時間順序依次得到的。
    利用訓練中的參數匹配方法,對于命令序列R進行操作,得到狀態轉移序列q=(q1,q2,…,qx),其中,x為狀態轉移序列內狀態的總數,qi代表R中按時間排序的第i 個狀態。HMM檢測流程如下:
    (1)根據訓練數據R生成w個shell命令序列流S1,S2…,Sw,設定初始m:=1,j:=1,n:=0。
    (2)如果m≤r-l(1)+1,則將Seqmj與L(j)進行比較,
   
3 實驗設計與結果分析
    在本文的實驗中,利用其中4個用戶userl、user2、user3、user4的數據進行實驗,并設合法用戶為user2,將余下的user1、user3、user4視為非法或未知用戶。在該4個用戶的數據記錄中皆有超過15 000條命令行記錄。對于正常用戶,實驗中將利用其中的前5 000條命令進行正常行為模式的訓練,得到HMM觀測值集合并確定HMM參數,后5 000條命令作為正常行為的檢測。對于非法用戶,將分別用其中的5 000條命令進行異常檢測的測試。在HMM模型建立及訓練階段的參數設置為W=3,C={3,2,1}。在HMM模型建立過程中,從正常用戶user2的前5 000個shell命令中得到C(1),C(2),C(3)所對應的命令序列個數如表2所示。

    參考文獻[6]方法的異常檢測結果如圖1所示,上方曲線為合法用戶user2的正常行為測試數據對應的判決值曲線,下方的3條曲線為非法用戶的異常行為測試數據對應的判決值曲線(以下同)。

    改進的HMM方法得到的異常檢測測試結果如圖2所示。可以看出,相對于user2,三組非法用戶的值更加靠近于3,表明權值為2 和1 的命令序列所表示的合法用戶的正常行為模式在3個非法用戶行為序列中較少出現,從圖1、圖2 中可以看出,改進的HMM方法使得正常行為和異常行為測試數據對應的判決值曲線具有良好的可分性。

    參考文獻[6]方法用于建模的命令序列有1 140個,而改進的HMM方法只有136個,大大節約了系統存儲空間,所以,改進HMM的方法具有較好的檢測準確度,本文在運算成本和計算效率之間取得了權衡,在實驗中取得了一個很好的效果。
    本文提出一種基于隱馬爾可夫模型的用戶行為異常檢測新方法,并通過實驗對該方法的性能進行了測試。實驗表明,該方法具有很高的檢測準確率和較強的可操作性。但需要指出的是,該方法中的一些檢測思想雖然適用于以系統調用為審計數據的程序行為異常檢測,但具體的操作方式及檢測性能還有待分析和驗證。
參考文獻
[1] FORREST S, HOFMEYR S A, SOMAYAJIA. A sense of  self for UNIX processes[C]. Proceedings of IEEE Symposium on Security and Privacy, Los Alamos, California,1996.
[2] LEE W, STOLFO S J. Data mining approaches for intrusion detection[C].Proceedings of the 7th US ENIX Security Symposium, San Antonio, Texas, 1998.
[3] WARRENDER C, FORREST S, PEARLMUTTER B. Detecting intrusions using system calls: alternative data models[C]. Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, USA, 1999:133-145.
[4] LANE T. Machine learning techniques for the computer security domain of anomaly detection[D].Purdue University  2000.
[5] 周星, 彭勤科, 王靜波. 基于兩層隱馬爾可夫模型的入侵檢測方法[J].計算機應用研究, 2008,25(3):911-914.
[6] 鄔書躍,田新廣.基于隱馬爾科夫模型的用戶行為異常檢測新方法[J].通信學報,2007,28(4):38-43.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 337p日本欧洲亚洲大胆人人| 久久久久国产精品免费免费搜索 | 日本熟妇乱人伦XXXX| 亚洲精品成人a在线观看| 老子影院午夜理伦手机不卡| 国产精品99久久久久久宅男| jizz日本在线观看| 日本免费一区二区在线观看| 亚洲午夜精品一区二区 | 在线观看黄日本高清视频| 久久久久久久久久久久久久久| 欧美国产中文字幕| 做暧暧免费小视频| 老熟妇仑乱一区二区视頻| 国产欧美在线一区二区三区| 99爱免费观看视频在线| 成年女人a毛片免费视频| 亚洲av无码一区二区三区性色| 特大巨黑吊aw在线播放| 国产18禁黄网站免费观看| 国产成人精品亚洲2020| 国产综合色在线视频区| а√天堂资源8在线官网在线| 日日摸日日碰夜夜爽亚洲| 亚洲Av鲁丝一区二区三区| 欧美精品高清在线观看| 免费国产综合视频在线看| 老师让我她我爽了好久视频| 国产对白受不了了| 69xx免费观看视频| 大学生男男澡堂69gaysex| 一级片一级毛片| 无翼少无翼恶女漫画全彩app| 五月婷中文字幕| 欧美性xxxxx极品娇小| 亚洲精品电影在线| 福利视频第一页| 卡一卡二卡三精品| 草莓视频国产在线观看| 国产强伦姧在线观看| 亚洲综合五月天欧美|