湯雨歡,施 勇,薛 質
(上海交通大學 電子信息與電氣工程學院,上海 200240)
信息安全領域的大部分研究集中在對受保護系統的入侵檢測[1]。在參與CERT(計算機應急響應小組)調查的組織中,46%表示由內部攻擊造成的損害比外部攻擊更為嚴重[2]。內部攻擊者可以分為偽裝者和叛徒兩類。試圖訪問受限信息的每個合法用戶都屬于叛徒,他們非常了解內部組織架構,故傾向于像合法用戶一樣行事。對叛徒部署如蜜罐或誘餌文件之類的陷阱,是最常見的檢測方法[3]。而偽裝者是未經授權的外部用戶。他們以某種方式模擬授權用戶執行惡意活動,但偽裝者很有可能不完全了解該系統[4]。已有許多方法被提出用于偽裝檢測,他們大多使用[5]介紹的Schonlau數據集,而該數據集由用戶鍵入命令行的歷史記錄組成。Schonlau等人將6種不同的統計方法(uniqueness、Bayes one-step Markov、hybrid multistep Markov、compression和sequence-match等)應用到這個公開數據集,目的是檢測偽裝用戶。但是,結果顯示檢測率很低(介于34.2%和69.3%之間),假陽性率在1.4%和6.7%之間。接著,Maxion[6]等人使用樸素貝葉斯模型來檢測偽裝。該模型的基本假設是命令的獨立性。雖然這個假設在偽裝情況下是不現實的,但樸素貝葉斯技術仍然比先前提到的6種技術提供了更好的結果。Coull等人[7]受生物信息學中匹配算法的啟發,提出了一種半全局比對技術。Kim和Cha[8]將“共同命令”和“投票引擎”概念應用到支持向量機算法。Seo[9]等人研究了不同的SVM內核組合,并證明了N-gram和String內核配置優于通用的RBF內核。
以上這些方法中的基本假設是偽裝者的行為可能會偏離正常用戶的典型行為。任何給定技術的表現都是以誤報率(False Positive Rate)和命中率(Hit Rate)來衡量的。同一個算法,伴隨命中率的增加,誤報率通常也會增加。一項成功的技術將具有較高的檢測率(命中率)和較低的誤報率。
本文提出了一種集成機器學習和自然語言處理的方法。使用自然語言處理中的N-Gram方法,選擇合理N值對命令序列進行分段,結合TF-IDF加權技術用于特征提取,然后分別使用隨機森林(Random Forest)分類器和多層感知器(MLP)對每個用戶根據其正常命令序列特征構建模型檢測偽裝者。本文在Schonlau數據集上進行實驗,并將獲得的結果與現有研究方法的結果進行比較。使用以誤報率(False Positive Rate)為橫軸、命中率(Hit Rate)為縱軸組成的ROC曲線分析實驗結果。
圖1是UNIX系統中偽裝檢測系統的完整體系結構圖。

