馮國震
摘 要:針對基于模式匹配的異常行為檢測無法實(shí)現(xiàn)細(xì)粒度化檢測和精確定位異常行為的問題,提出一種基于模式匹配與機(jī)器學(xué)習(xí)的異常檢測模型。該模型通過模式匹配實(shí)現(xiàn)異常行為檢測,同時(shí)利用機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)越權(quán)檢測,分別從“用戶行為”和“功能點(diǎn)”兩個(gè)維度檢測,然后進(jìn)行協(xié)作:兩者相互驗(yàn)證,實(shí)現(xiàn)細(xì)粒度化檢測以及精確定位異常行為,加深了模型的檢測深度;兩者相互補(bǔ)充,拓寬了模型的檢測廣度。實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的檢測模型實(shí)現(xiàn)了細(xì)粒度化異常檢測,達(dá)到了提升異常檢測能力的目的。
關(guān)鍵詞:模式匹配;機(jī)器學(xué)習(xí);異常檢測;AC_BM算法;孤立點(diǎn);蟻群聚類算法
中圖分類號:TP181 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-2064(2018)07-0009-05
隨著互聯(lián)網(wǎng)的持續(xù)快速發(fā)展,網(wǎng)絡(luò)深入到人們生活的各個(gè)領(lǐng)域中,扮演著越來越重要,且不可取代的角色,這為各種針對互聯(lián)網(wǎng)的非法入侵提供了途徑和動力,隨之而來的網(wǎng)絡(luò)犯罪愈演愈烈,面臨的信息安全問題也日益嚴(yán)重。針對越來越嚴(yán)峻的安全形勢,相應(yīng)的安全防御技術(shù)被社會各界廣泛關(guān)注,擁有空前的支持力度和發(fā)展空間。入侵檢測技術(shù)自被提出開始就成為一個(gè)研究熱門,迄今為止,入侵檢測仍然被視為重要的安全防御機(jī)制,得到重點(diǎn)研究和運(yùn)用。異常檢測是入侵檢測的一個(gè)研究方向,它將與正常行為不同的“非正常”行為都劃歸為入侵行為?;谀J狡ヅ涞娜肭謾z測技術(shù)是利用模式匹配算法通過比對待測行為特征為與已知行為特征來實(shí)現(xiàn)入侵檢測的,其不足之處在于依賴數(shù)據(jù)挖掘過程中挖掘出的已知行為特征,對未知的行為直接定性為入侵行為,無法進(jìn)行更加細(xì)粒度地檢測,實(shí)現(xiàn)精確定位入侵行為,達(dá)到精細(xì)化入侵檢測。
針對基于模式匹配的入侵檢測無法實(shí)現(xiàn)精細(xì)化入侵檢測的問題,本文提出了一種以模式匹配與機(jī)器學(xué)習(xí)算法相結(jié)合的入侵檢測模型。該模型在數(shù)據(jù)挖掘的基礎(chǔ)上,對用戶進(jìn)行異常行為檢測的同時(shí),從另一維度以機(jī)器學(xué)習(xí)算法對該用戶的行為進(jìn)行越權(quán)檢測,兩種檢測方法結(jié)合,相互驗(yàn)證檢測結(jié)果,可以實(shí)現(xiàn)未知行為的細(xì)粒度化檢測,精確定位異常行為;同時(shí)還能相互補(bǔ)充,加強(qiáng)檢測廣度,最終達(dá)到提高異常檢測模型檢測性能的目的。
1 相關(guān)研究
1.1 入侵檢測技術(shù)與模式匹配
入侵檢測的概念是在1950年由James Anderson[1]最早提出來的,它作為一種傳統(tǒng)的安全防御技術(shù)被提出已經(jīng)有數(shù)十年,有很成熟的理論體系和豐碩的相關(guān)科研成果。入侵檢測能主動的檢測攻擊行為,防止攻擊行為造成大面積的破壞。入侵行為可以分為內(nèi)部合法用戶的越權(quán)使用、濫用和外部人員侵入3種類型。與傳統(tǒng)的安全防御機(jī)制相比,入侵檢測是指用于檢測任何危害或者試圖危害信息系統(tǒng)保密性(Confidentiality)、完整性(Integrity)和可用性(Accountability)的行為的一種網(wǎng)絡(luò)安全防御技術(shù)[1]。入侵檢測可分為異常檢測和誤用檢測兩大類,其中異常檢測是根據(jù)系統(tǒng)或用戶的非正常行為和使用計(jì)算機(jī)資源的非正常情況來檢測入侵行為。一個(gè)入侵檢測系統(tǒng)(Intrusion Detection System,IDS)的基本組成結(jié)構(gòu)如圖1[2]所示。
模式匹配是一種基于攻擊特征的入侵檢測技術(shù)[3]。它是對入侵行為的特征進(jìn)行匹配的過程,若待測行為的特征與入侵行為的特征模式匹配成功,則表示該待測行為是入侵行為。目前模式匹配技術(shù)已成為入侵檢測技術(shù)中具有代表性的技術(shù)之一,得到了充分的研究和發(fā)展。
AC_BM算法[4-6]是典型的多模式匹配算法之一,是由AC算法[4-6]和BM算法[4-6]結(jié)合產(chǎn)生的匹配算法。該算法首先以多個(gè)模式的共同前綴作為根節(jié)點(diǎn)生成一棵模式樹,然后將待檢測模式與模式樹的字符從模式樹的根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的方向逐個(gè)比較,待測模式能與模式樹種的某個(gè)分支匹配,則表示匹配成功。該算法將BM算法的跳躍思想與AC算法速度上的優(yōu)勢相結(jié)合,相對其他模式匹配算法具有較高的效率和良好的性能。
1.2 基于蟻群聚類的孤立點(diǎn)檢測算法
孤立點(diǎn)是指在數(shù)據(jù)集中與其他數(shù)據(jù)有不同性質(zhì)的對象。在入侵檢測中,孤立點(diǎn)因與其它數(shù)據(jù)類型不同,可能預(yù)示入侵行為。孤立點(diǎn)挖掘[6]是指探索和分析孤立點(diǎn)的數(shù)據(jù)挖掘過程。孤立點(diǎn)研究的意義主要在于:①它是數(shù)據(jù)分析結(jié)果的重要組成部分;②它一般是檢測、記錄錯誤,但可能代表某領(lǐng)域中有意義的知識;③孤立點(diǎn)的確認(rèn)過程中通常會發(fā)現(xiàn)新知識。
本文在使用蟻群聚類算法[8]作為孤立點(diǎn)檢測算法來實(shí)現(xiàn)橫向越權(quán)檢測。蟻群聚類算法的優(yōu)點(diǎn)在于實(shí)現(xiàn)了自組織聚類,即不需要像K-means等算法那樣預(yù)設(shè)聚類中心數(shù)目就能實(shí)現(xiàn)聚類[8]。
基于蟻群的聚類算法的主體思想是:首先把若干對象隨機(jī)散布在n×m的網(wǎng)格平面區(qū)域內(nèi),其中m和n是區(qū)域的長和寬,要求每個(gè)網(wǎng)格內(nèi)不能放置多個(gè)對象,m和n的大小可以隨對象的數(shù)目而進(jìn)行調(diào)整;然后把若干只螞蟻隨機(jī)散布在網(wǎng)格中,螞蟻的數(shù)目小于對象數(shù)目;每只螞蟻隨機(jī)選擇一個(gè)對象,在局部區(qū)域內(nèi),可以計(jì)算該對象與周圍對象的局部群體相似度,進(jìn)而得到一個(gè)概率,這個(gè)概率決定螞蟻“拾起”、“移動”或者“放下”對象的動作。經(jīng)過有限次“拾起”、“移動”或者“放下”迭代操作之后,網(wǎng)格區(qū)域內(nèi)隨機(jī)散布的對象就會因其相似度大而聚集以及因相似度小而分隔開來[8]。
2 檢測模型構(gòu)建
本文以某企業(yè)的DLP系統(tǒng)為研究對象進(jìn)行數(shù)據(jù)挖掘和建模分析得到,內(nèi)部系統(tǒng)用戶都有固定的角色扮演,即為了實(shí)現(xiàn)某一業(yè)務(wù)功能,用戶都有基本固定的行為模式,正常情況下不會去操作別人的業(yè)務(wù),所以若發(fā)生此類情況便判定為異常行為。另外,本文研究的越權(quán)是指同級別用戶之間的“橫向越權(quán)”,因?yàn)椴煌墑e之間的用戶因?yàn)榈燃壓蜋?quán)限不同,無法確切的界定開來。所以首先要依據(jù)已知的用戶級別將用戶劃分開,然后對同等級的用戶進(jìn)行基于孤立點(diǎn)的橫向越權(quán)檢測。
本文所研究的系統(tǒng)是一個(gè)多層的復(fù)雜系統(tǒng),每個(gè)模塊子系統(tǒng)下又有若干小的功能模塊,通過數(shù)據(jù)挖掘技術(shù)把系統(tǒng)中的核心功能模塊挖掘出來。主要的識別特征是功能頁面的URL地址,為便于后續(xù)研究稱呼,本文將“功能頁面”統(tǒng)一稱為“功能點(diǎn)”。這些挖掘出的功能點(diǎn)將作為本文檢測模型中用戶的最小操作單元。通過挖掘得出系統(tǒng)核心模塊,并進(jìn)行人工標(biāo)注后得到的系統(tǒng)架構(gòu)如圖2所示。
由用戶對功能點(diǎn)的時(shí)序操作提取出的用戶操作序列,并以序列挖掘算法挖掘出用戶操作的頻繁序列,再經(jīng)過驗(yàn)證得到用戶的正常行為序列,最終形成特征序列模式庫,作為模式匹配的“匹配標(biāo)準(zhǔn)”。由此,本文的提出的基于模式匹配與機(jī)器學(xué)習(xí)的異常檢測模型如圖3所示:
由圖3所示,本文檢測模型可分為兩個(gè)階段,數(shù)據(jù)挖掘階段挖掘系統(tǒng)功能點(diǎn)和用戶行為序列,分別作為橫向越權(quán)檢測模型和異常行為檢測模型的輸入。異常檢測階段的兩個(gè)子模型分別進(jìn)行檢測,然后相互驗(yàn)證并最終輸出模型的檢測結(jié)果。驗(yàn)證過程的主要思路是:模式匹配檢測出異常行為通過用戶ID與對應(yīng)的越權(quán)檢測結(jié)果進(jìn)行驗(yàn)證,進(jìn)一步細(xì)化檢測。若檢測出的異常行為有與之對應(yīng)的越權(quán)行為,即可精確定位異常行為,比如指出某用戶有異常行為,且其具體的異常操作是哪個(gè)功能點(diǎn),越權(quán)發(fā)生在何處,最后將結(jié)果合并整理輸出。這是兩個(gè)子模型的相互驗(yàn)證過程,達(dá)到加深模型檢測深度的目的。此外,輸出無對應(yīng)越權(quán)的異常行為和未檢測出異常的越權(quán)行為,比如某些異常行為并未發(fā)生在本文設(shè)計(jì)的越權(quán)檢測范圍內(nèi),反之亦然。這些異常屬于兩個(gè)模型的相互補(bǔ)充,達(dá)到拓寬模型檢測廣度的目的。
2.1 基于模式匹配的異常行為檢測模型
基于模式匹配的異常行為檢測模型的檢測流程為:首先將挖掘出的用戶行為序列作為異常檢測的特征模式,然后把提取的用戶待測行為序列與已知特征模式進(jìn)行模式匹配,若匹配成功,則待測行為是正常行為;若無法匹配,則將待測行為劃分為異常行為。異常行為檢測模型如下圖4所示。
輸入:待測行為序列,其輸入格式與特征序列模式庫中的序列一致,通過數(shù)據(jù)挖掘提取而來。
檢測過程:首先利用特征模式庫中的行為序列構(gòu)建特征模式樹,然后將特征模式樹作為標(biāo)準(zhǔn),利用AC_BM模式匹配算法將待測行為序列與特征模式樹進(jìn)行模式匹配。
輸出結(jié)果:若待測序列與模式樹匹配成功,表示該序列為正常行為;若匹配失敗,則表明該待測行為是異常行為。
2.2 基于孤立點(diǎn)的橫向越權(quán)檢測模型
由于用戶功能點(diǎn)是以URL作為標(biāo)識,且URL地址是相關(guān)的,同一模塊下的功能點(diǎn)URL地址的相似程度大于不同模塊下功能點(diǎn)URL地址。因此可用Levenshtein距離[9-10]定量表示URL相似度。Levenshtein距離又稱為編輯距離,編輯距離算法是指兩個(gè)字符串之間,由一個(gè)字符串通過一些編輯操作可以變成另外一個(gè)字符串所需要的最少編輯操作次數(shù)[11]。編輯距離越大,說明兩個(gè)字符串相似度越小。
橫向越權(quán)檢測原理如下:同一級別下,用戶操作的功能點(diǎn)相關(guān)性大,通過聚類把完成同一個(gè)業(yè)務(wù)的關(guān)聯(lián)功能模塊聚成簇,即用戶的所有正常操作都會匯聚成若干簇。如果出現(xiàn)離群的孤立點(diǎn),即該點(diǎn)與用戶操作的其他功能點(diǎn)均不屬于同一系統(tǒng)模塊,即可視為越權(quán)操作。
一般情況下,用戶進(jìn)行越權(quán)操作時(shí),屬于“偶然行為”,并不會有太多操作,孤立點(diǎn)檢測即可實(shí)現(xiàn)檢測越權(quán);然而若是用戶越權(quán)產(chǎn)生大量操作時(shí),孤立點(diǎn)檢測便無法檢測出這種情況下的越權(quán)操作了。針對這種情況,本文設(shè)計(jì)了一個(gè)檢測閾值F,經(jīng)過聚類后,若待檢測的“功能點(diǎn)簇”占所有功能點(diǎn)的比重小于該閾值,視為越權(quán),發(fā)出告警;若比重大于該閾值,即劃分為正常操作?;诖嗽O(shè)計(jì),不需要考慮人員業(yè)務(wù)變更帶來的影響,檢測過程不考慮歷史數(shù)據(jù),具有更好的實(shí)時(shí)特性?;诠铝Ⅻc(diǎn)檢測的橫向越權(quán)檢測流程如圖5。
本文設(shè)計(jì)的橫向越權(quán)檢測模型是基于用戶本身在該次檢測的數(shù)據(jù)進(jìn)行的自我檢測。之所以不直接比較待測的用戶功能與已有用戶的功能而實(shí)現(xiàn)越權(quán)檢測,是因?yàn)橄到y(tǒng)用戶的功能結(jié)構(gòu)可能會發(fā)生變化,例如某一用戶接手其他用戶的工作,這屬于正常的變動,但是如果根據(jù)歷史數(shù)據(jù)進(jìn)行比較,會產(chǎn)生大量誤報(bào),人工核實(shí)工作量太大。這與本文設(shè)計(jì)初衷不符,更不符合實(shí)際需求。本文直接進(jìn)行自我檢測,不會過度依賴歷史數(shù)據(jù),減少業(yè)務(wù)上的變更對檢測模型的影響。
3 實(shí)驗(yàn)結(jié)果及分析
3.1 數(shù)據(jù)準(zhǔn)備及環(huán)境搭建
本文實(shí)驗(yàn)選用的數(shù)據(jù)為北京某科技公司的DLP系統(tǒng)的用戶操作記錄。本文從大量的操作記錄中篩選出部分正常操作記錄,并挑選構(gòu)造部分針對性研究的異常數(shù)據(jù)。實(shí)驗(yàn)數(shù)據(jù)總共有2436720條記錄,其中正常操作記錄有2436006條,異常行為記錄有714條,異常記錄占總記錄的0.03%。訓(xùn)練集與測試集的數(shù)據(jù)比例約為8:2,測試集中異常記錄占比約為0.146%。實(shí)驗(yàn)數(shù)據(jù)具體描述如表1所示。
本文采用入侵檢測系統(tǒng)常采用的衡量指標(biāo)中的準(zhǔn)確率、誤報(bào)率、檢測率作為評價(jià)標(biāo)準(zhǔn),各個(gè)指標(biāo)的計(jì)算公式如下式(4)、式(5)和式(6):
3.2 實(shí)驗(yàn)結(jié)果及分析
首先通過實(shí)驗(yàn)得到異常行為檢測模型和越權(quán)檢測模型分別對應(yīng)的針對性的實(shí)驗(yàn)結(jié)果,即異常行為檢測模型檢測實(shí)驗(yàn)不考慮越權(quán)異常的情況,同理越權(quán)檢測模型實(shí)驗(yàn)不考慮行為序列異常,這是為了驗(yàn)證兩個(gè)子模型各自的檢測能力。然后進(jìn)行驗(yàn)證整合,考慮所有異常數(shù)據(jù),進(jìn)行整體模型檢測實(shí)驗(yàn),得到整體模型的實(shí)驗(yàn)結(jié)果如表2所示。
由表2可知,在本文實(shí)驗(yàn)條件下,異常檢測模型的兩個(gè)子模型以及整體模型在準(zhǔn)確率、檢測率和誤報(bào)率方面都有較好的表現(xiàn):在較低的誤報(bào)率的情況下,準(zhǔn)確率和檢測率都達(dá)到了較高的水平。同時(shí),整體檢測模型在綜合所有異常情況下,各項(xiàng)衡量指標(biāo)達(dá)到較高水平的情況下,具有較高的精確定位異常行為能力。此外,為了直觀顯示異常檢測模型的兩個(gè)子模型的檢測性能,給出子模型的ROC曲線如圖6所示。
實(shí)驗(yàn)結(jié)果表明,本文實(shí)驗(yàn)條件下,異常行為檢測模型與橫向越權(quán)檢測模型都有很好的檢測效果?;谀J狡ヅ浜蜋C(jī)器學(xué)習(xí)的異常檢測系統(tǒng)充分發(fā)揮子模型各自的檢測優(yōu)勢的同時(shí),使子模型協(xié)同互補(bǔ),實(shí)現(xiàn)了細(xì)粒度化的異常檢測,從檢測深度和廣度上提高了異常檢測模型檢測能力,并達(dá)到精確定位異常行為的目的。
4 結(jié)語
基于模式匹配的入侵檢測依靠數(shù)據(jù)挖掘能實(shí)現(xiàn)自動提取特征或規(guī)則,然而其不足在于依賴數(shù)據(jù)挖掘,無法實(shí)現(xiàn)細(xì)粒度化入侵檢測和精確定位入侵行為。針對這個(gè)問題,本文首先基于企業(yè)內(nèi)部系統(tǒng)業(yè)務(wù)邏輯的數(shù)據(jù)挖掘分析,提出了基于模式匹配與機(jī)器學(xué)習(xí)的異常檢測模型,通過模式匹配和機(jī)器學(xué)習(xí)算法分別從用戶“行為”和“功能點(diǎn)”兩個(gè)維度進(jìn)行檢測,然后綜合兩個(gè)模型的結(jié)果進(jìn)行互補(bǔ)驗(yàn)證,從深度和廣度上提升了異常檢測模型的檢測能力。通過驗(yàn)證可知,本文提出的檢測模型能充分發(fā)揮兩個(gè)子模型各自的檢測優(yōu)勢,達(dá)到很好的檢測水平,然后通過子模型的協(xié)作實(shí)現(xiàn)精確定位入侵行為,實(shí)現(xiàn)細(xì)粒度化異常檢測,符合入侵檢測的研究發(fā)展趨勢,對后續(xù)入侵檢測的研究有一定的參考價(jià)值。
參考文獻(xiàn)
[1]J. P. Anderson. Computer Security Threat Monitoring and Surveillance. Fort Washington,PA: James P.Andersonn Co.,1980:6-7.
[2]Kumar G, Kumar K,Sachdeva M.The use of artificial intelligence based techniqes for intrusion detection: a review. Artificial Intelligence Rwview,2010,34(4):369-387.
[3]Ayres J, Gehrke J, Yiu T, et al. Sequential pattern mining using a bitmap representation [C] . Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. USA, New York: ACM, 2002:429 X35.
[4]李樹政.基于Snort系統(tǒng)快速模式匹配算法的研究[D].吉林大學(xué)碩士畢業(yè)論文,2009.
[5]萬國根,志光.改進(jìn)的AC-BM字符串匹配算法[J].電子科技大學(xué)學(xué)報(bào),2006,35(4):531-533.
[6]李志清.基于模式匹配和協(xié)議分析的入侵檢測系統(tǒng)研究[D].廣東工業(yè)大學(xué)碩士畢業(yè)論文,2007.
[7]陸聲鏈,林士敏.基于距離的孤立點(diǎn)檢測及其應(yīng)用[J],計(jì)算機(jī)與數(shù)字工程,2004,32(5):94-97.
[8]姚興仁,趙剛,吳維希.基于“智能信息中心”的蟻群文本聚類算法改進(jìn)[J].信息安全研究,2017,3(2):160-165.
[9]解天書.基于編輯距離算法的中文模糊匹配技術(shù)在大數(shù)據(jù)量環(huán)境中的應(yīng)用[D].湖北大學(xué),2013.
[10]王威.融合檢索技術(shù)的譯文推薦系統(tǒng)的研究與實(shí)現(xiàn)[D].北京工業(yè)大學(xué),2016.