一種Web攻擊的檢測方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種網(wǎng)絡(luò)安全領(lǐng)域,具體涉及一種Web攻擊的檢測方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前,80%的常見應(yīng)用都是Web應(yīng)用,包括對安全性要求較高的金融類應(yīng)用。Web已經(jīng)成為標(biāo)準(zhǔn)的應(yīng)用交互接口。Web應(yīng)用在給人們帶來方便的同時,也成為了黑客最為關(guān)注的對象。常見的針對Web應(yīng)用的攻擊包括SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)注入攻擊、XSS(Cross Site Scripting,跨站腳本攻擊)、CSRF(Cross_site requestforgery,跨站請求偽造)以及各種可能導(dǎo)致Web服務(wù)器拒絕服務(wù)的Web攻擊方式。
[0003]為了防御各種Web攻擊,相關(guān)技術(shù)中的處理方式通常是在Web應(yīng)用前面部署Web應(yīng)用防火墻,它可在將Web業(yè)務(wù)訪問請求提交到后臺Web服務(wù)器之前對其進(jìn)行安全檢查,如果發(fā)現(xiàn)含有Web攻擊企圖,則阻斷本次Web業(yè)務(wù)訪問請求。但當(dāng)前的Web應(yīng)用防火墻多采用誤用檢測方式來檢測各種Web攻擊,誤用檢測方式是指通過與攻擊特征庫進(jìn)行特征匹配,以確定攻擊事件,其優(yōu)點是誤報率低,缺點是各種Web攻擊特征容易被變形,從而可能躲避檢測,造成漏報;此外,誤用檢測無法檢測未知Web攻擊。
[0004]異常檢測方法則是一種不同于誤用檢測的攻擊檢測方法。它首先為被檢測對象建立正常行為模型,然后,度量待檢測對象當(dāng)前行為與正常行為模型的偏差,如果明顯偏離,則表示檢測到異常行為,這種異常行為可能是一種攻擊。異常檢測方法優(yōu)點是可能檢測到各種未知攻擊,但是,其缺點也很明顯,就是誤報率高,很多時候無法對報警結(jié)果進(jìn)行合理解釋。
[0005]Web應(yīng)用防火墻只能檢測到Web攻擊企圖,對于那些躲避了Web應(yīng)用防火墻檢測的Web攻擊,則可能通過對Web日志進(jìn)行安全分析檢測出來。但當(dāng)前基于Web日志分析的Web攻擊檢測方法多數(shù)仍然是采用基于已知攻擊特征的誤用檢測方法,漏報率高。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題是如何克服誤用檢測和異常檢測的缺點,能夠?qū)eb應(yīng)用防火墻無法發(fā)現(xiàn)的Web攻擊進(jìn)行事后的攻擊檢測和取證。
[0007]為了解決上述問題,采用如下技術(shù)方案。
[0008]一種Web攻擊檢測方法,包括:
[0009]SI 10、對于待處理的多條Web日志,按照所述Web日志中的統(tǒng)一資源定位符URL進(jìn)行劃分,得到不同URL對應(yīng)的Web日志子集;
[0010]SI 20、對于每個URL所對應(yīng)的Web日志子集分別進(jìn)行以下處理:選取所述Web日志子集中部分Web日志,所選取的Web日志在所述Web日志子集中所占的比例小于或等于預(yù)定的比例上限;根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型;
[0011]S130、對于每個URL所對應(yīng)的Web日志子集,分別基于該URL對應(yīng)的正常行為模型,對該URL所對應(yīng)Web日志子集中未被選取的Web日志進(jìn)行異常檢測。
[0012]可選地,所述根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型包括:
[0013]基于選取的Web日志中該URL相關(guān)的一個或多個用戶輸入?yún)?shù)的用戶輸入值,分別構(gòu)建該URL相關(guān)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式,URL對應(yīng)的正常行為模型為該URL相關(guān)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式的集合;
[0014]所述基于該URL對應(yīng)的正常行為模型,對該URL所對應(yīng)Web日志子集中未被選取的Web日志進(jìn)行異常檢測包括:
[0015]對于每條未被選取的Web日志,提取該URL相關(guān)的一個或多個用戶輸入?yún)?shù)所對應(yīng)的用戶輸入值,分別檢查每個用戶輸入值是否符合該URL對應(yīng)的正常行為模型中該用戶輸入值對應(yīng)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式,如果不符合,則判定該用戶輸入值為異常;當(dāng)一條Web日志中,判定為異常的用戶輸入值的個數(shù)或比例大于或等于預(yù)定門限時,將該條Web日志確定為異常的Web日志。
[0016]可選地,所述URL相關(guān)的一個或多個用戶輸入?yún)?shù)包括以下任一項或任幾項:該URL相關(guān)的一個或多個Cookie,以及附加在該URL后面的一個或多個用戶輸入?yún)?shù)。
[0017]可選地,所述判定用戶輸入值異常后還包括:
[0018]對判定為異常的用戶輸入值,將該用戶輸入值與Web攻擊特征庫進(jìn)行匹配,識別出已知的Web攻擊。
[0019]可選地,所述根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型包括:
[0020]對所選取的Web日志進(jìn)行基于Web攻擊特征庫的誤用檢測,將包含Web攻擊特征的Web日志篩除,基于剩下的Web日志構(gòu)建該URL對應(yīng)的正常行為模型。
[0021 ] 一種Web攻擊檢測裝置,包括:
[0022]日志分類模塊,用于對于待處理的多條Web日志,按照所述Web日志中的統(tǒng)一資源定位符URL進(jìn)行劃分,得到不同URL對應(yīng)的Web日志子集;
[0023]正常行為模型學(xué)習(xí)模塊,用于對于每個URL所對應(yīng)的Web日志子集分別進(jìn)行以下處理:選取所述Web日志子集中部分Web日志,所選取的Web日志在所述Web日志子集中所占的比例小于或等于預(yù)定的比例上限;根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型;
[0024]異常檢測模塊,用于對于每個URL所對應(yīng)的Web日志子集,分別基于該URL對應(yīng)的正常行為模型,對該URL所對應(yīng)Web日志子集中未被選取的Web日志進(jìn)行異常檢測。
[0025]可選地,所述正常行為模型學(xué)習(xí)模塊根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型包括:
[0026]所述正常行為模型學(xué)習(xí)模塊基于選取的Web日志中該URL相關(guān)的一個或多個用戶輸入?yún)?shù)的用戶輸入值,分別構(gòu)建該URL相關(guān)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式,URL對應(yīng)的正常行為模型為該URL相關(guān)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式的集合;
[0027]所述異常檢測模塊基于該URL對應(yīng)的正常行為模型,對該URL所對應(yīng)Web日志子集中未被選取的Web日志進(jìn)行異常檢測包括:
[0028]所述異常檢測模塊對于每條未被選取的Web日志,提取該URL相關(guān)的一個或多個用戶輸入?yún)?shù)所對應(yīng)的用戶輸入值,分別檢查每個用戶輸入值是否符合該URL對應(yīng)的正常行為模型中該用戶輸入值對應(yīng)的用戶輸入?yún)?shù)的正常數(shù)據(jù)格式,如果不符合,則判定該用戶輸入值為異常;當(dāng)一條Web日志中,判定為異常的用戶輸入值的個數(shù)或比例大于或等于預(yù)定門限時,將該條Web日志確定為異常的Web日志。
[0029]可選地,所述URL相關(guān)的一個或多個用戶輸入?yún)?shù)包括以下任一項或任幾項:該URL相關(guān)的一個或多個Cookie,以及附加在該URL后面的一個或多個用戶輸入?yún)?shù)。
[0030]可選地,所述的裝置還包括:
[0031]誤用檢測模塊,用于對判定為異常的用戶輸入值,將該用戶輸入值與Web攻擊特征庫進(jìn)行匹配,識別出已知的Web攻擊。
[0032]可選地,所述正常行為模型學(xué)習(xí)模塊根據(jù)所選取的Web日志構(gòu)建該URL對應(yīng)的正常行為模型包括:
[0033]所述正常行為模型學(xué)習(xí)模塊指示所述誤用檢測模塊對所選取的Web日志進(jìn)行基于Web攻擊特征庫的誤用檢測,將包含Web攻擊特征的Web日志篩除,基于剩下的Web日志構(gòu)建該URL對應(yīng)的正常行為模型。
[0034]本發(fā)明的技術(shù)方案的優(yōu)勢是:充分結(jié)合了誤用檢測和異常檢測方法的優(yōu)點,能夠檢測到各種已知和未知的Web攻擊,可以在信息安全風(fēng)險評估等事后分析Web應(yīng)用系統(tǒng)安全的時候,對前端Web應(yīng)用防火墻無法檢測到的Web攻擊進(jìn)行事后的攻擊檢測和取證,并可能發(fā)現(xiàn)各種未知Web攻擊,從而能夠作為Web應(yīng)用防火墻的一種有利補(bǔ)充,保障Web應(yīng)用的安全。
[0035]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【附圖說明】
[0036]附圖用來提供對本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
[0037]圖1為本發(fā)明實施例一的Web攻擊的檢測方法的流程示意圖;
[0038]圖2為本發(fā)明實施例一的Web攻擊的檢測裝置的示意圖。
【具體實施方式】
[0039]下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。
[0040]需要說明的是,如果不沖突,本發(fā)明實施例以及實施例中的各個特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0041 ] 實施例一、一種Web攻擊檢測方法,如圖1所示,包括步驟SI 10?S130:
[0042]SI 10、對于待處理的多條Web日志,按照所述Web日志中的URL (Uni form ResourceLocator,統(tǒng)一資源定位符)進(jìn)行劃分,得到不同URL對應(yīng)的Web日志子集。
[0043]本步驟可以包括:對于待處理的多條Web日志,首先分別提取每條Web日志中的URL,然后按照URL對所述待處理的多條Web日志進(jìn)行劃