Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)說明_第1頁
Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)說明_第2頁
Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)說明_第3頁
Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)說明_第4頁
Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 . . . Windows下入侵檢測(cè)系統(tǒng)的研究與設(shè)計(jì)摘 要入侵檢測(cè)技術(shù)是對(duì)傳統(tǒng)的安全技術(shù)(如防火墻)的合理補(bǔ)充。它通過監(jiān)視主機(jī)系統(tǒng)或網(wǎng)絡(luò),能夠?qū)阂饣蛭:τ?jì)算機(jī)資源的行為進(jìn)行識(shí)別和響應(yīng)。通過與其它的安全產(chǎn)品的聯(lián)動(dòng),還可以實(shí)現(xiàn)對(duì)入侵的有效阻止。入侵檢測(cè)系統(tǒng)的研究和實(shí)現(xiàn)已經(jīng)成為當(dāng)前網(wǎng)絡(luò)安全的重要課題。本文從研究入侵技術(shù)入手,分析了入侵過程的各個(gè)階段、各種入侵方法,總結(jié)了網(wǎng)絡(luò)安全事故的根源。然后,介紹了入侵檢測(cè)方法的分類,分析了各種入侵檢測(cè)方法和字符串匹配的算法。研究表明基于規(guī)則的入侵檢測(cè)系統(tǒng)是現(xiàn)在入侵檢測(cè)系統(tǒng)設(shè)計(jì)的最主要的技術(shù),基于這一理論,設(shè)計(jì)開發(fā)了一個(gè)基于規(guī)則匹配的特征檢測(cè)方法的響應(yīng)模塊。系

2、統(tǒng)開發(fā)環(huán)境為VC+ 6.0,數(shù)據(jù)庫采用MYSQL數(shù)據(jù)庫。通過該系統(tǒng)可以有效的實(shí)現(xiàn)對(duì)入侵的檢測(cè),并且具有用戶友好性。關(guān)鍵詞:入侵檢測(cè);響應(yīng)模塊;規(guī)則匹配The Research and Design of Intrusion Detection SystemBased on WindowsDesign of Response ModuleAbstractThe intrusion detection technology is complementarities for traditional security protecting technology, such as firewalls.

3、It can identify and response to malice activities by monitoring the host system or the Internet. It also can prevent intrusion activities with the linkage of other security technology. The research and development of IDS has become the important subject about network security.This thesis begins with

4、 studying attacking technology, including analyzing every stage of an intrusion stage and various attacking methods, summarizing the fundamental reasons of various network security incidents and the trend of attacking technology, afterwards, introducing the classification of the intrusion detection

5、system, analyzing various intrusion detection methods and string-matching algorithm. Through research to make clear that the intrusion detection system based on rules is the most important intrusion detection technology, because of this theory, the design has developed a response modulebased on the

6、rule match characteristic examination method. The system development environment is VC+ 6.0; the database adapts the MYSQL database. This system can implement the effective realization to the intrusion detection, and the interface of this software is friendly.Key words: Intrusion detection; Response

7、module;Rule-matching24 / 28目 錄論文總頁數(shù):26頁1引言11.1背景11.2國(guó)外研究現(xiàn)狀11.3本文的主要工作12理論基礎(chǔ)12.1入侵基本概念22.1.1安全與入侵的概念22.1.2入侵的步驟22.1.3黑客攻擊的方法32.1.4安全威脅的根源62.2入侵檢測(cè)技術(shù)62.2.1入侵檢測(cè)的概念62.2.2入侵檢測(cè)系統(tǒng)的基本結(jié)構(gòu)構(gòu)成72.2.3入侵檢測(cè)的分類72.2.4入侵檢測(cè)方法92.3BM算法113系統(tǒng)總體設(shè)計(jì)133.1系統(tǒng)概述133.2系統(tǒng)總體結(jié)構(gòu)框架133.3開發(fā)環(huán)境144響應(yīng)模塊設(shè)計(jì)實(shí)現(xiàn)144.1規(guī)則庫設(shè)計(jì)實(shí)現(xiàn)144.2事件分析設(shè)計(jì)與實(shí)現(xiàn)174.2.1規(guī)則解析1

8、74.2.2規(guī)則匹配流程184.3輸出模塊的設(shè)計(jì)194.3.1響應(yīng)輸出流程194.3.2日志數(shù)據(jù)庫設(shè)計(jì)204.4模塊集成實(shí)現(xiàn)205系統(tǒng)測(cè)試和分析215.1攻擊檢測(cè)測(cè)試215.1.1測(cè)試目的215.1.2測(cè)試過程215.1.3測(cè)試結(jié)果分析215.2誤報(bào)和漏報(bào)測(cè)試225.2.1測(cè)試目的225.2.2測(cè)試過程225.2.3測(cè)試結(jié)果分析23結(jié)論23參考文獻(xiàn)24致25聲明261 引 言1.1 背景近年來,隨著信息和網(wǎng)絡(luò)技術(shù)的高速發(fā)展以與其它的一些利益的驅(qū)動(dòng),計(jì)算機(jī)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施,特別是各種官方機(jī)構(gòu)成為黑客攻擊的目標(biāo),近年來由于對(duì)電子商務(wù)的熱切需求,更加激化了各種入侵事件增長(zhǎng)的趨勢(shì)。作為網(wǎng)絡(luò)安全防護(hù)工具“

9、防火墻”的一種重要的補(bǔ)充措施,入侵檢測(cè)系統(tǒng)(Intrusion Detection System,簡(jiǎn)稱 IDS)得到了迅猛的發(fā)展。依賴防火墻建立網(wǎng)絡(luò)的組織往往是“外緊松”,無法阻止部人員所做的攻擊,對(duì)信息流的控制缺乏靈活性從外面看似非常安全,但部缺乏必要的安全措施。據(jù)統(tǒng)計(jì),全球80%以上的入侵來自于部。由于性能的限制,防火墻通常不能提供實(shí)時(shí)的入侵檢測(cè)能力,對(duì)于企業(yè)部人員所做的攻擊,防火墻形同虛設(shè)。 入侵檢測(cè)是對(duì)防火墻與其有益的補(bǔ)充,入侵檢測(cè)系統(tǒng)能使在入侵攻擊對(duì)系統(tǒng)發(fā)生危害前,檢測(cè)到入侵攻擊,并利用報(bào)警與防護(hù)系統(tǒng)驅(qū)逐入侵攻擊。在入侵攻擊過程中,能減少入侵攻擊所造成的損失。在被入侵攻擊后,收集入侵

10、攻擊的相關(guān)信息,作為防系統(tǒng)的知識(shí),添加入知識(shí)庫,增強(qiáng)系統(tǒng)的防能力,避免系統(tǒng)再次受到入侵。入侵檢測(cè)被認(rèn)為是防火墻之后的第二道安全閘門,在不影響網(wǎng)絡(luò)性能的情況下能對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)聽,從而提供對(duì)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),大大提高了網(wǎng)絡(luò)的安全性。1.2 國(guó)外研究現(xiàn)狀入侵檢測(cè)技術(shù)國(guó)外的起步較早,有比較完善的技術(shù)和相關(guān)產(chǎn)品。如開放源代碼的snort,雖然它已經(jīng)跟不上發(fā)展的腳步,但它也是各種商業(yè)IDS的參照系;NFR公司的NID等,都已相當(dāng)?shù)耐晟啤km然國(guó)起步晚,但是也有相當(dāng)?shù)纳虡I(yè)產(chǎn)品:天闐IDS、綠盟冰之眼等不錯(cuò)的產(chǎn)品,不過國(guó)外有相當(dāng)完善的技術(shù)基礎(chǔ),國(guó)在這方面相對(duì)較弱。1.3 本文的主要工作本文從分析

