在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于網(wǎng)絡(luò)引擎入侵檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)

      基于網(wǎng)絡(luò)引擎入侵檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)

      作者: 時(shí)間:2011-08-01 來(lái)源:網(wǎng)絡(luò) 收藏

      3)數(shù)據(jù)分析 數(shù)據(jù)分析模塊的功能是分析某一特定協(xié)議數(shù)據(jù)。一個(gè)數(shù)據(jù)分析函數(shù)檢查一種協(xié)議類型的,這樣可以方便地進(jìn)行配置。一個(gè)協(xié)議數(shù)據(jù)可能有多個(gè)數(shù)據(jù)分析函數(shù)來(lái)處理它,這些函數(shù)地被放到一個(gè)鏈表中。一般情況下,數(shù)據(jù)分析盡可能地放到樹結(jié)構(gòu)的葉子節(jié)點(diǎn)上或盡可能地靠近葉子節(jié)點(diǎn),因?yàn)闃涓糠终{(diào)用次數(shù)最多,過多的數(shù)據(jù)分析函數(shù)聚集在此會(huì)嚴(yán)重影響系統(tǒng)的性能。同時(shí)葉子節(jié)點(diǎn)上的協(xié)議明確,分析程序可以少做一些冗余的工作,也由此提高了系統(tǒng)的處理速度。數(shù)據(jù)分析函數(shù)不僅僅由數(shù)據(jù)包觸發(fā),也可以是系統(tǒng)定義的某一個(gè)事件來(lái)觸發(fā)。如時(shí)間、特定的數(shù)據(jù)包到來(lái)、管理員啟動(dòng)、某種數(shù)據(jù)分析的結(jié)果等都可以觸發(fā)一個(gè)數(shù)據(jù)分析函數(shù)的啟動(dòng)檢測(cè)。這些靈活的觸發(fā)方式提供了良好的可配置性,也提供了一個(gè)開放的、分布的平臺(tái)使各種分析技術(shù)在一個(gè)系統(tǒng)中工作。
      數(shù)據(jù)分析的方法是的核心。使用了快速的模式匹配算法,所有的攻擊方法被表示為模式信號(hào),存放在特征數(shù)據(jù)庫(kù)中,當(dāng)前的數(shù)據(jù)如果和數(shù)據(jù)庫(kù)中某種特征匹配,就指出這是這種入侵行為。如發(fā)現(xiàn)一個(gè)HTTP請(qǐng)求某個(gè)服務(wù)器上的“/cgi—bin/phf”,這很可能是一個(gè)攻擊者正在尋找系統(tǒng)的CGI漏洞。
      本文設(shè)計(jì)這個(gè)體系結(jié)構(gòu)時(shí)充分考慮了系統(tǒng)的開放性,可以向系統(tǒng)中添加任何一種分析方法,也可以把多種分析方法同時(shí)運(yùn)用到系統(tǒng)中,甚至在不關(guān)閉系統(tǒng)的狀態(tài)下向系統(tǒng)動(dòng)態(tài)地添加新的數(shù)據(jù)分析功能。這充分保證了系統(tǒng)的可靠安全服務(wù)。動(dòng)態(tài)添加數(shù)據(jù)分析功能是通過添加新的動(dòng)態(tài)連接庫(kù)中的數(shù)據(jù)分析函數(shù)來(lái)的。對(duì)于已經(jīng)有的分析功能,可以在入侵特征數(shù)據(jù)庫(kù)中添加新的入侵特征,以增強(qiáng)現(xiàn)有模式匹配分析方法的檢測(cè)能力。

      2 檢測(cè)規(guī)則和匹配算法
      中,最為關(guān)鍵的部分是數(shù)據(jù)分析模塊。該模塊中涉及到兩個(gè)問題:如何描述入侵行為;使用什么算法來(lái)快速檢測(cè)入侵行為的存在。
      中,本文使用了與SNORT兼容的檢測(cè)規(guī)則來(lái)描述入侵行為,使用一種改進(jìn)的Boyer-Moore-Horspool算法來(lái)進(jìn)行匹配。模式匹配是第一代和第二代入侵所使用的攻擊特征的數(shù)據(jù)包分析技術(shù)。它的分析速度快、誤報(bào)率小等優(yōu)點(diǎn)是其他分析方法不可比擬的。協(xié)議分析有效利用了協(xié)議的層次性和相關(guān)協(xié)議的知識(shí),快速地判斷攻擊特征是否存在。它的高效使得匹配的計(jì)算量大幅度減小。
      本文在網(wǎng)絡(luò)的數(shù)據(jù)分析模塊中使用協(xié)議分析和模式匹配結(jié)合的方法來(lái)分析網(wǎng)絡(luò)數(shù)據(jù)包。首先使用協(xié)議分析來(lái)判斷要進(jìn)行哪種類型的特征檢測(cè),然后使用檢測(cè)規(guī)則來(lái)進(jìn)行匹配。
      2.1 檢測(cè)規(guī)則
      每一個(gè)模式匹配的人檢測(cè)方法都需要一個(gè)已定的入侵模式。這就需要一種對(duì)入侵行為的描述方法?,F(xiàn)在的各種入侵中的描述方法各有不同,每個(gè)廠商定義自己的描述方法,每種方法各有優(yōu)缺點(diǎn)。在網(wǎng)安入侵檢測(cè)系統(tǒng)中,采用了Snort的入侵行為描述方法。Snort是一個(gè)開放源代碼的輕量級(jí)的網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)。這種描述方法簡(jiǎn)單、易于實(shí)現(xiàn),能夠描述絕大多數(shù)的入侵行為。由于其簡(jiǎn)單,因此檢測(cè)速度比較快。每條規(guī)則分為邏輯上的兩部分:規(guī)則頭部和規(guī)則選項(xiàng)。規(guī)則頭部包含規(guī)則的操作、協(xié)議、源IP地址和目標(biāo)IP地址及其網(wǎng)絡(luò)掩碼和端口。規(guī)則選項(xiàng)包括報(bào)警信息及需要檢測(cè)模式信息。以下是一個(gè)例子:
      alert tcp any any->192.168.1.0/24 111(content:“|00 01 86 a5|”;msg:“mounted access”;)
      以上規(guī)則描述了:任何使用TCP協(xié)議連接網(wǎng)絡(luò)IP地址192.168.1.1到192.168.1.255的任何主機(jī)的111端口的數(shù)據(jù)包中,如果出現(xiàn)了二進(jìn)制數(shù)據(jù)00 01 86 a5,便發(fā)出警告信息mounted access。在圓括號(hào)前的部分是規(guī)則頭部,在圓括號(hào)中的部分是規(guī)則選項(xiàng)。規(guī)則選項(xiàng)部分中冒號(hào)前面的詞組稱為選項(xiàng)關(guān)鍵字。規(guī)則選項(xiàng)不是規(guī)則的必需部分,它只是用來(lái)定義收集特定數(shù)據(jù)包的特定特征。一條規(guī)則中不同部分必須同時(shí)滿足才能執(zhí)行,相當(dāng)于“與”操作。而同一個(gè)規(guī)則數(shù)據(jù)庫(kù)文件中的所有規(guī)則之間相當(dāng)于一個(gè)“或”操作。規(guī)則頭部包含了定義數(shù)據(jù)包“從哪里來(lái),到什么地方去、干什么”以及發(fā)現(xiàn)滿足這個(gè)規(guī)則所有條件的數(shù)據(jù)包時(shí)應(yīng)該干什么的信息。規(guī)則的第一項(xiàng)是規(guī)則操作,第二項(xiàng)是協(xié)議,第三項(xiàng)是IP地址和端口。規(guī)則操作說明當(dāng)發(fā)現(xiàn)適合條件的數(shù)據(jù)包時(shí)應(yīng)該做些什么。有3種操作:alert、log和pass。
      alert:使用選定的告警方法產(chǎn)生警報(bào),并記錄這個(gè)數(shù)據(jù)包。
      log:記錄該數(shù)據(jù)包。
      pass:忽略該數(shù)據(jù)包。
      規(guī)則頭部的第二部分是協(xié)議。
      規(guī)則頭部的第三部分是IP地址和端口。關(guān)鍵字“any”可以用來(lái)定義任何IP地址。網(wǎng)絡(luò)不提供從主機(jī)名稱到IP地址的轉(zhuǎn)換,所以IP地址規(guī)定為點(diǎn)分十進(jìn)制的IP地址格式,在IP地址后指定網(wǎng)絡(luò)掩碼。例如任何由外部網(wǎng)絡(luò)發(fā)起的連接可以表示為:
      alert tcp ! 192.168.1.0/24 any->192.168.1.0/24 111
      端口號(hào)可以用幾種方法指定:用“any”、數(shù)字、范圍以及用“非”操作符。“any”指定任意端口。靜態(tài)數(shù)值指定一個(gè)單一端口,如80為HTYP,23為TELNET等。指定端口范圍用“:”,它可以指定一個(gè)范圍內(nèi)的所有端口。如:
      log udp any any->192.168.1.0/24 1:1024
      記錄從任意主機(jī)發(fā)起的到目標(biāo)網(wǎng)絡(luò)的任何主機(jī)上的1~1 024端口的UDP協(xié)議數(shù)據(jù)包。
      log tcp any any->192.168.1.0/24:6000
      記錄從任意主機(jī)發(fā)起的到目標(biāo)網(wǎng)絡(luò)的任何主機(jī)上的端口號(hào)小于等于6 000的TCP協(xié)議數(shù)據(jù)。
      log top any:1024->192.168.1.0/24 500:
      2.2 匹配算法
      匹配算法是檢測(cè)引擎的關(guān)鍵,它直接影響系統(tǒng)的實(shí)時(shí)性能。在網(wǎng)絡(luò)數(shù)據(jù)包搜索入侵特征時(shí),需要一個(gè)有效的字符串搜索算法。字符串搜索算法中,最著名的兩個(gè)是KMP算法(Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。兩個(gè)算法在最壞情況下均具有線性的搜索時(shí)間。在實(shí)用上,KMP算法并不比最簡(jiǎn)單的c庫(kù)函數(shù)strstr()快多少,而BM算法則往往比KMP算法快上3~5倍。但是BM算法還不是最快的算法,還有很多改進(jìn)的BM算法存在。
      第一次匹配結(jié)果是在第二個(gè)字符處發(fā)現(xiàn)不匹配,于是要把子串往后移動(dòng)。但是該移動(dòng)多少呢?最簡(jiǎn)單的做法是移動(dòng)一個(gè)字符位置;KMP是利用已經(jīng)匹配部分的信息來(lái)移動(dòng);BM算法是做反向比較,并根據(jù)已經(jīng)匹配的部分來(lái)確定移動(dòng)量。Boyer-Moore-Hompool算法根據(jù)被比較串對(duì)齊的最后一個(gè)字符(r)來(lái)決定位移量的多少。本文的方法是根據(jù)緊跟在當(dāng)前子串之后的那個(gè)字符(例子中的i)獲得位移量。
      顯然,由于上一次匹配的失敗,移動(dòng)是必然的,因此,設(shè)移動(dòng)步數(shù)為N,則N≥1。但N的最大值是多少?如果這個(gè)字符在模式串中,顯然應(yīng)該根據(jù)模式串的位置來(lái)決定。如果它在模式串中就沒有出現(xiàn),顯然連它自己也不用比較了,因此可以移動(dòng)到該字符的下一個(gè)字符開始比較。以上面的例子,子串“search”中并不存在“i”,則說明可以直接跳過一大片,從“i”之后的那個(gè)字符開始作下一步的比較,如下:
      substring searching procedure
      search^
      比較的結(jié)果,第1個(gè)字符又不匹配,再看子串后面的那個(gè)字符,是“r”,它在子串中出現(xiàn)在倒數(shù)第3位,于是把子串向前移動(dòng)3位,使2個(gè)“r”對(duì)齊,如下:
      substring searching procedure
      search
      這次匹配成功了。回顧整個(gè)過程,只移動(dòng)了兩次子串就找到了匹配位置,可以看出,用這個(gè)算法,每一步的移動(dòng)量都比BMH算法要大,所以比BMH算法更快。
      以下是用類封裝的搜索算法:
      c.jpg

      c++相關(guān)文章:c++教程




      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