圖1 偽裝檢測系統架構
此方案中,系統架構與審計數據庫中的源數據無關。審計數據可以是關于計算機系統的各種記錄,如文件訪問記錄、郵件收發記錄、資源使用情況、系統登錄記錄、網絡數據包、命令跟蹤和界面交互式事件等。
本研究專注于基于主機的IDS,通過分析用戶在UNIX環境中鍵入的命令行數據來執行偽裝檢測。可以使用UNIX的acct審計機制收集用戶的Shell命令。為了有效比較新方法的檢測精度與以前方法的檢測精度,本實驗基于SEA[4]公共命令數據集。
由于工作內容、輸入習慣以及對計算機系統的熟悉程度不同,每個用戶在發布命令時都表現出特定的特征,而用戶之間的這些差異使偽裝檢測成為可能。本文對每個用戶提取其歷史正常命令序列的特征,由此構建模型后,將待檢測的命令序列與當前用戶模型進行比較,區分入侵者。因此,建立特征是學習算法的第一步,然后從每個用戶的命令序列中提取N-Gram頻率特征。
特征信息的提取是偽裝入侵檢測中最重要的部分。在基于UNIX命令的偽裝入侵檢測中,單個命令是能夠反映用戶活動并具有一定含義的最小單元。然而,單一命令在表達用戶特征方面非常有限。本文使用SEA數據集的固有配置,即連續的100個命令作為一個命令塊,以便與其他先前的實驗進行公平比較。詞袋模型(Bag of Words)忽略了命令順序,只是單純統計命令塊中同一命令出現的次數。
為了減少偽裝檢測系統中的誤報數量,提取序列信息特征,同時考慮命令順序和出現頻率,用于訓練準確的用戶行為模型。命令序列可以是多個N-Gram序列的組合。N-Gram作為簡單文本表示技術,將字符串轉換為固定長度的高維特征向量,其中每個特征對應于連續的子字符串,可以評估2個長度相同或不同的字符串間的差異程度。它的關鍵優勢在于,短語本身可以攜帶比單個元素更多的信息。因此,使用N-Gram作為特征的用戶行為的表達能力大于單個詞的表達能力。廣義的N-Gram是指長字符序列中的N個字符片段,本文中即指N個連續的命令。這里只關心相鄰命令之間的關系,特別是在命令序列中出現多次的N-Gram片段之間的關系,顯示出用戶輸入命令的偏好,如圖2所示。一般,包含K個命令的命令序列包含K-N+1個N-Gram序列。

圖2 N-Gram對命令序列的分割
建立N-Gram特征的過程較為簡單,只需要對每個用戶的審計數據分別進行掃描,將具有大于K的頻率的N-Grams提取為用戶特征。考慮到頻率低的N-gram特征更具有特異性,頻率高的N-Gram特征通用性高,應將N值限制在一定的合理范圍內,以提供更好的用戶區分性和出現在待檢測序列中的更大可能性。
在待檢測序列被分成一系列N-Gram序列組合后,必須為當前用戶計算每個N-Gram序列的權重,以評估整個序列。
根據Unix環境下的命令輸入特性和異常檢測目的,權重計算應符合以下條件。首先,應該賦予用戶頻繁出現的命令序列更大的權重,因為這些命令代表了用戶經常參與的某些特定行為。其次,為單個用戶頻繁出現但其他用戶很少使用的命令序列賦予更大的權重,因為這些命令對區分用戶非常有用。最后,每個用戶頻繁出現的基本操作命令應該受到權重限制,因為這些命令通常會干擾檢測。
基于上述考慮,引入TF-IDF[10]模型計算每個命令序列特征的權重。TF-IDF作為一種數字統計量,旨在反映某個單詞對集合或語料庫中的文檔的重要性。
TF-IDF的值隨文檔出現在文檔中的次數成比例增加,并且被文檔中單詞的頻率所抵消,這有助于調整一些頻繁出現的單詞。
TF-IDF的計算公式如下:

詞頻tf(t,d )是指給定N-Gram序列在檢測當前用戶時出現的次數,平滑后的逆文檔頻率idf(t)按式(2)計算:

其中,nd是用戶總數,df(t,d )是包含N-Gram序列t的用戶數量。逆文檔頻率idf(t)表示如果用戶使用該序列的頻率越低,則該序列的idf(t)越大,表明該序列具有更大的區分用戶的能力。
由于具備良好的分類能力、可擴展性強、易解釋性等特點,隨機森林方法[11]是最流行的集成方法之一。直觀上,隨機森林可視為多棵決策樹的集成,弱分類器決策樹通過集成得到魯棒性更強的分類器,具備更好的泛化誤差,不容易產生過擬合現象。
多層感知器是一個典型的前饋人工神經網絡[12],前饋是指每一層的輸出都直接作為下一層的輸入。除輸入節點外,每個節點都是使用非線性激勵函數的神經元。圖3解釋了3層MLP的概念,即輸入層、隱藏層和輸出層。多個隱藏層和非線性激勵函數的使用將多層感知器與線性感知器區別開來,具備了分類不線性可分數據的能力。

