入侵檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí):計(jì)算機(jī)091姓名:江朝林 指導(dǎo)教師:王國(guó)豪
摘要 攻擊者往往能繞開防火墻和殺毒軟件來(lái)對(duì)目標(biāo)進(jìn)行攻擊。從其他方面提高計(jì)算機(jī)安全性越來(lái)越設(shè)立防火墻和殺毒軟件是保護(hù)計(jì)算機(jī)安全的主要手段,但隨著操作系統(tǒng)的安全隱患被越來(lái)越多的發(fā)現(xiàn),迫切;谠撍枷,設(shè)計(jì)了一個(gè)IDS(基于特征的入侵檢測(cè)系統(tǒng)),目的是通過(guò)這個(gè)IDS監(jiān)視并分析網(wǎng)絡(luò)流量來(lái)發(fā)現(xiàn)攻擊企圖或者攻擊行為,采取報(bào)警、回復(fù)假的不可達(dá)信息或斷開連接等手段,來(lái)保護(hù)計(jì)算機(jī)安全。
入侵檢測(cè)技術(shù)是對(duì)傳統(tǒng)的安全技術(shù)(如防火墻)的合理補(bǔ)充。它通過(guò)監(jiān)視主機(jī)系統(tǒng)或網(wǎng)絡(luò),能夠?qū)阂饣蛭:τ?jì)算機(jī)資源的行為進(jìn)行識(shí)別和響應(yīng)。通過(guò)與其它的安全產(chǎn)品的聯(lián)動(dòng),還可以實(shí)現(xiàn)對(duì)入侵的有效阻止。入侵檢測(cè)系統(tǒng)的研究和實(shí)現(xiàn)已經(jīng)成為當(dāng)前網(wǎng)絡(luò)a全的重要課題。
本次設(shè)計(jì)完成了一個(gè)IDS的設(shè)計(jì)和實(shí)現(xiàn),詳細(xì)論述了該IDS的結(jié)構(gòu)和功能,闡述了相關(guān)概念和設(shè)計(jì)原理,并給出了部分關(guān)鍵代碼。最后
總結(jié)了本次設(shè)計(jì)入侵檢測(cè)系統(tǒng)的優(yōu)點(diǎn)和缺陷,從性能方面對(duì)本次設(shè)計(jì)進(jìn)行了評(píng)價(jià)。
關(guān)鍵詞 IDS 入侵檢測(cè)系統(tǒng) snort 網(wǎng)絡(luò)a全
The design and implementation of intrusion detection system
Profession: Computer Science and Technology Class: J091 Name : Chaolin Jiang Instructor :GuohaoWang
Abstract We can use the firewalls and antivirus to protect the computer’s security. But with the potential security hazards are more and more regard, the attacker can keep away from the firewalls and antivirus to attack the computer. To reinforce the computer’s security become more and more e*igent. Base on this idea, I designed an IDS (Intrusion Detection Systems) to guard a
……(新文秘網(wǎng)http://m.jey722.cn省略1646字,正式會(huì)員可完整閱讀)……
也可以定義為:檢測(cè)企圖破壞計(jì)算機(jī)資源的完整性,真實(shí)性和可用性的行為的軟件。
入侵檢測(cè)系統(tǒng)與傳統(tǒng)防火墻的優(yōu)勢(shì)在于IDS不是被動(dòng)保護(hù)而是主動(dòng)檢測(cè),入侵檢測(cè)系統(tǒng)是對(duì)防火墻的必要補(bǔ)充。在國(guó)內(nèi),隨著關(guān)鍵部門、關(guān)鍵業(yè)務(wù)越來(lái)越多,迫切需要具有自主版權(quán)的入侵檢測(cè)產(chǎn)品,但現(xiàn)狀是入侵檢測(cè)技術(shù)還不成熟,處于發(fā)展階段,需要進(jìn)一步研究。
第一章 概述
1.1國(guó)內(nèi)外研究現(xiàn)狀
從國(guó)內(nèi)外IDS的技術(shù)發(fā)展來(lái)看,IDS可以分2種技術(shù):基于特征的和非正常的入侵檢測(cè)系統(tǒng)。
基于特征的是指IDS以計(jì)算機(jī)正常運(yùn)行時(shí)的各種參數(shù)為依據(jù),對(duì)搜集來(lái)的信息加以對(duì)比,不匹配的就進(jìn)行相關(guān)的操作,如報(bào)警、記錄、忽略等,該技術(shù)的優(yōu)點(diǎn)是能發(fā)現(xiàn)未知的攻擊,但是誤報(bào)率高;基于非正常的則相對(duì)應(yīng)以受到各種網(wǎng)絡(luò)攻擊時(shí)的數(shù)據(jù)為依據(jù),對(duì)搜集來(lái)的信息加以比較,匹配則采取相關(guān)操作。這種技術(shù)的優(yōu)點(diǎn)是誤報(bào)率低,但是卻不能發(fā)現(xiàn)未知攻擊。
無(wú)論從規(guī)模與方法上入侵技術(shù)近年來(lái)都發(fā)生了變化。入侵的手段與技術(shù)也有了進(jìn)步與發(fā)展。入侵技術(shù)的發(fā)展與演化主要反映在下列幾個(gè)方面:
入侵或攻擊的綜合化與復(fù)雜化。入侵的手段有多種,入侵者往往采取多種攻擊手段。由于網(wǎng)絡(luò)防范技術(shù)的多重化,攻擊的難度增加,使得入侵者在實(shí)施入侵或攻擊時(shí)往往同時(shí)采取多種入侵的手段,以保證入侵的成功幾率,并可在攻擊實(shí)施的初期掩蓋攻擊或入侵的真實(shí)目的。
入侵主體對(duì)象的間接化,即實(shí)施入侵與攻擊的主體的隱蔽化。通過(guò)一定的技術(shù),可隱藏攻擊主體的源地址及主機(jī)位置。即使用了隱蔽技術(shù)后,對(duì)于被攻擊對(duì)象攻擊的主體是較難直接確定的。
入侵或攻擊的規(guī)模擴(kuò)大。對(duì)于網(wǎng)絡(luò)的入侵與攻擊,在其初期往往是針對(duì)于某公司或一個(gè)網(wǎng)站,其攻擊的目的可能為某些網(wǎng)絡(luò)技術(shù)愛好者的獵奇行為,也不排除商業(yè)的盜竊與破壞行為。由于戰(zhàn)爭(zhēng)對(duì)電子技術(shù)與網(wǎng)絡(luò)技術(shù)的依賴性越來(lái)越大,隨之產(chǎn)生、發(fā)展、逐步升級(jí)到電子戰(zhàn)與信息戰(zhàn)。對(duì)于信息戰(zhàn),無(wú)論其規(guī)模與技術(shù)都與一般意義上的計(jì)算機(jī)網(wǎng)絡(luò)的入侵與攻擊都不可相提并論。信息戰(zhàn)的成敗與國(guó)家主干通信網(wǎng)絡(luò)的安全是與任何主權(quán)國(guó)家領(lǐng)土安全一樣的國(guó)j-a全。
入侵或攻擊技術(shù)的分布化。以往常用的入侵與攻擊行為往往由單機(jī)執(zhí)行。由于防范技術(shù)的發(fā)展使得此類行為不能奏效。所謂的分布式拒絕服務(wù)(DDoS)在很短時(shí)間內(nèi)可造成被攻擊主機(jī)的癱瘓。且此類分布式攻擊的單機(jī)信息模式與正常通信無(wú)差異,所以往往在攻擊發(fā)動(dòng)的初期不易被確認(rèn)。分布式攻擊是近期最常用的攻擊手段。
攻擊對(duì)象的轉(zhuǎn)移。入侵與攻擊常以網(wǎng)絡(luò)為侵犯的主體,但近期來(lái)的攻擊行為卻發(fā)生了策略性的改變,由攻擊網(wǎng)絡(luò)改為攻擊網(wǎng)絡(luò)的防護(hù)系統(tǒng),且有愈演愈烈的趨勢(shì),F(xiàn)已有專門針對(duì)IDS作攻擊的報(bào)道。攻擊者詳細(xì)地分析了IDS的審計(jì)方式、特征描述、通信模式找出IDS的弱點(diǎn),然后加以攻擊。
目前IDS技術(shù)尚處于發(fā)展階段,相關(guān)技術(shù)還沒有防火墻技術(shù)成熟。所以缺點(diǎn)還是比較明顯,不同類型的IDS會(huì)存在不同程度的誤報(bào)或者漏抱。所以現(xiàn)在對(duì)于IDS的爭(zhēng)論還是比較多, “Gartner公司副總裁Richard Stiennon發(fā)布的那篇研究報(bào)告《入侵檢測(cè)壽終正寢、入侵防御萬(wàn)古長(zhǎng)青》來(lái)批駁入侵檢測(cè)系統(tǒng)(IDS)”。
1.2本課題研究的意義
本課題是基于防火墻有自身的缺陷,不能為處于網(wǎng)絡(luò)上的主機(jī)撐起完整的安全保護(hù)傘為出發(fā)點(diǎn)來(lái)研究的。發(fā)展IDS技術(shù)是安全形式所趨,發(fā)展有自主知識(shí)產(chǎn)權(quán)的、安全、可靠的IDS對(duì)全球的網(wǎng)絡(luò)a全有著重大的意義!霸u(píng)價(jià)一個(gè)IDS有這樣幾個(gè)方面:(1)準(zhǔn)確性;(2)性能;(3)完整性;(4)故障容錯(cuò)(fault tolerance);(5)自身抵抗攻擊能力;(6)及時(shí)性(Timeliness)”。[6]由于設(shè)計(jì)參考的是snort,因此這次設(shè)計(jì)的IDS的各項(xiàng)性能和snort相仿,屬于輕量級(jí)的IDS(輕量級(jí)是指適合小網(wǎng)段使用);贗DS技術(shù)的不成熟以及Snort在相關(guān)IDS的產(chǎn)品中是比較成熟的一種,所以這次設(shè)計(jì)的IDS的在現(xiàn)今階段來(lái)說(shuō)性能指標(biāo)處于中上水平。
1.3本課題的研究方法
本課題設(shè)計(jì)一個(gè)在windows系統(tǒng)下運(yùn)行的基于特征的入侵檢測(cè)系統(tǒng),設(shè)計(jì)與架構(gòu)參考了較有名的snort入侵檢測(cè)系統(tǒng)。借助相關(guān)的環(huán)境輔助軟件安裝了IDS。通過(guò)IDS在網(wǎng)絡(luò)上抓獲的數(shù)據(jù)包(IP、TCP、UDP)并與數(shù)據(jù)庫(kù)里的特征數(shù)據(jù)進(jìn)行對(duì)比。根據(jù)對(duì)比出的結(jié)果來(lái)進(jìn)行相關(guān)的操作。
第二章 相關(guān)開發(fā)環(huán)境及技術(shù)
2.1 C++語(yǔ)言
C++,這個(gè)詞在中國(guó)大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,它是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。C++是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設(shè)計(jì)語(yǔ)言。它支持過(guò)程序程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計(jì)、泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。
貝爾實(shí)驗(yàn)室的本賈尼•斯特勞斯特盧普(Bjarne Stroustrup)博士在20世紀(jì)80年代發(fā)明并實(shí)現(xiàn)了C++(最初這種語(yǔ)言被稱作“C with Classes”)。一開始C++是作為C語(yǔ)言的增強(qiáng)版出現(xiàn)的,從給C語(yǔ)言增加類開始,不斷的增加新特性。虛函數(shù)(virtual function)、運(yùn)算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(e*ception)、RTTI、名字空間(name space)逐漸被加入標(biāo)準(zhǔn)。1998年國(guó)際標(biāo)準(zhǔn)組織(ISO)頒布了C++程序設(shè)計(jì)語(yǔ)言的國(guó)際標(biāo)準(zhǔn)ISO/IEC 14882-1998。遺憾的是,由于C++語(yǔ)言過(guò)于復(fù)雜,以及他經(jīng)歷了長(zhǎng)年的演變,直到現(xiàn)在(2004年)只有少數(shù)幾個(gè)編譯器完全符合這個(gè)標(biāo)準(zhǔn)(這么說(shuō)也是不完全正確的,事實(shí)上,至今為止沒有任何一款編譯器完全支持ISO C++)。
Forrester最新的調(diào)查顯示,C++、微軟VisualBasic和Java是眾多公司產(chǎn)品體系的首選語(yǔ)言。對(duì)100家公司的調(diào)查顯示,C/C++、VisualBasic和Java在產(chǎn)品體系中的使用比例分別是59%、61%和66%。
2.2 VC++開發(fā)環(huán)境
VC++基于C,C++語(yǔ)言,主要由是MFC組成,是與系統(tǒng)聯(lián)系非常緊密的編程工具,它兼有高級(jí),和低級(jí)語(yǔ)言的雙重性,功能強(qiáng)大,靈活,執(zhí)行效率高,幾乎可說(shuō)VC在 Windows平臺(tái)無(wú)所不能。 最大缺點(diǎn)是開發(fā)效率不高。
VC++適用范圍
(1) VC++主要是針對(duì)Windows系統(tǒng),適合一些系統(tǒng)級(jí)的開發(fā),可以方便實(shí)現(xiàn)一些底層 的調(diào)用。在VC里邊嵌入?yún)R編語(yǔ)言很簡(jiǎn)單。
(2) VC++主要用在驅(qū)動(dòng)程序開發(fā)
(3) VC++執(zhí)行效率高,當(dāng)對(duì)系統(tǒng)性能要求很高的時(shí)候,可用VC開發(fā)。
(4) VC++主要適用于游戲開發(fā)
(5) VC++多用于單片機(jī),工業(yè)控制等軟件開發(fā),如直接對(duì)I/O地址操作,就要用C++。
(6) VC++適用開發(fā)高效,短小,輕量級(jí)的COM組件,DLL。比如WEB上的控件。
(7) VC++可以開發(fā)優(yōu)秀的基于通信的程序。
(8) VC++可以開發(fā)高效靈活的文件操作程序。
(9) VC++可以開發(fā)靈活高效的數(shù)據(jù)庫(kù)操作程序。
(10)VC++是編CAD軟件的唯一選擇。。“ˋUTOCAD,UG的二次開發(fā)。
(11)VC++在多線程、網(wǎng)絡(luò)通信、分布應(yīng)用方面,VC++有不可比擬的優(yōu)勢(shì)。
第三章 基于特征的IDS的設(shè)計(jì)與實(shí)現(xiàn)
3.1 基于特征的IDS的特征
這次設(shè)計(jì)的IDS最大特點(diǎn)是模塊化。其原理就是將功能分為幾個(gè)模塊,各個(gè)模塊實(shí)現(xiàn)不同的功能。系統(tǒng)的處理流程如圖3-1所示:
圖3-1 snort的流程圖
“入侵檢測(cè)一般分為3個(gè)步驟:信息收集、數(shù)據(jù)分析、響應(yīng)”對(duì)應(yīng)于以上3個(gè)步驟,snort由以下幾個(gè)模塊來(lái)實(shí)現(xiàn)上述功能:數(shù)據(jù)包嗅探器,預(yù)處理器,檢測(cè)引擎和報(bào)警輸出模塊。構(gòu)成如圖3-2所示:
圖3-2 snort的模塊工作原理
如圖3-2所示,從網(wǎng)絡(luò)(Network)上獲得了數(shù)據(jù)包以后通過(guò)sniffer嗅探器之后再通過(guò)預(yù)處理器(Preprocessor)處理,處理后的數(shù)據(jù)由搜索引擎(Detection)根據(jù)制定好的規(guī)則(Rulesets)來(lái)進(jìn)行檢測(cè),不同的檢測(cè)結(jié)果采用不同的行動(dòng):如忽略(Ignore)、報(bào)警(Alert)或記錄(Log)等等。
由于本次IDS的最大特點(diǎn)是模塊化 ……(未完,全文共25707字,當(dāng)前僅顯示4624字,請(qǐng)閱讀下面提示信息。
收藏《畢業(yè)論文:入侵檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》)