11、現(xiàn)有網(wǎng)絡(luò)中存在的安全說起,指出了現(xiàn)有的網(wǎng)絡(luò)所面臨的安全威脅,主要介紹了基于特征(signature-based)的網(wǎng)絡(luò)入侵檢測(cè)技術(shù),闡述了由入侵檢測(cè)理論所構(gòu)建的入侵檢測(cè)平臺(tái),監(jiān)測(cè)并分析網(wǎng)絡(luò)、用戶和系統(tǒng)的活動(dòng),識(shí)別已知的攻擊行為,統(tǒng)計(jì)分析異常行為。在本文的后面針對(duì)基于windows平臺(tái)并基于特征(規(guī)則)的入侵檢測(cè)系統(tǒng)響應(yīng)模塊的設(shè)計(jì)與實(shí)現(xiàn)作了詳細(xì)的說明,闡述了什么是入侵檢測(cè)、如何檢測(cè)、如何響應(yīng)等一系列問題,同時(shí)也給出了一套完整的設(shè)計(jì)思想和實(shí)現(xiàn)過程。2 理論基礎(chǔ)2.1 入侵基本概念2.1.1 安全與入侵的概念安全定義廣義的計(jì)算機(jī)安全的定義:主題的行為完全符合系統(tǒng)的期望。系統(tǒng)的期望表達(dá)成安全規(guī)則,也就

12、是說主體的行為必須符合安全規(guī)劃對(duì)它的要求。而網(wǎng)絡(luò)安全從本質(zhì)上講就是網(wǎng)絡(luò)上信息的安全,指網(wǎng)絡(luò)系統(tǒng)的硬件、軟件與其系統(tǒng)中數(shù)據(jù)的安全。網(wǎng)絡(luò)信息的傳輸、存儲(chǔ)、處理和使用都要求處于安全的狀態(tài)。根據(jù)OSI狹義的系統(tǒng)與數(shù)據(jù)安全性定義:1. 性(Confidentiality):使信息不泄露給非授權(quán)的個(gè)人、實(shí)體和進(jìn)程,不為其所用;2. 完整性(Integrity):數(shù)據(jù)沒有遭受以非授權(quán)的個(gè)人、實(shí)體和進(jìn)程的竄改,不為其所用;3. 可確認(rèn)性(Accountability):確保一個(gè)實(shí)體的作用可以被獨(dú)一無二地跟蹤到該實(shí)體;4. 可用性(Auailability):根據(jù)授權(quán)實(shí)體的請(qǐng)求可被訪問與使用。入侵定義Ander

13、son在80年代早期使用了“威脅”概念術(shù)語,其定義與入侵含義一樣。將入侵企圖或威脅定義為未授權(quán)蓄意嘗試訪問信息、篡改信息、使系統(tǒng)不可靠或不能使用。Heady給出另外的入侵定義:入侵是指有關(guān)試圖破壞資源的完整性、性與可用性的活動(dòng)集合。Smaha從分類角度指出入侵包括嘗試性闖入、偽裝攻擊、安全控制系統(tǒng)滲透、泄漏、拒絕服務(wù)、惡意使用六種類型。2.1.2 入侵的步驟黑客通常采用以下的幾個(gè)步驟來實(shí)現(xiàn)入侵目標(biāo)主機(jī)的目的。1、搜集信息:尋找目標(biāo)主機(jī)并分析要攻擊的環(huán)境。2、實(shí)施入侵:獲取和密碼,登錄主機(jī)。3、提升權(quán)限:黑客一旦獲得目標(biāo)主機(jī)普通用戶的,便可以利用一些登錄工具進(jìn)入目標(biāo)主機(jī),進(jìn)入以后,他們會(huì)想方設(shè)法

14、的到超級(jí)用戶的權(quán)限,然后進(jìn)行任意操作。4、攻擊活動(dòng)的實(shí)施:黑客獲取了超級(jí)用戶權(quán)限后,就可以在目標(biāo)系統(tǒng)上為所欲為。根據(jù)各自不同的目的,黑客在攻克的目標(biāo)系統(tǒng)上進(jìn)行不同的破壞活動(dòng),例如竊取敏感資料、篡改文件容,替換目標(biāo)系統(tǒng)WWW服務(wù)的主頁是黑客示威常采用的手段。5、清除日志記錄:黑客在退出被攻克的目標(biāo)前通常要進(jìn)行一些善后處理。2.1.3 黑客攻擊的方法1、網(wǎng)絡(luò)監(jiān)聽網(wǎng)絡(luò)監(jiān)聽最初是為了協(xié)助網(wǎng)絡(luò)管理員監(jiān)測(cè)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù),排除網(wǎng)絡(luò)故障而開發(fā)的技術(shù),然而網(wǎng)絡(luò)監(jiān)聽也給以太網(wǎng)安全帶來了極大的隱患。監(jiān)聽是通過將網(wǎng)絡(luò)接口設(shè)為混雜模式,從而接收經(jīng)過它的所有網(wǎng)絡(luò)數(shù)據(jù)包,達(dá)到偷看局域網(wǎng)其它主機(jī)的通訊的目的。反監(jiān)聽的方法是:

15、將網(wǎng)絡(luò)分段,把不可信任的機(jī)器隔開以防止被監(jiān)聽;加密,大量的密文讓黑客無所適從。2、端口掃描端口掃描的基本原理是掃描方通過向目標(biāo)系統(tǒng)的不同端口發(fā)送具有特殊位的數(shù)據(jù)包,并記錄目標(biāo)做出的應(yīng)答,通過分析得出關(guān)于目標(biāo)的相關(guān)信息。根據(jù)數(shù)據(jù)包的類型可分為:TCP掃描、UDP掃描、ICMP掃描。其中TCP掃描包括:TCP connect()掃描、TCP SYN掃描、TCP SYN|ACK掃描、TCP ACK掃描、TCP FIN掃描、TCP空掃描、TCP Xmax樹掃描(往目標(biāo)端口發(fā)送一個(gè)設(shè)置了FIN|URG|PUSH位的分組。);ICMP掃描包括:ICMP查詢報(bào)文請(qǐng)求與應(yīng)答掃描、ICMP差錯(cuò)報(bào)文掃描;UDP掃

16、描包括:UDP端口不可達(dá)掃描等。3、口令入侵口令入侵是指攻擊者使用合法的用戶和口令登錄到目標(biāo)主機(jī),然后再實(shí)施攻擊行為。攻擊者通過猜測(cè)、監(jiān)聽和破解用戶口令等方法獲得對(duì)主機(jī)或網(wǎng)絡(luò)的訪問權(quán),登錄目標(biāo)系統(tǒng)訪問資源,安裝后門等。防方法:一方面強(qiáng)制用戶選擇安全的口令;另一方面限制口令文件的訪問,例如只讓管理員可讀。4、特洛伊木馬特洛伊木馬程序是指非法駐留在目標(biāo)系統(tǒng)中,提供隱秘的、非用戶所希望的程序。特洛伊木馬程序可用于竊取目標(biāo)系統(tǒng)的敏感信息(例如用戶名和口令)、記錄用戶的鍵盤操作,直至遠(yuǎn)程控制目標(biāo)系統(tǒng)。特洛伊木馬程序一般采用客戶/服務(wù)器方式,駐留到目標(biāo)系統(tǒng)中的程序作為服務(wù)器端,接收客戶端(在黑客的主機(jī)上)

17、的控制命令。要利用特洛伊木馬程序,關(guān)鍵一點(diǎn)是怎樣讓特洛伊木馬程序能駐留到目標(biāo)系統(tǒng)中去,這一般需要使用欺騙手段讓目標(biāo)系統(tǒng)上的用戶執(zhí)行一個(gè)程序或者某個(gè)動(dòng)作從而完成特洛伊木馬程序的安裝。黑客在成功入侵后也常在目標(biāo)系統(tǒng)中安裝特洛伊木馬程序以便長(zhǎng)期控制目標(biāo)系統(tǒng)。防方法:經(jīng)常檢查系統(tǒng)中運(yùn)行的服務(wù)或開啟的端口號(hào),如果陌生的服務(wù)程序在運(yùn)行或陌生的端口號(hào)被開啟,就應(yīng)該進(jìn)一步查清是正常啟動(dòng)的新服務(wù)還是特洛伊木馬程序。特洛伊木馬程序?yàn)榱四茉诿看蜗到y(tǒng)啟動(dòng)的時(shí)候自動(dòng)啟動(dòng),必須要修改注冊(cè)表項(xiàng),所以通過檢查注冊(cè)表也可以發(fā)現(xiàn)特洛伊木馬程序,目前已有專用的防軟件來記錄系統(tǒng)的狀態(tài)與其修改并可擒獲非法修改。5、緩沖區(qū)溢出緩沖區(qū)溢出