圖3 包含一個隱藏層的多層感知器
Schonlau等人[5]提出了偽裝者內部攻擊的形式,收集并構造了一套檢測偽裝入侵的數據集。該數據集憑借公開性和廣泛使用性,已成為偽裝入侵檢測領域事實上的標準。他們共收集了70個用戶的UNIX命令歷史記錄,從中隨機選擇50個組成數據集的用戶,其他20名用戶則被用作偽裝者。50個用戶中的每個用戶的前5 000個命令都保持不變,這些沒有任何異常的“干凈塊”被用作訓練數據,之后的10 000個命令構成針對入侵進行測試的測試數據;其余20個用戶的命令被隨機插入到50個用戶的測試數據中,由此將50個用戶的命令替換為未在數據集中表示的20個用戶的命令。
數據集以塊為單位進行分組,一個數據塊即由100個命令組成。目標是準確地檢測“臟塊”并將它們分類為偽裝塊。按照慣例,基于這些配置的實驗被稱為Schonlau et al(SEA)實驗。
Maxion和Townsend[6]使用Schonlau數據集中相同的數據進行了另一項實驗。他們分析了不同配置下的數據,稱為1 vs 49配置。其中,前5 000個命令用于構建模型,并且使用其余49個用戶輸入的前5 000個命令作為測試數據。
本文實驗基于SEA配置方法,為每個用戶建立偽裝入侵檢測模型。每個用戶的訓練數據由作為正例的50個自身命令塊和作為負例的50×49個來自其他用戶的命令塊構成,測試數據為100個命令塊,其中包含0到24個偽裝塊。
將實驗結果與同樣使用Schonlau數據集的其他文獻方法進行公平對比。
2.2.1 基于ROC曲線的性能對比
受試者工作特征曲線(Receiver Operating Characteristic,ROC)[13]是反映檢測命中率和誤報率連續變量的綜合指標。根據不同閾值下的檢測命中率(Hit Rate)和誤報率(False Alarm Rate)繪制接收機工作特性曲線,通常用于評估不同方法偽裝入侵檢測的整體性能。

寬松的決策閾值可以獲得更高的檢測命中率,但帶來了更高的誤報率。曲線上的每個點都表示命中率和誤報率之間的特定折衷。靠近圖左上角的點是最合適的,因為它們表示高命中率和相應低的誤報率。對于SEA數據配置而言,每個用戶包含0~24個偽裝數據塊,50個用戶共存在231個可能錯過的警報。
圖4展示了本文提出的基于命令序列的隨機森林(Random Forest)和多層感知器(MLP)算法與先前各種方法的疊加結果。曲線本身顯示的是隨著決策閾值在其范圍內逐步提升應用于2種算法的結果。
分析圖4中2種分類器的ROC曲線,命中率在0~0.5時,隨機森林算法的誤報率略低于多層感知器;而命中率在0.5~1時,多層感知器的誤報率明顯低于隨機森林算法,且多層感知器ROC曲線下方的面積AUC(Area Under the Curve)大于隨機森林。AUC用于描述模型的整體性能,在類別比例相差很大的情況下,依然是很好的度量手段。它可以作為判斷這2種分類預測模型優劣的標準,說明多層感知器分類器的整體表現優于隨機森林分類器。
從與現有方法的疊加可以看出,除了使用更新算法的樸素貝葉斯分類器和使用Adaboost-決策樹樁的效果優于本文算法,其他方法的檢測性能均劣于本文算法。
而使用更新算法的樸素貝葉斯使用的測試方案與本文并不相同,因為更新過程是一個額外的部分,在復雜性和處理時間增加的情況下,需要比平常更多的訓練數據。在與不使用更新算法的樸素貝葉斯分類器比較時,本文的2種算法效果都明顯更優。
2.2.2 基于代價函數的性能對比
盡管偽裝入侵檢測器的性能可以根據其最大化命中率的能力和限制誤報率的能力來判斷,但是ROC曲線作為傳統方法,這有時會過于簡單并缺乏針對性。因為在實際應用中通常對誤報率或漏報率(Missing Alarm Rate)有不同的傾向,而人們關心的是漏報率和誤報率之間的權衡。因此,可以使用Maxion和Townsend[6]提出代價函數的概念評估每種檢測方法的總體性能。代價函數表示漏報率和誤報率的總和,定義如下:
代價=α*漏報率+β*誤報率 (5)
參數α和β用于決定衡量成本時漏報率和誤報率兩者的比重。在大多數真實的入侵檢測應用中,漏報被視為比誤報更嚴重的錯誤。入侵可能會對系統造成嚴重影響,然而許多誤報可以額外進行分析。在這個數據集中,偽裝樣本遠遠少于正常樣本,誤報對分類模型的總體準確性影響要比漏報更大。因此,將誤報的成本設置為漏報的6倍,即使用如下代價函數:

