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