河南省科學技術信息研究院 徐棟
基于有限狀態(tài)自動機的入侵檢測系統(tǒng)研究
河南省科學技術信息研究院 徐棟
隨著Internet的廣泛應用,入侵事件變得越來越頻繁,攻擊手段也變得越來越高明,攻擊目標不再僅僅局限在單個主機或單個網(wǎng)絡系統(tǒng),網(wǎng)絡基礎設施現(xiàn)在也成為黑客的入侵目標。所謂網(wǎng)絡基礎設施主要包括路由協(xié)議和網(wǎng)絡管理協(xié)議,它們共同構成Internet上各種服務的基礎。如果基礎設施遭到破壞,提供服務也就無從談起。
入侵檢測系統(tǒng)(簡稱IDS)是一種對網(wǎng)絡傳輸進行即時監(jiān)視,在發(fā)現(xiàn)可疑傳輸時發(fā)出警報或者采取主動反應措施的網(wǎng)絡安全系統(tǒng)。它與其他網(wǎng)絡安全傳輸設備的不同之處在于,IDS是一種積極主動的安全防護技術。它是通過從計算機網(wǎng)絡系統(tǒng)中的若干關鍵節(jié)點收集信息,并分析這些信息,監(jiān)控網(wǎng)絡中是否有違反安全策略的行為或者是否存在入侵行為,是對指向計算機和網(wǎng)絡資源的惡意行為的識別和響應的過程。
有限狀態(tài)自動機是一種控制狀態(tài)有限、符號集有限的自動機,是一種離散輸入輸出系統(tǒng)的數(shù)學模型。它具有任意有限數(shù)量的內(nèi)部格局或狀態(tài),用來記憶過去輸入的有關信息,根據(jù)當前的輸入可確定下一步的狀態(tài)和行為。一個有限自動機等價于一個狀態(tài)轉(zhuǎn)換圖,這樣得到的狀態(tài)轉(zhuǎn)移圖可以應用于有限自動機的有關定理和算法的等價變換和化簡運算,然后用程序來實現(xiàn)。由于狀態(tài)轉(zhuǎn)換圖與程序有一定的對應關系,所以使得程序設計比較規(guī)范化。
入侵檢測系統(tǒng)的總體結構如圖1所示。
圖1 入侵檢測系統(tǒng)總體結構
1.數(shù)據(jù)包捕獲模塊。數(shù)據(jù)采集模塊位于系統(tǒng)的最底層部分,是系統(tǒng)最開始的處理模塊。因為網(wǎng)絡入侵檢測系統(tǒng)面向的主要操作對象是網(wǎng)絡數(shù)據(jù)包,所以要先將網(wǎng)絡中的所有數(shù)據(jù)包捕獲下來。該模塊的主要任務就是捕獲來自以太網(wǎng)中的數(shù)據(jù)包,根據(jù)地址把屬于受保護網(wǎng)絡的數(shù)據(jù)包提取出來,送往協(xié)議分析模塊解析處理,為整個系統(tǒng)提供數(shù)據(jù)來源。
2.協(xié)議解析模塊。在收到數(shù)據(jù)包捕獲模塊送來的數(shù)據(jù)幀后,考慮到IPv4和IPv6數(shù)據(jù)包在網(wǎng)絡中同時存在的情況,可以通過解析數(shù)據(jù)包的版本ID值來區(qū)分數(shù)據(jù)包的版本類型。幀中ProtocolID值為0x0800的可以確定為IPv4數(shù)據(jù)包,這時可將它轉(zhuǎn)發(fā)至IPv4處理引擎中進行處理;幀中Protocol ID值為0x86DD的可以確定為IPv6數(shù)據(jù)包,因此要解析數(shù)據(jù)包并將其存儲至相應的數(shù)據(jù)結構中去。
3.規(guī)則解析模塊。人侵檢測系統(tǒng)要想準確檢測到攻擊行為,一方面要能準確捕獲到有入侵嫌疑的數(shù)據(jù)包;另一方面還需要事先建立起完善攻擊特征庫。入侵事件檢測模塊從文件中讀取事先定義好的庫,對其解析后讀入內(nèi)存相應的變量中。特征庫里存儲了大量已知攻擊事件模式,特征庫是一個入侵檢測系統(tǒng)的知識庫,庫中應有盡可能多的攻擊事件模式,入侵檢測系統(tǒng)的性能受特征庫的直接影響,特征庫中建立的內(nèi)容越多越豐富,入侵檢測系統(tǒng)能檢測到的入侵行為就越多。
4.入侵事件檢測模塊。入侵事件檢測模塊的主要作用是將協(xié)議解析模塊提交過來的數(shù)據(jù),運用各種匹配算法將其與特征庫中所收錄的各種的攻擊模式進行比較與分析,以判斷是否有入侵事件的發(fā)生。數(shù)據(jù)包在經(jīng)過解析之后調(diào)用入侵事件檢測模塊進行入侵規(guī)則的匹配。對上交的數(shù)據(jù)與特征庫里所構造的規(guī)則模式相比較,如果發(fā)現(xiàn)這個數(shù)據(jù)與特征庫中存在的一條規(guī)則相匹配,就意味著檢測到一個攻擊的發(fā)生,此時執(zhí)行相應規(guī)則中已定義好的相應操作。如果在搜索完特征庫內(nèi)所有的規(guī)則后仍沒有發(fā)現(xiàn)存在與該數(shù)據(jù)包相匹配的內(nèi)容,就表明數(shù)據(jù)是正常的。
5.存儲模塊。人侵檢測系統(tǒng)的存儲模塊主要把系統(tǒng)中的各種有用信息存儲起來,為系統(tǒng)的使用和管理提供方便,其中包括捕獲的網(wǎng)絡數(shù)據(jù)包信息、規(guī)則庫文件信息、用戶策略等信息。
6.響應模塊。響應模塊的功能是入侵檢測系統(tǒng)在對事件進行了捕獲、解碼、檢測后對它們采取有意義的響應和記錄。在檢測到入侵后對確認的入侵行為采取相應的響應,根據(jù)用戶策略作出反應,如自行切斷網(wǎng)絡、通知管理員、與防火墻聯(lián)動等。
7.界面管理模塊。好的界面管理模塊能為入侵檢測系統(tǒng)進行管理操作提供一個完美而且友好的界面,其功能包括對捕獲到的數(shù)據(jù)包進行統(tǒng)計分析、升級完善規(guī)則庫、管理系統(tǒng)日志、對系統(tǒng)的各個模塊進行配置等。
在計算機應用的普及的今天,計算機系統(tǒng)安全問題成為影響人們正常生活的關鍵因素??偨Y本文的創(chuàng)新點,首先是提出了一種全新的入侵檢測方法,其次是為形式語言和自動機理論的應用提出了一個新的方向。