表1列出了對不同檢測方法根據代價函數值計算的由小到大的排列結果,誤報成本是漏報的6倍。由于使用更新算法的測試方案與本文及其他方法的的測試方案并不相同,我們排除了圖3中參與比較的采用更新算法的樸素貝葉斯,將不使用更新算法的各類方法進行比較。由表1可知,本文提出的2種方法分別位列第1、第2位,在現有方法中獲得了最低的入侵代價。

表1 不同文獻方法關于代價函數的比較
2.2.3 參數N的取值對準確性的影響
為了評估N-Gram中參數N的取值對檢測精度的影響,圖5顯示了改變N值時ROC曲線的變化。
此處,圖5中1-gram意味著特征中只存在1-gram特征,而2-gram意味著特征中只存在2-gram特征,1,2-gram表示同時考慮了1-gram特征和2-gram特征。圖5表明,單純使用1-gram特征的效果優于單純使用2-gram特征,說明1-gram特征出現在待檢測命令序列中的可能性較高。事實上,不少已有檢測方法中使用的詞袋法(Bag of Words)就是單純使用1-gram特征,亦能取得較好效果。圖5還表明,聯合使用1-gram和2-gram特征的效果均優于單獨使用,能更具體和詳細地表達用戶特征。因此,在一定范圍內將不同長度的N-Gram特征聯合使用,對于提高偽裝檢測的準確性非常有用。然而,若繼續增加N值,即將更多不同長度的N-Gram特征聯合使用,檢測精度不會再顯著增加。由于3-gram特征出現在要檢測的命令序列中的可能性較低,再提取更多特征需要更多的附加計算時間,卻對檢測性能幾乎沒有改善,所以僅靠提高N的值來提高檢測精度的效果是有限的。本研究中,另N值為3,即聯合使用1-gram、2-gram和3-gram特征。

圖5 參數N對隨機森林算法的影響
2.2.4 TF-IDF加權技術對準確性的影響
圖6利用ROC曲線反映出多層感知器算法在使用TF-IDF和不使用TF-IDF情況下檢測精度的巨大差異。分別以相同的命中率(71.35%)截取2條曲線上的點,使用TF-IDF的多層感知器算法以(3.0%)的低誤報率展示出優異性能,而未使用TF-IDF的多層感知器算法則達到了(8.1%)的高誤報率。

