一種web應(yīng)用防護(hù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及WEB應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種WEB應(yīng)用防護(hù)方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,許多用戶的關(guān)鍵業(yè)務(wù)基于WEB應(yīng)用來實(shí)現(xiàn),而WEB應(yīng)用的核心是HTTP協(xié)議。由于HTTP協(xié)議報文可能包含一些具有敏感字以及關(guān)鍵字信息的字段,這些字段容易對WEB應(yīng)用安全產(chǎn)生影響,也可能提供給非授權(quán)用戶攻擊思路,進(jìn)而威脅到整個網(wǎng)絡(luò)的安全。因此為了保證網(wǎng)絡(luò)的安全,需要對WEB應(yīng)用進(jìn)行防護(hù)。
[0003]而目前WEB應(yīng)用防護(hù)領(lǐng)域通常采用單模匹配的方式,對整個HTTP協(xié)議報文進(jìn)行特征信息的識別檢測。但該方式檢查范圍廣,不具有針對性,誤報率和漏報率都很高,所以不能準(zhǔn)確的識別出HTTP協(xié)議報文中的特征信息,進(jìn)而不能及時對WEB應(yīng)用采取防護(hù)處理。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種WEB應(yīng)用防護(hù)方法,應(yīng)用于報文轉(zhuǎn)發(fā)設(shè)備上,所述方法包括:
[0005]從報文轉(zhuǎn)發(fā)設(shè)備所接收到的報文中篩選出HTTP協(xié)議報文;
[0006]利用多模匹配算法對篩選出的HTTP協(xié)議報文進(jìn)行切分,獲取至少一個特征字段;
[0007]分析所述特征字段,確認(rèn)所述HTTP協(xié)議報文是否為可疑報文;
[0008]對確認(rèn)為可疑報文的HTTP協(xié)議報文采取防護(hù)處理,對確認(rèn)不是可疑報文的HTTP協(xié)議報文進(jìn)行轉(zhuǎn)發(fā)。
[0009]本發(fā)明還提供一種WEB應(yīng)用防護(hù)裝置,應(yīng)用于報文轉(zhuǎn)發(fā)設(shè)備上,所述裝置包括:
[0010]篩選單元,用于從報文轉(zhuǎn)發(fā)設(shè)備所接收到的報文中篩選出HTTP協(xié)議報文;
[0011]切分單元,用于利用多模匹配算法對篩選出的HTTP協(xié)議報文進(jìn)行切分,獲取至少一個特征字段;
[0012]分析單元,用于分析所述特征字段,確認(rèn)所述HTTP協(xié)議報文是否為可疑報文;
[0013]處理單元,用于對確認(rèn)為可疑報文的HTTP協(xié)議報文采取防護(hù)處理,對確認(rèn)不是可疑報文的HTTP協(xié)議報文進(jìn)行轉(zhuǎn)發(fā)。
[0014]本發(fā)明能夠有效提高HTTP協(xié)議報文中可疑報文的識別率,及時對WEB應(yīng)用進(jìn)行防護(hù)。
【附圖說明】
[0015]圖1是本發(fā)明提供的一種WEB應(yīng)用防護(hù)裝置運(yùn)行的硬件環(huán)境示意圖。
[0016]圖2是本發(fā)明提供的一種WEB應(yīng)用防護(hù)方法處理流程圖。
[0017]圖3是本發(fā)明提供的一種獲取特征字段的方法處理流程圖。
[0018]圖4是本發(fā)明提供的另一種獲取特征字段的方法處理流程圖。
【具體實(shí)施方式】
[0019]本發(fā)明提供一種WEB應(yīng)用防護(hù)的技術(shù)方案,該技術(shù)方案應(yīng)用于報文轉(zhuǎn)發(fā)設(shè)備上。首先從報文轉(zhuǎn)發(fā)設(shè)備所接收到的報文中篩選出HTTP協(xié)議報文,然后利用多模匹配算法對篩選出的HTTP協(xié)議報文進(jìn)行切分,獲取至少一個特征字段,接著分析所述特征字段,確認(rèn)所述HTTP協(xié)議報文是否為可疑報文,最后對確認(rèn)為可疑報文的HTTP協(xié)議報文采取防護(hù)處理,對確認(rèn)不是可疑報文的HTTP協(xié)議報文進(jìn)行轉(zhuǎn)發(fā)。由上述內(nèi)容可知,本發(fā)明是將HTTP協(xié)議報文進(jìn)行切分,然后再進(jìn)行特征的識別判定,相對于現(xiàn)有技術(shù)對整個HTTP協(xié)議報文進(jìn)行特征識別的方法,本發(fā)明的判斷更加有效,對WEB應(yīng)用提供的防護(hù)也更加精準(zhǔn)。
[0020]本發(fā)明提供一種WEB應(yīng)用防護(hù)裝置,該裝置運(yùn)行的硬件環(huán)境如圖1所示。本發(fā)明提供的裝置包括篩選單元、切分單元、分析單元以及處理單元,如圖2所示,上述單元相互配合執(zhí)行如下處理流程。
[0021]步驟101,篩選單元從報文轉(zhuǎn)發(fā)設(shè)備所接收到的報文中篩選出HTTP協(xié)議報文。
[0022]由于報文轉(zhuǎn)發(fā)設(shè)備通常會接收到各種各樣的數(shù)據(jù)報文和協(xié)議報文,而HTTP協(xié)議報文只是其中的一種,所以在進(jìn)行以下步驟之前,要先將HTTP協(xié)議報文篩選出來。而所有報文的頭部通常都會有標(biāo)明該報文類型的標(biāo)識,所述篩選單元可以通過報文頭部的標(biāo)識來篩選出HTTP協(xié)議報文。
[0023]步驟102,切分單元利用多模匹配算法對篩選出的HTTP協(xié)議報文進(jìn)行切分,獲取至少一個特征字段。
[0024]一般情況下,HTTP協(xié)議報文包括HTTP請求報文和HTTP響應(yīng)報文。其中,HTTP請求報文包括請求行、消息報頭、請求正文;HTTP響應(yīng)報文包括狀態(tài)行、消息報頭、響應(yīng)正文。因此,一個HTTP協(xié)議報文可以切分為三個大的字段。但為了使本發(fā)明提供的技術(shù)方案達(dá)到更好的效果,還可以進(jìn)一步的進(jìn)行切分。例如,可以切分出能識別的網(wǎng)絡(luò)鏈接、版本號、請求方法、報文產(chǎn)生的時間、指定客戶端接受哪些類型的信息、指定被請求資源的Internet主機(jī)和端口號、瀏覽器類型、操作系統(tǒng)、瀏覽器內(nèi)核等信息的字段,切分的越細(xì)致,達(dá)到的效果也就越好。
[0025]為了能夠合理細(xì)致的對所述HTTP協(xié)議報文進(jìn)行切分,切分單元通常采用多模匹配算法對HTTP協(xié)議報文進(jìn)行切分,并獲取特征字段。具體方式包括以下兩種。
[0026]請參考圖3,第一種方式中,切分單元可以執(zhí)行以下步驟。
[0027]步驟201,利用多模匹配算法將篩選出的HTTP協(xié)議報文切分成若干個字段,并記錄所述字段的開始位置和結(jié)束位置。
[0028]所述多模匹配算法包括AC算法、Wu-Manber算法和ExB算法。在優(yōu)選的實(shí)施方式中,本發(fā)明采用AC算法,即Aho-Corasick自動機(jī)算法(簡稱AC自動機(jī))。該算法具有兩大優(yōu)點(diǎn),一是計算時間復(fù)雜度與關(guān)鍵字的數(shù)目長度無關(guān),二是讀取信息時不需要回溯,因此,以AC算法為最佳選擇,當(dāng)然其他的多模匹配算法也能達(dá)到預(yù)定效果。
[0029]由于本發(fā)明提供的技術(shù)方案,是將報文先進(jìn)行切分,然后再對切分出來的各個字段進(jìn)行詳細(xì)解析。而現(xiàn)有技術(shù)則是采用單模匹配的方法,對整個HTTP協(xié)議報文內(nèi)容進(jìn)行解析,因此現(xiàn)有技術(shù)識別特征信息的準(zhǔn)確性較低。所以,本發(fā)明提供的技術(shù)方案提高了識別特征信息的準(zhǔn)確性,進(jìn)而增強(qiáng)了為WEB應(yīng)用提供防護(hù)的準(zhǔn)確性。
[0030]為了方便下一步的處理,切分單元在切分HTTP協(xié)議報文時,會進(jìn)一步的將切分出的字段的開始位置和結(jié)束位置,這樣可以根據(jù)開始位置和結(jié)束位置找到所述HTTP協(xié)議報文中的任一字段。
[0031]步驟202,根據(jù)所述開始位置和結(jié)束位置,獲取所述字段。
[0032]根據(jù)步驟201記錄的開始位置和結(jié)束位置,逐一獲取切分出的字段進(jìn)行分析。但是也不僅僅局限與逐一獲取這種方式,可以根據(jù)本發(fā)明裝置的性能設(shè)置獲取字段的數(shù)量。也就是說,所述裝置的性能越好,可設(shè)置的單次獲取字段的數(shù)量越大。
[0033]步驟203,當(dāng)所述字段與預(yù)設(shè)的選取策略匹配時,確定所述字段為特征字段,并記錄所述特征字段的開始位置和結(jié)束位置。
[0034]這里所述的選取策略可以是選取包含可識別的網(wǎng)絡(luò)鏈接的字段,選取包含有IP地址的字段,選取包含有報文產(chǎn)生時間的字段等等。在優(yōu)選的實(shí)施方式中,所設(shè)定的選取策略往往包含上述選取策略的一種或多種,具體的設(shè)置選取策略的方式可以根據(jù)實(shí)際情況而定。
[0035]這里需要說明的是,該方式通常先記錄特征字段的開始位置和結(jié)束位置,再根據(jù)開始位置和結(jié)束位置獲取所述特征字段,以便后期對所述特征字段進(jìn)行分析處理。由于在一般情況下,報文轉(zhuǎn)發(fā)設(shè)備會將要處理的信息先暫存在緩存里,處理結(jié)束后,將存放在緩存里的信息釋放,使得緩存里的空間可以再被利用,由于緩存的空間十分有限,大量占用緩存會影響所述報文轉(zhuǎn)發(fā)設(shè)備的處理速度。所以本方式先記錄字段的開始位置和結(jié)束位置,也就是先只將字段的開始位置和結(jié)束位置存放在緩存中,這樣占用的緩存空間就比較小,有利于提高所述報文轉(zhuǎn)發(fā)設(shè)備的工作效率。