專利名稱:一種報文檢測掃描方法、裝置及網(wǎng)絡(luò)安全設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤指一種報文檢測掃描方法、裝置及網(wǎng)絡(luò)安全設(shè)備。
背景技術(shù):
近年來,Web應(yīng)用越來越廣泛,同時Web應(yīng)用也存在著大量漏洞,這引起了黑客們的強烈關(guān)注。傳統(tǒng)的網(wǎng)絡(luò)安全設(shè)備(如防火墻、入侵檢測系統(tǒng)等)在解決Web應(yīng)用安全問題時存在局限性,由于整改網(wǎng)站代碼來避免漏洞需要付出較高代價從而變得較難實現(xiàn),Web應(yīng)用防火墻(Web Application Firewall, WAF)應(yīng)運而生。WAF是位于Web客戶端和Web服務(wù)器端之間的中間設(shè)備,部署在Web服務(wù)器之前,用于對基于超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)或基于安全套接層的超文本傳輸協(xié)議(Hypertext Transfer Protocol over SecureSocket Layer, HTTPS)的雙向報文執(zhí)行檢測掃描來保證Web應(yīng)用的安全。其主要特點是建立“代理”安全模型,這種安全模型一般會以調(diào)用規(guī)則的方式對報文進行檢測掃描,由于黑客的攻擊手段千變?nèi)f化,Web應(yīng)用的漏洞層出不窮,因此必須根據(jù)攻擊和漏洞的特征,設(shè)計出成千上萬的規(guī)則用于對報文檢測掃描來保證Web應(yīng)用的安全,這些規(guī)則就形成了規(guī)則庫。WAF在對報文檢測掃描時,一般會逐條順序調(diào)用規(guī)則庫中所有的規(guī)則,對報文進行檢測掃描,由于每條規(guī)則對報文進行檢測掃描時都要消耗一定的時間,當規(guī)則庫中的規(guī)則數(shù)量急劇增加時,檢測掃描的效率就急劇下降。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種報文檢測掃描方法、裝置及網(wǎng)絡(luò)安全設(shè)備,用以解決現(xiàn)有技術(shù)中存在的當規(guī)則庫中的規(guī)則數(shù)量急劇增加時,逐條順序調(diào)用規(guī)則庫中所有的規(guī)則對報文進行檢測掃描,導致的檢測掃描效率急劇下降的問題。—種報文檢測掃描方法, 包括A、根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量;B、根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,所述閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,所述命中率是每個規(guī)則單位時間內(nèi)與報文匹配成功的次數(shù);C、根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列;D、設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率;E、所述設(shè)定時間周期到期后,執(zhí)行B。一種報文檢測掃描裝置,包括
確定單元,用于根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量;獲取單元,用于根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,所述閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,所述命中率是每個規(guī)則單位時間內(nèi)與報文匹配成功的次數(shù);排序單元,用于根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列;掃描單元,用于設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率;計時單元,用于在監(jiān)控所述設(shè)定時間周期到期后,轉(zhuǎn)向所述獲取單元。一種網(wǎng)絡(luò)安全設(shè)備,包括上述報文檢測掃描裝置。本發(fā)明有益效果如下本發(fā)明實施例提供的報文檢測掃描方法、裝置及網(wǎng)路安全設(shè)備,通過A、根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量;B、根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,所述閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,所述命中率是每個規(guī)則單位時間內(nèi)與報文匹配成功的次數(shù);C、根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列;D、設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率;E、所述設(shè)定時間周期到期后,執(zhí)行B。該方案根據(jù)規(guī)則的閑置時間和命中率在每個防護對象中選取部分規(guī)則來檢測掃描報文,即使規(guī)則庫中的規(guī)則越 來越多,也不會影響檢測掃描效率,并且由于是按照規(guī)則的閑置時間和命中率來選取規(guī)則的,這就可以保證檢測掃描的準確性,不會由于沒有選中某個規(guī)則而帶來安全隱患,這樣就避免了當規(guī)則庫中的規(guī)則數(shù)量急劇增加時,逐條順序調(diào)用規(guī)則庫中所有的規(guī)則對報文進行檢測掃描,導致的檢測掃描效率急劇下降的問題。
圖1為本發(fā)明實施例中報文檢測掃描方法的流程圖;圖2為本發(fā)明實施例中報文檢測掃描裝置的結(jié)構(gòu)示意圖。
具體實施例方式針對現(xiàn)有技術(shù)中存在的當規(guī)則庫中的規(guī)則數(shù)量急劇增加時,逐條順序調(diào)用規(guī)則庫中所有的規(guī)則對報文進行檢測掃描,導致的檢測掃描效率急劇下降的問題,本發(fā)明實施例提供一種報文檢測掃描方法,該方法的流程如圖1所示,執(zhí)行步驟如下S10:根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量。隨著時間的推移,規(guī)則庫中的規(guī)則數(shù)量會越來越多,如果按照現(xiàn)有技術(shù)中的方式逐條順序調(diào)用規(guī)則庫中的規(guī)則來檢測掃描報文,會非常浪費時間,檢測掃描效率非常低,因此,可以預設(shè)一個所需規(guī)則總數(shù)量,例如6000條,當然也可以是其他數(shù)值,在這里僅以6000條為例進行說明。無論規(guī)則庫中有多少規(guī)則,都會選出6000條規(guī)則對報文進行檢測掃描。規(guī)則可以分為很多種,每種是一個防護對象,例如結(jié)構(gòu)化查詢語言注入防護(StructuredQuery LanguageInjection Protect, SQL IP)、跨腳本攻擊防護(Cross Site ScriptingAttack Protect, XSS AP)等等。由于規(guī)則庫中的規(guī)則不會都選用,那么就需要確定每個防護對象所需規(guī)則的數(shù)量。Sll :根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,命中率是每個規(guī)則單位時間內(nèi)檢測掃描到惡意報文的次數(shù)??梢詫崟r統(tǒng)計規(guī)則庫中每個規(guī)則的閑置時間和命中率,根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則進行排序,然后在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則。S12:根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列。獲取每個防護對象中所需的規(guī)則后,對每個防護對象進行排序,就可以得到檢測掃描隊列。 S13 :監(jiān)控設(shè)定時間周期是否到期,若是執(zhí)行Sll ;否則,執(zhí)行S14。在一定的設(shè)定時間周期內(nèi),檢測掃描隊列中的規(guī)則是不變的,一旦設(shè)定時間周期過期后,則重新確定檢測掃描隊列中的規(guī)則。設(shè)定時間周期可以根據(jù)實際需要進行設(shè)定,若檢測掃描精度較高,可以將設(shè)定時間周期設(shè)定的短一些;若檢測掃描精度不高,可以將設(shè)定時間周期設(shè)定的長一些。S14:逐條調(diào)用檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率。當接收到報文后,可以逐條調(diào)用檢測掃描隊列中的規(guī)則檢測掃描該報文,當使用檢測掃描隊列中所有規(guī)則掃描完該報文后,更新規(guī)則庫中的所有規(guī)則的閑置時間和命中率。該方案根據(jù)規(guī)則的閑置時間和命中率在每個防護對象中選取部分規(guī)則來檢測掃描報文,即使規(guī)則庫中的規(guī)則越來越多,也不會影響檢測掃描效率,并且由于是按照規(guī)則的閑置時間和命中率來選取規(guī)則的,這就可以保證檢測掃描的準確性,不會由于沒有選中某個規(guī)則而帶來安全隱患,這樣就避免了當規(guī)則庫中的規(guī)則數(shù)量急劇增加時,逐條順序調(diào)用規(guī)則庫中所有的規(guī)則對報文進行檢測掃描,導致的檢測掃描效率急劇下降的問題。具體的,上述SlO中的根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量,具體包括將每個防護對象中規(guī)則的總數(shù)量相加,得到存儲的規(guī)則總數(shù)量;計算每個防護對象中規(guī)則的總數(shù)量與存儲的規(guī)則總數(shù)量的比值,得到每個防護對象的占比;用每個防護對象的占比乘以預設(shè)的所需規(guī)則總數(shù)量,得到每個防護對象所需規(guī)則的數(shù)量。假設(shè)有三個防護對象A、B、C,A中有15000個規(guī)則,B中有20000個規(guī)則,C中有25000個規(guī)則,那么,存儲的規(guī)則總數(shù)量60000個,那么A的占比為10000/45000=1/4,B的占比為1/3,C的占比為5/12。若預設(shè)的所需規(guī)則總數(shù)量為6000個,那么A所需規(guī)則的數(shù)量為6000* (1/4) =1500,B所需規(guī)則的數(shù)量為6000* (1/3) =2000,C所需規(guī)則的數(shù)量為6000*(5/12) =2500。具體的,上述Sll中的根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,具體包括根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值;按照每個防護對象中規(guī)則的排序值大小對每個防護對象中的規(guī)則排序。具體的,上述根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值,具體包括通過下列公式計算規(guī)則的排序值P (i, j) = β W (i, j) + λ U (i, j)。其中,W (i,j)為第i個防護對象中的第j個規(guī)則的閑置時間,β為閑置時間因子,可以是預先設(shè)定的固定值,也可以后續(xù)調(diào)整,U (i, j)為第i個防護對象中的第j個規(guī)則的命中率,λ為命中率因子,可以是預先設(shè)定的固定值,也可以后續(xù)進行調(diào)整。當β和λ的取值在O到I之間時,可以按照P (i,j)從小到大的順序?qū)Ψ雷o對象的規(guī)則進行排序;當β和λ的取值大于等于I時,可以按照P (i,j)從大到小的順序?qū)Ψ雷o對象中的規(guī)則進行排序。具體的,上述Sll中的根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,具體包括根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則所屬的排序類別,根據(jù)規(guī)則的命中率大小對每個排序類別中的規(guī)則排序。
可以采用模糊算法實現(xiàn)根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則所屬的排序類別,再根據(jù)規(guī)則的命中率大小對每個排序類別中的規(guī)則排序首先,確定輸入變量、輸出變量和模糊子空間。閑置時間W (i,j)和命中率U (i,j)作為輸入變量,排序類別P (i,j)可以作為輸出變量,W (i,j)可以劃分為4個模糊子空間很短、較短、稍短、不短,U (i,j)也可以劃分為4個模糊子空間很高、較高、稍高、不高,P (i, j)也可以劃分為4個模糊子空間最前、較前、稍前、不變。W (i,j)和Π (i,j)的模糊子空間都有一定的取值范圍,例如,O-Wtl之間為很短,Wtl-W1之間為較短,W1-W2為稍短,W2-W3之間為不短,O-U(!之間為很聞,Utl-U1之間為較高,U「u2為稍高,U2-U3之間為不高,其中以依據(jù)實際需要進行設(shè)定。然后,根據(jù)下表確定規(guī)則所屬的排序類別P (i,j)。
權(quán)利要求
1.一種報文檢測掃描方法,其特征在于,包括A、根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量;B、根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,所述閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,所述命中率是每個規(guī)則單位時間內(nèi)掃描檢測到惡意報文的次數(shù);C、根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列;D、設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率;E、所述設(shè)定時間周期到期后,執(zhí)行B。
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量,具體包括將每個防護對象中規(guī)則的總數(shù)量相加,得到存儲的規(guī)則總數(shù)量;計算每個防護對象中規(guī)則的總數(shù)量與所述存儲的規(guī)則總數(shù)量的比值,得到每個防護對象的占比;用每個防護對象的占比乘以所述預設(shè)的所需規(guī)則總數(shù)量,得到每個防護對象所需規(guī)則的數(shù)量。
3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,具體包括根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值,按照每個防護對象中規(guī)則的排序值大小對每個防護對象中的規(guī)則排序;或者根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則所屬的排序類別,根據(jù)規(guī)則的命中率大小對每個排序類別中的規(guī)則排序。
4.如權(quán)利要求3所述的方法,其特征在于,根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值,具體包括通過下列公式計算規(guī)則的排序值P (i,j):P (i, j ) = β W (i, j ) + λ U (i,j);其中,W (i,j)為第i個防護對象中的第j個規(guī)則的閑置時間,β為閑置時間因子,U (i,j)為第i個防護對象中的第j個規(guī)則的命中率,λ為命中率因子。
5.如權(quán)利要求4所述的方法,其特征在于,根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,具體包括通過下列公式確定每個防護對象的排序值P (i)=f^P (i, j);
6.一種報文檢測掃描裝置,其特征在于,包括確定單元,用于根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量; 獲取單元,用于根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,其中,所述閑置時間是每個規(guī)則距上次掃描檢測報文的時間間隔,所述命中率是每個規(guī)則單位時間內(nèi)與報文匹配成功的次數(shù); 排序單元,用于根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列; 掃描單元,用于設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率; 計時單元,用于在監(jiān)控所述設(shè)定時間周期到期后,轉(zhuǎn)向所述獲取單元。
7.如權(quán)利要求6所述的裝置,其特征在于,所述確定單元,具體用于 將每個防護對象中規(guī)則的總數(shù)量相加,得到存儲的規(guī)則總數(shù)量; 計算每個防護對象中規(guī)則的總數(shù)量與所述存儲的規(guī)則總數(shù)量的比值,得到每個防護對象的占比; 用每個防護對象的占比乘以所述預設(shè)的所需規(guī)則總數(shù)量,得到每個防護對象所需規(guī)則的數(shù)量。
8.如權(quán)利要求6所述的裝置,其特征在于,所述獲取單元,用于根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,具體用于 根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值,按照每個防護對象中規(guī)則的排序值大小對每個防護對象中的規(guī)則排序;或者 根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則所屬的排序類別,根據(jù)規(guī)則的命中率大小對每個排序類別中的規(guī)則排序。
9.如權(quán)利要求8所述的裝置,其特征在于,所述獲取單元,用于根據(jù)規(guī)則的閑置時間和命中率確定規(guī)則的排序值,具體用于 通過下列公式計算規(guī)則的排序值P (i, j) P (i, j ) = β W (i, j ) + λ U (i, j ); 其中,W (i,j)為第i個防護對象中的第j個規(guī)則的閑置時間,β為閑置時間因子,U(i,j)為第i個防護對象中的第j個規(guī)則的命中率,λ為命中率因子。
10.如權(quán)利要求9所述的裝置,其特征在于,所述排序單元,用于根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,具體用于 通過下列公式確定每個防護對象的排序值:
11.一種網(wǎng)絡(luò)安全設(shè)備,其特征在于,包括如權(quán)利要求6-10任一所述的報文檢測掃描裝置
全文摘要
本發(fā)明公開了一種報文檢測掃描方法、裝置及網(wǎng)路安全設(shè)備,該方法包括A、根據(jù)預設(shè)的所需規(guī)則總數(shù)量和每個防護對象中規(guī)則的總數(shù)量,確定每個防護對象所需規(guī)則的數(shù)量;B、根據(jù)規(guī)則的閑置時間和命中率對每個防護對象中的規(guī)則排序,并在每個防護對象排序后的規(guī)則中從第一個規(guī)則開始獲取每個防護對象所需數(shù)量的規(guī)則,C、根據(jù)獲取的每個防護對象中所需數(shù)量的規(guī)則確定每個防護對象的排序,得到檢測掃描隊列;D、設(shè)定時間周期內(nèi),逐條調(diào)用所述檢測掃描隊列中的規(guī)則檢測掃描報文,每檢測掃描一個報文,更新一次所有規(guī)則的閑置時間和命中率;E、所述設(shè)定時間周期到期后,執(zhí)行B。該方案檢測掃描效率和準確率都很高。
文檔編號H04L29/06GK103051613SQ20121054137
公開日2013年4月17日 申請日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者賴振旺 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司