關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 設(shè)計(jì)應(yīng)用 > 針對(duì)無線網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)設(shè)計(jì)方法研究

針對(duì)無線網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)設(shè)計(jì)方法研究

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

  3.1 數(shù)據(jù)預(yù)處理模塊

  預(yù)處理模塊對(duì)得到的數(shù)據(jù)包進(jìn)行預(yù)處理, 一方面可發(fā)現(xiàn)入侵信息, 另一方面為檢測(cè)分析模塊做最后的準(zhǔn)備。預(yù)處理模塊采用了插件技術(shù), 可以很方便地增加功能, 使系統(tǒng)具有可擴(kuò)展性。與預(yù)處理相關(guān)的函數(shù)以鏈表的形式存在于動(dòng)態(tài)鏈接庫中, 如圖6 所示。


圖6 數(shù)據(jù)預(yù)處理模塊處理過程

  預(yù)處理函數(shù)是由控制管理器來配置的??刂浦行膶⑴渲靡?guī)則和預(yù)處理函數(shù)一起傳送到各檢測(cè)引擎, 檢測(cè)引擎在進(jìn)行規(guī)則解析時(shí), 自行識(shí)別預(yù)處理指令, 并作相應(yīng)的處理。在IP 報(bào)文的首部包含了分片和重組的信息, 如圖7 所示。


圖7 IP 包(32 位) 格式

  (1)IdenTIficATIon : 唯一標(biāo)識(shí)發(fā)送端的一個(gè)IP 報(bào)文, 如果需要分片, 則所有分片具有相同的標(biāo)識(shí), 這樣目標(biāo)主機(jī)便能夠根據(jù)源主機(jī)的IP 地址以及該標(biāo)識(shí)來組合報(bào)文;(2)R: 保留未用;(3)D: “ 不分片” 位, 置為1, 則IP 層不將數(shù)據(jù)報(bào)分片, 只有為0 時(shí)才允許分片;(4)F: “ 更多分片” 位, 為1 表示后面還有數(shù)據(jù)報(bào)的更多分片, 為0 則表示這是數(shù)據(jù)報(bào)的最后一個(gè)分片;(5)Fragment Offset : 分片偏移, 指出該分片數(shù)據(jù)在原始數(shù)據(jù)報(bào)文( 未分片前) 相對(duì)于起點(diǎn)的位置, 實(shí)際位置為偏移值乘以8, 如為0 則表示這是分片后的第一個(gè)信息包, 放在組合后分組的最前面。

  IP 重組的函數(shù)中定義了每一個(gè)分片的結(jié)構(gòu)為:

  STruct IpFrag

  {

  dint offset ; //IP 分片的偏移值

  int end : // 分片的最后字節(jié)

  int len ; // 分片的長度

  u char mff ; // 更多的分片標(biāo)志

  unsigned char *ptr ; // 指向分片包中的數(shù)據(jù)

  struct IpFrag *ipf next ;//鏈接的下一個(gè)分片

  };

  些分片形成一個(gè)單向鏈表, 表示一個(gè)尚未組裝完的分片隊(duì)列, 它屬于一個(gè)IP 報(bào)文, 而分片鏈表的頭指針放在IpHeader 結(jié)構(gòu)中:

  struct IpHeader

  {

  struct IpFrag ; // 第一個(gè)IP 分片

  int len ; // 報(bào)文長度

  struct timer list timer ; // 定時(shí)器

  u_char Proto ; // 協(xié)議類型

  u_short Ip_ttl ; // 生存時(shí)間

  u_short id ; //IP 標(biāo)識(shí)

  struct in addr Ip-Src ,Ip_Dst ; //IP 報(bào)文的源, 目的

  IP 地址

  struct IpHeader *next ; // 下一個(gè)IP 報(bào)文

  } ;

  IpHeader 描述還未收到全部分片報(bào)文結(jié)構(gòu), 多個(gè)Ip-Header 構(gòu)成的鏈表形成一個(gè)重裝鏈表, 等待其他分片到達(dá)后重裝。

  3.2 數(shù)據(jù)檢測(cè)分析模塊

  檢測(cè)分析模塊對(duì)預(yù)處理模塊提交的數(shù)據(jù), 運(yùn)用匹配算法和規(guī)則庫中的規(guī)則進(jìn)行比較分析, 從而判斷是否有入侵行為。檢測(cè)分析模塊是檢測(cè)引擎的核心, 它將從數(shù)據(jù)采集模塊傳來的數(shù)據(jù)順著規(guī)則鏈表與入侵規(guī)則進(jìn)行比較, 如果匹配成功, 則說明檢測(cè)到了入侵, 同時(shí)產(chǎn)生報(bào)警。其流程如圖8 所示。