18、就是向堆棧中分配的局部變量傳遞超長(zhǎng)的數(shù)據(jù),導(dǎo)致數(shù)據(jù)越界而覆蓋它后面的堆棧區(qū)域。黑客利用緩沖區(qū)溢出覆蓋程序或函數(shù)的返回地址,當(dāng)程序或函數(shù)返回時(shí)指針指向黑客設(shè)計(jì)的位置,使黑客的惡意代碼得以執(zhí)行而獲得系統(tǒng)中的用戶權(quán)限甚至特權(quán)用戶權(quán)限。緩沖區(qū)溢出是目前最常見的攻擊收集。緩沖區(qū)溢出攻擊又可分為遠(yuǎn)程溢出攻擊和本地溢出攻擊,本地溢出攻擊是黑客獲得普通用戶權(quán)限后提升自己權(quán)限采用的方法;遠(yuǎn)程溢出攻擊是黑客獲得普通用戶權(quán)限后提升自己權(quán)限常采用的方法;遠(yuǎn)程溢出攻擊則可以在沒有系統(tǒng)的任何的情況下獲得系統(tǒng)中的用戶權(quán)限,甚至直接獲得特權(quán)用戶權(quán)限。防緩沖區(qū)溢出的方法是在程序設(shè)計(jì)時(shí)記住進(jìn)行越界檢查。6、拒絕服務(wù)DOS(Den

19、ial of Service)拒絕服務(wù)是就攻擊結(jié)果而言的,指目標(biāo)主機(jī)不能為用戶提供正常的服務(wù),即破壞目標(biāo)系統(tǒng)的可用性。要達(dá)到這一目的,有幾種不同的方法:服務(wù)超載、報(bào)文洪水攻擊使系統(tǒng)變慢,以阻止處理常規(guī)工作、SYN、分布式拒絕服務(wù)攻擊。7、暗藏ICMP通道ICMP (因特網(wǎng)控制報(bào)文協(xié)議)是IP層上的差錯(cuò)和控制協(xié)議。Ping命令是利用ICMP的回應(yīng)請(qǐng)求報(bào)文來探測(cè)一個(gè)目的機(jī)器是否可以連通和有響應(yīng)。任何一臺(tái)機(jī)器接收到一個(gè)回應(yīng)請(qǐng)求,都返回一個(gè)回應(yīng)應(yīng)答報(bào)文給原請(qǐng)求者。因?yàn)閜ing命令的數(shù)據(jù)報(bào)文幾乎會(huì)出現(xiàn)在每個(gè)網(wǎng)絡(luò)中,許多防火墻和網(wǎng)絡(luò)都認(rèn)為這種數(shù)據(jù)無危險(xiǎn)而讓其通過。黑客正是利用了這一點(diǎn),用ICMP數(shù)據(jù)包開一

20、個(gè)暗藏的通道。ICMP數(shù)據(jù)包有一選項(xiàng)可以包含一個(gè)數(shù)據(jù)段,盡管其中的有效信息通常是時(shí)間信息,實(shí)際上任何設(shè)備都不檢查其數(shù)據(jù)容,這樣它包含任何數(shù)據(jù),成為黑客傳遞信息的載體。利用此通道,可以秘密向目標(biāo)主機(jī)上的木馬程序傳遞命令并在目標(biāo)機(jī)器上執(zhí)行,也可以將在目標(biāo)主機(jī)上搜集到的信息傳送給遠(yuǎn)端的黑客,作為一個(gè)秘密用戶與用戶、用戶與機(jī)器間通信的方法。 防的方法是設(shè)置ICMP數(shù)據(jù)包的智能過濾器。8、欺騙欺騙可以分為以下幾種:IP欺騙在UNIX網(wǎng)絡(luò)中可以有被信任的主機(jī)。如果一個(gè)主機(jī)將信任擴(kuò)展到另一臺(tái)主機(jī),那么兩臺(tái)主機(jī)上都有的一樣名字的用戶,可以從被信任的主機(jī)上登錄到這臺(tái)主機(jī)上,而不必提供口令。信任也可被擴(kuò)充到一些選

21、中的機(jī)器上的不同用戶,而最終可到任何主機(jī)上的任何用戶。除rlogin外,rpc,rdist,rsh等(稱為R*命令)都可使用信任方案。當(dāng)從遠(yuǎn)程主機(jī)上啟動(dòng)任何R*命令,接收的主機(jī)僅檢查發(fā)送機(jī)器的IP地址是否符合授權(quán)信任的主機(jī),如果符合,命令就被執(zhí)行;若不符合,就拒絕命令或要求口令。由于Internet協(xié)議缺乏源IP地址認(rèn)證,IP欺騙攻擊就是利用這個(gè)弱點(diǎn)。若入侵者的主機(jī)為illegal,目標(biāo)主機(jī)為target,信任主機(jī)為friend,入侵者將illegal的IP地址改為friend的IP地址,即入侵者將發(fā)向目標(biāo)主機(jī)的數(shù)據(jù)包中源地址改為被信任主機(jī)的地址,這樣target就會(huì)相信illegal,允許它

22、訪問。防的方法是禁用基于IP地址的信任關(guān)系:將MAC與IP綁定等。路由欺騙通過偽造或修改路由表來故意發(fā)送非本地報(bào)文以達(dá)到攻擊目的。路由欺騙的分為:基于ICMP的路由欺騙、基于RIP的路由欺騙、基于源路徑的欺騙。DNS欺騙DNS完成IP地址到域名之間的相互轉(zhuǎn)換,從DNS服務(wù)器返回到響應(yīng)一般為Internet上所有的主機(jī)所信任。黑客只需先于域名服務(wù)器所發(fā)送給客戶機(jī)一個(gè)偽造的響應(yīng)數(shù)據(jù)報(bào)就可欺騙客戶機(jī)連接到非法的主機(jī)上,或者先在服務(wù)器驗(yàn)證一個(gè)可信任的客戶機(jī)名的IP地址時(shí)欺騙服務(wù)器。防方法是用轉(zhuǎn)化得到的IP地址或域名再次作反向轉(zhuǎn)換驗(yàn)證。Web欺騙Web欺騙通過創(chuàng)建某個(gè)WWW的一個(gè)復(fù)制圖像,從而達(dá)到欺騙該

23、網(wǎng)絡(luò)用戶的目的。如果用戶訪問這個(gè)假冒的,從用戶角度來說感覺不到任何差別,但是用戶的一舉一動(dòng)都在黑客的監(jiān)視之下,用戶提交的任何敏感信息(例如信用卡的和密碼)都成了黑客的獵物。的某個(gè)電子商務(wù)就曾遭到黑客冒充,造成大量用戶的信用卡密碼被盜。為了實(shí)施Web欺騙,黑客必須引誘用戶去訪問這個(gè)假冒的,一般有以下方法:利用前面介紹的DNS欺騙;創(chuàng)建錯(cuò)誤的Web索引,指示給搜索引擎;把錯(cuò)誤的WEB連接發(fā)送給用戶。防的方法是:禁止瀏覽器中的Javascript、ActibeX功能,使黑客不能改寫瀏覽器的信息欄來隱藏自己;通過瀏覽器提供的WEB屬性或者直接查看HTML源文件發(fā)現(xiàn)錯(cuò)誤的URL。TCP會(huì)話劫取TCP會(huì)話

