摘要:入侵檢測系統(tǒng)是近年來出現(xiàn)的一種網(wǎng)絡(luò)安全技術(shù),在網(wǎng)絡(luò)安全領(lǐng)域中發(fā)揮著越來越大的作用。但入侵檢測系統(tǒng)自身的誤報漏報及海量信息的涌現(xiàn),使得人們必須謀求突破,使入侵檢測系統(tǒng)實現(xiàn)更高的可用性和穩(wěn)定性。本文提出了一個基于數(shù)據(jù)挖掘技術(shù)的入侵檢測系統(tǒng)框架。
關(guān)鍵詞:數(shù)據(jù)挖掘;IDS;入侵檢測系統(tǒng)框架
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)05-10ppp-0c
1 引言
在過去,較少的應(yīng)用技術(shù)讓我們可以簡單的通過防火墻來過濾掉從外界不可信任的地址及端口發(fā)來的數(shù)據(jù) 可是今天快速發(fā)展了的黑客技術(shù)不但能夠偽造可信任源,更可以以正常身份進入內(nèi)部網(wǎng)絡(luò)隱藏起來,等到條件成熟時,來個大發(fā)作。在今天我們不但要對數(shù)據(jù)包進行更為具體、細致的數(shù)據(jù)分析(甚至是其全部內(nèi)容),更要求對待攻擊,我們能做到防患于未然. 但要能防備今天的攻擊,最好還要化解未來技術(shù)所帶來的危險。入侵檢測技術(shù)的出現(xiàn)就要來檢側(cè)網(wǎng)絡(luò)中的入侵的行為,只要黑客在網(wǎng)絡(luò)中留下了入侵行為的蛛絲馬跡,人侵檢洲系統(tǒng)都會詳細的記錄下來,為我們彌補漏洞和改善安全策略打下基礎(chǔ)。
首先網(wǎng)絡(luò)入侵(IDS)可以分為三種形式,即軟件、硬件和軟硬一體。具體的體系結(jié)構(gòu)則采用分布式體系結(jié)構(gòu),即中心控制端和檢測引擎相結(jié)合。中心控制端的作用是搜集各個檢測引擎得到的網(wǎng)絡(luò)告警信息以及對各個檢測引擎進行管理和配置。檢測引擎通過監(jiān)視網(wǎng)絡(luò)或系統(tǒng)資源(通常是系統(tǒng)日志)來執(zhí)行人侵檢測,并向中心控制端告警。根據(jù)采集數(shù)據(jù)源的不同,入侵檢測產(chǎn)品可分為主機型IDS(簡稱HIDS)和網(wǎng)絡(luò)型IDS(簡稱NIDS)。主機型入侵檢測系統(tǒng)往往以系統(tǒng)日志、應(yīng)用程序日志等作為數(shù)據(jù)源,當然也可以通過其他手段(如監(jiān)督系統(tǒng)調(diào)用)從所在的主機采集信息進行分析。他們保護的重點是所在的系統(tǒng)。網(wǎng)絡(luò)型入侵檢測系統(tǒng)的數(shù)據(jù)源則是網(wǎng)絡(luò)上的數(shù)據(jù)包,通過捕獲與分析網(wǎng)絡(luò)數(shù)據(jù)進行檢測。未來的人侵檢測系統(tǒng)要想取得成功必須將基于主機和基于網(wǎng)絡(luò)的兩種人侵檢測系統(tǒng)無縫的結(jié)合起來,這就是混合分布式入侵檢測系統(tǒng)。
2 網(wǎng)絡(luò)入侵檢測面臨的問題
隨著對IDS的研究與應(yīng)用的愈加深入,人們在享受IDS帶來的安全的同時也越來越多的感到困擾;誤報和漏報嚴重、海量信息難以分析,其中,前兩者是用戶反應(yīng)最為強烈的問題,海量信息難以分析影響了用戶對IDS的使用,因為如果入侵檢測系統(tǒng)無法應(yīng)付網(wǎng)絡(luò)吞吐量的話.它就可能漏掉不少反映入侵活動的特征數(shù)據(jù) ,我們知道,IDS的告警根據(jù)是對網(wǎng)絡(luò)中異常情況的察覺以及對主機日志的檢測。同此.這三個問題的出現(xiàn).與數(shù)據(jù)處理上面的“瓶頸”.是密不可分的 耍解決好困擾用戶的這些問題,打消他們的疑慮.建立對IDS的信心,就一定要解決好這個問題。在這種情況之下,將數(shù)據(jù)挖掘的方法引入IDS是一個好辦法, IDS檢測代理所面臨的大量告警信息.如果得到數(shù)據(jù)挖掘方法的指導(dǎo)進行處理 將會使IDS的性能得到很大的改進。
數(shù)據(jù)挖掘是一個利用各種分析工具在海量數(shù)據(jù)中發(fā)現(xiàn)模型和數(shù)據(jù)間關(guān)系的過程,這些模型和關(guān)系可以用來做出預(yù)測。統(tǒng)計分析方法學(xué)的延伸和擴展。數(shù)據(jù)挖掘就是利用了統(tǒng)計和人工智能技術(shù)的應(yīng)用程序,來解決問題,目的是生成可以據(jù)其所示的含義采取行動的知識,也就是建立一個現(xiàn)實世界的模型。建立這個模型可能需要各種備樣的源數(shù)據(jù),模型是模式和數(shù)據(jù)問相關(guān)性的形式化描述在實施數(shù)據(jù)挖掘之前.先制定采取什么樣的步驟,每一步都做什么,達到什么樣的目標是必耍的, 一個典型的數(shù)據(jù)挖掘系統(tǒng)的體系結(jié)構(gòu)有以下幾個部分:知識庫,數(shù)據(jù)挖掘引擎,形式評估模塊,圖形化用戶接口。
3 應(yīng)用數(shù)據(jù)挖掘技術(shù)的入侵檢測模型
利用模式匹配和異常檢測技術(shù)來分析某個檢測引擎所采集的數(shù)據(jù),異常入侵檢測的主要前提條件是將入侵性活動作為異常活動的子集。理想狀況是異常活動集與入侵性活動集等同 。這樣,若能檢測所有的異常活動,則可檢測所有的人侵性活動,但是入侵性活動并不總是與異常活動相吻合, 而且入侵檢測雖然能夠發(fā)現(xiàn)一部分人侵行為,還需要在此基礎(chǔ)上利用數(shù)據(jù)挖掘技術(shù),分析多個檢測引擎提交的審計數(shù)據(jù) 網(wǎng)絡(luò)流量和主機日志能夠記錄活動。在入侵檢測系統(tǒng)中使用數(shù)據(jù)挖掘技術(shù),通過分析主機日志可以提取出用戶的行為特征、總結(jié)入侵行為的規(guī)律,從而建立起比較完備的規(guī)則庫來進行入侵檢測。
主機日志中所包含的網(wǎng)絡(luò)信息包括:時間、接口、數(shù)據(jù)流方向、源地址、源端口、目標地址、目標端口、標志集、序列號、數(shù)據(jù)包中的字節(jié)、窗口大小等等。這些信息,種類繁多,信息量也十分龐大。憑著管理員的肉眼,從如此大量的數(shù)據(jù)中找到攻擊信息,其難度實在太大。因此,正好可以利用數(shù)據(jù)挖掘技術(shù),發(fā)揮其優(yōu)勢,對大量的系統(tǒng)日志及網(wǎng)絡(luò)流量進行挖掘,對正常模式及入侵模式進行區(qū)分;由于安全是計算機系統(tǒng)設(shè)計的一種事后的考慮,沒有標準的日志機制及數(shù)據(jù)格式用來進行人侵分析,因此,對于原始的日志數(shù)據(jù)及網(wǎng)絡(luò)流量,需要進行一定程度的預(yù)處理,取出若干特征之后進行挖掘。比如,對于系統(tǒng)日志,可以拍取出進程號及系統(tǒng)調(diào)用號;對于網(wǎng)絡(luò)流量.可先將其預(yù)處理成具有以下特征的連接級別的數(shù)據(jù)項:持續(xù)時間,服務(wù)類型.源地址.目的地址.源端發(fā)送字節(jié)數(shù)、目的端發(fā)送字節(jié)數(shù)等等。挖掘出入侵模式后,再由系統(tǒng)自動轉(zhuǎn)換為檢測規(guī)則,以供更新規(guī)則庫用。傳統(tǒng)的數(shù)據(jù)挖掘提取模式需要大量的已標識數(shù)據(jù),就入侵檢測來說就是特大量的審計數(shù)據(jù)精確地標識為正常和入侵,然后使用挖掘算法進行挖掘,得出正常和入侵的模式。我們知道。網(wǎng)絡(luò)中的流量還是正常流量居大多數(shù),入侵只是極少數(shù),通常不到5%,基于此,我們可以得出結(jié)論:入侵的數(shù)據(jù)在網(wǎng)絡(luò)流量中只占很少的比重;入侵行為的特征和正常行為有很大的不同。既然我們能夠得出結(jié)論,得知入侵數(shù)據(jù)很少且與正常數(shù)據(jù)有很大差別,這樣一來,我們就可以用歸納的方法把在數(shù)據(jù)中尋找入侵行為歸結(jié)為異常點的檢測問題。這類問題在統(tǒng)計中有很成熟的算法:采用聚類的思想。由于大部分數(shù)據(jù)是正常的,正常數(shù)據(jù)會聚集在一起成為一大簇。相對于正常數(shù)據(jù),入侵數(shù)據(jù)很少,且差別很大,則聚類之后入侵數(shù)據(jù)單獨會聚成小簇。因此,可首先對數(shù)據(jù)進行聚類分析,然后將小簇數(shù)據(jù)標識為人侵即得出新攻擊的模式。
下面以一種十分常見的SYN Flood攻擊方式為例,來介紹數(shù)據(jù)挖掘是如何在入侵檢測中起作用的。SYN Flood攻擊是利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方停止響應(yīng)的攻擊方式。當TCP連接進行三次握手時,如果一方發(fā)出SYN+ACK應(yīng)答報文后是無法收到ACK報文的回應(yīng),這種情況下一般會重試。在一定的時間窗體內(nèi)保持連接,這段時間的長度我們稱為SYN Timeout。這個時間窗一般是半分鐘到一分鐘;但如果有惡意的攻擊者大量模擬這種情況,服務(wù)器將忙于處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求,在正常用戶的角度看來服務(wù)器不再響應(yīng)正常請求,這時發(fā)生了SYN Flood攻擊。我們可以將前面提到的模型試著用在檢測SYN Flood攻擊上,首先將日至記錄提取出來,包括:時間、接口、數(shù)據(jù)流方向、源地址、源端口、目標地址、目標端口、標志。下面的一步是提取特征標志,為數(shù)據(jù)挖掘作準備,將提取出的記錄放人數(shù)據(jù)庫。然后去掉所有標志不是SYN的記錄,并按照目標主機、目標端口、時間升序排列,便于下一步進行序列挖掘。經(jīng)過聚類算法,屬于SYN攻擊的記錄將會逐漸的聚集。我們經(jīng)過反復(fù)挖掘,將會從中提取出SYN flood攻擊的規(guī)則。
4 結(jié)束語
當今攻擊手段發(fā)展很快,網(wǎng)絡(luò)防御技術(shù)一定要相應(yīng)進步才能有效的發(fā)揮防御作用。將數(shù)據(jù)挖掘技術(shù)引入到IDS之中,是將數(shù)據(jù)庫技術(shù)引入到網(wǎng)絡(luò)防御領(lǐng)域,發(fā)揮其長處的一次積極的探索。然而,網(wǎng)絡(luò)攻擊方式的多樣性,也就決定了IDS采用數(shù)據(jù)挖掘技術(shù)手段的復(fù)雜性,本文中所表述的模型只是一個初步的嘗試,要想真正的將這種技術(shù)進行廣泛的應(yīng)用,還要經(jīng)過一個長的過程。
參考文獻:
[1]卿斯?jié)h,蔣建春. 網(wǎng)絡(luò)攻防技術(shù)原理與實戰(zhàn)[M].北京:科學(xué)出版社,2OO4(1):247-248.
[2]唐正軍著.網(wǎng)絡(luò)入侵檢測系統(tǒng)的設(shè)計與實現(xiàn)[M]. 北京:電子工業(yè)出版社,2OO2(4):7-8.
[3](美)韓家煒,坎伯,著.數(shù)據(jù)挖掘:概念與技術(shù):英文(影印版)[M].北京:高等教育出版社,2001(5):5-8.
[4]蔣建春,馬恒太,任黨恩,卿斯?jié)h.網(wǎng)絡(luò)安全入侵檢測研究綜述[J].軟件學(xué)報,2001(11):1461-1462.
[5]劉舒.網(wǎng)絡(luò)入侵檢測系統(tǒng)的技術(shù)分析與應(yīng)用[J].公安大學(xué)學(xué)報,2001,(4):24-25.
[6]戴新宇,陳波.一個采用數(shù)據(jù)挖掘技術(shù)的入侵檢測系統(tǒng)框架[J].辦公自動化技術(shù)與應(yīng)用,2005,6:34-36.
收稿日期:2008-01-12
作者簡介:王秀巧(1972-),女,山東威海人,山東師范大學(xué)管理經(jīng)濟學(xué)院在職研究生,濟寧學(xué)院計算機科學(xué)系,講師,研究方向:網(wǎng)絡(luò)安全。