魏 晉
(長治醫(yī)學(xué)院計算機中心,山西 長治 046000)
基于Snort的分布式入侵檢測系統(tǒng)研究
魏 晉
(長治醫(yī)學(xué)院計算機中心,山西 長治 046000)
由于分布式入侵檢測系統(tǒng)能夠解決傳統(tǒng)集中式入侵檢測系統(tǒng)存在的問題,因而目前該系統(tǒng)成為計算機網(wǎng)絡(luò)安全領(lǐng)域的研究熱點。設(shè)計和實現(xiàn)了基于Snort的分布式入侵檢測系統(tǒng),并對系統(tǒng)進行了模擬攻擊試驗。測試結(jié)果表明,該系統(tǒng)能夠提高實時檢測的準(zhǔn)確率,對加強網(wǎng)絡(luò)安全性具有重要作用。
網(wǎng)絡(luò)防護;入侵檢測;傳感器;規(guī)則配置
入侵檢測技術(shù)是指對計算機網(wǎng)絡(luò)的惡意攻擊行為進行檢測、判斷、做出結(jié)論、發(fā)出警報并觸發(fā)應(yīng)對策略方案的網(wǎng)絡(luò)防護技術(shù)[1]。入侵檢測系統(tǒng)作為防火墻的重要補充,現(xiàn)已成為計算機網(wǎng)絡(luò)安全體系中一個不可或缺的組成部分。傳統(tǒng)的集中式入侵檢測系統(tǒng)只安裝在網(wǎng)絡(luò)的出口處,由于網(wǎng)絡(luò)攻擊技術(shù)趨向于多樣化,如果攻擊者對該系統(tǒng)進行攻擊并使其癱瘓,那么整個網(wǎng)絡(luò)環(huán)境將失去保護。同時,在實際應(yīng)用中發(fā)現(xiàn)該系統(tǒng)存在數(shù)據(jù)瓶頸、實時性差、漏報率偏高、單點失效等不足[2]。分布式入侵檢測系統(tǒng)可以解決上述問題,該系統(tǒng)采用管理服務(wù)器/探測器的架構(gòu),將多個小的、獨立的入侵檢測系統(tǒng)分散在網(wǎng)絡(luò)的不同地理位置來捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包并進行分析,一旦發(fā)現(xiàn)有惡意行為,就會立即發(fā)出警報和啟動應(yīng)對處理策略。由于該系統(tǒng)有多個探測點,因而能夠監(jiān)視整個網(wǎng)絡(luò)環(huán)境的安全狀態(tài),這樣不僅提高了網(wǎng)絡(luò)管理員管理網(wǎng)絡(luò)的能力,同時也加強了網(wǎng)絡(luò)信息安全基礎(chǔ)結(jié)構(gòu)的完整性。下面,筆者以Snort系統(tǒng)為核心,設(shè)計并實現(xiàn)了分布式入侵檢測系統(tǒng),并在搭建的網(wǎng)絡(luò)環(huán)境中對該系統(tǒng)進行了模擬攻擊試驗測試分析。
Snort是一個小體積、開源、功能全、性能優(yōu)秀的入侵檢測系統(tǒng),其不僅能夠進行實時流量分析、監(jiān)視網(wǎng)絡(luò)數(shù)據(jù)流、分析數(shù)據(jù)包、檢測安全事件日志等工作,還能進行協(xié)議分析、數(shù)據(jù)內(nèi)容過濾、規(guī)則匹配等[3]。Snort由數(shù)據(jù)包嗅探器、預(yù)處理器、檢測引擎、日志與報警4個子系統(tǒng)組成[4],其中數(shù)據(jù)包嗅探器的功能是依靠Libpcap函數(shù)庫來捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包,預(yù)處理器的功能是對分析后的數(shù)據(jù)包按照規(guī)則再進行轉(zhuǎn)化和加工,檢測引擎是Snort的核心部分,主要負(fù)責(zé)規(guī)則分析與特征檢測,而檢測引擎會按照啟動時加載的規(guī)則對每個數(shù)據(jù)包進行分析和判斷,如果發(fā)現(xiàn)數(shù)據(jù)包中的內(nèi)容與某條規(guī)則相匹配,就會發(fā)出警報并觸發(fā)相應(yīng)的處理策略。Snort的工作流程如下:①從主函數(shù)Snort.h開始執(zhí)行,完成網(wǎng)絡(luò)接口設(shè)備、預(yù)處理插件、讀入規(guī)則等準(zhǔn)備工作;②通過Libpcap/Winpcap 庫中的pcap_loop( )進程,在數(shù)據(jù)鏈路層中對數(shù)據(jù)包開始進行捕獲;③將捕獲的數(shù)據(jù)包送入ProcessPacket( )包解碼的進程中,對數(shù)據(jù)包進行解析并加工和轉(zhuǎn)換格式,以便進行規(guī)則匹配運算工作[5];④對來自數(shù)據(jù)包解碼模塊和預(yù)處理模塊的數(shù)據(jù),調(diào)用檢測引擎模塊通過遍歷規(guī)則鏈表對每個數(shù)據(jù)包進行匹配項的查找,如發(fā)現(xiàn)匹配項則進入警報模塊;⑤啟動日志事件并對警報信息進行處理。
基于Snort的分布式入侵檢測系統(tǒng)采用3層體系結(jié)構(gòu),分別為入侵檢測層、服務(wù)器層和分析控制層(見圖1)。由于在傳感器中運行了Snort系統(tǒng),所以每個傳感器都具有對數(shù)據(jù)包進行捕獲、分析、查找惡意攻擊行為和發(fā)出警報的功能,把這些獨立的傳感器分散到網(wǎng)絡(luò)中的不同區(qū)域,這樣就可以對整個網(wǎng)絡(luò)環(huán)境進行監(jiān)控。
圖1 基于Snort的分布式入侵檢測系統(tǒng)架構(gòu)
2.1入侵檢測層
入侵檢測層的主要任務(wù)是傳感器對數(shù)據(jù)包進行捕獲、分析與匹配計算,一旦發(fā)現(xiàn)有規(guī)則匹配,則認(rèn)為存在入侵行為,并將警報信息傳遞給服務(wù)器進行對應(yīng)處理。所以,傳感器是入侵檢測層的主要構(gòu)成部分。傳感器由安裝了數(shù)據(jù)包捕獲工具Winpcap和Snort應(yīng)用程序的計算機組成,在傳感器中需要配備2塊網(wǎng)絡(luò)適配器,其中一塊用于網(wǎng)絡(luò)數(shù)據(jù)包的采集,而另一塊用于連接服務(wù)器通信接口。傳感器的硬件與軟件配置分別如表1和表2所示。
表1 傳感器硬件配置
表2 傳感器的軟件配置
2.2服務(wù)器層
表3 Snort服務(wù)器硬件配置
構(gòu)成服務(wù)器層的主要部分是Snort服務(wù)器,其任務(wù)是與入侵檢測層進行通信,把從各個傳感器中獲取的警報信息進行分析并做出相應(yīng)的處理策略。Snort服務(wù)器的硬件與軟件配置分別如表3和表4所示。
2.3分析控制層
分析控制層是面向管理員的控制管理層,安裝有ACID圖形界面的計算機是分析控制層的主要部分。通過安裝有ACID圖形界面的計算機對傳感器的規(guī)則進行配置,對控制消息進行編碼和發(fā)送,還可以查看警報信息和生成詳細(xì)的結(jié)論報告視圖。安裝有ACID圖形界面計算機的軟件配置如表5所示。
表4 Snort服務(wù)器軟件配置
表5 安裝有ACID圖形界面計算機的軟件配置
3.1Snort規(guī)則數(shù)據(jù)庫的配置
配置Snort規(guī)則數(shù)據(jù)庫的方法如下[6]:①從Snort官方網(wǎng)站上升級Snort規(guī)則數(shù)據(jù)庫;②根據(jù)自身條件定制和修改Snort規(guī)則數(shù)據(jù)庫[6]。
3.2Snort預(yù)處理插件的配置
在Snort中有一些預(yù)處理插件在默認(rèn)情況下是不啟動的,比如用于檢測ARP報文異常的arpspoof插件,管理員可以根據(jù)實際需求來配置相關(guān)預(yù)處理插件。
3.3配置行為警報的優(yōu)先級
在同一時刻檢測到多個具有不同攻擊方式的攻擊源時,系統(tǒng)應(yīng)根據(jù)Snort攻擊方式優(yōu)先級別的設(shè)定,對不同順序的攻擊源發(fā)出警報。設(shè)置DDOS攻擊方式具有較高優(yōu)先級,緩沖區(qū)溢出攻擊方式相對具有較低優(yōu)先級的配置如下:
Config classification:successful-dos,denial of service,1;
//將DDOS攻擊的優(yōu)先級設(shè)置為1;
Config classification:shellcode-detect,executable code was detected,2;
//將緩沖區(qū)溢出攻擊優(yōu)先級設(shè)置為2;
和資源消耗。
在搭建的網(wǎng)絡(luò)環(huán)境中,對基于Snort的分布式入侵檢測系統(tǒng)進行了模擬攻擊測試,攻擊方式如下。
1)Ping 攻擊測試:
Ping-l 65500-t IP
//循環(huán)發(fā)送大小為65500byt的數(shù)據(jù)包。
2)DDOS攻擊測試:
Xdos IP-t 5-s *
//對80和139端口進行攻擊,使用線程為5,隨即生成源地址。
3)Arp欺騙測試:
Arpcheat IP
//Arp欺騙攻擊
4)Nmap端口掃描測試:
表6 模擬攻擊測試結(jié)果統(tǒng)計表
Nmap-ps-pu-p IP
//使用TCP和UDP協(xié)議對端口掃描
模擬攻擊測試如表6所示。從表6可以看出,該系統(tǒng)不僅能對采用TCP、UDP、ICMP、Arp協(xié)議的攻擊方式進行準(zhǔn)確檢測,還能夠?qū)Χ丝趻呙璧男袨檫M行準(zhǔn)確檢測,因而對加強網(wǎng)絡(luò)安全性具有重要作用。
基于Snort的分布式入侵檢測系統(tǒng)突破了傳統(tǒng)的入侵檢測系統(tǒng)的局限性,其中各個傳感器能獨立完成相關(guān)任務(wù),這樣可以充分利用各個Snort傳感器的資源,從而節(jié)省了網(wǎng)絡(luò)帶寬的消耗。在安全性方面,由于各個Snort傳感器各自獨立進行工作,所以當(dāng)任何一臺Snort傳感器遭到攻擊或出現(xiàn)故障的時候,不會對整個網(wǎng)絡(luò)造成嚴(yán)重影響。測試結(jié)果表明,該系統(tǒng)能夠提高實時檢測的準(zhǔn)確率,對加強網(wǎng)絡(luò)安全性具有重要意義。
[1]李濤.網(wǎng)絡(luò)安全概論[M].北京:電子工業(yè)出版社,2004.
[2]柴平渲,龔向陽,程時瑞.分布式入侵檢測技術(shù)的研究[J].北京郵電大學(xué)學(xué)報,2002,25(2):72-74.
[3]薛靜鋒,祝烈煌,閻慧.入侵檢測技術(shù)[M].北京:人民郵電出版社,2007.
[4]陳偉,周繼軍,許德武.Snort輕量級入侵檢測系統(tǒng)全攻略[M].北京:北京郵電大學(xué)出版社,2009.
[5]岳成剛.基于Snort平臺的網(wǎng)絡(luò)入侵檢測系統(tǒng)研究[D]. 合肥:合肥工業(yè)大學(xué),2009.
[6]王建忠.分布式入侵檢測系統(tǒng)的研究與設(shè)計[D]. 蘭州:蘭州理工大學(xué),2007.
10.3969/j.issn.1673-1409(N).2012.07.042
TP393.1
A
1673-1409(2012)07-N124-03
2012-04-25
魏晉 (1975-),男,2003年大學(xué)畢業(yè),助教,現(xiàn)主要從事計算機網(wǎng)絡(luò)與軟件工程等方面的教學(xué)與研究工作。
[編輯] 李啟棟