24、劫取是入侵者強(qiáng)行強(qiáng)占已經(jīng)存在的連接。入侵者監(jiān)視一個(gè)會(huì)話已經(jīng)通過口令或其他較強(qiáng)的身份驗(yàn)證之后,就搶占這個(gè)會(huì)話。例如一個(gè)用戶用login或其他終端會(huì)話連接到遠(yuǎn)程主機(jī)上,身份驗(yàn)證之后,入侵者搶占該連接。TCP會(huì)話劫取需要綜合使用拒絕服務(wù)、監(jiān)聽和IP欺騙的方法。2.1.4 安全威脅的根源五花八門的攻擊方法讓人眼花繚亂,那么為什么會(huì)有這么多的漏洞讓黑客有機(jī)可乘呢?概括地說,安全威脅的根源主要是三個(gè)方面:1.網(wǎng)絡(luò)協(xié)議設(shè)計(jì)和實(shí)現(xiàn)中的漏洞TCP/IP協(xié)議族在規(guī)則之初是為了方便地實(shí)現(xiàn)信息的共享,設(shè)計(jì)時(shí)注重的是開放和靈活,未能對(duì)安全性(身份鑒別和信息等)給予足夠的考慮。這在當(dāng)時(shí)的歷史條件下是適用的,但在今天這樣商

25、業(yè)和政府廣泛參與、INTERNET普遍應(yīng)用的條件下,INTERNET缺乏安全性的先天不足就給無孔不入的黑客許多可乘之機(jī)。例如監(jiān)聽、暗藏的ICMP通道、SYN洪水、IP欺騙、DNS欺騙、TCP會(huì)話劫取、路由欺騙等都是利用了網(wǎng)絡(luò)協(xié)議設(shè)計(jì)上的漏洞。各種類型的TCP/IP協(xié)議的軟件實(shí)現(xiàn)中的漏洞更是五花八門,例如著名的OOB攻擊就是利用了WINDOWS操作系統(tǒng)的早期版本中TCP/IP協(xié)議棧實(shí)現(xiàn)上的一個(gè)漏洞。2.計(jì)算機(jī)軟件設(shè)計(jì)和實(shí)現(xiàn)中的疏漏包括作為計(jì)算機(jī)核心的操作系統(tǒng)和作為支撐軟件的編譯器和數(shù)據(jù)庫管理系統(tǒng),也包括提供服務(wù)的應(yīng)用程序等,這些軟件往往由于功能復(fù)雜、規(guī)模龐大,又沒有安全理論的指導(dǎo)或安全原則未能貫

26、穿始終,甚至有的在設(shè)計(jì)之初就沒有考慮安全問題,導(dǎo)致了諸如緩沖區(qū)溢出、符號(hào)連接和后門等各種各樣的攻擊手段,這些漏洞一旦被發(fā)現(xiàn),就可對(duì)系統(tǒng)的安全構(gòu)成致命的威脅。3. 系統(tǒng)和網(wǎng)絡(luò)使用過程中的錯(cuò)誤配置與誤操作完善的安全防體系包括安全準(zhǔn)則的正確執(zhí)行,人為疏忽會(huì)造成系統(tǒng)錯(cuò)誤配置。如果配置不當(dāng),攻擊者就可以很容易突破防線,獲得非授權(quán)訪問能力甚至是系統(tǒng)特權(quán)。由此可見,只要杜絕了計(jì)算機(jī)系統(tǒng)在設(shè)計(jì)、實(shí)現(xiàn)和使用上的錯(cuò)誤,黑客就束手無策了,這也是計(jì)算機(jī)工作者夢(mèng)寐以求的一個(gè)理想。但是,經(jīng)驗(yàn)證明程序錯(cuò)誤和其它人為錯(cuò)誤造成的安全隱患是不可能完全避免的。在這樣的條件下,具有主動(dòng)防御能力的入侵檢測(cè)技術(shù)就顯的尤為重要。2.2 入

27、侵檢測(cè)技術(shù)2.2.1 入侵檢測(cè)的概念1980年4月,在James P.Anderson為美國(guó)空軍做的題為 :計(jì)算機(jī)安全威脅監(jiān)控與監(jiān)視(“ComputerSecurity Threat Monitoring and Surveillance”)的技術(shù)報(bào)告中,首次提出了入侵(威脅 threat)的概念:潛在的有預(yù)謀未經(jīng)授權(quán)訪問信息、操作信息、致使系統(tǒng)不可靠或無法使用的企圖。Heady認(rèn)為入侵是指試圖破壞資源的完整性、性與可用性的行為集合。關(guān)于入侵檢測(cè)的概念,還有許多從不同角度的定義。入侵檢測(cè)是對(duì)發(fā)生在計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)中的事件進(jìn)行監(jiān)控與對(duì)入侵信號(hào)的分析過程。使監(jiān)控和分析過程自動(dòng)化的軟件或硬件產(chǎn)品稱為

28、入侵檢測(cè)系統(tǒng)(Intrusion Detection System),簡(jiǎn)稱IDS。一個(gè)完整的入侵檢測(cè)系統(tǒng)必須具有:經(jīng)濟(jì)性、時(shí)效性、安全性、可擴(kuò)展性的特點(diǎn)。2.2.2 入侵檢測(cè)系統(tǒng)的基本結(jié)構(gòu)構(gòu)成CIDF(Common Intrusion Detection Frame,公共入侵檢測(cè)框架)提出了通用模型,將入侵檢測(cè)系統(tǒng)分為四個(gè)基本組件:事件產(chǎn)生器、事件分析器、響應(yīng)單元和事件數(shù)據(jù)庫,見下圖。輸出:事件的有關(guān)信息輸出:原始或低級(jí)事件響應(yīng)單元事件分析器事件數(shù)據(jù)庫事件產(chǎn)生器輸出:高級(jí)中級(jí)事件輸出:反應(yīng)或事件輸入:原始事件源圖2.1公共入侵檢測(cè)框架(CIDF)的體系結(jié)構(gòu)(1)事件產(chǎn)生器(Event gene

29、rators)事件產(chǎn)生器是入侵檢測(cè)系統(tǒng)中負(fù)責(zé)原始數(shù)據(jù)采集的部分,它對(duì)數(shù)據(jù)流、日志文件等進(jìn)行追蹤,然后將收集到的原始數(shù)據(jù)轉(zhuǎn)換為事件,并向系統(tǒng)的其他部分提供此事件。(2)事件分析器(Event analyzers)事件分析器接收事件信息,然后對(duì)它們進(jìn)行分析,判斷是否是入侵行為或異常現(xiàn)象,最后把判斷的結(jié)果轉(zhuǎn)換為警告信息。(3)事件數(shù)據(jù)庫(Response units )事件數(shù)據(jù)庫是存放各種中間和最終數(shù)據(jù)的地方。(4)響應(yīng)單元(Response units )響應(yīng)單元根據(jù)警告信息做出反應(yīng),如切斷連接、改變文本屬性等強(qiáng)烈的反應(yīng),也可能是簡(jiǎn)單地報(bào)警。它是入侵檢測(cè)系統(tǒng)中的主動(dòng)武器。2.2.3 入侵檢測(cè)的分類

30、根據(jù)原始數(shù)據(jù)的來源分類:(1)基于主機(jī)(host-based)的入侵檢測(cè)系統(tǒng)該系統(tǒng)獲取的數(shù)據(jù)來源于運(yùn)行該系統(tǒng)所在的主機(jī)。它通過監(jiān)視和分析主機(jī)的審計(jì)記錄和日志文件來檢測(cè)入侵?;谥鳈C(jī)的入侵檢測(cè)系統(tǒng)主要用于保護(hù)運(yùn)行關(guān)鍵應(yīng)用的服務(wù)器。由于需要在主機(jī)上安裝軟件,針對(duì)不同的系統(tǒng)、不同的版本需安裝不同的主機(jī)引擎,安裝配置較為復(fù)雜,同時(shí)對(duì)系統(tǒng)的運(yùn)行和穩(wěn)定性都會(huì)造成影響。(2)基于網(wǎng)絡(luò)(network-based)的入侵檢測(cè)系統(tǒng)該系統(tǒng)獲取的數(shù)據(jù)來源是網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包。它通過監(jiān)聽網(wǎng)絡(luò)上的所有分組來采集數(shù)據(jù),分析可疑現(xiàn)象?;诰W(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)主要用于實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)上的關(guān)鍵路徑(某一共享網(wǎng)段)。只需把它安裝在網(wǎng)絡(luò)