圖8 數(shù)據(jù)檢測(cè)分析模塊流程圖

  3.3 規(guī)則解析模塊

  規(guī)則解析模塊將從控制中心傳送過來的規(guī)則按照一定的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在規(guī)則庫中, 作為對(duì)入侵行為進(jìn)行判斷分析的知識(shí)庫。在該模塊的設(shè)計(jì)中, 本文采用動(dòng)態(tài)生成鏈表的方式構(gòu)建規(guī)則的語法樹, 把所選擇的規(guī)則存儲(chǔ)在數(shù)據(jù)檢測(cè)器所在的主機(jī)內(nèi)存中, 規(guī)則鏈表的結(jié)構(gòu)如圖9 所示。


  第一層是具有相同處理動(dòng)作(Alert ( 警告),Log ( 記錄),Pass( 忽略)) 的節(jié)點(diǎn), 以RuleListNode 結(jié)構(gòu)表示。其次,是在具有相同處理動(dòng)作的基礎(chǔ)上, 按照不同的協(xié)議類型(IP, TCP, ICMP 和UDP) 再分成幾條鏈表。而在每條鏈表中, 具有相同源IP 地址、目的IP 地址、源端口和目的端口的規(guī)則頭節(jié)點(diǎn)RuleTreeNode 構(gòu)成了結(jié)構(gòu)圖的第二層。以下的幾層由具有相同源IP 地址、目的IP 地址、源端口和目的端口所對(duì)應(yīng)的規(guī)則選項(xiàng)節(jié)點(diǎn)即tTreeNode 組成。例如在一組規(guī)則中有45 條檢測(cè)CGI-BIN 探測(cè)活動(dòng)的規(guī)則, 而它們都具有相同的源/目的IP 地址及端口號(hào), 則它們?cè)阪湵碇锌梢詫⑦@些共同屬性壓縮到一個(gè)單獨(dú)的RuleTreeNode 節(jié)點(diǎn)中, 而每個(gè)不同的屬性( 規(guī)則選項(xiàng)) 保存在與RuleTreeNode 節(jié)點(diǎn)相連的OptTreeNode 節(jié)點(diǎn)中。這樣的結(jié)構(gòu)方式, 將大大有助于提高檢測(cè)速度。

  建立規(guī)則鏈表的流程如下: 首先讀取規(guī)則文件, 檢查規(guī)則文件是否存在并可讀, 然后依次讀取每一條規(guī)則, 同時(shí)進(jìn)行多行規(guī)則的整理; 對(duì)規(guī)則進(jìn)行解析, 按類型進(jìn)行分支處理, 并用相應(yīng)的規(guī)則語法表示, 建立規(guī)則語法樹; 最后進(jìn)行一些完善操作, 如連接所有的動(dòng)態(tài)規(guī)則,進(jìn)行規(guī)則樹的完整性檢查。其中解釋規(guī)則并將其添加到規(guī)則鏈表的流程如圖10 所示。


圖10 規(guī)則解析模塊流程

  作為個(gè)人通信的一個(gè)重要的組成部分, 無線局域網(wǎng)在現(xiàn)實(shí)及未來的社會(huì)生活中將得到廣泛的應(yīng)用。無線技術(shù)也將必然隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展, 隨著的普及和移動(dòng)設(shè)備的性能的提高而得到進(jìn)一步的發(fā)展。下一步將在本文研究的基礎(chǔ)上, 重點(diǎn)解決系統(tǒng)的應(yīng)用瓶頸問題, 以大幅度提升檢測(cè)準(zhǔn)確性以及大量應(yīng)用網(wǎng)絡(luò)環(huán)境下的系統(tǒng)性能。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