何春華
摘要:為了更好的提高計算機網絡入侵檢測系統(tǒng)的質量,我們可以融合多種模式的匹配算法,并通過對網絡入侵檢測模式進行詳細分析,提出了融合多模式匹配算法的計算機網絡入侵檢測。本文主要研究了多種模式的常見匹配算法,根據常見算法對計算機檢測性能進行了分析,并依據存在的不足對網絡入侵檢測提出了合理的改進方案。
關鍵詞:網絡入侵檢測;計算機;多模式匹配算法
隨著我國科技技術的不斷改進,現如今網絡信息技術已經取得了飛速發(fā)展。網絡信息化的管理也給廣大的網絡工作者帶來了新挑戰(zhàn)。尤其是當今的電子商務技術,例如:網上支付、網絡銀行等網上交易發(fā)展迅速。網絡技術的發(fā)展給社會帶來的不僅僅的快捷方便,隨之而來的還有網絡安全問題。因此,計算機網絡入侵系統(tǒng)必須要做到網絡環(huán)境的安全,除了要科學抵御網絡攻擊,還應主動對網絡不良信息進行檢測,最終徹底排除影響網絡安全的潛在因素。
1多模式匹配算法的計算機網絡入侵檢測概述
1.1多模式匹配算法定義。多模式匹配算法的定義主要解釋為:給定任意一個長度為L的模式串pat[1:f]和長度為c的text[1:c],其中1
1.2網絡入侵檢測定義。計算機中鞏固加強網絡安全,防范危害網絡安全因素的工作就是網絡入侵檢測。網絡入侵檢測主要采取排查過濾的方式主動清除威脅網絡安全環(huán)境的因素,并提高網絡的穩(wěn)定性。它主要對所有經過網絡的相關數據進行匹配和檢測,并分析這些網絡數據是否與規(guī)定模板相吻合,然后經過一系列匹配工作刪選可能影響網絡安全的信息。因此,網絡信息安全除了由防火墻的攔截外,網絡入侵檢測可以稱得上是互聯(lián)網信息的第二道保護墻。
2常見的匹配算法
計算機網絡入侵檢測中,匹配信息數據的常用算法就是有限自動機的多模式匹配算法,俗稱AC算法。該匹配算法主要在網絡數據預處理階段,以下具體解釋AC算法的結算思路:
①首先介紹AC自動機算法的模型,主要包含三個函數:輸出函數(output)、失效函數(failure)、轉向函數(goto)。本次研究主要利用這三種函數對網絡信息進行匹配,從而尋找匹配文本的相對于位置和數據。本文利用這些函數對文本進行匹配,然后尋求匹配文本的位置和所有項。
②Ac算法產生的思路:計算全部深度為1的失效函數值,然后逐步計算深度為2、3、4……的狀態(tài)等等,一直到得出全部失效函數值。
③AC算法的解決過程:首先將所有狀態(tài)的深度定義為s狀態(tài),所得失效函數值就表示為.f(s)=0;其次對所有1 3 ACBM算法的實現 3.1Aho-Corasick(AC)算法。AC算法的思路是:在對信息數據的預處理階段以及有限狀態(tài)的自動機算法建立以上三個函數,由此構造一個樹型有限狀態(tài)自動機AC算法。AC算法的預處理時間復雜度為o(m),但AC算法對文本竄匹配過程沒有跳躍情況,因此無法跳過沒用的比較。AC算法是的自動機算法是以空間轉時間的算法,當計算模式集中較大時會導致內存膨脹問題的出現,所以,AC算法存在的問題還不足以成為最佳算法。 3.2AC-BM算法。Aho-Corasick-Boyer-Moore即AC-BM算法,它是一種結合了AC算法的同時還匹配BM算法以及多模式特點的跳躍式算法。AC-BM算法的優(yōu)點就是能充分利用模式有大量相同前綴的情況下還能減少數據字符的比較,并加快檢測和匹配速度。在進行計算過程中,AC-BM算法使用了BM算法的兩個優(yōu)點,即:壞字符移動規(guī)則以及好后綴移動規(guī)則。這種多模式的匹配算法還應注意在計算時每次移動的距離要在范圍之內,避免漏點情況。利用AC-BM算法進行入侵檢測,使計算機數據存在很多相同前綴字符的字符串,因此,這種計算方式很有優(yōu)勢。 3.3AC-BM算法的改進。改進AC-BM匹配算法的實現過程具體如下: ①預處理階段:在AC-BM模式匹配算法的預處理階段時,可以將計算模式集中成模式樹,其原理與AC算法大致相同。 ②改進初始位置和匹配方向:AC-BM算法在匹配計算式,可以改進模式樹的初始位置和匹配方向。具體使模式樹最短模式的右端與待測文本右端對齊,同時文本字符T[n=minlen]從左向右開始對齊。計算時如果發(fā)生失配情況,可以將模式樹文本右端向左移動。 ③首字符位置失配時的跳躍規(guī)則改進:在進行AC-BM模式匹配算法時,如果出現首字符位置失配的情況,例如文本Text和模式樹對齊時,Text第一個字符匹配不上模式樹中任意的第一個字符。另外,單模式匹配中BMH算法主要是以文本和模式對齊處的文本字符T[i]來計算偏移量,可以采用跳躍思維結合多模式匹配算法,然后將匹配的首字符和前一字符作為字串決定模式樹偏移量,具體為:P=T[I-1]T[i]。其中如果P再次出現時,可以將模式樹向左移動,然后使P在模式集中對齊。 4網絡入侵檢測改進方案 Snort是一款開源的網絡入侵防御系統(tǒng)(IPS),可以實時分析和記錄網絡數據包,也可以通過執(zhí)行協(xié)議分析、內容搜索和匹配,從而發(fā)現各種網絡攻擊和可疑的探測。要想改進網絡入侵檢測,就利用Snort檢測引擎的匹配算法。因此,可以在初始規(guī)則連表上,對快速規(guī)則匹配的數據結構進行重新構造。其具體構造流程分為:構造規(guī)則樹、進行多模式匹配這兩個步驟。以上論述的AC-BM算法就是增加了多模式樹的數據結構,所以很大程度上提高了計算機的檢測效率。這種算法最大優(yōu)點就是能將所有內容規(guī)則中的選項提取出來,然會對其它選項分開檢測。這種檢測方法不僅能將統(tǒng)一規(guī)則所檢測的數據能歸集成一種類型,還能限制檢測的規(guī)則數,如此就可以考慮采用Snort限定檢測規(guī)則數的方式。使用Snort檢測引擎能大大減少檢測的規(guī)則樹,從而提高檢測效率。 另一方面,針對內容檢測時必須注重規(guī)則數量和檢測速度。根據BM算法的原理,在檢測時模式樹的檢測推移速度取決于“壞字符”和“好后綴”的移動長度。同時,在模式樹中出現短模式會極大影響算法的實施。因此,必須先縮小檢測范圍,才能避免由于規(guī)則數量過多影響的內容檢測工作。 總結:本文主要研究了多模式匹配算法的計算機網絡入侵檢測,同時研究了多種模式的匹配算法以及對網絡入侵檢測的改進提出了相應的對策。通過觀察對比AC算法以及AC-BM算法,可以發(fā)現在進行計算機網絡入侵檢測時,使用多種模式的匹配算法能更好的實現檢測目的,從而維護網絡環(huán)境安全。