31、的監(jiān)聽端口上,對(duì)網(wǎng)絡(luò)的運(yùn)行影響較小。(3)混合型入侵檢測(cè)系統(tǒng)毋庸質(zhì)疑,混合型就是既基于主機(jī)又基于網(wǎng)絡(luò)?;谥鳈C(jī)的和基于網(wǎng)絡(luò)的IDS具有互補(bǔ)性,基于網(wǎng)絡(luò)的入侵檢測(cè)能夠客觀地反映網(wǎng)絡(luò)活動(dòng),特別是能夠監(jiān)視到系統(tǒng)審計(jì)的盲區(qū);而基于主機(jī)的入侵檢測(cè)能夠更加準(zhǔn)確地監(jiān)視系統(tǒng)中的各種活動(dòng)。由于近些年來,混合式病毒攻擊的活動(dòng)更為猖獗,單一的基于主機(jī)或者單一的基于網(wǎng)絡(luò)的IDS無法抵御混合式攻擊,因此,采用混合型的入侵檢測(cè)系統(tǒng)可以更好的保護(hù)系統(tǒng)。根據(jù)分析方法分類(1)誤用檢測(cè)(特征檢測(cè)signature-based)誤用檢測(cè)是基于已知的系統(tǒng)缺陷和入侵模式,所以又稱為特征檢測(cè)。誤用檢測(cè)是對(duì)不正常的行為建模,這些不正常的

32、行為是被記錄下來的確認(rèn)的誤用和攻擊。通過對(duì)系統(tǒng)活動(dòng)的分析,發(fā)現(xiàn)與被定義好的攻擊特征相匹配的事件或事件集合。該檢測(cè)方法可以有效地檢測(cè)到已知攻擊,檢測(cè)精度高,誤報(bào)少。但需要不斷更新攻擊的特征庫,系統(tǒng)靈活性和自適應(yīng)性較差,漏報(bào)較多。商用IDS多采用該種檢測(cè)方法。(2)異常檢測(cè)(anomaly-based)異常檢測(cè)是指能根據(jù)異常行為和使用計(jì)算機(jī)資源的情況檢測(cè)出入侵的方法。它試圖用定量的方式描述可以接受的行為特征,以區(qū)分非正常的、潛在的入侵行為。也就是,異常檢測(cè)是對(duì)用戶的正常行為建模,通過正常行為與用戶的行為進(jìn)行比較,如果二者的偏差超過了規(guī)定閾值則認(rèn)為該用戶的行為是異常的。異常檢測(cè)的誤報(bào)較多。目前,大多

33、數(shù)的異常檢測(cè)技術(shù)還處于研究階段,基本沒有用于商業(yè)IDS中。根據(jù)體系結(jié)構(gòu)分類(1)集中式入侵檢測(cè)系統(tǒng)集中式IDS有多個(gè)分布在不同主機(jī)上的審計(jì)程序,僅有一個(gè)中央入侵檢測(cè)服務(wù)器。審計(jì)程序?qū)?dāng)?shù)厥占降臄?shù)據(jù)蹤跡發(fā)送給中央服務(wù)器進(jìn)行分析處理。隨著服務(wù)器所承載的主機(jī)數(shù)量的增多,中央服務(wù)器進(jìn)行分析處理的數(shù)量就會(huì)猛增,而且一旦服務(wù)器遭受攻擊,整個(gè)系統(tǒng)就會(huì)崩潰。(2)等級(jí)式(部分分布式)入侵檢測(cè)系統(tǒng)等級(jí)式IDS中定義了若干個(gè)等級(jí)的監(jiān)控區(qū)域,每個(gè)IDS負(fù)責(zé)一個(gè)區(qū)域,每一級(jí)IDS只負(fù)責(zé)所監(jiān)控區(qū)的分析,然后將當(dāng)?shù)氐姆治鼋Y(jié)果傳送給上一級(jí)IDS。等級(jí)式IDS也存在一些問題:首先,當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變時(shí),區(qū)域分析結(jié)果的匯總機(jī)

34、制也需要做相應(yīng)的調(diào)整;其次,這種結(jié)構(gòu)的IDS最后還是要將各地收集的結(jié)果傳送到最高級(jí)的檢測(cè)服務(wù)器進(jìn)行全局分析,所以系統(tǒng)的安全性并沒有實(shí)質(zhì)性的改進(jìn)。(3)分布式(協(xié)作式)入侵檢測(cè)系統(tǒng)分布式IDS是將中央檢測(cè)服務(wù)器的任務(wù)分配給多個(gè)基于主機(jī)的IDS,這些IDS不分等級(jí),各司其職,負(fù)責(zé)監(jiān)控當(dāng)?shù)刂鳈C(jī)的某些活動(dòng)。所以,其可伸縮性、安全性都等到了顯著的提高,并且與集中式IDS相比,分布式IDS對(duì)基于網(wǎng)絡(luò)的共享數(shù)據(jù)量的要求較低。但維護(hù)成本卻提高了很多,并且增加了所監(jiān)控主機(jī)的工作負(fù)荷,如通信機(jī)制、審計(jì)開銷、蹤跡分析等。分布式IDS是本文研究一個(gè)重點(diǎn)。根據(jù)時(shí)效性分類(1)脫機(jī)分析:就是在行為發(fā)生后,對(duì)產(chǎn)生的數(shù)據(jù)進(jìn)行

35、分析,而不是在行為發(fā)生時(shí)進(jìn)行分析。如對(duì)日志的審核、對(duì)系統(tǒng)文件的完整性檢查等。(2)聯(lián)機(jī)分析:就是在數(shù)據(jù)產(chǎn)生或者發(fā)生改變的同時(shí)對(duì)其進(jìn)行檢查,以發(fā)現(xiàn)攻擊行為,這種方式一般用于對(duì)網(wǎng)絡(luò)數(shù)據(jù)的實(shí)時(shí)分析,并且對(duì)系統(tǒng)資源要求比較高。不同的分類方法體現(xiàn)的是對(duì)入侵檢測(cè)系統(tǒng)不同側(cè)面的理解。入侵檢測(cè)的核心在于對(duì)事件的分析,所以分析分類方法是較重要的。2.2.4 入侵檢測(cè)方法1、模式匹配模式匹配是傳統(tǒng)的、最簡(jiǎn)單的入侵檢測(cè)方法。該方法需要建立一個(gè)攻擊特征庫,檢查接收到的數(shù)據(jù)中是否包含特征庫中的攻擊特征,從而判斷是否受到攻擊。它的算法簡(jiǎn)單、準(zhǔn)確率高,但是只能檢測(cè)到已知攻擊,對(duì)已知攻擊稍加修改就可以躲過檢測(cè),漏報(bào)現(xiàn)象嚴(yán)重,

36、模式庫需要不斷更新。對(duì)于高速大規(guī)模的網(wǎng)絡(luò)來說,由于要分析處理大量的數(shù)據(jù)包,該方法的速度就成為了問題。2、協(xié)議分析協(xié)議分析是對(duì)模式匹配的智能擴(kuò)展,它利用網(wǎng)絡(luò)協(xié)議的高度規(guī)則性快速探測(cè)攻擊的存在。它的提出彌補(bǔ)了模式匹配技術(shù)的一些不足,如計(jì)算量大、探測(cè)準(zhǔn)確率低等。另外,協(xié)議分析還可以探測(cè)碎片攻擊。例如:假設(shè)襲擊執(zhí)行的基礎(chǔ)協(xié)議是虛構(gòu)的BGS協(xié)議,攻擊要求非法變量foo必須傳遞到BGS型字段中。如果BGS協(xié)議允許隔字節(jié)為空,那么模式匹配將無法發(fā)現(xiàn)fx00ox00ox00,相反,協(xié)議分析則能夠跳過空字節(jié),如期發(fā)出警報(bào)。3、專家系統(tǒng)專家系統(tǒng)使用基于規(guī)則的語言為已知攻擊建模,它把審計(jì)事件表述成語義的事實(shí),推理引