圖6 TF-IDF加權技術對多層感知器算法的影響
本文提出的2種偽裝入侵檢測模型在訓練數據量較小的情況下,仍能在檢測命中率和誤報率之間獲得良好的折衷,體現出準確性高的特點。此外,在經過短時間學習后,它們能快速建立模型,發現入侵行為,體現出檢測效率高的特點。依據代價函數的評估標準,本文2種方法的代價均遠小于其他方法,多層感知器比隨機森林的代價更小。
參考文獻:
[1] 王永全.入侵檢測系統(IDS)的研究現狀和展望[J].通信技術 ,2008,41(11):139-143.
[2] WANG Yong-quan.Research Status and Prospects of IDS[J].Communications Technology,2008,41(11):139-143.
[3] Salem M B,Stolfo S J.Decoy Document Deployment for Effective Masquerade Attack Detection[C].Detection of Intrusions and Malware, and Vulnerability Assessment,International Conference,2011:35-54.
[4] Salem M B,Hershkop S,Stolfo S J.A Survey of Insider Attack Detection Research[J].In Advances in Information Security,2008(39):69-90.
[5] Schonlau M,Dumouchel W,Ju W H,et al.Computer Intrusion:Detecting Masquerades[J].Statistical Science,2001,16(01):58-74.
[6] Maxion R A,Townsend T N.Masquerade Detection Using Truncated Command Lines[C].International Conference on Dependable Systems and Networks,IEEE Computer Society,2002:219-228.
[7] Coull S,Branch J,Szymanski B,et al.Intrusion Detection:A Bioinformatics Approach[C].Computer Security Applications Conference,2003:24-33.
[8] Kim H S,Cha S D.Empirical Evaluation of SVM-based Masquerade Detection Using UNIX Commands[J].Computers & Security,2005,24(02):160-168.
[9] Seo J,Cha S.Masquerade Detection Based on SVM and Sequence-based User Commands Profile[C].ACM Symposium on Information,Computer and Communications Security ACM,2007:398-400.
[10] Jones K S.A Statistical Interpretation of Term Specificity and Its Application in Retrieval[J].Journal of Documentat ion,1972,28(01):493-502.
[11] Breiman L.Random Forests[J].Machine Learning,2001,45(01):5-32.
[12] White B W.Principles of Neurodynamics:Perceptrons and the Theory of Brain Mechanisms,by Frank Rosenblatt[M].Spartan Books,1962.
[13] Fawcett T.An Introduction to ROC Analysis[J].Pattern Recognition Letters,2006,27(08):861-874.
[14] Sen S.Using Instance-weighted Naive Bayes for Adapting Concept Drift in Masquerade Detection[J].International Journal of Information Security,2014,13(06):583-590.
[15] Huang L,Stamp M.Masquerade Detection Using Profile Hidden Markov Models[J].Computers &Security,2011,30(08):732-747.
[16] Ke W,Stolfo S J.One-Class Training for Masquerade Detection[C].IEEE Conference Data Mining Workshop on Data Mining for Computer Security,2003.
[17] Ju W H,Vardi Y.A Hybrid High-Order Markov Chain Model for Computer Intrusion Detection[J].Journal of Computational & Graphical Statistics,2001,10(02):277-295.
[18] Coull S,Branch J,Szymanski B,et al.Intrusion Detection:A Bioinformatics Approach[C].Computer Security Applications Conference,2003:24-33.
[19] Dumouchel W.Computer Intrusion Detection Based on Bayes Factors for Comparing Command Transition Probabilities[R].Washington DC:National Institute of Statistical Sciences,1999
[20] Jian Z,Shirai H,Takahashi I,et al.Masquerade Detection by Boosting Decision Stumps Using UNIX Commands[J].Computers & Security,2007,26(04):311-318.
[21] Davison B D,Hirsh H.Predicting Sequences of User Actions[J].Predicting the Future Ai Appreaches to Timeseries Analysis,1998:5-12.
[22] Kim H S,Cha S D.Empirical Evaluation of SVM-based Masquerade Detection Using UNIX Commands[J].Computers & Security,2005,24(02):160-168.
[23] Dash S K,Reddy K S,Pujari A K.Episode Based Masquerade Detection[C].International Conference on Information Systems Security,2005:251-262.
[24] Salem M B,Stolfo S J.Modeling User Search Behavior for Masquerade Detection[C].Recent Advances in Intrusion Detection,International Symposium,2010:181-200.