張書敏 史興燕
(河南農業職業學院 河南 451450)
作為一種計算機網絡安全防護技術,入侵檢測可以積極主動地對網絡系統進行實時保護。但由于入侵檢測技術還不成熟,誤報率高,且只能對某些特定的或已知的入侵行為有效,所以對其進行性能優化設計,有利于提高系統的安全性與穩定性。
IDS(入侵檢測系統。Intrusion Detection System的縮寫)作為一種主動的信息安全保障措施,對防火墻起到必要的補充作用。
IDS是指對于面向計算和網絡資源的惡意行為識別和響應的系統。IDS經濟成本不能太高,這體現了經濟性;自身系統必須安全,這體現了安全性;可以識別入侵者及入侵行為,發現漏洞并及時阻止事態惡化,這體現了可擴展性。IDS在檢測到網絡入侵后,可以立即阻止攻擊行為,并同步調整完善防火墻的防護策略,使防火墻的防護體系動態并智能化。
根據檢測數據來源來劃分,IDS可以分為兩類:HIDS(基于主機的入侵檢測系統)和NIDS(基于網絡的入侵檢測系統);根據入侵檢測使用的方法來劃分,IDS可以分為三類:基于異常的入侵檢測和基于誤用的入侵檢測。
1.3.1 為適應網絡通信的要求,提高檢測速度
影響網絡性能的一個重要因素就是網絡安全設備的處理速度。目前IDS的檢測速度往往跟不上網絡數據的傳輸速度,檢測一個網絡數據包就需要大量的時間和系統資源,那么就會有部分系統包漏掉而得不到檢測,從而影響系統的準確性與有效性。因此,提高IDS的檢測速度是發展方向。
1.3.2 為減少漏報和誤報,提高安全性與準確率
IDS基于模式匹配分析方法,將所有入侵行為、手段及變異表示為庫存模式或特征,一旦有新的攻擊方法出現、新的漏洞發布,攻擊特征庫得不到及時更新時就會造成IDS漏報。IDS基于異常發現是通過流量統計分析建立系統正常行為的軌跡,運行數值超過正常閥值時就會認為可能受到了攻擊,所以技術本身就不夠完善。此外,偽裝或變形的網絡攻擊時,由于大多IDS是基于單包檢查的,協議分析不夠,也會造成漏誤報。
本文提及的IDS系統優化是將基于主機和網絡的兩種檢測形式合二為一的集成性檢測系統。單一的檢測方法的能力畢竟有限,網絡安全技術的需要,提高入侵檢測傳統的需求,將單一的分布式入侵檢測、數據挖掘入侵檢測、特征引擎分析入侵檢測、核聚類和序列分析入侵檢測等集成,構建入侵行為規則知識庫,進行數據分析和算法匹配,從而提出一種基于多種檢測方法的入侵檢測系統,從而達到最佳的檢測效果。
根據工作階段不同,工作任務不同,系統框架一般由以下幾個模塊組成:
2.2.1 控制中心模塊
控制中心模塊是系統模型的核心,由此產生系統的控制邏輯。總體分配調度系統工作所用到的函數,定義控制界面流程的一般函數:數據捕獲類、預處理類、分析及響應類。主要功能是檢測單元管理、接收報警信息并顯示、日志數據管理、用戶管理和定義規則。
2.2.2 數據捕獲
數據捕獲邏輯上包括網絡數據包捕獲線程和主機系統調用序列捕獲線程。前者以網絡數據為數據源,實時捕獲流經網卡的網絡數據包,進行初始處理操作,完成進制轉換,然后引入Libpcap開發包,通過恰當調用就可以將截獲的數據包進行分析(它支持針對網絡層、協議、主機和網絡端口的過濾)。如果數據包內內容使用十六進制形式,可以存入臨時文件,交給預處理模塊處理;后者以系統調用為數據源,應用strace程序截獲系統調用,序列臨時存入數據庫。
2.2.3 數據存儲
數據存儲負責把系統檢測到的問題記錄保留,便于以后分析研究。本著經濟性原則,我們不能構造專門的存儲系統,還是要運用現有的數據庫系統進行數據存儲。
2.2.4 規則描述
優化系統借鑒改進 Snort語言的規則語法,提出了一種更靈活實用,簡單高效的規則存儲方式,可以極大提高IDS的整體工作效率。
規則在內存中存儲的主要數據結構就是幾個描述規則庫的鏈表。Ru1eListNode(主規則鏈表)是由Ru1eHeadNode和Ru1eOptNode組成。其中Ru1eHeadNode描述規則頭部分,Ru1eOptNode描述規則選項部分。規則鏈表及數據結構如下(部分):
//NIDS主規則鏈表
typedef struct-Ru1eListNode
Ru1eHeadNode*rhn}tr;/*規則頭*/
Ru1eO1:1tNode*ron}tr;/*規則選項*/
int active-f1ag;/*規則激活標志/
int ru1e-num;/*規則序號*/
int ron num;/*規則選項的數目*/
char *ron_name;/*規則選項名字*/
Struct-u1eListNode *next:
1Ru1eListNode:
........
由此得出,系統設計的規則解析處理的算法流程為:開始—打開規則文件,進行解析處理—逐條處理規則—解析規則頭—解析規則選項—向規則鏈表添加元素—結束。
該模塊內容包括協議解碼、分析模塊和數據預處理模塊三部分。
協議解碼的目的是為了讓IDS正確檢測入侵攻擊行為。正確而準確地對TCP/P協議進行解碼,轉變為另外一種便利進行入侵檢測的編碼形式或者數據結構。
協議分析模塊主要是針對特定的攻擊行為所表現出來的網絡特征進行分的。采用協議分析技術的IDS能夠理解不同協議的原理,由此分析這些協議的流量,來尋找可疑的或不正常行為。協議分析技術觀察并驗證所有的流量,當流量不是期望值時,IDS就發出告警,因此能夠檢測到己知和未知攻擊方法。狀態協議分析不僅僅檢測單一的連接請求或響應,而是將一個會話的所有流量作為一個整體來考慮。攻擊行為包含在多個請求中時,狀態協議分析技術就顯得十分必要。
數據預處理模塊主要完成對未作標記的網絡訓練數據進行預處理操作,將訓練數據數值化、去除冗余屬性以及數據的存儲等,以及對主機訓練數據的預處理操作,如數據的轉換、過濾等。
優化后的IDS系統設計結合主動響應與被動響應的優點,對于那些模式庫中己經存在的較常見的攻擊類型,系統根據預先設計的動作,進行主動響應處理,對于通過異常算法檢測到的那些模式庫中沒有存在的攻擊,系統將該連接數據保存起來,做進一步處理。在主動響應里,IDS應能夠自動地(或在用戶的控制下)阻塞或影響攻擊,進而改變攻擊的過程。在被動攻擊里,IDS統僅僅簡單地報告和記錄所檢測出的問題。
在這個模塊中,主要采用多線程技術和進程間的套接字通信機制。日志服務程序與入侵檢測模塊都設計在sensor上,它們之間采用域套接字進行本地通信。服務程序既要接收入侵檢測模塊發出的報警信息,還要將報警信息轉送到遠程的數據中心,這里將涉及到通信同步的問題采用“報警隊列”可解決。由于這個“報警隊列”是個臨界資源,接收報警信息和發送報警信息都要訪問并操作隊列,所以在設計時采用線程互斥鎖(pthread mutex)解決這個問題。
系統可在 WindowsXP平臺下運行。具體工作流程圖如下(圖1):

圖1 系統工作流程示意圖
本文依靠入侵檢測系統知識和計算機學科相關理論,建立了一個粗略抽象的入侵檢測體系結果模型和理論框架。為研制新的入侵檢測技術產品提供了一定的理論和思想方面的幫助。
[1]高凱.入侵檢測系統的分類研究[J].黑龍江科技信息.2011.
[2]王娜敏,高藝博.基于數據挖掘技術的入侵檢測系統[J].電腦知識與技術.2011.