37、擎根據(jù)這些規(guī)則和事實(shí)進(jìn)行判定。專家系統(tǒng)的建立依賴于知識(shí)庫的完備性,知識(shí)庫的完備性取決于審計(jì)記錄的完備性和實(shí)時(shí)性。4、統(tǒng)計(jì)分析統(tǒng)計(jì)分析是通過設(shè)置極限閾值等方法,將檢測(cè)數(shù)據(jù)與已有的正常行為加以比較,如果超出極限值,則認(rèn)為是入侵行為。常用的入侵檢測(cè)統(tǒng)計(jì)分析模型有:操作模型,方差,多元模型,馬爾可夫過程模型,時(shí)間序列分析。5、數(shù)據(jù)挖掘數(shù)據(jù)挖掘是數(shù)據(jù)庫中的一項(xiàng)技術(shù),它的作用是從大型數(shù)據(jù)庫中抽取知識(shí)。對(duì)于入侵檢測(cè)系統(tǒng)來說,也需要從大量的數(shù)據(jù)中提取出入侵的特征。因此,將數(shù)據(jù)挖掘技術(shù)引入入侵檢測(cè)系統(tǒng)中,通過數(shù)據(jù)挖掘程序處理收集到的審計(jì)數(shù)據(jù),為各種入侵行為和正常操作建立精確的行為模式,這是一個(gè)自動(dòng)的過程。數(shù)據(jù)挖

38、掘的關(guān)鍵點(diǎn)在于算法的選取和一個(gè)正確的體系結(jié)構(gòu)的建立。6、神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)具有自適應(yīng)、自組織和自學(xué)習(xí)的能力,可以處理一些環(huán)境信息復(fù)雜、背景知識(shí)不清楚的問題。將神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于入侵檢測(cè)系統(tǒng),以檢測(cè)未知攻擊。來自審計(jì)日志或正常網(wǎng)絡(luò)訪問行為的信息,經(jīng)數(shù)據(jù)信息預(yù)處理模塊的處理后即產(chǎn)生輸入向量。使用神經(jīng)網(wǎng)絡(luò)對(duì)輸入向量進(jìn)行處理,從中提取用戶正常行為的模式特征,并以此創(chuàng)建用戶的行為特征輪廓。這要求系統(tǒng)事先對(duì)大量實(shí)例進(jìn)行訓(xùn)練,具有每一個(gè)用戶行為模式特征的知識(shí),從而可以找出偏離這些輪廓的用戶行為。7、模糊系統(tǒng)模糊理論在知識(shí)和規(guī)則獲取中具有重要的作用。人類思維、語言具有模糊性,模糊思維形式和語言表達(dá)具有廣泛性、完

39、美和高效的特征。人們的許多知識(shí)是模糊的,模糊知識(shí)在控制和決策中具有巨大的作用。由于計(jì)算機(jī)網(wǎng)絡(luò)中的正常行為和異常行為難以很好界定,使用模糊邏輯推理方法,入侵檢測(cè)系統(tǒng)的誤報(bào)率則會(huì)降低。8、免疫系統(tǒng)免疫系統(tǒng)是一個(gè)復(fù)雜的多代理系統(tǒng)。將免疫系統(tǒng)應(yīng)用到入侵檢測(cè)當(dāng)中,本質(zhì)上是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)分布式智能多代理系統(tǒng)。免疫的基本原理是分辨本體(正常)和異體(異常)。在入侵檢測(cè)領(lǐng)域,本體是被監(jiān)控網(wǎng)絡(luò)的正常行為,異體是網(wǎng)絡(luò)的異常行為。9、遺傳算法遺傳算法是基于自然選擇,在計(jì)算機(jī)上模擬生物進(jìn)化機(jī)制的尋優(yōu)搜索法.在自然界的演化過程中,生物體通過遺傳、變異來適應(yīng)外界環(huán)境,一代又一代地優(yōu)勝劣汰,發(fā)展進(jìn)化。遺傳則模擬了上述進(jìn)化現(xiàn)

40、象。它把搜索空間映射為遺傳空間,即把每個(gè)可能的解編碼為一個(gè)向量,稱為一個(gè)染色體,向量的每個(gè)元素稱為基因。所有染色體組成群體,并按預(yù)定的目標(biāo)函數(shù)對(duì)每個(gè)染色體進(jìn)行評(píng)價(jià),根據(jù)結(jié)果給出一個(gè)適應(yīng)度的值。算法開始時(shí)先隨機(jī)地產(chǎn)生一些染色體,計(jì)算其適應(yīng)度,根據(jù)適應(yīng)度對(duì)各染色體進(jìn)行選擇復(fù)制、交叉、變異等遺傳操作,剔除適應(yīng)度低的染色體,留下適應(yīng)度高的染色體,從而得到新的群體。由于新群體的成員是上一代群體的優(yōu)秀者,繼承了上一代的優(yōu)良形態(tài),因而明顯優(yōu)于上一代。遺傳算法就這樣反復(fù)迭代,向著更優(yōu)解的方向進(jìn)化,直至滿足某種預(yù)定的優(yōu)化指標(biāo)。10、數(shù)據(jù)融合數(shù)據(jù)融合是針對(duì)一個(gè)系統(tǒng)中使用多個(gè)和(或)多類傳感器這一特定問題展開的一種

41、新的數(shù)據(jù)處理方法,因此數(shù)據(jù)融合又稱多傳感器信息融合或信息融合。多傳感器信息融合的基本原理就像人腦綜合處理信息的過程一樣,它充分利用多個(gè)傳感器資源,通過對(duì)各個(gè)傳感器與其觀測(cè)信息的合理支配和使用,將各種傳感器在空間和時(shí)間上的互補(bǔ)與冗余信息根據(jù)某種優(yōu)化準(zhǔn)則組合起來,產(chǎn)生對(duì)觀測(cè)環(huán)境的一致性解釋和描述。它的最終目的是利用多個(gè)傳感器共同或者聯(lián)合操作的優(yōu)勢(shì),來提高整個(gè)系統(tǒng)的性能。把數(shù)據(jù)融合引入入侵檢測(cè)領(lǐng)域,可以從不同角度、不同位置收集反映網(wǎng)絡(luò)狀態(tài)的數(shù)據(jù)信息,如網(wǎng)絡(luò)數(shù)據(jù)包、系統(tǒng)日志、系統(tǒng)操作者發(fā)出的口令等。對(duì)這些信息進(jìn)行分析和結(jié)果融合,給出檢測(cè)系統(tǒng)的判斷結(jié)果和響應(yīng)措施。在實(shí)際的應(yīng)用和研究中,通常不采用單一的檢

