楊銘
摘 要:數(shù)據(jù)挖掘算法是一個定義完備的過程,它以數(shù)據(jù)作為輸入并產生模型或模式形式的輸出。本文介紹了2種入侵檢測中常用的數(shù)據(jù)挖掘算法,并說明了在入侵檢測中應用數(shù)據(jù)挖掘技術的優(yōu)點。
關鍵詞:數(shù)據(jù)挖掘;關聯(lián)分析;序列分析;算法
1 引言
數(shù)據(jù)挖掘(Data Mining,DM),又稱為數(shù)據(jù)捕撈、知識挖掘、知識發(fā)現(xiàn)、模式分析等,是從大量的、不完全、包含噪聲數(shù)據(jù)的、模糊的、隨機的數(shù)據(jù)中發(fā)現(xiàn)知識(模式)的非平凡過程。該定義包含以下幾層含義:數(shù)據(jù)是指一個有關事實的集合,記錄了事務有關方面的原始信息,數(shù)據(jù)源必須是真實的、大量的、包含噪聲的;模式給出了數(shù)據(jù)的特性或數(shù)據(jù)之間的關系,是對數(shù)據(jù)包含的信息的更抽象描述,發(fā)現(xiàn)的知識是可理解的、新穎的、潛在有用的、可解釋的:不是要發(fā)現(xiàn)所有的知識,通常是針對特定的需求來發(fā)現(xiàn)滿足需要的知識。數(shù)據(jù)挖掘系統(tǒng)具有以下主要成分:數(shù)據(jù)庫、數(shù)據(jù)倉庫或其它信息庫、數(shù)據(jù)庫或數(shù)據(jù)倉庫服務器、知識庫、數(shù)據(jù)挖掘引擎、模式評估模塊和圖形用戶界面。
2 關聯(lián)分析算法
關聯(lián)規(guī)則挖掘技術用于發(fā)現(xiàn)數(shù)據(jù)庫中屬性之間的有趣關聯(lián),和傳統(tǒng)的產生式規(guī)則不同,關聯(lián)規(guī)則可以有一個或者多個關聯(lián)屬性。同時一個規(guī)則的輸出屬性可以是另外一個的輸入屬性。
定義1:關聯(lián)規(guī)則挖掘的數(shù)據(jù)集記為D(一般為事務數(shù)據(jù)庫),D={t1,t2,…tk…,tm,},tk={i1,i2,…im,…iP},tk(k=1,2,…n)稱為事務。im={1,2,…p},稱為項目。
定義2:設I={il,i2,…im}是D中全體項目的集合,I中的任何子集X稱為D中的項目集,x=k稱為集合X為K項目集。設tk和X分別為D中的事務和項目集,如果x tk,稱事務tk包含項目集X。每一個事務都由一個唯一的標識符,稱為TID。
定義3:數(shù)據(jù)集D中包含項目集X的事務數(shù)稱為項目集X的支持數(shù),記為σx。項目集X的支持度記為support(x):
其中|D|是數(shù)據(jù)集D的事務數(shù),若support(x)不小于用戶支持的最小度(minspport),則稱X為頻繁項目集,簡稱頻集,否則稱X為非頻繁項目集,簡稱非頻集。
定義4:若X、Y為項目集,且X∩Y≠Φ,蘊涵式X Y稱為關聯(lián)規(guī)則,X、Y分別稱為關聯(lián)規(guī)則X Y的前提和結論。項目集X∪Y的支持度稱為關聯(lián)規(guī)則X Y的支持度,記作:support(X Y),support(X Y)=support(X∪Y),關聯(lián)規(guī)則X Y的置信度,記作:confidence(X Y):
3 序列分析算法
序列模式與關聯(lián)模式相仿,不同的是它處理不同記錄之間屬性集的關聯(lián)關系,把數(shù)據(jù)之間的關聯(lián)性與時間聯(lián)系起來。為了發(fā)現(xiàn)序列模式,不僅需要知道事件是否發(fā)生,而且需要確定事件發(fā)生的時間。序列模式分析的側重點在于分析數(shù)據(jù)間的前后序列關系。序列分析描述的問題是:在給定交易序列數(shù)據(jù)庫中,每個序列按照交易時間排列成一組交易集,挖掘序列函數(shù)作用在這個交易序列數(shù)據(jù)庫上,返回出現(xiàn)的高頻序列。將序列模式發(fā)現(xiàn)的問題分解成以下幾個階段:
⑴排序階段。利用客戶標識字作為主關鍵字及事務發(fā)生的時間做為次關鍵字將數(shù)據(jù)庫進行排序,該步驟也將原始的事務數(shù)據(jù)庫轉換成客戶序列的數(shù)據(jù)庫。
⑵大項目集階段。在該階段發(fā)現(xiàn)所有的大項目集L,同時發(fā)現(xiàn)了所有的大1序列的集合,并把大數(shù)據(jù)項集映射為一組相鄰的整數(shù),每個大數(shù)據(jù)項對應一個整數(shù)。
⑶轉換階段。需要重復確定哪一個給定的大序列集被包含于顧客序列中,要快速完成這種測試,需要將每一個顧客序列轉換成一個替換的代表。在一個已轉換的客戶序列中,每一個事務被包含于該事務中的所有大項目集來替換。如果一個事務不包含任何大項目集,在已轉換的序列中就不應保留該事務。如果一個客戶序列不包含任何大項目集,則從已轉換的數(shù)據(jù)庫中去掉該序列,但是,總客戶數(shù)的計數(shù)仍要對它計數(shù)。這個已轉換的數(shù)據(jù)庫稱為Dt,根據(jù)磁盤空間的大小,可以生成這個己轉換的數(shù)據(jù)庫,或者當在一個遍歷期間讀每一個客戶序列時通過快速查找完成這個轉換。
⑷序列階段。利用大項目集,發(fā)現(xiàn)所期望的序列。
⑸最大階段。在大序列中發(fā)現(xiàn)最大的序列。
4 在入侵檢測中應用數(shù)據(jù)挖掘技術的優(yōu)點
數(shù)據(jù)挖掘技術能夠從大量的審計數(shù)據(jù)和網絡數(shù)據(jù)中抽取出能充分描述網絡連接和主機會話特征的屬性,利用數(shù)據(jù)挖掘技術產生能夠精確描述入侵行為和系統(tǒng)正常行為模式的規(guī)則,并自動產生精確適用的檢測模型。同時應用數(shù)據(jù)挖掘方法的檢測系統(tǒng)不是基于預定義的檢測模型,自適應能力強,可以有效地檢測新型攻擊以及己知攻擊的變種,也可以有效地剔除重復的攻擊數(shù)據(jù),因而具有較低的虛警率,減少漏報的發(fā)生。
[參考文獻]
[1]李志云,周國祥,張麗萍.一種挖掘大型數(shù)據(jù)庫的關聯(lián)規(guī)則新算法[J]. 合肥工業(yè)大學學報(自然科學版).2010(02).
[2]Armananzas R,IInza,R.Santana,et al.A review of estimation of distribution algorithms in bioinformatics.BioData Min. 2008.
[3]李學明.計算機數(shù)據(jù)的關聯(lián)規(guī)則挖掘理論和算法研究[D].重慶大學.