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