42、測(cè)方法而是采用多種檢測(cè)方法相結(jié)合的方式來檢測(cè)攻擊。以上所介紹的方法有些還處于研究階段,不能達(dá)到一定的檢測(cè)精度,漏報(bào)、誤報(bào)現(xiàn)象較為嚴(yán)重,還有待進(jìn)一步的研究。2.3 BM算法Boyer-Moore(BM)算法,又叫做快速字符串搜索算法,它是一種非常有效的字符串匹配算法。主要應(yīng)用于一些程序的字符串處理,比如:搜索,替代等。這種算法的時(shí)間復(fù)雜度低于線性,所以是現(xiàn)在用的最多的一種方法。BM算法從匹配串(模式串:pattern)的最右端的第一個(gè)字符開始從右至左掃描,匹配字符串(text),一旦發(fā)生不匹配就用兩種規(guī)則向右移動(dòng)模式串,直到匹配。這兩種規(guī)則分別叫做:好后綴規(guī)則(good-suffix shift

43、)、壞字符規(guī)則(bad-character shift)。好后綴規(guī)則(good-suffix shift)假設(shè)在模式串的字符xi=a,字符串的字符yi+j=b處不匹配,即xi+1 . m-1=yi+j+1 . j+m-1=u, and xi != yi+j。有兩種情況發(fā)生:1、如果在x后面的其他位置還包括好后綴u,且與u相鄰左端的字符xi-n=c不等于xi=a,這時(shí)把在x后面的其他位置出現(xiàn)的u與y中的u對(duì)齊,并比較xi-n與yi+j。依次類推,示意圖如下:圖2.1好后綴規(guī)則, u出現(xiàn)的位置前的字符c!=a2、如果沒有出現(xiàn)與u一樣的字符串則找到與u 的后綴一樣的x的最長(zhǎng)前綴u

44、,向右移動(dòng)x,使v與y中 u的后綴相對(duì)應(yīng)。示意圖如下:圖2.2好后綴規(guī)則, 只有u的一部分前綴出現(xiàn)在x中l(wèi) 壞字符規(guī)則(bad-character shift)1、從右到左的掃描過程中,發(fā)現(xiàn)xi與yj不同,如果x中存在一個(gè)字符xk與yi一樣,且k<i那么就將直接將x向右移使xk與yi對(duì)齊,然后再從右到左進(jìn)行匹配。圖2.3壞字符規(guī)則,a與b不匹配,b出現(xiàn)在x中2、如果x中不存在任何與yi一樣的字符,則直接將x的第一個(gè)字符與yi的下一個(gè)字符對(duì)齊,再從右到左進(jìn)行比較。圖2.4壞字符規(guī)則,a與b不匹配,b沒有出現(xiàn)在x中移動(dòng)規(guī)則:當(dāng)文本字符串與模式字符不匹配時(shí),根據(jù)函數(shù)bad-chara

45、cter shift和good-suffix shift計(jì)算出的偏移值,取兩者中的大者。1、存放bad-character shift的數(shù)組為BadChar,則BadCharc= mini| 1 im-1 and xm-1-i=c,如果c未在模式字符中出現(xiàn)則BadCharcm(m為x的長(zhǎng)度)。2、存放good-suffix shift的數(shù)組為GoodSuffix,則suffi=maxk | yi-k+1 . i=xm-k . m-1, 1 i < m 。即 suff 是 P0.i和 T 的最長(zhǎng)一般后綴。計(jì)算suff數(shù)組使得計(jì)算GoodSuffix函數(shù)變得簡(jiǎn)潔GoodSuffixm - 1

46、 - suffi = m - 1i。最后取BadCharc和GoodSuffixc的最大值。3 系統(tǒng)總體設(shè)計(jì)3.1 系統(tǒng)概述系統(tǒng)構(gòu)建基于windows操作系統(tǒng),并且兼容各種windows版本,系統(tǒng)的整體目標(biāo)是實(shí)現(xiàn)一個(gè)windows平臺(tái)下基于規(guī)則(基于誤用)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),實(shí)現(xiàn)基于規(guī)則的網(wǎng)絡(luò)入侵檢測(cè),在現(xiàn)有已知的入侵特征下建立規(guī)則庫,實(shí)現(xiàn)數(shù)據(jù)包地捕獲和分析,完成對(duì)漏洞攻擊和掃描等攻擊行為的檢測(cè)和報(bào)告。同時(shí)對(duì)攻擊事件存入數(shù)據(jù)庫,以便事后取證。系統(tǒng)基于windows平臺(tái)構(gòu)建的基于規(guī)則(基于誤用)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),能夠有效檢測(cè)入侵事件、防止入侵、安全審計(jì)。系統(tǒng)的開發(fā)選擇支持國(guó)際標(biāo)準(zhǔn)的開發(fā)平臺(tái)類型

47、、系統(tǒng)結(jié)構(gòu)和技術(shù)方案,支持跨平臺(tái)、跨越應(yīng)用的移植,使系統(tǒng)的硬件環(huán)境、通信環(huán)境、軟件環(huán)境相互間依賴程度減至最小,使其各自發(fā)揮優(yōu)勢(shì);為使能方便用戶開發(fā)了一個(gè)中央控制臺(tái),方便用戶管理和使用一系列的功能。3.2 系統(tǒng)總體結(jié)構(gòu)框架入侵檢測(cè)系統(tǒng)檢測(cè)模塊響應(yīng)模塊數(shù)據(jù)捕獲數(shù)據(jù)分析規(guī)則庫規(guī)則匹配引擎響應(yīng)單元日志庫圖3.1系統(tǒng)總體結(jié)構(gòu)框架3.3 開發(fā)環(huán)境開發(fā)系統(tǒng)所采用的語言是C/C+,表3.1是開發(fā)系統(tǒng)所用到的相關(guān)部件。表3.1 系統(tǒng)開發(fā)軟體環(huán)境部件名稱軟體系統(tǒng)平臺(tái)Microsoft Windows開發(fā)工具VC+ 6.0編譯環(huán)境VC+ 6.0運(yùn)行環(huán)境Microsoft Windows數(shù)據(jù)庫MYSQL開發(fā)包winp

48、cap、libnids4 響應(yīng)模塊設(shè)計(jì)實(shí)現(xiàn)4.1 規(guī)則庫設(shè)計(jì)實(shí)現(xiàn)IDS要有效地捕捉入侵行為,必須擁有一個(gè)強(qiáng)大的入侵特征數(shù)據(jù)庫,這就如同公安部門必須擁有健全的罪犯信息庫一樣。但是,IDS一般所帶的特征數(shù)據(jù)庫都比較死板,遇到“變 臉”的入侵行為往往相逢不相識(shí)。因此,管理員有必要學(xué)會(huì)如何創(chuàng)建滿足實(shí)際需要的特征數(shù)據(jù)樣板,做到萬變應(yīng)萬變!IDS中的規(guī)則(特征)就是指用于判別通訊信息種類的樣板數(shù)據(jù),通常分為多種,以下是一些典型情況與識(shí)別方法: 1、來自保留IP地址的連接企圖:可通過檢查IP報(bào)頭(IP header)的來源地址輕易地識(shí)別。 2、帶有非法TCP 標(biāo)志聯(lián)合物的數(shù)據(jù)包:可通過對(duì)比TCP報(bào)頭中的標(biāo)志

49、集與已知正確和錯(cuò)誤標(biāo)記聯(lián)合的不同點(diǎn)來識(shí)別。 3、含有特殊病毒信息的Email:可通過對(duì)比每封Email的主題信息和病態(tài)Email的主題信息來 識(shí)別,或者,通過搜索特定名字的附近來識(shí)別。 4、查詢負(fù)載中的DNS緩沖區(qū)溢出企圖:可通過解析DNS域與檢查每個(gè)域的長(zhǎng)度來識(shí)別利用DNS 域的緩沖區(qū)溢出企圖。5、通過對(duì)POP3服務(wù)器發(fā)出上千次同一命令而導(dǎo)致的DOS攻擊:通過跟蹤記錄某個(gè)命令連續(xù)發(fā)出的次數(shù),看看是否超過了預(yù)設(shè)上限,而發(fā)出報(bào)警信息。 6、未登錄情況下使用文件和目錄命令對(duì)FTP服務(wù)器的文件訪問攻擊:通過創(chuàng)建具備狀態(tài)跟蹤 的特征樣板以監(jiān)視成功登錄的FTP對(duì)話、發(fā)現(xiàn)未經(jīng)驗(yàn)證卻發(fā)命令的入侵企圖。從以上

