目前,絕大多數(shù)IDS(入侵檢測系統(tǒng))的檢測機制還停留在:基本的數(shù)據(jù)包捕獲加以非智能模式匹配與特征搜索技術(shù)來探測攻擊。而協(xié)議分析能夠智能地“理解”協(xié)議,利用網(wǎng)絡(luò)協(xié)議的高度規(guī)則性快速探測攻擊的存在,從而避免了模式匹配所做的大量無用功——導(dǎo)致所需計算的大量減少。
特征模式匹配技術(shù)的流程
模式匹配技術(shù)按照以下方式進行操作:
網(wǎng)絡(luò)上每一個數(shù)據(jù)包都被檢查,尋找攻擊特征;
與攻擊特征相同長度的一組字節(jié)從可疑數(shù)據(jù)包首部取出,并對兩組字節(jié)進行比較;
如果兩組字節(jié)一樣,攻擊特征即被檢測出來;
如果兩組字節(jié)不一樣,攻擊特征“前移一個字節(jié)”,重復(fù)比較流程;
第二次檢測時,特征與數(shù)據(jù)包中第二位開始的字節(jié)進行比較;
該流程被重復(fù),每次的比較起始位置都增加一個字節(jié),直到所有的數(shù)據(jù)字節(jié)都與攻擊特征進行比較。
特征模式匹配技術(shù)的兩個缺陷
特征模式匹配技術(shù)有兩個最根本的缺陷:
計算的負載——持續(xù)該運算法則所需的計算量極其巨大,對于滿負載的100Mbps以太網(wǎng),需要的計算量將是:(攻擊特征字節(jié)數(shù))×(數(shù)據(jù)包字節(jié)數(shù))×(每秒的數(shù)據(jù)包數(shù))×(數(shù)據(jù)庫的攻擊特征數(shù))。假設(shè)一個攻擊特征有20字節(jié),平均數(shù)據(jù)包大小為300字節(jié),每秒30000個數(shù)據(jù)包,數(shù)據(jù)庫有2000個攻擊特征,我們每秒就需要有360000000000字節(jié)的計算量。這樣的計算速率遠遠超過當(dāng)今技術(shù)允許的范圍。折中的方法就是通過在發(fā)現(xiàn)一個字節(jié)不匹配時就放棄繼續(xù)對比,認為該數(shù)據(jù)包安全,這樣可以構(gòu)造出一個所謂部分覆蓋的IDS。因為這種系統(tǒng)有性能問題困擾,因此容易被黑客利用。
探測準(zhǔn)確性——第二個根本的缺陷是模式匹配/特征搜索技術(shù)使用固定的特征模式來探測攻擊。使用固定的特征模式就只能探測出明確的、唯一的攻擊特征,即便是最輕微變換的攻擊串都會被忽略。
特征模式匹配IDS的根本問題
一個基于模式匹配的IDS系統(tǒng)不能智能地判斷看似不同字符串/命令串的真實含義和最終效果。在模式匹配系統(tǒng)中,每一個這樣的變化都要求攻擊特征數(shù)據(jù)庫增加一個特征記錄。這種技術(shù)運算規(guī)則的內(nèi)在缺陷使得所謂的龐大特征庫實際上是徒勞的,最后的結(jié)果往往是付出更高的計算負載,而導(dǎo)致更多的丟包率,也就產(chǎn)生遺漏更多攻擊的可能,黑客們往往利用這種缺陷進行攻擊。
基于模式匹配技術(shù)的IDS的根本問題在于它把數(shù)據(jù)包作為一系列隨機變換的字節(jié)流,它假設(shè)數(shù)據(jù)包的結(jié)構(gòu)不可知。當(dāng)模式匹配被用來從大量隨機變化數(shù)據(jù),如一個數(shù)據(jù)影像或一個音頻流中搜索特征模式時,可以說是一個正確明智的方法。模式匹配軟件最初就是為分析數(shù)據(jù)影像和音頻信息而開發(fā)的。但很明顯,分析數(shù)據(jù)影像和分析網(wǎng)絡(luò)通信協(xié)議是截然不同的。模式匹配軟件可以在入侵檢測系統(tǒng)中使用,但它絕不是理想的,因為它本身就不是被設(shè)計來完成這種任務(wù)的。