本發(fā)明涉及網(wǎng)絡
技術(shù)領(lǐng)域:
,特別是涉及一種Web異常檢測方法和裝置。
背景技術(shù):
:隨著網(wǎng)絡技術(shù)的不斷發(fā)展,Web應用安全問題也日益得到重視?;ヂ?lián)網(wǎng)的開放性以及豐富的Java腳本和SQL(結(jié)構(gòu)化查詢語言,StructuredQueryLanguage)語言,給黑客提供了Web攻擊的可乘之機。為了防御Web攻擊,需要對輸入到網(wǎng)站上的流量進行檢測,以檢測出對網(wǎng)站攻擊的異常流量。目前,可以采用如下兩種方法檢測Web攻擊:滲透測試方法和基于規(guī)則的檢測方法。其中,滲透測試方法是一種黑盒測試方法,通過模擬正常的安全攻擊行為,并對攻擊行為的響應結(jié)果進行分析,從而確定是否存在安全漏洞,以在發(fā)現(xiàn)問題時可以及時進行修補。然而,目前尚且沒有成熟的理論模式來優(yōu)化滲透測試流程,也沒有適當?shù)睦碚摲椒▉碇笇蓛?yōu)化的測試用例集合,因此滲透測試通常具有較大的盲目性,導致滲透測試的效率和準確度較低?;谝?guī)則的檢測方法包括的主要技術(shù)有:基于統(tǒng)計方法的入侵檢測技術(shù),基于神經(jīng)網(wǎng)絡的入侵檢測技術(shù),匹配WAF規(guī)則等等?;谝?guī)則的檢測方法需要為不同的入侵者和不同的系統(tǒng)建立特定的檢測規(guī)則。然而,對于還未建立檢測規(guī)則的隱蔽性較高的攻擊行為,通常無法進行檢測。技術(shù)實現(xiàn)要素:鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種基于Web異常檢測方法和裝置。依據(jù)本發(fā)明的一個方面,提供了一種Web異常檢測方法,包括:對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到??蛇x地,所述對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL的步驟,包括:提取所述待檢測的URL的路徑字段和參數(shù)字段;匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL??蛇x地,所述依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測的步驟包括:將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段??蛇x地,通過如下步驟建立所述參數(shù)檢測模型:收集預設時間段內(nèi)正常的歷史URL;從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;確定所述參數(shù)值對應的狀態(tài)序列;依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型。可選地,所述分類檢測模型包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞。可選地,所述依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別的步驟,包括:提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別??蛇x地,通過如下步驟建立所述分類檢測模型:收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;獲取所述特征關(guān)鍵詞分別在所述正常URL和所述異常URL中出現(xiàn)的頻次;依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合??蛇x地,所述方法還包括:在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。根據(jù)本發(fā)明的另一方面,提供了一種Web異常檢測裝置,包括:異常檢測模塊,用于對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;分類檢測模塊,用于依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到??蛇x地,所述異常檢測模塊,包括:字段提取子模塊,用于提取所述待檢測的URL的路徑字段和參數(shù)字段;字段匹配子模塊,用于匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;異常確定子模塊,用于在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL??蛇x地,所述字段匹配子模塊,包括:輸入單元,用于將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;確定單元,用于在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段??蛇x地,所述裝置還包括:參數(shù)檢測模型建立模塊,用于建立所述參數(shù)檢測模型;所述參數(shù)檢測模型建立模塊,包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)正常的歷史URL;參數(shù)提取子模塊,用于從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;序列確定子模塊,用于確定所述參數(shù)值對應的狀態(tài)序列;參數(shù)檢測模型訓練子模塊,用于依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型??蛇x地,所述分類檢測模型包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞??蛇x地,所述分類檢測模塊,包括:關(guān)鍵詞提取子模塊,用于提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次統(tǒng)計子模塊,用于統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;輸入子模塊,用于將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;類別確定子模塊,用于依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。可選地,所述裝置還包括:分類檢測模型建立模塊,用于建立所述分類檢測模型;所述分類檢測模型建立模塊,包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;關(guān)鍵詞提取子模塊,用于從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次獲取子模塊,用于獲取所述特征關(guān)鍵詞分別在所述正常URL和所述異常URL中出現(xiàn)的頻次;分類檢測模型建立子模塊,用于依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合。可選地,所述裝置還包括:標注模塊,用于在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;模型調(diào)整模塊,用于依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。根據(jù)本發(fā)明實施例提供的一種Web異常檢測方法和裝置,通過對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL,從而可以過濾掉正常URL,而對符合預設異常條件的目標URL進一步進行異常分類檢測,以及確定所述目標URL對應的異常類別。由于本發(fā)明實施例對于待檢測的URL先進行初步過濾(即對待檢測的URL進行異常檢測),以過濾掉正常的URL,再將過濾后得到的可疑URL(即符合預設異常條件的目標URL)進行異常分類檢測,而不用對每個待檢測的URL都進行異常分類檢測,因此可以提高檢測的效率。附圖說明通過閱讀下文可選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出可選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖;圖2示出了本發(fā)明一個實施例的一種依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測的步驟流程圖;圖3示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖;圖4示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖;圖5示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測裝置的結(jié)構(gòu)框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。方法實施例一參照圖1,示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖,具體可以包括:步驟101、對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;本發(fā)明實施例可適用于對web數(shù)據(jù)流進行異常檢測,以確定當前Web數(shù)據(jù)流中是否存在異常訪問數(shù)據(jù),進而可以及時發(fā)現(xiàn)Web網(wǎng)絡中出現(xiàn)的攻擊行為,提高識別異常訪問數(shù)據(jù)的準確性和Web網(wǎng)絡的安全性。也即,本發(fā)明實施例中待檢測的URL可以來源于待檢測的web數(shù)據(jù)流,當然,本發(fā)明實施例對于待檢測的具體URL不加以限制。本發(fā)明實施例在進行Web異常檢測的過程中,首先對待檢測的URL進行異常檢測,以將檢測為正常的URL快速放行,而將少見的或者出現(xiàn)異常的目標URL做為可疑數(shù)據(jù)進行進一步的異常分類檢測,以確定所述目標URL對應的異常類別。由于本發(fā)明實施例對于待檢測的URL先進行初步過濾(即對待檢測的URL進行異常檢測),以過濾掉正常的URL,再將過濾后得到的可疑URL(即符合預設異常條件的目標URL)進行異常分類檢測,而不用對每個待檢測的URL都進行異常分類檢測,因此可以提高檢測的效率。在本發(fā)明的一種可選實施例中,所述對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL的步驟,具體可以包括:步驟S11、提取所述待檢測的URL的路徑字段和參數(shù)字段;本專利發(fā)明人通過分析URL的結(jié)構(gòu)得出,URL主要包括如下字段:主機字段、路徑字段和參數(shù)字段,其中,路徑字段可用于表明資源在主機字段所對應主機上存放的位置,參數(shù)字段可用于傳遞參數(shù)。以URL:a.b.c/Path/to/resource.suffix?para1=wal1¶2=val2為例,“a.b.c”為主機字段,“Path/to/resource.suffix?”為路徑字段,“para1=wal1¶2=val2”為參數(shù)字段。在具體應用中,大多數(shù)的Web攻擊通常是通過修改URL中的路徑字段或者參數(shù)字段來實現(xiàn)的。因此,本發(fā)明實施例對所述待檢測的URL中的路徑字段和/或參數(shù)字段進行異常檢測,如果待檢測的URL中的路徑字段和/或參數(shù)字段出現(xiàn)異常,則可以認為所述待檢測URL為符合預設異常條件的目標URL。在本發(fā)明實施例中,可以先對所述待檢測的URL中的路徑字段進行異常檢測,如果檢測得到所述路徑字段為異常路徑字段,則可以認為所述待檢測URL為符合預設異常條件的目標URL,而可以不再對參數(shù)字段進行異常檢測,進而直接對目標URL進行異常分類檢測,可以提高異常檢測的速度。可選地,如果檢測得到所述路徑字段為正常路徑字段,則可以繼續(xù)對參數(shù)字段進行異常檢測,如果所述參數(shù)字段為異常參數(shù)字段,則可以認為所述待檢測URL為符合預設異常條件的目標URL??梢岳斫猓鲜鱿葯z測路徑字段再檢測參數(shù)字段僅作為本發(fā)明的一種應用示例,在實際應用中,本發(fā)明實施例對路徑字段和參數(shù)字段進行異常檢測的順序不加以限制,也即,還可以按照參數(shù)字段和路徑字段的順序進行步驟101的異常檢測。步驟S12、匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;在本發(fā)明實施例中,對所述待檢測的URL中的路徑字段進行異常檢測,可以通過匹配所述路徑字段和預置路徑白名單中的正常路徑字段來實現(xiàn)。其中,所述預置路徑白名單中的正常路徑字段具體可以為通過現(xiàn)有的異常檢測方法檢測得到的正常路徑字段,或者已被標注的正常路徑字段等,本發(fā)明實施例對于所述預置路徑白名單中的正常路徑字段的獲取方式不加以限制。如果所述路徑字段和所述預置路徑白名單中的正常路徑字段相匹配,則認為所述路徑字段為正常路徑字段,可以進一步對參數(shù)字段進行異常檢測,以判斷所述參數(shù)字段是否出現(xiàn)異常,具體地,可以依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測,其中,所述參數(shù)檢測模型具體可以為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到。步驟S13、在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL。如果所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段,則可以認為所述參數(shù)字段為異常參數(shù)字段,進而可以確定所述待檢測的URL為符合預設異常條件的目標URL。步驟102、依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到。在步驟101對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL之后,可以將所述目標URL輸入預先建立的分類檢測模型,以輸出得到所述目標URL對應的異常類別。在本發(fā)明實施例中,所述分類檢測模型可以包括N種異常類別分別對應的子分類檢測模型,在實際應用中,所述異常類別主要可以包含SQL注入,XSS(CrossSiteScripting,跨站腳本攻擊),LFI(LocalFileInclude,本地文件包含),Command(命令)注入等攻擊行為??梢岳斫?,本發(fā)明實施例對于異常類別的種類和數(shù)量不加以限制??蛇x地,本發(fā)明實施例可以收集預設時間段內(nèi)的歷史URL作為訓練數(shù)據(jù),所述歷史URL中可以包括正常URL和異常URL,并且依據(jù)決策樹對所述訓練數(shù)據(jù)進行訓練,得到N個子分類檢測模型,其中每個子分類檢測模型對應N種異常類別中的一種,在對目標URL進行異常分類檢測時,依次將所述目標URL輸入N個子分類檢測模型,所述N個子分類檢測模型分別輸出所述目標URL對應異常類別的概率,可選地,可以通過比較N個子分類檢測模型輸出的概率值確定所述目標URL對應的異常類別。在具體應用中,所述分類檢測模型可以在實際的檢測過程中不斷進行學習和優(yōu)化,從而可以學習到之前沒有的異常類別,進而可以解決現(xiàn)有技術(shù)中基于規(guī)則的檢測方法無法檢測未建立檢測規(guī)則的攻擊行為的問題??梢岳斫?,上述依據(jù)決策樹訓練分類檢測模型僅作為本發(fā)明的一種應用示例,在實際應用中,本發(fā)明實施例對于所述分類檢測模型的訓練方式不加以限制。綜上,本發(fā)明實施例首先對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL,從而可以過濾掉正常URL,而對符合預設異常條件的目標URL進一步進行異常分類檢測,以及確定所述目標URL對應的異常類別。由于本發(fā)明實施例對于待檢測的URL先進行初步過濾(即對待檢測的URL進行異常檢測),以過濾掉正常的URL,再將過濾后得到的可疑URL(即符合預設異常條件的目標URL)進行異常分類檢測,而不用對每個待檢測的URL都進行異常分類檢測,因此可以提高檢測的效率。方法實施例二本實施例在上述方法實施例一的基礎上,詳細說明對所述參數(shù)字段進行異常檢測的過程。參照圖2,示出了本發(fā)明一個實施例的一種依據(jù)預先建立的參數(shù)檢測模型對參數(shù)字段進行異常檢測的步驟流程圖,具體可以包括:步驟201、將參數(shù)字段對應的參數(shù)值輸入與路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;步驟202、在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段。在進行Web異常檢測的過程中,可以首先提取待檢測的URL中的路徑字段和參數(shù)字段,如果所述路徑字段和預置路徑白名單中的正常路徑字段相匹配,可以確定所述路徑字段為正常路徑字段,則可以對參數(shù)字段進一步進行異常檢測,可以將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型,判斷所述檢測模型輸出的概率值是否小于預設閾值,若小于,則確定所述參數(shù)字段為異常參數(shù)字段。在此提供正常URL的示例:www.xxx.com/index.php?id=123,攻擊者的異常URL可以具有如下形式:www.xxx.com/index.php?id=123’unionselectxxxfromxxx,或者www.xxx.com/index.php?id=%3Cscript%3Ealert(‘XSS’)%3C,或者www.xxx.com/index.php?id=125$%7B@print(md5(123)%7D)等。上述四個URL具有相同的路徑字段:www.xxx.com/index.php,且該路徑字段為正常路徑字段,而上述四個URL具有不同的參數(shù)字段,其中,正常參數(shù)字段包括:id=123,異常參數(shù)字段包括:id=123’unionselectxxxfromxxx,id=%3Cscript%3Ealert(‘XSS’)%3C,以及id=125$%7B@print(md5(123)%7D)。本發(fā)明實施例可以建立與路徑字段和參數(shù)名相對應的參數(shù)檢測模型,也即可以對同一個路徑字段對應的不同參數(shù)字段建立不同的參數(shù)檢測模型,所述參數(shù)檢測模型具體可以包括隱馬爾可夫模型(HiddenMarkovModel,HMM)等。則在依據(jù)參數(shù)檢測模型對所述參數(shù)字段進行異常檢測時,首先查找得到與當前的路徑字段和參數(shù)名相對應的參數(shù)檢測模型,然后將當前的參數(shù)字段對應的參數(shù)值輸入該參數(shù)檢測模型,如果該參數(shù)檢測模型輸出的概率值小于預設閾值,則可以確定所述參數(shù)字段為異常參數(shù)字段。在上述示例中,假設待檢測的URL為:www.xxx.com/index.php?id=125$%7B@print(md5(123)%7D)。首先對該URL進行解析,提取其中的路徑字段(Path)和參數(shù)字段(Param),該參數(shù)字段可以包括參數(shù)名(PName)和參數(shù)值(Value),將Path+@+PName作為查找參數(shù)檢測模型的關(guān)鍵詞。然后,在已建立的參數(shù)檢測模型中找到Path+@+PName為www.xxx.com/index.php@id對應的HMM模型,將參數(shù)值125$%7B@print(md5(123)%7D)輸入該HMM模型,如果該HMM模型輸出的概率值小于預設閾值,確定該參數(shù)字段為異常參數(shù)字段。在本發(fā)明的一種可選實施例中,具體可以通過如下步驟建立所述參數(shù)檢測模型:步驟S21、收集預設時間段內(nèi)正常的歷史URL;在訓練參數(shù)檢測模型時,首先可以收集訓練數(shù)據(jù),該訓練數(shù)據(jù)具體可以從Web訪問日志文件(以下簡稱為Flow文件)中獲取得到,具體地,將Flow文件中經(jīng)過掃描器確定為異常的歷史URL過濾掉,以得到正常的歷史URL。步驟S22、從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;具體地,對訓練數(shù)據(jù)中的每一條歷史URL進行解析,提取其中的路徑字段(Path)、參數(shù)字段(Param)、以及所述參數(shù)字段對應的參數(shù)名(PName)和參數(shù)值(Value),并且將Path+@+PName作為查找參數(shù)檢測模型的關(guān)鍵詞。步驟S23、確定所述參數(shù)值對應的狀態(tài)序列;在本發(fā)明實施例中,可以將Value作為觀察序列,并且對該觀察序列進行泛化得到其對應的狀態(tài)序列。所述泛化過程具體可以如下:對于所述歷史URL中的中文字符,用字母Z進行替換;對于數(shù)字,用字母D進行替換;對于英文字母,用字母N進行替換;對于控制字符,用字母C進行替換;對于空白字符,用字母B進行替換;其他特殊字符保持不變。參照表1,示出了本發(fā)明的一種觀察序列的具體示意,以及參照圖2,示出了所述表1中觀察序列對應的狀態(tài)序列的具體示意。表1觀察序列QWJsonp1444284393570aff-360daohang鳳還朝,妖孽王爺請讓道/abook/KAHWDRCyLHGBOw.html?cid=10033673表2狀態(tài)序列NNNNNNNDDDDDDDDDDDDDNNN-DDDNNNNNNNZZZ,ZZZZZZZ/NNNNN/NNNNNNNNNNNNNN.NNNN?NNN=DDDDDDDD步驟S24、依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型。在上述示例中,可以建立與www.xxx.com/index.php@id對應的HMM模型。而對于URL為www.xxx.com/index.php?p=2145462313的訓練數(shù)據(jù),可以重新建立與www.xxx.com/index.php@p對應的HMM模型。在本發(fā)明實施例中,由于在訓練HMM模型的過程中采用的是白數(shù)據(jù)(正常URL),因此,每個HMM模型都能從訓練數(shù)據(jù)中學習到某種觀察序列(Value)出現(xiàn)的概率,并且得到其中最小的概率值(作為預設閾值)。假設待檢測的URL為www.xxx.com/index.php?id=125$%7B@print(md5(123)%7D)。首先查找得到與www.xxx.com/index.php@id對應的HMM模型,然后依據(jù)該HMM模型計算得到Value為125$%7B@print(md5(123)%7D)的觀察序列出現(xiàn)的概率值,如果該概率值小于所述預設閾值,則可以認為該URL異常。綜上,本發(fā)明實施例可以依據(jù)預先建立的參數(shù)檢測模型對待檢測的URL中的參數(shù)字段進行異常檢測,以確定所述參數(shù)字段是否出現(xiàn)異常,進而可以確定所述待檢測的URL是否為符合預設異常條件的目標URL。由于所述參數(shù)檢測模型可以為依據(jù)大量歷史URL中的正常URL訓練得到,因此可以保證所述參數(shù)檢測模型的正確性。此外,由于所述參數(shù)檢測模型與路徑字段和參數(shù)字段中的參數(shù)名相對應,對于相同路徑字段的各種不同參數(shù)字段都可以準確地檢測出異常參數(shù)字段,進一步可以提高異常檢測的準確性。方法實施例三本實施例在上述實施例一的基礎上,詳細說明依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別的具體過程,由于所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到,從而可以提高分類檢測的準確性。參照圖3,示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖,具體可以包括:步驟301、對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;步驟302、提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;步驟303、統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;步驟304、將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;步驟305、依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。在本發(fā)明實施例中,所述分類檢測模型可以包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞。在本發(fā)明實施例中,為了便于對各種不同格式的歷史URL可以進行統(tǒng)一處理,可以在提取特征關(guān)鍵詞之前,對歷史URL進行解碼、泛化、替換、分割等解析轉(zhuǎn)換操作,得到轉(zhuǎn)換后的字符串。其中,泛化是指將所述歷史URL中的相似數(shù)據(jù)進行泛化處理,如ox開頭的十六進制數(shù)據(jù)用同一個表示,字符串長度超過9位統(tǒng)一用S表示,符合時間格式的字符串用DATA表示等等。替換是指用空格替換所述歷史URL中的內(nèi)部換行符,以及將所述歷史URL中的特殊符號替換為空格等。分割是指用空格分割所述歷史URL中的各個字符串。參照表3,示出了本發(fā)明的一種歷史URL轉(zhuǎn)換之前的具體示意,以及參照表4,示出了本發(fā)明的一種將表3中的歷史URL進行解析轉(zhuǎn)換得到轉(zhuǎn)換后的字符串的具體示意。表3表4轉(zhuǎn)換后的字符串異常類別00011.com=DATA′)ANDSLEEP(5)AND(′eEye′′eEyeSQLS=ox123456"/><script>alert(/xss/)</script>XSS在本發(fā)明的一種應用示例中,假設當前的目標URL為:/??00011.com=?20151011′)%20AND%20SLEEP(5)%20AND%20(′eEye′=′eEye。首先,對所述目標URL進行解析轉(zhuǎn)換處理后,可以得到如下字符串:00011.com=DATA′)ANDSLEEP(5)AND(′eEye′′eEye;假設預先建立的分類檢測模型中包括N種異常類別對應的N個子分類檢測模型,且這N個子分類檢測模型對應有N個特征關(guān)鍵詞集合。假設其中一個子分類檢測模型為Model1,且Model1對應的特征關(guān)鍵詞集合為:{′ANDSLEEPeEye},以及Model1對應的異常類別為Attack1,則從所述目標URL中提取該特征關(guān)鍵詞集合,該特征關(guān)鍵詞集合中包括如下特征關(guān)鍵詞:′、AND、SLEEP、eEye,統(tǒng)計得到上述四個特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次分別為:4、1、1、2。接下來,將特征關(guān)鍵詞集合{′ANDSLEEPeEye}和對應的頻次{4112}輸入Model1,得到所述目標URL對應Attack1的概率值,以及所述目標URL對應正常類別的概率值。同樣地,對所述目標URL依次提取與Model2、Model3至ModelN對應的特征關(guān)鍵詞集合,以及調(diào)用Model2、Model3至ModelN,對所述目標URL進行異常分類檢測,總共重復執(zhí)行N次,最終可以得到所述目標URL對應Attack1、Attack2、Attack3至AttackN的概率值。假設N個子分類檢測模型計算得到所述目標URL對應的N個正常類別的概率值集合A={A1,A2,...An},以及所述目標URL對應的N個異常類別的概率值集合B={B1,B2,...Bn},再對兩類概率進行統(tǒng)一的匯總處理。在匯總過程中,可以采取最大值法,例如,如果上述2N個概率值中的最大值在集合B中,則所述分類檢測模型輸出的結(jié)果為所述目標URL對應的異常類別;如果最大值在集合A中,則輸出的結(jié)果為所述目標URL為正常URL。在本發(fā)明的一種可選實施例中,所述方法還可以包括如下步驟:步驟S31、在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;步驟S32、依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。在本發(fā)明實施例中,在通過分類檢測模型識別出目標URL對應的異常類別之后,如果對識別結(jié)果不滿意,可以對識別的異常類別進行人為標注,并且依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整,如將標注后的目標URL作為訓練數(shù)據(jù)加入到訓練集中,隨著訓練數(shù)據(jù)量的增加,分類檢測模型可以通過自主學習的方式學習到之前沒有的分類檢測規(guī)則,從而可以對分類檢測模型不斷進行優(yōu)化和調(diào)整,逐步提高檢測的準確性。在本發(fā)明的一種可選實施例中,具體可以通過如下步驟建立所述分類檢測模型:步驟S41、收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;在分類檢測模型的訓練階段,收集的訓練數(shù)據(jù)可以包括正常數(shù)據(jù)和異常數(shù)據(jù)。且訓練數(shù)據(jù)可以從Flow的文件(例如最近1個月內(nèi)的訪問記錄)中獲取。參照表5,示出了本發(fā)明的一種收集的分類檢測模型的訓練數(shù)據(jù)的具體示意。表5其中,異常類別主要可以包含SQL注入,XSS,LFI,Command注入等攻擊行為??梢岳斫?,本發(fā)明實施例對于異常類別的種類和數(shù)量不加以限制。步驟S42、從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;步驟S43、獲取所述特征關(guān)鍵詞分別在所述正常URL記錄和所述異常URL記錄中出現(xiàn)的頻次;在本發(fā)明實施例中,所述特征關(guān)鍵詞具體可以包括URL中的詞和/或詞組和/或三元詞組,在對所述歷史URL進行解析轉(zhuǎn)換之后,分別對正常URL和某一種異常URL中的詞和/或詞組和/或三元詞組進行頻次統(tǒng)計,以及獲取正常URL中以及異常URL中出現(xiàn)頻次最高的前n個(例如取前600個)詞和/或詞組和/或三元詞組進行合并處理,得到關(guān)鍵詞集合,該關(guān)鍵詞集合中包括正常URL和該類異常URL中出現(xiàn)頻次差異較大的關(guān)鍵詞,則該關(guān)鍵詞集合可用于區(qū)別正常URL和該類異常URL,每種異常類別可以選取1個獨立的特征關(guān)鍵詞集合,假設對N種異常類別進行訓練,則可以對應有N個特征關(guān)鍵詞集合。步驟S44、依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合。在本發(fā)明實施例中,依次從訓練數(shù)據(jù)中選取正常URL和某一異常類別對應的異常URL,依據(jù)該類異常URL的特征關(guān)鍵詞在一條URL中出現(xiàn)的頻次,對正常數(shù)據(jù)和N類異常數(shù)據(jù)進行訓練,生成N個子分類檢測模型。例如使用決策樹對N種異常類別分別進行建模,最終可以訓練出N個子分類檢測模型。綜上,本發(fā)明實施例依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別,由于所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到,從而可以提高分類檢測的準確性。此外,在識別目標URL對應的異常類別之后,如果對識別結(jié)果不滿意,可以對識別的異常類別進行人為標注,并且將標注后的目標URL作為訓練數(shù)據(jù)加入到訓練集中,隨著訓練數(shù)據(jù)量的增加,分類檢測模型可以通過自主學習的方式學習到之前沒有的分類檢測規(guī)則,從而可以對分類檢測模型不斷進行優(yōu)化和調(diào)整,逐步提高檢測的準確性。方法實施例四在本發(fā)明實施例中,在建立參數(shù)檢測模型之后,可以生成第一模型庫,所述第一模型庫中可以包括預置路徑白名單和/或預置路徑黑名單,以及參數(shù)檢測模型。其中,所述預置路徑白名單中可以存儲有正常路徑字段,所述預置路徑黑名單中可以存儲有異常路徑字段。所述預置路徑白名單和所述預置路徑黑名單可以通過收集的預設時間段內(nèi)的歷史URL所建立,通過提取所述歷史URL中的路徑字段,依據(jù)其中經(jīng)過異常檢測確定為異常的路徑字段或者已標注為異常的路徑字段建立預置路徑黑名單;依據(jù)經(jīng)過異常檢測確定為正常的路徑字段或者已標注為正常的路徑字段建立預置路徑白名單??梢岳斫?,本發(fā)明實施例對于建立所述預置路徑白名單和所述預置路徑黑名單的具體方式不加以限制。在具體應用中,所述第一模型庫可以將一些常見的或者通過異常檢測的正常URL放行,而將少見的或者異常的URL作為可疑數(shù)據(jù)繼續(xù)執(zhí)行異常分類檢測,不用對每個URL都進行檢測,可以縮短時間開銷。此外,在建立分類檢測模型之后,可以生成第二模型庫,所述第二模型庫中可以包括N個子分類檢測模型。第二模型庫可用于識別當前不確定的或者異常的目標URL對應的異常類別。參照圖4,示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測方法的步驟流程圖,具體可以包括:步驟401、依據(jù)已建立的第一模型庫對待檢測的URL進行異常檢測,判斷所述待檢測的URL是否符合預設異常條件;本發(fā)明實施例首先依據(jù)第一模型庫對待檢測的URL流量進行初步過濾(即對待檢測的URL進行異常檢測),以過濾正常的URL,將過濾得到的可疑URL(即符合預設異常條件的目標URL)進行異常分類檢測,可以縮短時間開銷,提高檢測效率。步驟402、提取所述待檢測的URL的路徑字段和參數(shù)字段;步驟403、在所述路徑字段和預置路徑黑名單相匹配,或者所述路徑字段和預置路徑白名單不匹配時,確定所述待檢測的URL為符合異常條件的目標URL;在對所述待檢測的URL進行異常檢測時,可以先判斷所述待檢測的URL中的路徑字段和預置路徑黑名單是否匹配,若匹配,則確定所述待檢測的URL符合異常條件,不用再進行后續(xù)匹配操作。若不匹配,再判斷所述待檢測的URL中的路徑字段和預置路徑白名單是否匹配,若不匹配,則確定所述待檢測的URL符合異常條件,不用再進行后續(xù)的參數(shù)異常檢測操作。步驟404、在所述路徑字段和預置路徑白名單相匹配時,依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;如果所述路徑字段和預置路徑白名單相匹配,可以確定路徑字段為正常路徑字段,則進一步對所述參數(shù)字段進行異常檢測。步驟405、在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL;需要說明的是,如果在已建立的參數(shù)檢測模型中不存在與當前Path+@+PName相對應的參數(shù)檢測模型,可以認為該待檢測的URL為不確定的URL,則可以將該待檢測的URL作為符合預設異常條件的目標URL,進行進一步的異常分類檢測。步驟406、依據(jù)已建立的第二模型庫中N個子分類檢測模型分別對應的N個特征關(guān)鍵詞集合,從所述目標URL中提取對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;對于符合預設異常條件的目標URL,進一步依據(jù)已建立的第二模型庫進行異常分類檢測,以確定所述目標URL對應的異常類別。所述已建立的第二模型庫中可以包括N個子分類檢測模型,且這N個子分類檢測模型分別對應不同的異常類別以及特征關(guān)鍵詞集合,則對所述目標URL分別提取與這N個子分類檢測模型的特征關(guān)鍵詞集合對應的特征關(guān)鍵詞集合。例如,所述已建立的第二模型庫包括Model1、Model2至ModelN這N個子分類檢測模型,這N個子分類檢測模型對應的特征關(guān)鍵詞集合分別為C1、C2至CN,以及對應的異常類別分別為Attack1、Attack2至AttackN。步驟407、統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;步驟408、依次將所述特征關(guān)鍵詞集合以及所述頻次輸入所述N個子分類檢測模型,得到所述目標URL分別對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL分別對應正常類別的概率值;具體地,依次將C1、C2至CN和其分別在目標URL中出現(xiàn)的頻次輸入Model1、Model2至ModelN,分別得到所述目標URL對應Attack1、Attack2至AttackN的概率值集合A={A1,A2,...An},以及對應正常類別的概率值集合B={B1,B2,...Bn}。步驟409、依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。如果最大值概率值在集合B中,則所述分類檢測模型輸出的結(jié)果為所述目標URL對應的異常類別;如果最大值在集合A中,則輸出的結(jié)果為所述目標URL為正常URL??梢岳斫?,上述先使用第一模型庫再使用第二模型庫對待檢測的URL進行異常檢測的方式,僅作為本發(fā)明的一種應用示例,在具體應用中,本發(fā)明實施例對于第一模型庫和第二模型庫的使用順序不加以限制,例如也可以先使用第二模型庫再使用第一模型庫對待檢測的URL進行異常檢測。裝置實施例參照圖5,示出了根據(jù)本發(fā)明一個實施例的一種Web異常檢測裝置的結(jié)構(gòu)框圖,具體可以包括:異常檢測模塊501,用于對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;分類檢測模塊502,用于依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到。在本發(fā)明的一種可選實施例中,所述異常檢測模塊501,具體可以包括:字段提取子模塊,用于提取所述待檢測的URL的路徑字段和參數(shù)字段;字段匹配子模塊,用于匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;異常確定子模塊,用于在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL。在本發(fā)明的另一種可選實施例中,所述字段匹配子模塊,具體可以包括:輸入單元,用于將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;確定單元,用于在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段。在本發(fā)明的又一種可選實施例中,所述裝置還可以包括:參數(shù)檢測模型建立模塊,用于建立所述參數(shù)檢測模型;所述參數(shù)檢測模型建立模塊,具體可以包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)正常的歷史URL;參數(shù)提取子模塊,用于從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;序列確定子模塊,用于確定所述參數(shù)值對應的狀態(tài)序列;參數(shù)檢測模型訓練子模塊,用于依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型。在本發(fā)明的再一種可選實施例中,所述分類檢測模型包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞。在本發(fā)明的再一種可選實施例中,所述分類檢測模塊503,具體可以包括:關(guān)鍵詞提取子模塊,用于提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次統(tǒng)計子模塊,用于統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;輸入子模塊,用于將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;類別確定子模塊,用于依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。在本發(fā)明的再一種可選實施例中,所述裝置還可以包括:分類檢測模型建立模塊,用于建立所述分類檢測模型;所述分類檢測模型建立模塊,具體可以包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;關(guān)鍵詞提取子模塊,用于從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次獲取子模塊,用于獲取所述特征關(guān)鍵詞分別在所述正常URL和所述異常URL中出現(xiàn)的頻次;分類檢測模型建立子模塊,用于依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合。在本發(fā)明的再一種可選實施例中,所述裝置還可以包括:標注模塊,用于在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;模型調(diào)整模塊,用于依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的Web異常檢測方法和裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)平臺上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包括”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本發(fā)明公開了A1、一種Web異常檢測方法,所述方法包括:對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到。A2、根據(jù)權(quán)利要求A1所述的方法,所述對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL的步驟,包括:提取所述待檢測的URL的路徑字段和參數(shù)字段;匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL。A3、根據(jù)權(quán)利要求A2所述的方法,所述依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測的步驟包括:將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段。A4、根據(jù)權(quán)利要求A2所述的方法,通過如下步驟建立所述參數(shù)檢測模型:收集預設時間段內(nèi)正常的歷史URL;從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;確定所述參數(shù)值對應的狀態(tài)序列;依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型。A5、根據(jù)權(quán)利要求A1所述的方法,所述分類檢測模型包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞。A6、根據(jù)權(quán)利要求A5所述的方法,所述依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別的步驟,包括:提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。A7、根據(jù)權(quán)利要求A5所述的方法,通過如下步驟建立所述分類檢測模型:收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;獲取所述特征關(guān)鍵詞分別在所述正常URL和所述異常URL中出現(xiàn)的頻次;依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合。A8、根據(jù)權(quán)利要求A6所述的方法,所述方法還包括:在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。本發(fā)明公開了B9、一種Web異常檢測裝置,所述裝置包括:異常檢測模塊,用于對待檢測的URL進行異常檢測,得到符合預設異常條件的目標URL;分類檢測模塊,用于依據(jù)預先建立的分類檢測模型,確定所述目標URL對應的異常類別;其中,所述分類檢測模型為依據(jù)預設時間段內(nèi)的歷史URL訓練得到。B10、根據(jù)權(quán)利要求B9所述的裝置,所述異常檢測模塊,包括:字段提取子模塊,用于提取所述待檢測的URL的路徑字段和參數(shù)字段;字段匹配子模塊,用于匹配所述路徑字段和預置路徑白名單中的正常路徑字段,若匹配,則依據(jù)預先建立的參數(shù)檢測模型對所述參數(shù)字段進行異常檢測;其中,所述參數(shù)檢測模型為依據(jù)預設時間段內(nèi)歷史URL中提取的歷史路徑字段和歷史參數(shù)字段訓練得到;異常確定子模塊,用于在所述參數(shù)檢測模型檢測得到所述參數(shù)字段為異常參數(shù)字段時,確定所述待檢測的URL為符合預設異常條件的目標URL。B11、根據(jù)權(quán)利要求B10所述的裝置,所述字段匹配子模塊,包括:輸入單元,用于將所述參數(shù)字段對應的參數(shù)值輸入與所述路徑字段和所述參數(shù)字段中參數(shù)名相對應的參數(shù)檢測模型;確定單元,用于在所述參數(shù)檢測模型輸出的概率值小于預設閾值時,確定所述參數(shù)字段為異常參數(shù)字段。B12、根據(jù)權(quán)利要求B10所述的裝置,所述裝置還包括:參數(shù)檢測模型建立模塊,用于建立所述參數(shù)檢測模型;所述參數(shù)檢測模型建立模塊,包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)正常的歷史URL;參數(shù)提取子模塊,用于從所述正常的歷史URL中提取路徑字段、參數(shù)字段、以及所述參數(shù)字段中的參數(shù)名和參數(shù)值;序列確定子模塊,用于確定所述參數(shù)值對應的狀態(tài)序列;參數(shù)檢測模型訓練子模塊,用于依據(jù)所述參數(shù)值和所述參數(shù)值對應的狀態(tài)序列,訓練得到與所述路徑字段和所述參數(shù)名相對應的參數(shù)檢測模型。B13、根據(jù)權(quán)利要求B9所述的裝置,所述分類檢測模型包括至少一個子分類檢測模型,且所述子分類檢測模型與所述歷史URL的異常類別以及所述歷史URL的特征關(guān)鍵詞集合相對應;其中,所述特征關(guān)鍵詞集合中包括從所述歷史URL中提取的至少一個特征關(guān)鍵詞。B14、根據(jù)權(quán)利要求B13所述的裝置,所述分類檢測模塊,包括:關(guān)鍵詞提取子模塊,用于提取所述目標URL對應的特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次統(tǒng)計子模塊,用于統(tǒng)計所述特征關(guān)鍵詞在所述目標URL中出現(xiàn)的頻次;輸入子模塊,用于將所述特征關(guān)鍵詞集合和所述頻次輸入與所述特征關(guān)鍵詞集合相對應的子分類檢測模型,得到所述目標URL對應所述子分類檢測模型的異常類別的概率值,以及所述目標URL對應正常類別的概率值;類別確定子模塊,用于依據(jù)所述異常類別的概率值和所述正常類別的概率值確定所述目標URL對應的異常類別。B15、根據(jù)權(quán)利要求B13所述的裝置,所述裝置還包括:分類檢測模型建立模塊,用于建立所述分類檢測模型;所述分類檢測模型建立模塊,包括:歷史URL收集子模塊,用于收集預設時間段內(nèi)的歷史URL,所述歷史URL包括:正常URL和異常URL;關(guān)鍵詞提取子模塊,用于從所述歷史URL中提取特征關(guān)鍵詞集合;其中,所述特征關(guān)鍵詞集合中包括至少一個特征關(guān)鍵詞;頻次獲取子模塊,用于獲取所述特征關(guān)鍵詞分別在所述正常URL和所述異常URL中出現(xiàn)的頻次;分類檢測模型建立子模塊,用于依據(jù)決策樹對所述特征關(guān)鍵詞和所述頻次進行訓練,以得到分類檢測模型;其中,所述分類檢測模型中包括與已知異常類別數(shù)量相對應的子分類檢測模型,且每個子分類檢測模型對應不同的異常類別以及特征關(guān)鍵詞集合。B16、根據(jù)權(quán)利要求B14所述的裝置,所述裝置還包括:標注模塊,用于在得到所述目標URL對應的異常類別之后,對所述異常類別進行標注;模型調(diào)整模塊,用于依據(jù)標注后的目標URL對所述分類檢測模型進行調(diào)整。當前第1頁1 2 3