50、分類可以看出特征的涵蓋圍很廣,有簡(jiǎn)單的報(bào)頭域數(shù)值、有高度復(fù)雜的連接狀態(tài)跟蹤、有擴(kuò)展的協(xié)議分析。規(guī)則庫的建立報(bào)頭值的結(jié)構(gòu)比較簡(jiǎn)單,而且可以很清楚地識(shí)別出異常報(bào)頭信息,因此,特征數(shù)據(jù)的首席候選人就是它。一個(gè)經(jīng)典的例子是:明顯違背RFC793中規(guī)定的TCP標(biāo)準(zhǔn)、設(shè)置了SYN和FIN標(biāo)記的TCP數(shù)據(jù)包。這種數(shù)據(jù)包被許多入侵軟件采用,向防火墻、路由器以與IDS系統(tǒng)發(fā)起攻擊。 因?yàn)榇蠖鄶?shù)操作系統(tǒng)和應(yīng)用軟件都是在假定RFC被嚴(yán)格遵守的情況下編寫的,沒有添加針對(duì)異常數(shù)據(jù)的錯(cuò)誤處理程序,所以許多包含報(bào)頭值的漏洞利用都會(huì)故意違反RFC的標(biāo)準(zhǔn)定義,明目膽地揭發(fā)被攻擊對(duì)象的偷工減料行為。許多包含錯(cuò)誤代碼的不完善軟件也

51、會(huì)產(chǎn)生違反RFC定義的報(bào)頭值數(shù)據(jù)。并非所有的操作系統(tǒng)和應(yīng)用程序都能全面擁護(hù)RFC定義,至少會(huì)存在一個(gè)方面與RFC不協(xié)調(diào)。 隨著時(shí)間推移,執(zhí)行新功能的協(xié)議可能不被包含于現(xiàn)有RFC中。由于以上幾種情況,嚴(yán)格基于RFC的IDS特征數(shù)據(jù)就有可能產(chǎn)生漏報(bào)或誤報(bào)效果。對(duì)此,RFC也隨著新出現(xiàn)的違反信息而不斷進(jìn)行著更新,我們也有必要定期地回顧或更新存在的特征數(shù)據(jù)定義。非法報(bào)頭值是特征數(shù)據(jù)的一個(gè)非?;A(chǔ)的部分,合法但可疑的報(bào)頭值也同等重要。例如,如果存在到端口31337或27374的可疑連接,就可報(bào)警說可能有特洛伊木馬在活動(dòng);再附加上其他更詳細(xì)地探測(cè)信息,就能夠進(jìn)一步地判斷是真馬還是假馬。不同的入侵檢測(cè)系統(tǒng)有

52、不同的規(guī)則庫,本系統(tǒng)的規(guī)則庫結(jié)構(gòu)如表4.1所示。表4.1 規(guī)則庫結(jié)構(gòu)選項(xiàng)名稱數(shù)據(jù)庫定義名稱意義規(guī)則號(hào)rulesid用于定義規(guī)則的編號(hào)IP協(xié)議字段值Ip_proto在規(guī)則中上層協(xié)議的代碼IP上層協(xié)議protocolIP上層協(xié)議的名稱,如“tcp”規(guī)則動(dòng)作action決定如果匹配該規(guī)則將采取的行動(dòng)IP源地址ip_src數(shù)據(jù)包的來源源地址IP目的地址ip_dst數(shù)據(jù)包的目的地址源端口sourceport數(shù)據(jù)包的來源端口目的端口destinationport數(shù)據(jù)包的去向端口服務(wù)類型tosIP 數(shù)據(jù)包中的TOS字段的值存活期ttl設(shè)置一個(gè)用于檢查的存活期值IP頭的分片idid用于檢測(cè)IP頭的分片id值I

53、P選項(xiàng)ipoption如果IP中包含則檢查。如源路由IP分段位fragbitsIP頭中分段位和保留位的值數(shù)據(jù)大小datasize數(shù)據(jù)包凈荷大小TCP Flagsflags檢查TCP Flags的值TCP序號(hào)seq檢查TCP順序號(hào)的值TCP 應(yīng)答ack檢查TCP應(yīng)答的值TCP窗口域window測(cè)試TCP窗口域的特殊值ICMP 類型itype檢查ICMP type的值ICMP 代碼icode檢查ICMP code的值ICMP ECHO IDicmp_id檢查ICMP ECHO ID的值ICMP ECHO 順序號(hào)icmp_seq檢查ICMP ECHO順序號(hào)的值包凈荷中搜索指定的匹配串content需

54、要檢測(cè)的數(shù)據(jù)段的匹配字符串包凈荷中開始搜索的位置offset搜索數(shù)據(jù)段的開始位置包凈荷中搜索的最大深度depth數(shù)據(jù)段從開始位置開始搜索的最大長(zhǎng)度字符串大小nocase搜索的字符串是否考慮大小寫警告信息msg需要輸出或?qū)懭肴罩緮?shù)據(jù)庫的警告信息4.2 事件分析設(shè)計(jì)與實(shí)現(xiàn)4.2.1 規(guī)則解析規(guī)則在數(shù)據(jù)庫中是以所有類型的規(guī)則混合存儲(chǔ)的方式,所以如果每個(gè)數(shù)據(jù)包到來時(shí)都遍歷數(shù)據(jù)庫,將消耗系統(tǒng)得資源和增加程序的時(shí)間復(fù)雜度,所以在本入侵檢測(cè)系統(tǒng)中將建立規(guī)則的動(dòng)態(tài)鏈表,在程序初始化時(shí)讀取數(shù)據(jù)庫,將以不同的協(xié)議類型,加入不同的動(dòng)態(tài)規(guī)則鏈表。規(guī)則動(dòng)態(tài)鏈表的分類如表4.2。表4.2 規(guī)則鏈表分類IP規(guī)則動(dòng)態(tài)鏈表以數(shù)

55、據(jù)庫規(guī)則記錄中的字段為IP時(shí),加入該鏈表TCP規(guī)則動(dòng)態(tài)鏈表以數(shù)據(jù)庫規(guī)則記錄中的字段為TCP時(shí),加入該鏈表UDP規(guī)則動(dòng)態(tài)鏈表以數(shù)據(jù)庫規(guī)則記錄中的字段為UDP時(shí),加入該鏈表ICMP規(guī)則動(dòng)態(tài)鏈表以數(shù)據(jù)庫規(guī)則記錄中的字段為ICMP時(shí),加入該鏈表規(guī)則動(dòng)態(tài)鏈表結(jié)構(gòu)定義如下:Typedef struct _RuleTreePu_int8_t Ip_proto;Char *protocol;Struct in_addr ip_src;Struct in_addr ip_dst;U_int16_t sourceport;U_int16_t destinationport;U_int8_t tos;U_int8_

56、t ttl;U_int16_t id;Char *ipoption;Char *fragbits;U_int16_t datasize;U_int8_t flags;U_int32_t seq;U_int32_t ack;U_int16_t windows;U_int8_t itype;U_int8_t icode;u_int16_t icmp_id;u_int16_t icmp_seq;u_char *content; RuleTreeP;4.2.2 規(guī)則匹配流程根據(jù)數(shù)據(jù)包的協(xié)議特征分為五種主要的處理方式:(1)TCP規(guī)則匹配如果數(shù)據(jù)包網(wǎng)絡(luò)層采用IP協(xié)議,且IP上層協(xié)議為TCP那么進(jìn)入TCPMatch()規(guī)則匹配的主函數(shù),進(jìn)行匹配,匹配函數(shù)將遍歷TCP規(guī)則動(dòng)態(tài)鏈表,匹配當(dāng)前規(guī)則中存在的規(guī)則選項(xiàng)。(2)UDP規(guī)則匹配如果數(shù)據(jù)包網(wǎng)絡(luò)層采用IP協(xié)議,且IP上層協(xié)議為UDP那么進(jìn)入U(xiǎn)DPMatch()規(guī)則匹配的主函數(shù),進(jìn)行匹配,匹配函數(shù)將遍歷UDP規(guī)則動(dòng)態(tài)鏈表,匹配當(dāng)前規(guī)則中存在的規(guī)則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論