基于網(wǎng)絡(luò)引擎入侵檢測系統(tǒng)的研究與實(shí)現(xiàn)
2.3 檢測舉例
以下是網(wǎng)絡(luò)引擎判斷某個(gè)網(wǎng)絡(luò)數(shù)據(jù)包是否是CGI攻擊的一個(gè)示例,協(xié)議規(guī)范指出以太網(wǎng)絡(luò)數(shù)據(jù)包中第13字節(jié)處包含了2個(gè)字節(jié)的第三層協(xié)議標(biāo)識(shí)。本入侵檢測系統(tǒng)利用該知識(shí)開始第1步檢測:跳過前面12個(gè)字節(jié),讀取13字節(jié)處的2字節(jié)協(xié)議標(biāo)識(shí):08。根據(jù)協(xié)議規(guī)范可以判斷這個(gè)網(wǎng)絡(luò)數(shù)據(jù)包是IP包。IP協(xié)議規(guī)定IP包的第24字節(jié)處有一個(gè)1字節(jié)的第四層協(xié)議標(biāo)識(shí)。因此系統(tǒng)跳過的15到24字節(jié)直接讀取第四層協(xié)議標(biāo)識(shí):06,這個(gè)數(shù)據(jù)包是TCP協(xié)議。TCP協(xié)議在第35字節(jié)處有一個(gè)2字節(jié)的應(yīng)用層協(xié)議標(biāo)識(shí)(端口號(hào))。于是系統(tǒng)跳過第25到34字節(jié)直接讀取第35字節(jié)的端口號(hào):80。
該數(shù)據(jù)包是一個(gè)HTTP協(xié)議的數(shù)據(jù)包。HTTP協(xié)議規(guī)定第55字節(jié)是URL開始處,檢測特征“GET/cgi—bin/./phf”,因此對(duì)這個(gè)URL進(jìn)行模式匹配??梢钥闯?,利用協(xié)議分析可以減小模式匹配的計(jì)算量,提高匹配的精確度,減少誤報(bào)率。
3 主機(jī)代理
基于主機(jī)的入侵檢測要依賴于特定的操作系統(tǒng)和審計(jì)跟蹤日志獲取信息,此類系統(tǒng)的原始數(shù)據(jù)來源受到所依附具體操作系統(tǒng)平臺(tái)的限制,系統(tǒng)的實(shí)現(xiàn)主要針對(duì)某種特定的系統(tǒng)平臺(tái),在環(huán)境適應(yīng)性、可移植性方面問題較多。在獲取高層信息以及實(shí)現(xiàn)一些特殊功能時(shí),如針對(duì)系統(tǒng)資源情況的審計(jì)方面具有無法替代的作用。本文設(shè)計(jì)的入侵檢測系統(tǒng)應(yīng)用于Windows操作系統(tǒng)。
3.1 數(shù)據(jù)來源
主機(jī)代理的數(shù)據(jù)來源不像網(wǎng)絡(luò)引擎的數(shù)據(jù)來源那樣單一,它可以在系統(tǒng)所能夠訪問的所有地方獲得數(shù)據(jù)來分析。網(wǎng)安入侵檢測系統(tǒng)主機(jī)代理的數(shù)據(jù)來源有:
1)系統(tǒng)和網(wǎng)絡(luò)日志文件 黑客經(jīng)常在系統(tǒng)日志文件中留下他們的蹤跡,因此,充分利用系統(tǒng)和網(wǎng)絡(luò)日志文件信息是檢測入侵的必要條件。日志中包含發(fā)生在系統(tǒng)和網(wǎng)絡(luò)上的不尋常和不期望活動(dòng)的證據(jù),這些證據(jù)可以指出有人正在入侵或己成功入侵了系統(tǒng)。通過查看日志文件,能夠發(fā)現(xiàn)成功的入侵或入侵企圖,并很快地啟動(dòng)相應(yīng)的應(yīng)急響應(yīng)程序。日志文件中記錄了各種行為類型,每種類型又包含不同的信息,例如記錄“用戶活動(dòng)”類型的日志,就包含登錄、用戶ID改變、用戶對(duì)文件的訪問、授權(quán)和認(rèn)證信息等內(nèi)容。很顯然地,對(duì)用戶活動(dòng)來講,不正常的或不期望的行為就是重復(fù)登錄失敗、登錄到不期望的位置以及非授權(quán)的企圖訪問重要文件等等。
2)目錄和文件中的不期望的改變 網(wǎng)絡(luò)環(huán)境中的文件系統(tǒng)包含很多軟件和數(shù)據(jù)文件,包含重要信息的文件和私有數(shù)據(jù)文件經(jīng)常是黑客修改或破壞的目標(biāo)。目錄和文件中的不期望的改變(包括增加、刪除、修改),特別是那些正常情況下限制訪問的,很可能就是一種入侵產(chǎn)生的指示和信號(hào)。黑客經(jīng)常替換、修改和破壞他們獲得訪問權(quán)的系統(tǒng)上的文件,同時(shí)為了隱藏系統(tǒng)中他們的表現(xiàn)及活動(dòng)痕跡,都會(huì)盡力去替換系統(tǒng)程序或修改系統(tǒng)日志文件。
3)程序執(zhí)行中的不期望行為 網(wǎng)絡(luò)系統(tǒng)上的程序執(zhí)行一般包括操作系統(tǒng)、網(wǎng)絡(luò)服務(wù)、用戶啟動(dòng)的程序和特定目的的應(yīng)用,例如數(shù)據(jù)庫服務(wù)器。每個(gè)在系統(tǒng)上執(zhí)行的程序由一到多個(gè)進(jìn)程來實(shí)現(xiàn)。每個(gè)進(jìn)程執(zhí)行在具有不同權(quán)限的環(huán)境中,這種環(huán)境控制著進(jìn)程可訪問的系統(tǒng)資源、程序和數(shù)據(jù)文件等。一個(gè)進(jìn)程的執(zhí)行行為由它運(yùn)行時(shí)執(zhí)行的操作來表現(xiàn),操作執(zhí)行的方式不同,它利用的系統(tǒng)資源也就不同。操作包括計(jì)算、文件傳輸、設(shè)備和其它進(jìn)程,以及與網(wǎng)絡(luò)間其他進(jìn)程的通訊。一個(gè)進(jìn)程出現(xiàn)了不期望的行為可能表明黑客正在入侵你的系統(tǒng)。黑客可能會(huì)將程序或服務(wù)的運(yùn)行分解,從而導(dǎo)致它失敗,或者是以非用戶或管理員意圖的方式操作。
3.2 代理結(jié)構(gòu)
從以上可以看出,主機(jī)代理的數(shù)據(jù)來源比網(wǎng)絡(luò)引擎復(fù)雜得多,由于數(shù)據(jù)源的不同,分析方法也各不一樣。本系統(tǒng)的主機(jī)代理分為日志分析、文件檢測、用戶行為監(jiān)測、主機(jī)網(wǎng)絡(luò)接口檢測。
4 結(jié)束語
本文設(shè)計(jì)的入侵檢測系統(tǒng)使用了網(wǎng)絡(luò)引擎來檢測流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)包,一個(gè)網(wǎng)絡(luò)引擎可以監(jiān)視具有多臺(tái)主機(jī)的整個(gè)網(wǎng)段,從路由器的基礎(chǔ)設(shè)施到應(yīng)用程序的訪問,可以說網(wǎng)絡(luò)引擎能夠檢測企業(yè)網(wǎng)絡(luò)中所有組件所受到的攻擊。不過網(wǎng)絡(luò)引擎在下列情況下也有局限性:
1)快速網(wǎng)絡(luò) 隨著網(wǎng)絡(luò)速度的加快,有時(shí)候網(wǎng)絡(luò)引擎的工作速度無法跟上網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)乃俣取?br /> 2)加密數(shù)據(jù) 如果網(wǎng)絡(luò)數(shù)據(jù)被加密的話,網(wǎng)絡(luò)引擎即不能起作用,原因是它無法正確地“看到”網(wǎng)絡(luò)數(shù)據(jù)。
3)交換網(wǎng)絡(luò) 在交換網(wǎng)絡(luò)中,是不可能從一個(gè)中央位置處看見所有網(wǎng)絡(luò)數(shù)據(jù)的。因?yàn)橥ǔ>W(wǎng)絡(luò)數(shù)據(jù)都是停留在交換的網(wǎng)段內(nèi)部。而利用主機(jī)代理,就不受上述情況的限制。利用網(wǎng)絡(luò)引擎和主機(jī)代理,將基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)和基于主機(jī)的入侵檢測系統(tǒng)結(jié)合起來,就構(gòu)成了實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測的比較可靠的解決方案。本文引用地址:http://butianyuan.cn/article/155975.htm
c++相關(guān)文章:c++教程
評(píng)論