版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(Snort)研究</p><p> 摘 要;互聯(lián)網(wǎng)絡(luò)的蓬勃發(fā)展給人們的工作生活帶來(lái)極大的便利,然而,隨著現(xiàn)代化網(wǎng)絡(luò)應(yīng)用的普及,伴隨而來(lái)的網(wǎng)絡(luò)不安全因素也給網(wǎng)絡(luò)信息安全帶來(lái)了嚴(yán)峻挑戰(zhàn),傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)已經(jīng)很難對(duì)付這些日益嚴(yán)重的安全威脅,所以我們就有必要去開(kāi)發(fā)專門的工具去避免這</p><p> 些不安全因素的攻擊,而入侵檢測(cè)技術(shù)便可以作為一種很
2、重要的技術(shù)為我們所用。</p><p> 入侵檢測(cè)是網(wǎng)絡(luò)安全領(lǐng)域中一個(gè)較新的課題,檢測(cè)引擎作為入侵檢測(cè)系統(tǒng)的核心模塊,其檢測(cè)速度快慢直接影響網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的效率,模式匹配是入侵檢測(cè)系統(tǒng)的重要檢測(cè)方法,其性能對(duì)入侵檢測(cè)系統(tǒng)至關(guān)重要。入侵檢測(cè)系統(tǒng)按照數(shù)據(jù)分析模式來(lái)分,可以分為異常入侵檢測(cè)和誤用入侵檢測(cè),對(duì)于當(dāng)前基于模式匹配的誤用入侵檢測(cè)系統(tǒng)來(lái)說(shuō),入侵檢測(cè)的檢測(cè)效率主要體現(xiàn)在模式匹配的速度,好的模式匹配算法是提高入
3、侵檢測(cè)速度的關(guān)鍵所在。</p><p> 本論文首先介紹研究了網(wǎng)絡(luò)入侵檢測(cè)的概況,然后深入的研究了snort的詳細(xì)信息,包括其特點(diǎn),結(jié)構(gòu)和其檢測(cè)流程等,論文較重點(diǎn)的配置了snort在windows下的工作環(huán)境,做了簡(jiǎn)單的實(shí)驗(yàn),來(lái)展現(xiàn)snort的DOS下的工作過(guò)程和與php,acid等可圖形顯示下的數(shù)據(jù)瀏覽與操作。</p><p> 關(guān)鍵詞:網(wǎng)絡(luò)安全;snort;入侵檢測(cè);模式匹配<
4、;/p><p><b> 1 緒 論</b></p><p> 1.1 研究的目的與意義</p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,其應(yīng)用領(lǐng)域也在不斷地?cái)U(kuò)展,網(wǎng)絡(luò)技術(shù)的應(yīng)用已經(jīng)從傳統(tǒng)的小型業(yè)務(wù)系統(tǒng)逐漸擴(kuò)展到大型的關(guān)鍵業(yè)務(wù)系統(tǒng)中,比如說(shuō)金融業(yè)務(wù)系統(tǒng)、電子商務(wù)系統(tǒng)等等,政府門戶信息系統(tǒng)等。然而,隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)安全問(wèn)題也日益突出。比如
5、說(shuō)金融系統(tǒng)、政府信息系統(tǒng)受到外界的攻擊與破壞,信息容易被竊取和修改等網(wǎng)絡(luò)安全問(wèn)題越來(lái)越嚴(yán)重。所以說(shuō),網(wǎng)絡(luò)安全問(wèn)題已成為各國(guó)政府、企業(yè)以及廣大網(wǎng)絡(luò)用戶關(guān)心的問(wèn)題之一。</p><p> 任何試圖破壞網(wǎng)絡(luò)活動(dòng)的正?;伎梢苑Q為網(wǎng)絡(luò)安全問(wèn)題,過(guò)去保護(hù)網(wǎng)絡(luò)安全的最常用、最傳統(tǒng)的方法就是防火墻,但是防火墻只是一種被動(dòng)防御性的網(wǎng)絡(luò)安全工具,隨著科學(xué)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)日趨復(fù)雜化,傳統(tǒng)防火墻是不足以滿足如今復(fù)雜多變的網(wǎng)絡(luò)安全
6、問(wèn)題,在這種情況下,逐漸產(chǎn)生了入侵檢測(cè)系統(tǒng),入侵檢測(cè)系統(tǒng)不僅能夠?yàn)榫W(wǎng)絡(luò)安全提供實(shí)時(shí)的入侵檢測(cè)及采取響應(yīng)的防護(hù)手段,它還可以識(shí)別針對(duì)計(jì)算機(jī)或網(wǎng)絡(luò)資源的惡意企圖和行為,并對(duì)此做出反應(yīng),它提供了對(duì)系統(tǒng)受到內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),能夠幫助系統(tǒng)對(duì)付網(wǎng)絡(luò)攻擊。入侵檢測(cè)系統(tǒng)能很好的彌補(bǔ)防火墻的不足,是防火墻的合理完善。</p><p> 入侵檢測(cè)系統(tǒng)具有以下幾個(gè)特點(diǎn):</p><p>
7、 1)從系統(tǒng)的不同環(huán)節(jié)收集各種信息;</p><p> 2)分析收集到的信息并試圖尋找入侵信息活動(dòng)的特征;</p><p> 3)自動(dòng)對(duì)檢測(cè)到的行為做出響應(yīng);</p><p> 4)記錄并報(bào)告檢測(cè)結(jié)果;</p><p> 入侵檢測(cè)系統(tǒng)的主要功能有:</p><p> 1)監(jiān)測(cè)并分析用戶和系統(tǒng)的活動(dòng);</
8、p><p> 2)核查系統(tǒng)配置及其漏洞;</p><p> 3)評(píng)估系統(tǒng)重要資源和數(shù)據(jù)文件是否完整;</p><p> 4)識(shí)別己知的入侵行為;</p><p> 5)統(tǒng)計(jì)分析不正常行為;</p><p> 6)根據(jù)操作系統(tǒng)的管理日志,識(shí)別違反安全策略的用戶活動(dòng);</p><p> 入侵
9、檢測(cè)技術(shù)是一種積極主動(dòng)地安全防護(hù)技術(shù),其核心在于它的檢測(cè)引擎,如何實(shí)現(xiàn)高效快速的檢測(cè),是入侵檢測(cè)技術(shù)的一個(gè)重要研究重點(diǎn)。目前入侵檢測(cè)技術(shù)主要分為兩大類,分別是基于異常的入侵檢測(cè)和基于規(guī)則的入侵檢測(cè)。由于目前的攻擊主要是針對(duì)網(wǎng)絡(luò)的攻擊,因此檢測(cè)入侵和攻擊的最主要的方法是捕獲和分析網(wǎng)絡(luò)數(shù)據(jù)包,使用相應(yīng)的軟件來(lái)提取入侵者所發(fā)出的攻擊包的特征,然后將這些特征攻擊包和入侵檢測(cè)系統(tǒng)的特征庫(kù)進(jìn)行對(duì)比匹配,如果在特征庫(kù)中檢測(cè)到相應(yīng)的攻擊包,就會(huì)發(fā)出入侵
10、報(bào)警。在與特征庫(kù)進(jìn)行匹配的過(guò)程中,用到的最主要的技術(shù)就是模式匹配,所以說(shuō)在入侵檢測(cè)系統(tǒng)中模式匹配是一個(gè)研究重點(diǎn)。在國(guó)內(nèi),隨著網(wǎng)絡(luò)應(yīng)用的日益增長(zhǎng),特別是那些關(guān)鍵部門對(duì)網(wǎng)絡(luò)的應(yīng)用使得網(wǎng)絡(luò)安全問(wèn)題至關(guān)重要,迫切需要高效的入侵檢測(cè)產(chǎn)品來(lái)確保網(wǎng)絡(luò)安全,但是,由于我國(guó)的入侵檢測(cè)技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域的研究起步較晚,還不夠成熟和完善,需要投入較多的精力來(lái)對(duì)這方面進(jìn)行探索研究,特別是基于模式匹配也就是基于規(guī)則的入侵檢測(cè)是一個(gè)重要的研究領(lǐng)域,這對(duì)抑制黑客攻擊
11、和網(wǎng)絡(luò)病毒的傳播,提高網(wǎng)絡(luò)安全具有重要意義</p><p> 1.2 入侵檢測(cè)技術(shù)的不足與發(fā)展趨勢(shì)</p><p> 入侵檢測(cè)技術(shù)作為安全技術(shù)的一個(gè)重要領(lǐng)域,正在成為網(wǎng)絡(luò)安全研究的熱點(diǎn),對(duì)入侵檢測(cè)的理論研究和實(shí)際應(yīng)用中還存在著許多問(wèn)題,需要我們繼續(xù)深入研究和探索,具體來(lái)說(shuō),入侵檢測(cè)在以下方面有待繼續(xù)發(fā)展:</p><p> 1)如何提高入侵檢測(cè)的安全性和準(zhǔn)確性
12、</p><p> 目前商用領(lǐng)域的入侵檢測(cè)系統(tǒng)主要是基于模式匹配的入侵檢測(cè)引擎。這種基于模式匹配的入侵檢測(cè)引擎是將入侵?jǐn)?shù)據(jù)與攻擊模式特征庫(kù)進(jìn)行匹配,其缺點(diǎn)是:當(dāng)網(wǎng)絡(luò)中出現(xiàn)新的攻擊時(shí),由于攻擊特征庫(kù)未能及時(shí)更新,或是暫時(shí)很難對(duì)這些攻擊的攻擊特進(jìn)行總結(jié)等,從而對(duì)這些新的攻擊無(wú)法產(chǎn)生報(bào)警,造成漏報(bào)。另外,大多入侵檢測(cè)無(wú)法識(shí)別偽裝或變形的網(wǎng)絡(luò)攻擊,也造成大量漏報(bào)和誤報(bào)。因此減少網(wǎng)絡(luò)負(fù)擔(dān),實(shí)現(xiàn)模式特征庫(kù)的不斷升級(jí)與擴(kuò)展,
13、這是對(duì)基于模式匹配的入侵檢測(cè)系統(tǒng)來(lái)講,提高入侵檢測(cè)的安全性和準(zhǔn)確性有很大幫助,從而使基于模式匹配的入侵檢測(cè)系統(tǒng)具有更廣泛的應(yīng)用前景。</p><p> 2)如何提高入侵檢測(cè)的檢測(cè)速度</p><p> 入侵檢測(cè)系統(tǒng)的檢測(cè)速度是其一項(xiàng)非常重要的指標(biāo),隨著網(wǎng)絡(luò)數(shù)據(jù)快速增長(zhǎng),不僅要求網(wǎng)絡(luò)傳輸工具技術(shù)的不斷發(fā)展,而且如果入侵檢測(cè)的處理速度不能相應(yīng)提高,那么它將會(huì)成為影響網(wǎng)絡(luò)正常運(yùn)行的一大瓶頸,
14、從而導(dǎo)致丟包,漏報(bào)等,進(jìn)一步影響入侵檢測(cè)系統(tǒng)的準(zhǔn)確性和有效性。在入侵檢測(cè)中,隨著百兆、甚至千兆網(wǎng)絡(luò)的大量應(yīng)用,入侵檢測(cè)技術(shù)發(fā)展的速度已經(jīng)遠(yuǎn)遠(yuǎn)落后于網(wǎng)絡(luò)發(fā)展的速度。如何提高入侵檢測(cè)系統(tǒng)的檢測(cè)速度是目前研究者們迫不及待的任務(wù),如改進(jìn)其使用的核心算法,設(shè)計(jì)靈巧的檢測(cè)系統(tǒng)等。</p><p> 3)如何提高入侵檢測(cè)的理論研究</p><p> 現(xiàn)在,入侵檢測(cè)技術(shù)研究理論在我國(guó)還不成熟,如何選擇
15、合適的檢測(cè)技術(shù)以確保入侵檢測(cè)的高效性還不確定,隨著計(jì)算機(jī)科學(xué)不斷向前發(fā)展,計(jì)算機(jī)科學(xué)中的各種領(lǐng)域技術(shù)也有待進(jìn)一步完善,如網(wǎng)絡(luò)技術(shù)、系統(tǒng)工程、分布式計(jì)算、人工智能等已形成比較良好的理論基礎(chǔ),借鑒上述技術(shù),再把入侵檢測(cè)和網(wǎng)絡(luò)結(jié)構(gòu)、加密技術(shù)、防火墻、病毒防護(hù)技術(shù)等結(jié)合起來(lái),結(jié)合入侵檢測(cè)理論本身的特點(diǎn),必將會(huì)提高、完善入侵檢測(cè)的理論研究。</p><p> 4)如何規(guī)范入侵檢測(cè)產(chǎn)品的性能</p><
16、p> 標(biāo)準(zhǔn)化的工作對(duì)于一項(xiàng)技術(shù)的發(fā)展非常關(guān)鍵,在某一個(gè)技術(shù)領(lǐng)域,如果沒(méi)有相應(yīng)的標(biāo)準(zhǔn),那么該領(lǐng)域的發(fā)展將是混亂無(wú)章的。目前對(duì)于入侵檢測(cè)產(chǎn)品尚無(wú)一個(gè)明確的國(guó)際標(biāo)準(zhǔn)出臺(tái),國(guó)內(nèi)也沒(méi)有,這使得各產(chǎn)品之間無(wú)法共享數(shù)據(jù)信息。盡管入侵檢測(cè)系統(tǒng)經(jīng)歷了二十多年的發(fā)展,但產(chǎn)品規(guī)范仍處于一個(gè)無(wú)序狀態(tài),實(shí)際上,入侵檢測(cè)還處在一個(gè)新興的科學(xué)領(lǐng)域,如何規(guī)范入侵檢測(cè)產(chǎn)品性能,研究者們對(duì)其還是充滿信心,相信隨著科技的繼續(xù)發(fā)展、入侵檢測(cè)理論的不斷成熟,入侵檢測(cè)產(chǎn)品
17、的標(biāo)準(zhǔn)會(huì)出現(xiàn)的,從而加快入侵檢測(cè)技術(shù)的不斷向前發(fā)展。</p><p> 2 入侵檢測(cè)系統(tǒng)概述</p><p> 2.1入侵檢測(cè)系統(tǒng)的概述</p><p> 入侵檢測(cè)系統(tǒng)(Intrusion Detection System簡(jiǎn)稱為IDS)工作在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中的關(guān)鍵節(jié)點(diǎn)上,通過(guò)實(shí)時(shí)地收集和分析計(jì)算機(jī)網(wǎng)絡(luò)或系統(tǒng)中的信息,來(lái)檢查是否出現(xiàn)違反安全策略的行為和是否存在入
18、侵的跡象,進(jìn)而達(dá)到提示入侵、預(yù)防攻擊的目的。入侵檢測(cè)系統(tǒng)作為一種主動(dòng)防護(hù)的網(wǎng)絡(luò)安全技術(shù),有效擴(kuò)展了系統(tǒng)維護(hù)人員的安全管理能力,例如安全審計(jì)、監(jiān)視、攻擊識(shí)別和響應(yīng)的能力。通過(guò)利用入侵檢測(cè)系統(tǒng),可以有效地防止或減輕來(lái)自網(wǎng)絡(luò)的威脅,它已經(jīng)成為防火墻之后的又一道安全屏障,并在各種不同的環(huán)境中發(fā)揮關(guān)鍵作用。</p><p> 從實(shí)驗(yàn)室原型研究到推出商業(yè)化產(chǎn)品、走向市場(chǎng)并獲得廣泛認(rèn)同,入侵檢測(cè)走過(guò)了20多年的歷程。 <
19、;/p><p><b> 概念提出</b></p><p> 1980年4月,JnamesP.Aderson為美國(guó)空軍做了一份題為“Computer Security ThreatMonitoring and Sureillance”(計(jì)算機(jī)安全威脅監(jiān)控與監(jiān)視)的技術(shù)報(bào)告,第一次詳細(xì)的闡述了入侵檢測(cè)的概念。他提出了一種對(duì)計(jì)算機(jī)系統(tǒng)風(fēng)險(xiǎn)和威脅的分類方法,并將威脅分為了外
20、部滲透、內(nèi)部滲透和不法行為三種,還提出了利用審計(jì)跟蹤數(shù)據(jù)監(jiān)視入侵活動(dòng)的思想。這份報(bào)告被公認(rèn)為是入侵檢測(cè)的開(kāi)山之作。 </p><p><b> 模型的發(fā)展</b></p><p> 1984年-1986年,喬治敦大學(xué)的Dorothy Denning和SRI/CSL(SRI公司計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室)的Peter Neumann研究出了一種實(shí)時(shí)入侵檢測(cè)系統(tǒng)模型,取名為ID
21、ES(入侵檢測(cè)專家系統(tǒng))。 該模型獨(dú)立于特定的系統(tǒng)平臺(tái)、應(yīng)用環(huán)境、系統(tǒng)弱點(diǎn)以及入侵類型,為構(gòu)建入侵系統(tǒng)提供了一個(gè)通用的框架。 </p><p> 1988年,SRI/CSL的Teresa Lunt等改進(jìn)了Denning的入侵檢測(cè)模型,并研發(fā)出了實(shí)際的IDES。 </p><p> 1990年時(shí)入侵檢測(cè)系統(tǒng)發(fā)展史上十分重要的一年。這一年,加州大學(xué)戴維斯分校的L.T.Heberlein等開(kāi)
22、發(fā)出了NSM(Network Security Monitor)。該系統(tǒng)第一次直接將網(wǎng)絡(luò)作為審計(jì)數(shù)據(jù)的來(lái)源,因而可以在不將審計(jì)數(shù)計(jì)轉(zhuǎn)化成統(tǒng)一的格式情況下監(jiān)控異種主機(jī)。同時(shí)兩大陣營(yíng)正式形成:基于網(wǎng)絡(luò)的IDS和基于主機(jī)的IDS。 </p><p> 1988年的莫里斯蠕蟲事件發(fā)生后,網(wǎng)絡(luò)安全才真正引起各方重視。美國(guó)空軍、國(guó)家安全局和能源部共同資助空軍密碼支持中心、勞倫斯利弗摩爾國(guó)家實(shí)驗(yàn)室、加州大學(xué)戴維斯分校、Hay
23、stack實(shí)驗(yàn)室,開(kāi)展對(duì)分布式入侵檢測(cè)系統(tǒng)(DIDS)的研究,將基于主機(jī)和基于網(wǎng)絡(luò)的檢測(cè)方法集成到一起。 </p><p><b> 技術(shù)的進(jìn)步</b></p><p> 從20世紀(jì)90年代到現(xiàn)在,入侵檢測(cè)系統(tǒng)的研發(fā)呈現(xiàn)出百家爭(zhēng)鳴的繁榮局面,并在智能化和分布式兩個(gè)方向取得了長(zhǎng)足的進(jìn)展。目前,SRI/CSL、普渡大學(xué)、加州戴維斯分校、洛斯阿拉莫斯國(guó)家實(shí)驗(yàn)室、哥倫比亞
24、大學(xué)、新墨西哥大學(xué)等機(jī)構(gòu)在這些方面代表了當(dāng)前的最高水平。我國(guó)也有多家企業(yè)通過(guò)最初的技術(shù)引進(jìn),逐漸發(fā)展成自主研發(fā)。</p><p> 2.2 入侵檢測(cè)系統(tǒng)分類</p><p> 基于主機(jī)IDS部署在單主機(jī)上,利用操作系統(tǒng)產(chǎn)生的日志記錄作為主要信息源,通過(guò)對(duì)其進(jìn)行審計(jì),檢測(cè)入侵行為?;谥鳈C(jī)IDS不對(duì)網(wǎng)絡(luò)數(shù)據(jù)包或掃描配置進(jìn)行檢查,而是對(duì)系統(tǒng)日志提供的大量數(shù)據(jù)進(jìn)行整理。早期的系統(tǒng)多為基于主機(jī)
25、的,主要用來(lái)檢測(cè)內(nèi)部網(wǎng)絡(luò)的入侵攻擊。后來(lái)用分布主機(jī)代理來(lái)實(shí)現(xiàn)。</p><p><b> 其主要優(yōu)點(diǎn):</b></p><p> 信息源(0S日志記錄)完備。系統(tǒng)產(chǎn)生的日志是歸類有序的。它準(zhǔn)確記錄了每個(gè)用戶的行為序列,這樣便可以精確監(jiān)控每個(gè)用戶的行為。同時(shí)也使得IDS對(duì)信息源的處理簡(jiǎn)單、一致。對(duì)某些特定的攻擊十分有效。比如,審計(jì)日志能夠顯示出由緩沖區(qū)溢出攻擊引起的
26、優(yōu)先級(jí)轉(zhuǎn)移的情況,從而能夠有效的檢測(cè)緩沖區(qū)溢出攻擊。</p><p><b> 其主要缺點(diǎn):</b></p><p> 1)由于它通常作為用戶進(jìn)程運(yùn)行,依賴于具體的操作系統(tǒng)底層的支持,與系統(tǒng)的體系結(jié)構(gòu)有關(guān),所以它無(wú)法了解發(fā)生在下層協(xié)議的入侵活動(dòng);</p><p> 2)熟練的入侵者往往可以進(jìn)入系統(tǒng)修改、刪除有關(guān)的日志記錄,從而隱藏入侵跡象
27、;</p><p> 3)HIDS位于所監(jiān)視的每一個(gè)主機(jī)中,故占用的資源不能太多,從而大大制了所采用的檢測(cè)方法及處理性能。</p><p> 基于網(wǎng)絡(luò)的IDS最早出現(xiàn)于1990年。它主要用于防御外部入侵攻擊。它通過(guò)監(jiān)控出入網(wǎng)絡(luò)的通信數(shù)據(jù)流,依據(jù)一定規(guī)則對(duì)數(shù)據(jù)流的內(nèi)容進(jìn)行分析,從而發(fā)現(xiàn)協(xié)議攻擊、運(yùn)行已知黑客程序的企圖和可能破壞安全策略的特征,做出入侵攻擊判斷。</p>&l
28、t;p> 為了能夠捕獲入侵攻擊行為,基于網(wǎng)絡(luò)IDS必須位于能夠看到所以數(shù)據(jù)包的位置,這包括:環(huán)網(wǎng)內(nèi)部、安全網(wǎng)絡(luò)中緊隨防火墻之后以及其它子網(wǎng)的路由器或網(wǎng)關(guān)之后。最佳位置便是位于Internet到內(nèi)部網(wǎng)絡(luò)的接入點(diǎn)。但是,同一子網(wǎng)的2個(gè)節(jié)點(diǎn)之間交換數(shù)據(jù)報(bào)文并且交換數(shù)據(jù)報(bào)文不經(jīng)過(guò)IDS,那么IDS可能就會(huì)忽略這些攻擊。</p><p> 基于網(wǎng)絡(luò)IDS的主要優(yōu)點(diǎn):</p><p> 1
29、)由于NIDS直接收集網(wǎng)絡(luò)數(shù)據(jù)包,而網(wǎng)絡(luò)協(xié)議是標(biāo)準(zhǔn)的。因此,NIDS如目標(biāo)系統(tǒng)的體系結(jié)構(gòu)無(wú)關(guān),可用于監(jiān)視結(jié)構(gòu)不同的各類系統(tǒng);</p><p> 2)NIDS使用原始網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行檢測(cè),因此它所收集的審計(jì)數(shù)據(jù)被篡改的可能性很小,而且它不影響被保護(hù)系統(tǒng)的性能;</p><p> 3)NIDS利用工作在混雜模式下的網(wǎng)卡實(shí)時(shí)監(jiān)視和分析所有的通過(guò)共享式網(wǎng)絡(luò)的傳輸,能夠?qū)崟r(shí)得到目標(biāo)系統(tǒng)與外界交互的
30、所有信息,包括一些隱蔽的端口掃描和沒(méi)有成功的入侵嘗試。</p><p> 基于網(wǎng)絡(luò)IDS的主要缺點(diǎn):</p><p> 1)缺乏終端系統(tǒng)對(duì)待定數(shù)據(jù)的處理方法等信息,使得從原始的數(shù)據(jù)包中重構(gòu)應(yīng)用層信息很困難。因此,NIDS難以檢測(cè)發(fā)生在應(yīng)用層的攻擊;而對(duì)于加密傳輸方式進(jìn)行的入侵,NIDS也無(wú)能為力;</p><p> 2)NIDS只檢查它直接連接網(wǎng)段的通信,不能
31、檢測(cè)到不同網(wǎng)段的網(wǎng)絡(luò)包,因此在交換式局域網(wǎng)中,它難以獲得不同交換端口的網(wǎng)絡(luò)信息:</p><p> 3)網(wǎng)絡(luò)流的數(shù)據(jù)量大,NIDS必須對(duì)數(shù)據(jù)幀進(jìn)行解碼才能了解其中的含義。因此,NIDS的數(shù)據(jù)處理量大,而造成處理能力不足。</p><p> 2.3 入侵檢測(cè)技術(shù)</p><p><b> 異常檢測(cè)</b></p><p&
32、gt; 異常檢測(cè)的假設(shè)是入侵者活動(dòng)異常于正常主體的活動(dòng)。根據(jù)這一理念建立主體正常活動(dòng)的“活動(dòng)簡(jiǎn)檔”,將當(dāng)前主體的活動(dòng)狀況與“活動(dòng)簡(jiǎn)檔”相比較,當(dāng)違反其統(tǒng)計(jì)規(guī)律時(shí),認(rèn)為該活動(dòng)可能是“入侵”行為。異常檢測(cè)的難題在于如何建立“活動(dòng)簡(jiǎn)檔”以及如何設(shè)計(jì)統(tǒng)計(jì)算法,從而不把正常的操作作為“入侵”或忽略真正的“入侵”行為。</p><p><b> 特征檢測(cè)</b></p><p&g
33、t; 特征檢測(cè)這一檢測(cè)假設(shè)入侵者活動(dòng)可以用一種模式來(lái)表示,系統(tǒng)的目標(biāo)是檢測(cè)主體活動(dòng)是否符合這些模式。它可以將已有的入侵方法檢查出來(lái),但對(duì)新的入侵方法無(wú)能為力。其難點(diǎn)在于如何設(shè)計(jì)模式既能夠表達(dá)“入侵”現(xiàn)象又不會(huì)將正常的活動(dòng)包含進(jìn)來(lái)。</p><p> 2.4 入侵檢測(cè)系統(tǒng)主流產(chǎn)品</p><p> 近年來(lái),國(guó)內(nèi)外不少?gòu)S家生產(chǎn)了自己的入侵檢測(cè)產(chǎn)品。這些產(chǎn)品己經(jīng)得到了廣泛的應(yīng)用,下面簡(jiǎn)要介
34、紹一下國(guó)內(nèi)外的一些產(chǎn)品。</p><p> 1)Cisco公司的Cisco Secure IDS</p><p> Cisco Secure IDS以前被稱為NetRanger,該產(chǎn)品由控制器(Director)、感應(yīng)器(Sensor)和入侵檢測(cè)模塊IDSM(Intrusion Detection System Module)三大組成部分組成。感應(yīng)器分為網(wǎng)絡(luò)感應(yīng)器(NIDS)和主機(jī)感應(yīng)
35、器(HIDS)兩部分,分別負(fù)責(zé)對(duì)網(wǎng)絡(luò)信息和主機(jī)信息的收集和分析處理??刂破饔糜趯?duì)系統(tǒng)進(jìn)行控制和管理。</p><p> Cisco Secure IDS的另一個(gè)強(qiáng)項(xiàng)是其在檢測(cè)時(shí)不僅觀察單個(gè)包的內(nèi)容,而且還要看上下文,即從多個(gè)包中得到線索。Cisco Secure IDS是目前市場(chǎng)上基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)中經(jīng)受實(shí)踐考驗(yàn)最多的產(chǎn)品之一。</p><p> 2)ISS RealSecure&
36、lt;/p><p> ISS是最早將基于主機(jī)和基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)完全集成到一個(gè)統(tǒng)一的管理框架中的供應(yīng)商之一。 ISS RealSecure具有方便的管理控制臺(tái),其服務(wù)器和網(wǎng)絡(luò)感應(yīng)器近幾年也取得了很快的發(fā)展。</p><p> RealSecure采用分布式的體系結(jié)構(gòu)、系統(tǒng)分為兩層:感應(yīng)器和管理器。感應(yīng)器包括網(wǎng)絡(luò)感應(yīng)器、服務(wù)感應(yīng)器和系統(tǒng)感應(yīng)器三類。網(wǎng)絡(luò)感應(yīng)器主要是對(duì)網(wǎng)絡(luò)數(shù)據(jù)的分析檢測(cè),服
37、務(wù)感應(yīng)器主要是負(fù)責(zé)對(duì)系統(tǒng)日志和系統(tǒng)文件信息的檢測(cè)。管理器包括控制臺(tái)、事件收集器、事件數(shù)據(jù)庫(kù)和告警數(shù)據(jù)庫(kù)四個(gè)部分。</p><p> 3)“冰之眼”網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)</p><p> “冰之眼”網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是綠盟科技開(kāi)發(fā)的網(wǎng)絡(luò)入侵檢測(cè)產(chǎn)品。具有IP碎片重組能力,同時(shí)具有基于特征和異常兩種檢測(cè)模式,能夠提供多種入侵保護(hù)方式,并能與多種防火墻進(jìn)行聯(lián)動(dòng)。全自動(dòng)在線升級(jí)系統(tǒng)使其能夠和綠盟主站
38、點(diǎn)保持規(guī)則庫(kù)的同步更新。</p><p> 4)開(kāi)源入侵檢測(cè)系統(tǒng)Snort</p><p> Snort是以開(kāi)放源代碼(Open Source)形式發(fā)行的一個(gè)高性能、跨平臺(tái)的輕量級(jí)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),在網(wǎng)絡(luò)安全方面有著極高的地位,并且應(yīng)用十分廣泛。在世界著名的專業(yè)安全網(wǎng)站insecure.org進(jìn)行的2006年網(wǎng)絡(luò)安全工具Topl00評(píng)選中,Snort名列三甲,而在入侵檢測(cè)一類中,更是頭
39、名狀元。</p><p> 2.5 入侵檢測(cè)技術(shù)發(fā)展趨勢(shì)</p><p> 入侵檢測(cè)技術(shù)在不斷地發(fā)展更新,近年來(lái)入侵檢測(cè)技術(shù)沿著以下幾個(gè)方向發(fā)展:</p><p> 1)分布式入侵檢測(cè)。為了躲避檢測(cè),越來(lái)越多的攻擊者采用分布式協(xié)同的方式發(fā)起攻擊,傳統(tǒng)的IDS局限于單一的主機(jī)或網(wǎng)絡(luò)架構(gòu),對(duì)異構(gòu)系統(tǒng)及大規(guī)模的網(wǎng)絡(luò)檢測(cè)明顯不足,不同的系統(tǒng)之間不能協(xié)同工作。為解決這一
40、問(wèn)題,需要發(fā)展分布式入侵檢測(cè)技術(shù)與通用入侵檢測(cè)架構(gòu)。</p><p> 2)智能化入侵檢測(cè)。入侵方法越來(lái)越多樣化與綜合化,盡管已經(jīng)有智能代理、神經(jīng)網(wǎng)絡(luò)與遺傳算法在入侵檢測(cè)領(lǐng)域應(yīng)用研究,但這只是一些嘗試性的研究工作,需要對(duì)智能化的IDS加以進(jìn)一步的研究以解決其自學(xué)習(xí)與自適應(yīng)能力。</p><p> 3)應(yīng)用層入侵檢測(cè)。許多入侵活動(dòng)的含義只有在應(yīng)用層才能理解。但傳統(tǒng)方法很少涉及到應(yīng)用層,使
41、得一些應(yīng)用系統(tǒng)內(nèi)的入侵活動(dòng)難以檢測(cè),所以需要開(kāi)發(fā)應(yīng)用層的入侵檢測(cè)技術(shù)。</p><p> 4)全面的安全防御方案。即使用安全工程風(fēng)險(xiǎn)管理的思想與方法來(lái)處理網(wǎng)絡(luò)安全問(wèn)題,將網(wǎng)絡(luò)安全作為一個(gè)整體工程來(lái)處理。從管理、網(wǎng)絡(luò)結(jié)構(gòu)、加密通道、防火墻、病毒防護(hù)、入侵檢測(cè)多方位全面對(duì)所關(guān)注的網(wǎng)絡(luò)作全面的評(píng)估,然后提出可行的全面解決方案。</p><p> 3 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(Snort)研究<
42、/p><p> 3.1 Snort特點(diǎn)</p><p> Snort是一個(gè)以開(kāi)放源代碼形式發(fā)行的一個(gè)功能強(qiáng)大、跨平臺(tái)、輕量級(jí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),最初由 Martin Roesch編寫,并由遍布世界各地的眾多程序員共同維護(hù)和升級(jí)。它利用Libpcap從網(wǎng)絡(luò)中采集數(shù)據(jù)并進(jìn)行分析,從而判斷是否存在可疑的網(wǎng)絡(luò)活動(dòng);就檢測(cè)模式而言,它基本上是基于誤用檢測(cè)技術(shù),對(duì)數(shù)據(jù)進(jìn)行最直接最簡(jiǎn)單的搜索匹配。雖然S
43、nort是一個(gè)輕量級(jí)的入侵檢測(cè)系統(tǒng),但是它的功能卻非常強(qiáng)大,其特點(diǎn)如下:</p><p> 1)Snort代碼短小,簡(jiǎn)潔,而且移植性非常好。目前支持Linux系列,Solaris,BSD系列,IRIX,HP-UNIX,Windows系列等。</p><p> 2)Snort具有實(shí)時(shí)流量分析和日志IP網(wǎng)絡(luò)數(shù)據(jù)包的能力。能夠快速檢測(cè)網(wǎng)絡(luò)攻擊,及時(shí)發(fā)出警報(bào)。它提供的警報(bào)方式很多,比如Sysl
44、og,Unixsocket,WinPopup等。</p><p> 3)Snort能夠進(jìn)行協(xié)議分析,內(nèi)容的匹配和搜索?,F(xiàn)在它能夠分析的協(xié)議有TCP、UDP、和ICMP。將來(lái)可以支持更多IPX、RIP、OSPF等。它能檢測(cè)多種方式的攻擊和探測(cè)。</p><p> 4)Snort具有靈活的日志格式。支持Tcpdump的二進(jìn)制格式,也支持ASCll字符形式,也支持XML格式的,使用數(shù)據(jù)庫(kù)輸出
45、插件,還支持?jǐn)?shù)據(jù)庫(kù)日志格式。當(dāng)前支持的數(shù)據(jù)庫(kù)有Postagresql、Mysql,任何UnixODBC、Microsoft SQL Server、Oracle等。</p><p> 5)使用TCP流插件,Snort可以對(duì)TCP包進(jìn)行重組。這種能力使得Snort可以對(duì)抗“無(wú)狀態(tài)”攻擊。無(wú)狀態(tài)攻擊是指攻擊者每次只發(fā)送一個(gè)字節(jié)的數(shù)據(jù)包,逃過(guò)監(jiān)視,然后被攻擊主機(jī)的TCP棧會(huì)重新組合這些數(shù)據(jù)包,將攻擊數(shù)據(jù)發(fā)送給目標(biāo)端口上
46、監(jiān)聽(tīng)的進(jìn)程,從而擺脫IDS的檢測(cè)。</p><p> 6)使用Spade (Statistical Packet Anomaly Detection Engine)插件,Snort能夠報(bào)告異常的數(shù)據(jù)包,從而對(duì)端口進(jìn)行有效的檢測(cè)。</p><p> 7)Snort還具有很強(qiáng)的系統(tǒng)防護(hù)能力。使用IPTables,IPFilter插件可以使入侵檢測(cè)主機(jī)和防火墻聯(lián)動(dòng),通過(guò)FlexResp功能,
47、Snort能夠命令防火墻斷開(kāi)惡意連接。</p><p> 8)擴(kuò)展性好,對(duì)于新的攻擊威脅反應(yīng)迅速。Snort采用了一種簡(jiǎn)單的規(guī)則描述語(yǔ)言,最基本的規(guī)則知識(shí)包含四個(gè)域:處理動(dòng)作、協(xié)議、方向、端口。可以對(duì)新的攻擊迅速建立規(guī)則表。</p><p> 9)Snort支持插件,可以使用具有特定功能的報(bào)告,檢測(cè)子系統(tǒng)插件對(duì)其進(jìn)行功能擴(kuò)展。當(dāng)前支持的插件有:數(shù)據(jù)庫(kù)日志輸出插件、破碎包檢測(cè)插件、端口掃
48、描檢測(cè)插件、HttpURL插件、XML網(wǎng)頁(yè)生成插件等。</p><p> 3.2 Snort的體系結(jié)構(gòu)</p><p> 圖3-1 Snort的體系結(jié)構(gòu)</p><p> 1)Sniffer(數(shù)據(jù)包嗅探器)</p><p> 該子系統(tǒng)的功能是捕獲網(wǎng)絡(luò)數(shù)據(jù)包并按照TCP/IP協(xié)議的不同層次將數(shù)據(jù)包進(jìn)行解析。Snort利用libpcaP庫(kù)
49、函數(shù)進(jìn)行數(shù)據(jù)采集,該庫(kù)函數(shù)可以為應(yīng)用程序提供直接從鏈路層捕獲數(shù)據(jù)包的接口函數(shù),并可以設(shè)置數(shù)據(jù)包的過(guò)濾器來(lái)捕獲指定的數(shù)據(jù)。網(wǎng)絡(luò)數(shù)據(jù)采集和解析機(jī)制是整個(gè)NIDS實(shí)現(xiàn)的基礎(chǔ),其中關(guān)鍵的是要保證高速和較低的丟包率,這不僅僅取決于軟件的效率還同硬件的處理能力相關(guān)。對(duì)于解析機(jī)制來(lái)說(shuō),能夠處理數(shù)據(jù)包的類型的多樣性也同樣非常重要,目前,Snort可以處理以太網(wǎng),令牌環(huán)以及SLIP等多種類型的包。</p><p><b>
50、; 2)預(yù)處理器</b></p><p> Snort的預(yù)處理器是介于數(shù)據(jù)包嗅探器與檢測(cè)引擎之間的可插入模塊,它的主要思想是在數(shù)據(jù)包送到Snort的檢測(cè)引擎之前提供一個(gè)報(bào)警、丟棄數(shù)據(jù)包或修改數(shù)據(jù)包的框架。</p><p><b> 3)檢測(cè)引擎</b></p><p> 檢測(cè)引擎是Snort的核心。Snort根據(jù)規(guī)則庫(kù)對(duì)預(yù)處
51、理器送來(lái)的數(shù)據(jù)包進(jìn)行匹配檢測(cè)。為了能夠快速而準(zhǔn)確地進(jìn)行檢測(cè),Snort用鏈表的形式對(duì)規(guī)則進(jìn)行組織。檢測(cè)引擎的主要性能指標(biāo)是快速和準(zhǔn)確。為了達(dá)到快速的目的,要求Snort的規(guī)則鏈表要進(jìn)行分類和組織結(jié)構(gòu)優(yōu)化。為了達(dá)到準(zhǔn)確的目的,要求規(guī)則的提取十分準(zhǔn)確,并且編寫十分精確和簡(jiǎn)潔的規(guī)則。</p><p> 檢測(cè)引擎是Snort的核心,準(zhǔn)確和快速是衡量其性能的重要指標(biāo)。準(zhǔn)確性主要取決于對(duì)入侵行為特征碼提取的精確性和規(guī)則編寫
52、的簡(jiǎn)潔實(shí)用性,由于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是被動(dòng)防御的,只能被動(dòng)的檢測(cè)流經(jīng)本網(wǎng)絡(luò)的數(shù)據(jù),而不能主動(dòng)發(fā)送數(shù)據(jù)包去探測(cè)。所以只有將入侵行為的特征碼歸結(jié)為協(xié)議的不同字段的特征值,通過(guò)檢測(cè)該特征值來(lái)決定入侵行為是否發(fā)生??焖傩灾饕Q于引擎的組織結(jié)構(gòu),是否能夠快速地進(jìn)行規(guī)則匹配。</p><p><b> 4)報(bào)警日志</b></p><p> 檢測(cè)引擎檢查后的Snort數(shù)據(jù)需要
53、以某種方式輸出。Snort對(duì)每個(gè)被檢測(cè)的數(shù)據(jù)包都定義了如下的三種處理方式;alert(發(fā)送報(bào)警信息)、log(記錄該數(shù)據(jù)包)和pass(忽略該數(shù)據(jù)句)。這些處理方式其實(shí)是具體定義在檢測(cè)規(guī)則中的,具體的完成是在日志/報(bào)警子系統(tǒng)中。日志子系統(tǒng)允許將嗅探器收集到的信息以可讀的格式或以tcpdump格式記錄下來(lái)。報(bào)警子系統(tǒng)負(fù)責(zé)將報(bào)警信息發(fā)送到syslog、用戶指定的文件、Unix套接字或數(shù)據(jù)庫(kù)中。</p><p> 3
54、.3 Snort入侵檢測(cè)流程</p><p> 基于規(guī)則的模式匹配是Snort檢測(cè)機(jī)制的核心。Snort的入侵檢測(cè)流程分兩大步:第一步是規(guī)則的解析流程,包括從規(guī)則文件中讀取規(guī)則和在內(nèi)存中組織規(guī)則;第二步是使用這些規(guī)則進(jìn)行匹配的規(guī)則匹配流程。下面將依次介紹入侵檢測(cè)的流程:</p><p><b> 規(guī)則解析流程</b></p><p> S
55、nort首先讀取規(guī)則文件,緊接著依次讀取每一條規(guī)則。然后按照規(guī)則語(yǔ)法對(duì)其進(jìn)行解析,在內(nèi)存中對(duì)規(guī)則進(jìn)行組織,建立規(guī)則語(yǔ)法樹。Snort程序調(diào)用規(guī)則文件讀取函數(shù)ParseRulesFile()進(jìn)行規(guī)則文件的檢查、規(guī)則讀取和多行規(guī)則的整理。ParseRulesFile()只是Snort進(jìn)入規(guī)則解析的接口函數(shù),規(guī)則解析主要由ParseRule()來(lái)完成。ParseRule()解析每一條規(guī)則,并將其加入到規(guī)則鏈表中。parseRule()的流程如
56、圖3-2所示。</p><p> 圖3-2規(guī)則解析流程</p><p> ParseRule()函數(shù)通過(guò)調(diào)用RuleType()函數(shù)提取規(guī)則類型,如果規(guī)則類型是Pass、fog、alert、activate、dynamic類型,那么就將規(guī)則按照規(guī)則語(yǔ)法結(jié)構(gòu)進(jìn)行解析。首先調(diào)用proeessHeadNode()處理規(guī)則頭,再調(diào)用proeessRuleoption()處</p>
57、<p> 理規(guī)則選項(xiàng)。如果提取的類型是預(yù)處理插件關(guān)鍵字PreProcess、輸出插件關(guān)鍵字output、配置命令config、變量定義var等則調(diào)用相應(yīng)的函數(shù)進(jìn)行處理,處理后跳出本條規(guī)則解析,進(jìn)行下一條規(guī)則解析。</p><p><b> 規(guī)則匹配流程</b></p><p> Snort對(duì)從網(wǎng)絡(luò)上捕獲的每一條報(bào)文和規(guī)則語(yǔ)法樹進(jìn)行掃描匹配,首先按照默
58、認(rèn)的順序遍歷activation、dynamic、alert、pass、log的規(guī)則子樹。然后根據(jù)報(bào)文的IP地址和端口號(hào),在規(guī)則頭鏈表中找到相對(duì)應(yīng)的規(guī)則頭。最后,將這條數(shù)據(jù)報(bào)文匹配規(guī)則頭附帶的規(guī)則選項(xiàng)組織為鏈表。首先匹配第一個(gè)規(guī)則選項(xiàng),如果匹配,則按照這條規(guī)則所定義的規(guī)則行為做出相應(yīng)的處理結(jié)果。如果不匹配,接著匹配下一個(gè)規(guī)則選項(xiàng)。若數(shù)據(jù)報(bào)文與規(guī)則選項(xiàng)列表中所有的規(guī)則都不匹配,則說(shuō)明此條數(shù)據(jù)報(bào)文不包含入侵行為的特征。Snort規(guī)則匹配總體
59、流程如圖3-3所示。</p><p> 圖3-3 Snort規(guī)則匹配總體流程</p><p> 3.4 Snort的規(guī)則結(jié)構(gòu)</p><p> Snort的規(guī)則保存在規(guī)則文件中。規(guī)則文件是普通的文本文件,我們可以方便地對(duì)其進(jìn)行編輯。規(guī)則文件是Snort的攻擊知識(shí)庫(kù),每條規(guī)則包含一種攻擊的標(biāo)識(shí),Snort通過(guò)這些標(biāo)識(shí)來(lái)識(shí)別各種攻擊行為。Snort規(guī)則可以劃分為兩
60、個(gè)邏輯部分。如圖3-4所示:</p><p><b> 規(guī)則頭</b></p><p> 規(guī)則頭包含報(bào)文關(guān)鍵的地址信息、協(xié)議信息以及當(dāng)報(bào)文符合此規(guī)則時(shí)各元素應(yīng)該采取的行為。Snort規(guī)則頭部的主要結(jié)構(gòu)如圖3-5所示:</p><p><b> 1)規(guī)則動(dòng)作</b></p><p> 規(guī)則的第
61、一個(gè)字段就是規(guī)則動(dòng)作,規(guī)則動(dòng)作告訴Snort在規(guī)則匹配成功時(shí)要做什么。Snort中定義了五種可選的動(dòng)作:alert、log、pass、activate和dynamic。</p><p> Alert:使用選擇的報(bào)警方法生成一個(gè)警報(bào),并記錄該報(bào)文。</p><p> Log:使用設(shè)定的記錄方法記錄這個(gè)報(bào)文。</p><p> Pass:忽略這個(gè)報(bào)文。</p
62、><p> Activate:進(jìn)行報(bào)警,然后激活另一條dynamic規(guī)則。</p><p> Dynamic:等待被一個(gè)activate規(guī)則激活,然后進(jìn)行l(wèi)og。</p><p> 此外,如果想對(duì)某些規(guī)則使用特定的輸出插件,而不是默認(rèn)的輸出方式,這時(shí)可以自己定義所需的規(guī)則類型。</p><p><b> 2)協(xié)議字段</b
63、></p><p> 規(guī)則的下一字段是協(xié)議類型。Snort當(dāng)前能夠分析的協(xié)議有四種:TCP、UDP、ICMP和IP。將來(lái)會(huì)更多,例如IGRP、OSPF、IPX和RIP等。</p><p><b> 3)地址字段</b></p><p> 端口號(hào)可以用幾種方法表示,包括“any”、靜態(tài)定義范圍、以及通過(guò)否定操作符“!”。鍵值“any”
64、可以被用來(lái)定義任何地址。Snort沒(méi)有提供根據(jù)iP地址查詢域名的機(jī)制。地址就是由直接的數(shù)字型iP地址和一個(gè)cidr塊組成的。Cidr塊指示作用在規(guī)則地址和需要檢查的進(jìn)入的任何包的網(wǎng)絡(luò)掩碼。/24表示C類網(wǎng)絡(luò),/16表示B類網(wǎng)絡(luò),/32表示一個(gè)特定的機(jī)器的地址。例如,192.168.1.0/24代表從192.168.1.1到192.168.1.255的地址塊。在這個(gè)地址范圍的任何地址都匹配使用這個(gè)192.168.1.0/24標(biāo)志的規(guī)則。這
65、種記法給我們提供了一個(gè)很好的方法,來(lái)表示一個(gè)很大的地址空間。</p><p><b> 4)端口信息</b></p><p> 端口號(hào)可以用幾種方法表示,包括“any”端口、靜態(tài)端口定義范圍、以及通過(guò)否定操作符“!”?!癮ny”端口是一個(gè)通配符,表示任何端口。靜態(tài)端定義表示一個(gè)單個(gè)端口號(hào),例如,21表示tcp,23表示telnet,80表示http等等,端口范圍用
66、范圍操作符“:”表示。</p><p><b> 5)方向操作符</b></p><p> 方向操作符“一>”表示規(guī)則所施加的流的方向。方向操作符左側(cè)的地址和端口號(hào)被認(rèn)為來(lái)自源主機(jī),方向操作符右邊的ip地址和端口信息是目標(biāo)主機(jī)。還有一個(gè)雙向操作符“<>”,它告訴Snort把地址/端口號(hào)對(duì)既作為源又作為目標(biāo)來(lái)考慮,這對(duì)于記錄/分析雙向數(shù)據(jù)流很方便。
67、</p><p><b> 規(guī)則選項(xiàng) </b></p><p> 規(guī)則頭定義了規(guī)則的動(dòng)作、所匹配網(wǎng)絡(luò)報(bào)文的協(xié)議、源地址、目的地址、源端口以及目標(biāo)端口等信息;規(guī)則選項(xiàng)部分則包含了所要顯示給用戶查看的警告信息以及用來(lái)判定此報(bào)文是否為攻擊報(bào)文的其它信息。對(duì)規(guī)則選項(xiàng)的分析是Snort檢測(cè)引擎的核心,規(guī)則選項(xiàng)是在規(guī)則頭的基礎(chǔ)上作進(jìn)一步分析,它包含報(bào)警信息、入侵特征以及該特征
68、在數(shù)據(jù)包位置的相關(guān)信息。有了規(guī)則選項(xiàng)才能識(shí)別復(fù)雜的攻擊。所有選項(xiàng)用分號(hào)“;”分隔,選項(xiàng)關(guān)鍵字和它的值之間用冒號(hào)“:”分隔。規(guī)則選項(xiàng)之間是邏輯與的關(guān)系。即所有的規(guī)則選項(xiàng)都匹配時(shí),才觸發(fā)該規(guī)則。</p><p> Snort目前有四十幾個(gè)選項(xiàng)關(guān)鍵字,按其功能可分為八類:</p><p> 1)關(guān)于報(bào)警信息的選項(xiàng)關(guān)鍵字:msg、referenee、sid、rev、classtype、prio
69、rity。</p><p> 2)關(guān)于內(nèi)容檢測(cè)的選項(xiàng)關(guān)鍵字:content、nocase、rawbytes、depth、offset、distance、within、urieontent、isdataat、pcre、byte--test、byte_jump、ftpbounce、regex、content-list。</p><p> 3)關(guān)于正協(xié)議的選項(xiàng)關(guān)鍵字:fragoffset、t
70、tl、tos、id、ipopts、fragbits、dsize、sameip、ip_proto。</p><p> 4)關(guān)于TCP協(xié)議的選項(xiàng)關(guān)鍵字:flags、flow、flowbits、seq、ack、window。</p><p> 5)關(guān)于ICMP協(xié)議的選項(xiàng)關(guān)鍵字:itype、icode、icmp_id、icmp_seq。</p><p> 6)關(guān)于規(guī)則
71、響應(yīng)后的選項(xiàng)關(guān)鍵字:logto、session、resp、react、tag。</p><p> 4 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(Snort)實(shí)驗(yàn)</p><p> 4.1實(shí)驗(yàn)平臺(tái)的搭建</p><p><b> 1)實(shí)驗(yàn)軟件:</b></p><p> ?。?)Microsoft virtual pc虛擬機(jī)</p&g
72、t;<p> ?。?)windows server 2003鏡像文件</p><p> ?。?)網(wǎng)絡(luò)數(shù)據(jù)包截取驅(qū)動(dòng)程序</p><p> WinPcap_4_1_2.zip</p><p> http://winpcap.polito.it/</p><p> ?。?)Windows 版本的Snort 安裝包</p&g
73、t;<p> Snort_2_9_0_5_Installer.exe</p><p> http://www.snort.org/</p><p> ?。?)Windows 版本的Apache Web 服務(wù)器</p><p> apache_2.2.4-win32-x86-no_ssl.zip</p><p> http
74、://www.apache.org/</p><p> ?。?)Windows版本的PHP腳本環(huán)境支持</p><p> php-5.2.5-Win32.zip</p><p> http://www.php.net/</p><p> ?。?)Windows 版本的Mysql 數(shù)據(jù)庫(kù)服務(wù)器</p><p> m
75、ysql-5.0.22-win32.zip</p><p> http://www.mysql.com/</p><p> ?。?)ACID(Analysis Console for Intrusion Databases)基于PHP的入侵檢測(cè)數(shù)據(jù)庫(kù)分析控制臺(tái)</p><p> acid-0.9.6b23.tar.gz</p><p>
76、 http://www.cert.org/kb/acid</p><p> ?。?)Adodb(Active Data Objects Data Base)PHP庫(kù)</p><p> adodb504.tgz</p><p> http://php.weblogs.com/adodb</p><p> ?。?0)PHP圖形庫(kù)</p&
77、gt;<p> jpgraph-2.3.tar.gz</p><p> http://www.aditus.nu/jpgraph</p><p> (11)snort 規(guī)則包</p><p> rules20090505.tar.gz</p><p> http://www.snort.org</p>&
78、lt;p><b> 2)安裝步驟:</b></p><p> ?。?)虛擬機(jī)和操作系統(tǒng)的安裝:</p><p> 運(yùn)行虛擬機(jī)安裝程序,默認(rèn)安裝即可,打開(kāi)控制臺(tái),新建一個(gè)虛擬機(jī),按照提示具體填寫,選擇鏡像文件,啟動(dòng),安裝好鏡像系統(tǒng)后,效果如下:</p><p><b> 圖4-1 虛擬機(jī)</b></p>
79、;<p><b> ?。?)組件的安裝:</b></p><p> 在c:下建立duoduo的文件夾,再在其下建立duo的文件夾放入所有的安裝程序,在后續(xù)的安裝時(shí),把可以選擇安裝路徑的組件安裝在duoduo的文件夾下</p><p> ?、侔惭bWinPcap</p><p> 運(yùn)行WinPcap_4_1_2.zip,默認(rèn)安裝。
80、</p><p><b> ?、诎惭bmysql</b></p><p> 運(yùn)行mysql-5.0.22-win32.zip,選擇自定義安裝選擇安裝路徑C:\duoaduo\mysql下,安裝時(shí)注意:端口設(shè)置為3306(以后要用到),密碼本實(shí)驗(yàn)設(shè)置成123,</p><p><b> 圖4-2 配置端口</b></
81、p><p><b> 圖4-3 配置密碼</b></p><p><b> 添加環(huán)境變量:</b></p><p> 圖4-4 配置環(huán)境變量</p><p><b> ?、郯惭bapache</b></p><p> 運(yùn)行apache_2.2.4-wi
82、n32-x86-no_ssl.zip</p><p> 安裝到c:\duoaduo\apache</p><p><b> ?、芟旅姘惭bphp:</b></p><p> 解壓php-5.2.5-Win32到c:\duoaduo\php</p><p><b> 添加gd圖形庫(kù)支持</b>&l
83、t;/p><p> 復(fù)制c:\duoaduo\php\php5ts.dll和c: \duoaduo\php\libmysql.dll文件到%systemroot%\system32</p><p> 查詢本機(jī)的%systemroot%</p><p> 圖4-5 查詢機(jī)的%systemroot%</p><p> 復(fù)制c: \duoadu
84、o\php\php.ini-dist到%systemroot%并重命名為php.ini,修改php.ini,分別去掉“extension=php_gd2.dll”和“extension=php_mysql.dll”前的分號(hào),</p><p> 圖4-6 配置php.Ini(1)</p><p> 并指定extension_dir="c:\duoaduo\php\ext&qu
85、ot;,</p><p> 圖4-7配置php.Ini(2)</p><p> 同時(shí)復(fù)制c:\duoaduo\php\ext下的php_gd2.dll與php_mysql.dll到%systemroot%\system32</p><p> 在C:\duoaduo\apache\conf\httpd.conf中添加LoadModule php5_module
86、 c:/duoaduo/php/php5apache2_2.dll和AddType application/x-httpd-php .php,</p><p> AddType application/x-httpd-php-source .phps</p><p> 圖4-8 配置httpd.conf</p><p> 重啟Apache服務(wù)在C:\duo
87、aduo\apache\htdocs目錄下新建webinf.php(文件內(nèi)容為:<?phpinfo();?>)并使用 http://127.0.0.1/webinf.php訪問(wèn)測(cè)試是否能夠顯示當(dāng)前Apache服務(wù)器的信息,如果能夠顯示表明Apache和php工作基本正常</p><p> 圖4-9 正確運(yùn)行Apache和php</p><p><b> 但是如果顯
88、示</b></p><p> 圖4-10 錯(cuò)誤信息</p><p> 原因是 addtype 的那兩句話有錯(cuò)誤,檢查修改就可以了 </p><p><b> ⑤安裝Snort</b></p><p> 運(yùn)行Snort_2_9_0_5_Installer.exe</p><p>
89、 安裝在C:\duoaduo\Snort下即可,</p><p> 運(yùn)行C:\duoaduo\Snort\bin\snort.exe</p><p> 或者在DOS中找到該位置,</p><p> 如果安裝 Snort成功會(huì)出現(xiàn)一個(gè)可愛(ài)的小豬</p><p> 圖4-11 Snort運(yùn)行正常</p><p>
90、 并按照以下修改C:\duoaduo\Snort\etc\snort.conf文件:</p><p> var RULE_PATH c:\duoaduo\snort\rulesinclude classification.configinclude reference.config</p><p><b> 修改為絕對(duì)路徑:</b></p>&
91、lt;p> include c:\duoaduo\snort\etc\classification.config</p><p> include c:\duoaduo\snort\etc\reference.config</p><p> 在該文件的最后加入下面語(yǔ)句:</p><p> output database: alert, mysql, h
92、ost=localhost user=root password=123 dbname=snort encoding=hex detail=full</p><p> 創(chuàng)建 snort 數(shù)據(jù)庫(kù)的表 </p><p> 復(fù)制 c:\duoaduo\snort\schames 文件夾下的create_mysql 文件到C:\duoaduo\mysql\bin文件夾下 </p>
93、<p> 打開(kāi) mysql 的的客戶端執(zhí)行如下命令 </p><p> Create database snort; </p><p> Create database snort_archive; </p><p> Use snort; </p><p> Source create_mysql; </p>
94、;<p> Use snort_archive; </p><p> Source create_mysql; </p><p> Grant all on *.* to “root”@”localhost” </p><p> 加入 php 對(duì) mysql 的支持: </p><p> 修改 c:\windows\p
95、hp.ini 文件去掉 extension=php_mysql.dll 前的分號(hào)。 </p><p> 復(fù)制c:\duoaduo\php\ext 文件夾下的 php_mysql.dll 文件到 c:\windows 文件夾。</p><p> 復(fù)制c:\duoaduo\php\libmysql.dll文件到c:\windows\system32下</p><p>
96、; ?、薨惭b adodb </p><p> 解壓縮 adodb 到 c:\ids\php5\adodb 文件夾下。</p><p> ?、甙惭b jgraph </p><p> 解壓縮 jpgraph 到 c:\duoaduo\php\jpgraph 文件夾下</p><p><b> ?、喟惭b acid </b>
97、</p><p> 解壓縮 acid 到 c\duoaduo\apache\htdocs\acid 文件夾下</p><p> 修改 acid_conf.php 文件 </p><p><b> 為以下內(nèi)容 </b></p><p> $DBlib_path="c:\duoaduo\php\adodb&
98、quot;; </p><p> $DBtype="mysql"; </p><p> $alert_dbname ="snort"; </p><p> $alert_host = "localhost"; </p><p> $alert_port ="3306
99、"; </p><p> $alert_user="root"; </p><p> $alert_password="123"; </p><p> $archive_dbname="snort_archive"; </p><p> $archive_host=
100、"localhost"; </p><p> $archive_port="3306"; </p><p> $archive_user="root"; </p><p> $archive_password="123"; </p><p> $Chart
101、Lib_path="c:\duoaduo\php\jpgraph\src";</p><p> ?、嶂貑pache、mysql服務(wù)</p><p> ?、庠跒g覽器中初始化acid數(shù)據(jù)庫(kù): </p><p> http://localhost/acid/acid_db_setup.php</p><p> 以上配置正確
102、會(huì)有下面的顯示:</p><p> 圖4-12 正確配置acid</p><p> 安裝成功,測(cè)試一下:</p><p> 啟動(dòng)Apache和mysql服務(wù)</p><p> 運(yùn)行ACID:打開(kāi)瀏覽器,地址為http://127.0.0.1/acid。如果有下圖所示,則表示ACID安裝成功。</p><p>
103、 圖4-13正確安裝acid</p><p> 運(yùn)行c:\duoaduo\snort\bin>snort -c "c:\duoaduo\snort\etc\snort.conf" -l "c:\duoaduo\snort\log" -vdeX</p><p> -X 參數(shù)用于在數(shù)據(jù)鏈接層記錄raw packet 數(shù)據(jù)</p>
104、<p> -d 參數(shù)記錄應(yīng)用層的數(shù)據(jù)</p><p> -e 參數(shù)顯示/記錄第二層報(bào)文頭數(shù)據(jù)</p><p> -c 參數(shù)用以指定snort 的配置文件的路徑</p><p> -v 參數(shù)用于在屏幕上顯示被抓到的包</p><p> 圖4-14 正確記錄日志</p><p><b> 4
105、.2實(shí)驗(yàn)測(cè)試</b></p><p><b> Snort的使用:</b></p><p> (1)嗅探器:所謂的嗅探器模式就是Snort從網(wǎng)絡(luò)上讀出數(shù)據(jù)包然后顯示在你的控制臺(tái)上。</p><p> ?、偃绻阒灰裈CP/IP包頭信息打印在屏幕上,只需要輸入下面的命令:</p><p><b>
106、; ./snort–V</b></p><p> 圖4-15 運(yùn)行./snort–V</p><p> ?、谌绻阉械陌涗浀接脖P上,你需要指定一個(gè)日志目錄,snort就會(huì)自動(dòng)記錄數(shù)據(jù)包:./snort -dev -l ./log</p><p> 圖4-16 運(yùn)行./snort -dev -l ./log</p><p&g
107、t; 這時(shí)會(huì)在相應(yīng)文件夾下,記錄數(shù)據(jù):</p><p> 圖4-17 文件記錄信息</p><p> ?。?)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng):Snort最重要的用途還是作為網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS),使用下面命令行可以啟動(dòng)這種模式:</p><p> ./snort -dev -l ./log -h ***.***.***.***/** -c snort.conf<
108、/p><p> 圖4-18運(yùn)行網(wǎng)絡(luò)入侵檢測(cè)命令</p><p> ?。?)網(wǎng)絡(luò)入侵檢測(cè)模式下的輸出選項(xiàng)</p><p> 在NIDS模式下,有很多的方式來(lái)配置Snort的輸出。在默認(rèn)情況下,Snort以ASCII格式記錄日志,使用full報(bào)警機(jī)制。如果使用full報(bào)警機(jī)制,snort會(huì)在包頭之后打印報(bào)警消息。使用-s選項(xiàng)可以使Snort把報(bào)警消息發(fā)送到syslog,
109、默認(rèn)的設(shè)備是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。Snort還可以使用SMB報(bào)警機(jī)制,通過(guò)SAMBA把報(bào)警消息發(fā)送到Windows主機(jī)。為了使用這個(gè)報(bào)警機(jī)制,在運(yùn)行./configure腳本時(shí),必須使用--enable-smbalerts選項(xiàng)。</p><p> 下面是一些輸出配置的例子:使用默認(rèn)的日志方式(以解碼的ASCII格式)并且把報(bào)警發(fā)./snort
110、-c snort.conf -l ./log -s -H給syslog:</p><p> 具體本實(shí)驗(yàn)環(huán)境運(yùn)行:\snort -c c:\duoaduo\snort\etc\snort.conf -l c:\duoaduo\snort\log -s -H</p><p> 圖4-19運(yùn)行網(wǎng)絡(luò)入侵檢測(cè)模式下的輸出選項(xiàng)(1)</p><p> 圖4-20 運(yùn)行網(wǎng)絡(luò)
111、入侵檢測(cè)模式下的輸出選項(xiàng)(2)</p><p> 2)Snort與控制臺(tái),數(shù)據(jù)庫(kù)的使用檢測(cè):</p><p> (1)設(shè)置監(jiān)測(cè)包含的規(guī)則。</p><p> 找到snort.conf文件中描述規(guī)則的部分,如下圖所示:</p><p> 圖4-21 配置snort.conf</p><p> 前面加#表示該規(guī)則
112、沒(méi)有啟用,將local.rules之前的#號(hào)去掉,其余規(guī)則保持不變</p><p> ?。?)運(yùn)行C:\duoaduo\Snort\bin中的snort.exe, 不關(guān)閉窗口,瀏覽網(wǎng)頁(yè)</p><p> ?。?)打開(kāi)acid檢測(cè)控制臺(tái)主界面</p><p> 圖4-22 顯示數(shù)據(jù)</p><p> 點(diǎn)擊右側(cè)圖示中TCP后的數(shù)字“1%”,將
113、顯示所有檢測(cè)到的TCP協(xié)議日志詳細(xì)情況</p><p> 圖4-23 詳細(xì)信息(1)</p><p> TCP協(xié)議日志網(wǎng)頁(yè)中的選項(xiàng)依次為:流量類型、時(shí)間戳、源地址、目標(biāo)地址以及協(xié)議</p><p> 選擇控制條中的“home”返回控制臺(tái)主界面,在主界面的下部有流量分析及歸類選項(xiàng),</p><p> 圖4-24 流量分析及歸類選項(xiàng)<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)
- 基于Snort網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)研究.pdf
- 網(wǎng)絡(luò)安全入侵檢測(cè)系統(tǒng)畢業(yè)論文
- 網(wǎng)絡(luò)安全入侵檢測(cè)系統(tǒng)畢業(yè)論文
- 基于snort的入侵防御系統(tǒng)的實(shí)現(xiàn)---畢業(yè)論文
- 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort的研究與改進(jìn).pdf
- Snort網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的研究與改進(jìn).pdf
- 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort源碼分析與研究.pdf
- 入侵檢測(cè)課程設(shè)計(jì)--snort入侵檢測(cè)系統(tǒng)
- 對(duì)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort的研究及改進(jìn).pdf
- 開(kāi)源網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)snort的檢測(cè)算法研究.pdf
- 基于Snort平臺(tái)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)研究.pdf
- Snort網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的分析與優(yōu)化.pdf
- 基于Snort的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)實(shí)現(xiàn)及其改進(jìn)研究.pdf
- 基于SNORT的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的應(yīng)用研究.pdf
- 入侵檢測(cè)課程設(shè)計(jì)---基于snort的入侵檢測(cè)系統(tǒng)
- 基于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort的分析及改進(jìn).pdf
- 網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort的安全性分析.pdf
- 基于Snort的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 基于snort入侵檢測(cè)系統(tǒng)的研究.pdf
評(píng)論
0/150
提交評(píng)論