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