河南省科學技術信息研究院 徐棟
基于有限狀態自動機的入侵檢測系統研究
河南省科學技術信息研究院 徐棟

隨著Internet的廣泛應用,入侵事件變得越來越頻繁,攻擊手段也變得越來越高明,攻擊目標不再僅僅局限在單個主機或單個網絡系統,網絡基礎設施現在也成為黑客的入侵目標。所謂網絡基礎設施主要包括路由協議和網絡管理協議,它們共同構成Internet上各種服務的基礎。如果基礎設施遭到破壞,提供服務也就無從談起。
入侵檢測系統(簡稱IDS)是一種對網絡傳輸進行即時監視,在發現可疑傳輸時發出警報或者采取主動反應措施的網絡安全系統。它與其他網絡安全傳輸設備的不同之處在于,IDS是一種積極主動的安全防護技術。它是通過從計算機網絡系統中的若干關鍵節點收集信息,并分析這些信息,監控網絡中是否有違反安全策略的行為或者是否存在入侵行為,是對指向計算機和網絡資源的惡意行為的識別和響應的過程。
有限狀態自動機是一種控制狀態有限、符號集有限的自動機,是一種離散輸入輸出系統的數學模型。它具有任意有限數量的內部格局或狀態,用來記憶過去輸入的有關信息,根據當前的輸入可確定下一步的狀態和行為。一個有限自動機等價于一個狀態轉換圖,這樣得到的狀態轉移圖可以應用于有限自動機的有關定理和算法的等價變換和化簡運算,然后用程序來實現。由于狀態轉換圖與程序有一定的對應關系,所以使得程序設計比較規范化。
入侵檢測系統的總體結構如圖1所示。

圖1 入侵檢測系統總體結構
1.數據包捕獲模塊。數據采集模塊位于系統的最底層部分,是系統最開始的處理模塊。因為網絡入侵檢測系統面向的主要操作對象是網絡數據包,所以要先將網絡中的所有數據包捕獲下來。該模塊的主要任務就是捕獲來自以太網中的數據包,根據地址把屬于受保護網絡的數據包提取出來,送往協議分析模塊解析處理,為整個系統提供數據來源。
2.協議解析模塊。在收到數據包捕獲模塊送來的數據幀后,考慮到IPv4和IPv6數據包在網絡中同時存在的情況,可以通過解析數據包的版本ID值來區分數據包的版本類型。幀中ProtocolID值為0x0800的可以確定為IPv4數據包,這時可將它轉發至IPv4處理引擎中進行處理;幀中Protocol ID值為0x86DD的可以確定為IPv6數據包,因此要解析數據包并將其存儲至相應的數據結構中去。
3.規則解析模塊。人侵檢測系統要想準確檢測到攻擊行為,一方面要能準確捕獲到有入侵嫌疑的數據包;另一方面還需要事先建立起完善攻擊特征庫。入侵事件檢測模塊從文件中讀取事先定義好的庫,對其解析后讀入內存相應的變量中。特征庫里存儲了大量已知攻擊事件模式,特征庫是一個入侵檢測系統的知識庫,庫中應有盡可能多的攻擊事件模式,入侵檢測系統的性能受特征庫的直接影響,特征庫中建立的內容越多越豐富,入侵檢測系統能檢測到的入侵行為就越多。
4.入侵事件檢測模塊。入侵事件檢測模塊的主要作用是將協議解析模塊提交過來的數據,運用各種匹配算法將其與特征庫中所收錄的各種的攻擊模式進行比較與分析,以判斷是否有入侵事件的發生。數據包在經過解析之后調用入侵事件檢測模塊進行入侵規則的匹配。對上交的數據與特征庫里所構造的規則模式相比較,如果發現這個數據與特征庫中存在的一條規則相匹配,就意味著檢測到一個攻擊的發生,此時執行相應規則中已定義好的相應操作。如果在搜索完特征庫內所有的規則后仍沒有發現存在與該數據包相匹配的內容,就表明數據是正常的。
5.存儲模塊。人侵檢測系統的存儲模塊主要把系統中的各種有用信息存儲起來,為系統的使用和管理提供方便,其中包括捕獲的網絡數據包信息、規則庫文件信息、用戶策略等信息。
6.響應模塊。響應模塊的功能是入侵檢測系統在對事件進行了捕獲、解碼、檢測后對它們采取有意義的響應和記錄。在檢測到入侵后對確認的入侵行為采取相應的響應,根據用戶策略作出反應,如自行切斷網絡、通知管理員、與防火墻聯動等。
7.界面管理模塊。好的界面管理模塊能為入侵檢測系統進行管理操作提供一個完美而且友好的界面,其功能包括對捕獲到的數據包進行統計分析、升級完善規則庫、管理系統日志、對系統的各個模塊進行配置等。
在計算機應用的普及的今天,計算機系統安全問題成為影響人們正常生活的關鍵因素。總結本文的創新點,首先是提出了一種全新的入侵檢測方法,其次是為形式語言和自動機理論的應用提出了一個新的方向。