譚 寧
[摘要]介紹數(shù)字化校園可視化入侵檢測系統(tǒng)實現(xiàn)方案,將可視化入侵檢測系統(tǒng)劃分為兩個子系統(tǒng):入侵檢測數(shù)據(jù)管理子系統(tǒng)和入侵檢測數(shù)據(jù)分析子系統(tǒng),并對各個功能模塊進行闡述。
[關(guān)鍵詞]可視化 入侵檢測 系統(tǒng)
中圖分類號:TP3文獻標(biāo)識碼:A文章編號:1671-7597(2009)0420071-01
可視化入侵檢測系統(tǒng)具有實時檢測、報警、動態(tài)安全響應(yīng)和數(shù)據(jù)顯示和圖像繪制等功能,利用直觀的圖形來顯示入侵分析的結(jié)果,并根據(jù)結(jié)果進行異常檢測,給出警報信息,安全管理員根據(jù)組織的安全策略決定如何進行安全響應(yīng)。
一、系統(tǒng)開發(fā)及運行環(huán)境
該系統(tǒng)是基于WEB頁面的入侵檢測系統(tǒng)。利用Apache 2.0作為WWW服務(wù)器;利用PHP作為腳本語言;后臺數(shù)據(jù)庫使用MYSQL。linux2.6.5內(nèi)核下運行的入侵檢測系統(tǒng)。
二、數(shù)字化校園可視化入侵檢測系統(tǒng)構(gòu)建
目前許多高校數(shù)字化校園的工作系統(tǒng)大多是基于瀏覽器/服務(wù)器、客戶端/服務(wù)器模式和網(wǎng)絡(luò)計算模式的分布式應(yīng)用。在這樣一個分布式應(yīng)用的環(huán)境中,學(xué)校的數(shù)據(jù)庫服務(wù)器、郵件服務(wù)器、WWW服務(wù)器等,只要有一個“門戶”沒有完全保護好,入侵者就會通過這道門進入系統(tǒng),竊取或破壞所有系統(tǒng)資源。如何保證和加強數(shù)據(jù)庫系統(tǒng)的安全性和保密性對于數(shù)字化校園的正常、安全運行至關(guān)重要。
鑒于上述考慮,在數(shù)字化校園已有的防護措施基礎(chǔ)上,引入可視化入侵檢測系統(tǒng)建立了數(shù)字化校園的安全管理體系。并設(shè)計了一個由網(wǎng)絡(luò)管理信息中心負責(zé)數(shù)字化校園管理,以可視化入侵檢測系統(tǒng)為主,以防病毒軟件、防火墻為輔這樣一個多方位的安全保障體系,以確保數(shù)字化校園的安全。
三、入侵檢測數(shù)據(jù)管理子系統(tǒng)實現(xiàn)
入侵檢測數(shù)據(jù)管理子系統(tǒng)是入侵檢測數(shù)據(jù)分析的基礎(chǔ)。以下為該子系統(tǒng)三個部分:數(shù)據(jù)包捕獲模塊實現(xiàn)、數(shù)據(jù)提取模塊和事件分析數(shù)據(jù)庫的實現(xiàn)。
(一)數(shù)據(jù)包捕獲模塊實現(xiàn)。數(shù)據(jù)包捕獲模塊是進行檢測和決策的基礎(chǔ),它的準(zhǔn)確性、可靠性和效率直接影響到整個系統(tǒng)的性能。如果采集數(shù)據(jù)的延時太大,系統(tǒng)可能在檢測到攻擊的時候,入侵者已經(jīng)長驅(qū)直入;如果數(shù)據(jù)不完整,系統(tǒng)的檢測能力就會大打折扣;如果數(shù)據(jù)本身不正確,系統(tǒng)就無法檢測到某種攻擊,造成的后果更加不堪設(shè)想。數(shù)據(jù)包捕獲模塊的任務(wù)是利用數(shù)據(jù)包捕獲工具從網(wǎng)卡上捕獲網(wǎng)絡(luò)上的數(shù)據(jù)包,再將捕獲的數(shù)據(jù)包經(jīng)過解碼引擎填入到鏈路層協(xié)議的包結(jié)構(gòu)體中,以便對高層次的協(xié)議進行解碼。
1.對網(wǎng)絡(luò)數(shù)據(jù)包的捕獲機制。網(wǎng)絡(luò)數(shù)據(jù)包捕獲機制指通過捕獲整個網(wǎng)絡(luò)的所有信息流量,根據(jù)信息源主機、目標(biāo)主機、服務(wù)協(xié)議端口等信息簡單過濾掉不關(guān)心的數(shù)據(jù),再將系統(tǒng)感興趣的數(shù)據(jù)發(fā)送給更上層的應(yīng)用程序進行分析。網(wǎng)絡(luò)數(shù)據(jù)捕獲可以通過兩種方法實現(xiàn),一種是利用以太網(wǎng)絡(luò)的廣播特性,另一種方式是通過設(shè)置路由器的監(jiān)聽端口實現(xiàn)。
(1)利用以太網(wǎng)絡(luò)的廣播特性進行捕獲。以太網(wǎng)數(shù)據(jù)傳輸通過廣播實現(xiàn)。但是在系統(tǒng)正常工作時,應(yīng)用程序只能接收到以本主機為目標(biāo)主機的數(shù)據(jù)包,其它數(shù)據(jù)包將被丟棄不作處理,其數(shù)據(jù)包過濾機制分為鏈路層、網(wǎng)絡(luò)層和傳輸層幾個層次。
鏈路層主要指網(wǎng)卡驅(qū)動程序判斷所收到包的目標(biāo)MAC地址,如果不是自己網(wǎng)卡的MAC地址,又不是廣播地址和組播地址,將直接丟棄,不向上層提交。網(wǎng)絡(luò)層判斷目標(biāo)IP地址是否為本機所綁定IP地址,否則將不向上層提交。傳輸層如TCP層或者UDP層判斷目標(biāo)端口是否在本機已經(jīng)打開,如果沒有打開不作處理,并不向應(yīng)用層提交。
要截獲流經(jīng)網(wǎng)卡的不屬于自己主機的數(shù)據(jù),必須繞過系統(tǒng)正常工作的處理機制,直接訪問網(wǎng)絡(luò)底層。首先將網(wǎng)卡工作模式置于混雜模式,使之可以采集目標(biāo)MAC地址不是自己MAC地址的數(shù)據(jù)包。
(2)在交換環(huán)境中的網(wǎng)絡(luò)數(shù)據(jù)捕獲。在實際應(yīng)用中,存在很多非以太網(wǎng)接入的情況,如通過光纖接入等。在這些情況下,就不能利用以太網(wǎng)絡(luò)的廣播特性,而必須在路由器中設(shè)置監(jiān)聽端口,將流經(jīng)路由器的所有信息流量通過一個特定的監(jiān)聽端口輸出,從而實現(xiàn)數(shù)據(jù)包的捕獲。此時,網(wǎng)絡(luò)路由工作將不同于正常情況,所有的網(wǎng)絡(luò)信息數(shù)據(jù)包除按照正常情況傳遞外,將同時轉(zhuǎn)發(fā)到監(jiān)聽端口。
2.Libpcap捕包機制??紤]到在Liunx平臺上對該系統(tǒng)進行實現(xiàn),可采用libpcap對網(wǎng)絡(luò)數(shù)據(jù)進行收集。其通過直接訪問數(shù)據(jù)鏈路層,從而為應(yīng)用層程序提供了捕獲底層數(shù)據(jù)包的API.。
(二)數(shù)據(jù)提取模塊實現(xiàn)。數(shù)據(jù)提取模塊是實現(xiàn)入侵檢測系統(tǒng)VIDS的基礎(chǔ),它為檢測模塊提供分析的數(shù)據(jù)。根據(jù)數(shù)據(jù)包和系統(tǒng)日志提取出相應(yīng)的特征數(shù)據(jù),并對其進行規(guī)范化,以方便后面的數(shù)據(jù)分析。數(shù)據(jù)提取的三個過程是:協(xié)議解析、規(guī)則解析和數(shù)據(jù)預(yù)處理。
1.協(xié)議解析。數(shù)據(jù)包捕獲模塊把捕獲的數(shù)據(jù)提交給協(xié)議解析模塊后,協(xié)議解析模塊必須對這些數(shù)據(jù)進行分析,根據(jù)相應(yīng)的協(xié)議把這些分析后的數(shù)據(jù)放到指定的數(shù)據(jù)結(jié)構(gòu)中,供上層模塊調(diào)用。同時協(xié)議解析模塊還要對這些數(shù)據(jù)包進行一些基本的校驗,如出現(xiàn)錯誤的數(shù)據(jù)包,及時丟棄。
協(xié)議解析模塊設(shè)計了一些對數(shù)據(jù)報進行表述的數(shù)據(jù)結(jié)構(gòu),在這些數(shù)據(jù)結(jié)構(gòu)中,存放數(shù)據(jù)的Packet結(jié)構(gòu)是其中最為關(guān)鍵的一個,數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu)如下在數(shù)據(jù)包解碼時,首先判斷以太網(wǎng)封裝的協(xié)議是否為IP協(xié)議,如果不是,則直接返回。否則首先解析出IP頭部,再根據(jù)所封裝的協(xié)議,并分別對TCP,UDP,ICMP解析,將各項值寫入Packet結(jié)構(gòu)中對應(yīng)的字段。
2.規(guī)則解析。在本系統(tǒng)中,采用了Snort的入侵行為描述方法。這種描述方法簡單、易于實現(xiàn),能夠描述絕大多數(shù)的入侵行為。
Snort的規(guī)則在邏輯上分為兩部分:規(guī)則頭(Rule Header)和規(guī)則選項(Rule Option)。規(guī)則頭部分包括:規(guī)則行為(rules action)、協(xié)議(protocol)、源/目的IP地址、子網(wǎng)掩碼以及源/目的端口。規(guī)則選項包含了所要顯示給用戶查看的警告信息,以及用來判定此報文是否為攻擊報文的其他信息。
3.?dāng)?shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理模塊的作用就是對網(wǎng)絡(luò)數(shù)據(jù)進行預(yù)先處理,從而方便隨后的檢測分析。另外,我們可以發(fā)現(xiàn),基于規(guī)則的檢測引擎并不能檢測所有的入侵,尤其是針對有效載荷的檢測,而像端口掃描、SYN Flooding等攻擊,按照前面所述的方法很難對它們的特征進行提取。因此,需要特殊情況特殊處理,而數(shù)據(jù)預(yù)處理就是一個很好的選擇。通過數(shù)據(jù)預(yù)處理可以用一種特殊的方式對數(shù)據(jù)包進行分析,如果在數(shù)據(jù)預(yù)處理模塊中發(fā)現(xiàn)了攻擊行為,此時就可以不再需要檢測分析模塊進一步處理了。
參考文獻:
[1]薛靜鋒、寧宇鵬、閻慧編著,入侵檢測技術(shù)[M].北京:機械工業(yè)出版社,2004.
[2]覃伯平、周賢偉等,基于模糊方法的綜合評判入侵檢測系統(tǒng)[J].計算機工程,2006.08.
[3]戚玉娥、劉方愛,基于網(wǎng)絡(luò)流量異常的入侵檢測技術(shù)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008.05.
作者簡介:
譚寧,男,漢族,副教授,淄博職業(yè)學(xué)院信息工程系,研究方向:計算機網(wǎng)絡(luò)。