本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種網(wǎng)絡攻擊的檢測方法及裝置。
背景技術(shù):
萬維網(wǎng)(web)攻擊是指利用超文本傳輸協(xié)議(http)發(fā)送惡意構(gòu)造的http請求,用以“欺騙”萬維網(wǎng)服務器(webserver)偏離正常的執(zhí)行邏輯。
web攻擊是互聯(lián)網(wǎng)內(nèi)最為常見的一種http請求,幾乎所有的網(wǎng)站每天都會遭受到不同程度的web攻擊,但這并不意味著所有的web攻擊都會成功,其原因在于:web攻擊是否能夠成功取決于webserver是否存在相應的缺陷或者漏洞。例如:對一個只負責返回靜態(tài)頁面(超文本標記語言(html)頁面、圖片等)并且未使用任何數(shù)據(jù)庫技術(shù)的webserver而言,任何的結(jié)構(gòu)化查詢語言(sql)注入攻擊顯然都不會成功。
目前,相關(guān)技術(shù)中所采用的web攻擊檢測方法是對http請求方向的流量執(zhí)行合法性檢測,因為http請求內(nèi)容是攻擊者可以任意構(gòu)造的,其也是攻擊開始的源頭,這種檢測思路是從攻擊者的角度來設計的,即,認為進入webserver的流量默認是不可信任的,都必須要經(jīng)過合法性檢查。然而,對于webserver響應方向的流量則默認為是可信任的、安全可靠的,進而無需進行任何的合法性檢測。由于幾乎所有的web攻擊都存在攻擊失敗與攻擊成功兩種情形,對此,webserver會有不同的響應,攻擊者也正是根據(jù)webserver的不同響應來判斷是否攻擊成功。
上述檢測方法通??梢园ㄈ缦聨讉€步驟:
步驟一、預先對http請求協(xié)議各個頭字段制定攻擊檢測規(guī)則;
步驟二、對于接收到http請求協(xié)議進行解析,查找所有需要進行檢測的請求內(nèi)容;
步驟三、比對攻擊檢測規(guī)則和各個協(xié)議字段的請求內(nèi)容,如果發(fā)現(xiàn)請求內(nèi)容與攻擊檢測規(guī)則匹配成功,則認為該http請求包含攻擊特性,進而執(zhí)行攻擊告警或直接阻斷該http請求的操作。
然而,上述只針對http請求方向的流量做合法性檢測的方法卻存在著如下缺陷:該解決方案只能夠單方面地判斷http請求是否包含有攻擊信息,而并未考慮被攻擊對 象webserver的響應,換言之,該解決方案并未考慮到webserver對這些攻擊是否本身就具有免疫功能。因此,這種攻擊檢測方式容易導致大量的攻擊告警或攔截,并且這些告警或攔截的攻擊中大部分都是無效的攻擊,從而降低了web攻擊檢測的精準度和有效性。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種網(wǎng)絡攻擊的檢測方法及裝置,以至少解決相關(guān)技術(shù)中所采用的單向網(wǎng)絡攻擊檢測方法的準確性較低的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種網(wǎng)絡攻擊的檢測方法,包括:
接收來自于發(fā)送端的網(wǎng)絡請求;在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
進一步地,在將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端之前,還包括:對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;如果攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配,則確定網(wǎng)絡請求的類型為攻擊請求。
進一步地,采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式包括:對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配;如果待檢測的響應內(nèi)容與一個或多個檢測規(guī)則相匹配,則阻止網(wǎng)絡響應返回至發(fā)送端;如果待檢測的響應內(nèi)容未與一個或多個檢測規(guī)則相匹配,則向發(fā)送端返回網(wǎng)絡響應。
進一步地,在阻止網(wǎng)絡響應返回至發(fā)送端之后,還包括:向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
進一步地,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
進一步地,上述網(wǎng)絡請求的類型包括以下之一:超文本傳輸協(xié)議請求、文件傳輸協(xié)議請求、簡單郵件傳輸協(xié)議請求。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種網(wǎng)絡攻擊的檢測裝置,包括:
接收模塊,用于接收來自于發(fā)送端的網(wǎng)絡請求;獲取模塊,用于在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;處理模塊,用于采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
進一步地,上述裝置還包括:解析模塊,用于對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;確定模塊,用于在攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配時,則確定網(wǎng)絡請求的類型為攻擊請求。
進一步地,處理模塊包括:解析單元,用于對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;判斷單元,用于根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配;第一處理單元,用于在判斷單元輸出為是時,阻止網(wǎng)絡響應返回至發(fā)送端;第二處理單元,用于在判斷單元輸出為否時,向發(fā)送端返回網(wǎng)絡響應。
進一步地,上述裝置還包括:提示模塊,用于向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
進一步地,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
進一步地,上述網(wǎng)絡請求的類型包括以下之一:超文本傳輸協(xié)議請求、文件傳輸協(xié)議請求、簡單郵件傳輸協(xié)議請求。
在本發(fā)明實施例中,采用攻擊檢測規(guī)則集合分別對從發(fā)送端接收到的網(wǎng)絡請求以及從接收端獲取到的網(wǎng)絡響應進行雙向網(wǎng)絡攻擊檢測的方式,通過在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應,然后再利用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式,從而實現(xiàn)了提高網(wǎng)絡攻擊檢測精準度和有效性的技術(shù)效果,進而解決了相關(guān)技術(shù)中所采用的單向網(wǎng)絡攻擊檢測方法的準確性較低的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是本發(fā)明實施例的一種網(wǎng)絡攻擊的檢測方法的計算機終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實施例的網(wǎng)絡攻擊的檢測方法的流程圖;
圖3是根據(jù)本發(fā)明優(yōu)選實施例的基于雙向流的web攻擊檢測方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的網(wǎng)絡攻擊的檢測裝置的結(jié)構(gòu)框圖;
圖5是根據(jù)本發(fā)明優(yōu)選實施例的網(wǎng)絡攻擊的檢測裝置的結(jié)構(gòu)框圖;
圖6是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
實施例1
根據(jù)本發(fā)明實施例,還提供了一種網(wǎng)絡攻擊的檢測方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運 算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是本發(fā)明實施例的一種網(wǎng)絡攻擊的檢測方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸裝置106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應用軟件的軟件程序以及模塊,如本發(fā)明實施例中的網(wǎng)絡攻擊的檢測方法對應的程序指令/模塊以及攻擊檢測規(guī)則集合,如攻擊檢測規(guī)則庫,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的網(wǎng)絡攻擊的檢測方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至計算機終端10。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡具體實例可包括計算機終端10的通信供應商提供的無線網(wǎng)絡。在一個實例中,傳輸裝置106包括一個網(wǎng)絡適配器(networkinterfacecontroller,簡稱為nic),其可通過基站與其他網(wǎng)絡設備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,簡稱為rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的網(wǎng)絡攻擊的檢測方法。圖2是根據(jù)本發(fā)明實施例的網(wǎng)絡攻擊的檢測方法的流程圖。該方法可以包括以下處理步驟:
步驟s202:接收來自于發(fā)送端的網(wǎng)絡請求;
步驟s204:在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;
步驟s206:采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
針對相關(guān)技術(shù)中所涉及的網(wǎng)絡攻擊檢測方法的攻擊檢測規(guī)則庫中僅是提取了在網(wǎng)絡請求發(fā)送方向上的攻擊特性,本發(fā)明實施例所提供的技術(shù)方案的攻擊檢測規(guī)則集合中既包含了在網(wǎng)絡請求發(fā)送方向上的攻擊特征,又要包含了網(wǎng)絡響應反饋方向的響應特征。在進行網(wǎng)絡請求攻擊檢測時,首先依據(jù)攻擊檢測規(guī)則集合判斷請求方向上發(fā)送 的網(wǎng)絡請求是否包含攻擊特性,然后再依據(jù)攻擊檢測規(guī)則集合判斷與請求方向?qū)姆答伔较蛏系木W(wǎng)絡響應是否包含攻擊特性,進而確定對此次網(wǎng)絡攻擊的處理方式。通過本發(fā)明實施例所提供的上述技術(shù)方案,結(jié)合雙向流的攻擊檢測,二者不可分隔,能夠有效地提高網(wǎng)絡攻擊檢測的精準度和有效性。
在優(yōu)選實施過程中,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
在優(yōu)選實施過程中,上述網(wǎng)絡請求的類型可以包括但不限于以下之一:
(1)超文本傳輸協(xié)議(http)請求;
(2)文件傳輸協(xié)議(ftp)請求;
(3)簡單郵件傳輸協(xié)議(smtp)請求。
即本發(fā)明實施例所提供的技術(shù)方案可以適用于web攻擊檢測、ftp攻擊檢測、smtp攻擊檢測等全部具有雙向流內(nèi)容檢測的應用場景。
可選地,在步驟s204,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端之前,還可以包括以下操作:
步驟s1:對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;
步驟s2:如果攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配,則確定網(wǎng)絡請求的類型為攻擊請求。
以上述http類型的網(wǎng)絡請求為例,http請求包括以下三個部分:
(1)請求行,由方法(例如:post),統(tǒng)一資源定位符(url),協(xié)議版本(例如:http1.1)三個部分構(gòu)成;
(2)請求頭部,用于通知服務器有關(guān)客戶端請求的信息,其可以包括但不限于:產(chǎn)生請求的瀏覽器類型,客戶端可識別的內(nèi)容類型列表,請求的主機名;
(3)請求主體。
因此,在接收到http請求后,需要進行http請求頭中各個字段的解析,查找出需要進行安全檢測的字段內(nèi)容,繼而可以根據(jù)攻擊檢測規(guī)則庫中的檢測規(guī)則,判斷http請求方向的內(nèi)容是否能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配;如果http請求方向的內(nèi)容不能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則認為該http請求是正 常的http請求,其為可信任請求,直接轉(zhuǎn)發(fā)該http請求至webserver上;如果http請求方向的內(nèi)容能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則判定該http請求為疑似攻擊請求。例如:假設攻擊檢測規(guī)則庫中存在“post_body”為“group+by”這條檢測規(guī)則,那么在對http請求的請求頭進行解析的過程中便需要將“post_body”字段作為待檢測的字段內(nèi)容,如果在http請求中發(fā)現(xiàn)請求頭的“post_body”字段中包含“group+by”字符串,便可以認定該http請求具有攻擊特性,其為疑似攻擊請求。
可選地,在步驟s206中,采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式可以包括以下步驟:
步驟s3:對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;
步驟s4:根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配;
步驟s5:如果待檢測的響應內(nèi)容與一個或多個檢測規(guī)則相匹配,則阻止網(wǎng)絡響應返回至發(fā)送端;
步驟s6:如果待檢測的響應內(nèi)容未與一個或多個檢測規(guī)則相匹配,則向發(fā)送端返回網(wǎng)絡響應。
仍然以上述http類型的網(wǎng)絡請求為例,http響應與http請求相類似,同樣包括三個部分:
(1)狀態(tài)行,由協(xié)議版本(例如:http1.1),狀態(tài)碼(例如:200),狀態(tài)碼描述(例如:響應成功)三個部分組成;
(2)響應頭部,其可以包括但不限于:服務器應用程序的名稱和版本,響應正文類型,響應正文長度,響應正文所采用的編碼;
(3)響應主體。
基于上述分析,如果http請求方向的內(nèi)容能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則判定該http請求為疑似攻擊請求。盡管如此,該http請求并不會被直接阻斷或丟棄,而仍然需要轉(zhuǎn)發(fā)該http請求至webserver上。但是,當webserver返回響應內(nèi)容時,則需要進行http響應頭中各個字段的解析,查找出需要進行安全檢測的字段內(nèi)容,并進一步根據(jù)攻擊檢測規(guī)則庫中的規(guī)則特征對響應內(nèi)容進行檢測,如果響應內(nèi)容能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則認為該http請求為惡意攻擊,進而對http響應執(zhí)行攔截或阻斷操作;如果響應內(nèi)容不能夠與攻擊檢測規(guī)則庫中的規(guī)則 特征相匹配,則認為該http請求為無效攻擊,可以直接忽略該http請求并將http請求轉(zhuǎn)發(fā)至發(fā)送端。此時,發(fā)送端所接收到的響應內(nèi)容通常為“請求錯誤”的提示信息,并以此告知攻擊者此次發(fā)送的網(wǎng)絡攻擊失敗。當然,無論是對于上述無效的http請求,還是有效的http請求,都可以通過日志記錄下來,以備后續(xù)數(shù)據(jù)分析使用。
可選地,在上述步驟s5,阻止網(wǎng)絡響應返回至發(fā)送端之后,還可以包括以下操作:
步驟s7:向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
在優(yōu)選實施過程中,不但可以向接收端發(fā)出當前網(wǎng)絡存在網(wǎng)絡攻擊行為的告警信息,而且還可以提示接收端是否需要鎖定發(fā)送網(wǎng)絡攻擊的發(fā)送端,以便于接收端設定監(jiān)控時間窗對發(fā)送端后續(xù)可能再次發(fā)起的網(wǎng)絡攻擊進行監(jiān)測并及時加以攔截。上述告警或攔截等動作可以依據(jù)實際情況靈活設置。
下面將通過圖3所示的優(yōu)選實施方式對上述優(yōu)選實施過程作進一步地詳細描述。
圖3是根據(jù)本發(fā)明優(yōu)選實施例的基于雙向流的web攻擊檢測方法的流程圖。如圖3所示,該方法首先需要根據(jù)每種web攻擊類型的特點提取攻擊特征,這些攻擊特征不僅需要包含請求方向的http請求的攻擊特征,而且還需要提取在web攻擊成功后,webserver響應內(nèi)容的響應特征。由于針對每種web攻擊類型可以生成一條或多條檢測規(guī)則,因此,種類繁多的web攻擊類型檢測規(guī)則可以形成攻擊檢測規(guī)則庫。該方法可以包括以下處理步驟:
步驟s302-步驟s304:在接收到http請求后,需要進行http請求頭中各個字段的解析,查找出需要進行安全檢測的字段內(nèi)容;
步驟s306:根據(jù)攻擊檢測規(guī)則庫中的檢測規(guī)則,判斷http請求方向的內(nèi)容是否能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配;如果http請求方向的內(nèi)容能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則判定該http請求為疑似攻擊請求,繼續(xù)執(zhí)行步驟s308;如果http請求方向的內(nèi)容不能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則認為該http請求是正常的http請求,其為可信任請求,直接透傳該http請求至webserver上;
步驟s308:判斷是否需要對上述與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配的http請求進行告警或攔截;如果是,則轉(zhuǎn)到步驟s310;如果否,則不僅需要將http請求發(fā)送至webserver,而且還需要繼續(xù)執(zhí)行步驟s312;
步驟s310:將與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配的http請求進行告警或攔 截;流程結(jié)束;
這里可以根據(jù)過往的統(tǒng)計分布進行分析,如果存在一個反復出現(xiàn)的請求頭內(nèi)容相同或相近的具有攻擊特性的http請求或者同一個發(fā)送端周期性地發(fā)送具有攻擊特性的http請求,則可以通過請求方向上的單向檢測便能夠確定其為攻擊請求。
步驟s312:判斷是否需要對http響應進行攻擊檢測;如果是,則繼續(xù)執(zhí)行步驟s314;如果否,則轉(zhuǎn)到步驟s318;
步驟s314:對于疑似攻擊請求,則仍舊透傳該http請求至webserver上,但是,當webserver返回http響應后,需要進行http響應頭中各個字段的解析,查找出需要進行安全檢測的字段內(nèi)容;
步驟s316:根據(jù)攻擊檢測規(guī)則庫中的規(guī)則特征對響應內(nèi)容進行檢測,判斷響應內(nèi)容是否能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,如果響應內(nèi)容能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則認為該http請求為惡意攻擊,轉(zhuǎn)到步驟s320;如果響應內(nèi)容不能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則繼續(xù)執(zhí)行步驟s318;
步驟s318:如果響應內(nèi)容不能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,則認為該http請求為無效攻擊,可以直接忽略該http請求,正常轉(zhuǎn)發(fā)http響應;或者,在判斷是否需要對http響應進行攻擊檢測時,如果根據(jù)過往的統(tǒng)計分析情況來看,盡管已經(jīng)確定請求方向上的http請求為攻擊請求,但是,經(jīng)過多次驗證,該http請求始終發(fā)起的為無效攻擊,因此,無需再判斷響應內(nèi)容是否能夠與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配,便可直接正常轉(zhuǎn)發(fā)http響應;流程結(jié)束;
步驟s320:將與攻擊檢測規(guī)則庫中的規(guī)則特征相匹配的http響應進行告警或攔截;流程結(jié)束。
通過該優(yōu)選實施例,綜合檢測web雙向的流量內(nèi)容,即默認不信任任何方向的流量,不僅對http請求的流量執(zhí)行合法性校驗,而且還對webserver的流量執(zhí)行合法性校驗,從而提高了web攻擊檢測的精準度和有效性。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施 例的網(wǎng)絡攻擊的檢測方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述網(wǎng)絡攻擊的檢測裝置的結(jié)構(gòu)框圖,該裝置可以位于發(fā)送端(例如:計算機終端)與接收端(例如:網(wǎng)站服務器),其相當于發(fā)送端與接收端之間的中間橋梁,其性質(zhì)類似于代理,該裝置既可以位于終端中,當然也可以位于服務器中。如圖4所示,該裝置包括:接收模塊10,用于接收來自于發(fā)送端的網(wǎng)絡請求;獲取模塊20,用于在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;處理模塊30,用于采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
通過采用攻擊檢測規(guī)則集合分別對從發(fā)送端接收到的網(wǎng)絡請求以及從接收端獲取到的網(wǎng)絡響應進行雙向網(wǎng)絡攻擊檢測的方式,在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應,然后再利用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式,從而實現(xiàn)了提高網(wǎng)絡攻擊檢測精準度和有效性的技術(shù)效果,進而解決了相關(guān)技術(shù)中所采用的單向網(wǎng)絡攻擊檢測方法的準確性較低的技術(shù)問題。
在優(yōu)選實施過程中,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
在優(yōu)選實施過程中,上述網(wǎng)絡請求的類型可以包括但不限于以下之一:
(1)超文本傳輸協(xié)議(http)請求;
(2)文件傳輸協(xié)議(ftp)請求;
(3)簡單郵件傳輸協(xié)議(smtp)請求。
即本發(fā)明實施例所提供的技術(shù)方案可以適用于web攻擊檢測、ftp攻擊檢測、smtp 攻擊檢測等全部具有雙向流內(nèi)容檢測的應用場景。
可選地,圖5是根據(jù)本發(fā)明優(yōu)選實施例的網(wǎng)絡攻擊的檢測裝置的結(jié)構(gòu)框圖。如圖5所示,上述裝置還包括:解析模塊40,用于對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;確定模塊50,用于在攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配時,則確定網(wǎng)絡請求的類型為攻擊請求。
可選地,如圖5所示,處理模塊30包括:解析單元300,用于對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;判斷單元302,用于根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配;第一處理單元304,用于在判斷單元輸出為是時,阻止網(wǎng)絡響應返回至發(fā)送端;第二處理單元306,用于在判斷單元輸出為否時,向發(fā)送端返回網(wǎng)絡響應。
可選地,如圖5所示,上述裝置還包括:提示模塊60,用于向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
實施例3
本發(fā)明的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設備??蛇x地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設備。
可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡的多個網(wǎng)絡設備中的至少一個網(wǎng)絡設備。
可選地,圖6是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖6所示,該計算機終端可以包括:一個或多個(圖中僅示出一個)處理器以及存儲器。
其中,存儲器可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的網(wǎng)絡攻擊的檢測方法和裝置對應的程序指令/模塊以及攻擊檢測規(guī)則集合,處理器通過運行存儲在存儲器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的網(wǎng)絡攻擊的檢測方法。存儲器可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器可進一步包括相對于處理器遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡 連接至終端a。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
處理器可以通過傳輸裝置調(diào)用存儲器存儲的信息及應用程序,以執(zhí)行下述步驟:
s1:接收來自于發(fā)送端的網(wǎng)絡請求;
s2:在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;
s3:采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
可選地,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;如果攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配,則確定網(wǎng)絡請求的類型為攻擊請求。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配;如果待檢測的響應內(nèi)容與一個或多個檢測規(guī)則相匹配,則阻止網(wǎng)絡響應返回至發(fā)送端;如果待檢測的響應內(nèi)容未與一個或多個檢測規(guī)則相匹配,則向發(fā)送端返回網(wǎng)絡響應。
可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
采用本發(fā)明實施例,提供了一種網(wǎng)絡攻擊檢測的方案。通過采用攻擊檢測規(guī)則集合分別對從發(fā)送端接收到的網(wǎng)絡請求以及從接收端獲取到的網(wǎng)絡響應進行雙向網(wǎng)絡攻擊檢測的方式,在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應,然后再利用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式,從而實現(xiàn)了提高網(wǎng)絡攻擊檢測精準度和有效性的技術(shù)效果,進而解決了相關(guān)技術(shù)中所采用的單向網(wǎng)絡攻擊檢測方法的準確性較低的技術(shù)問題。
本領(lǐng)域普通技術(shù)人員可以理解,圖6所示的結(jié)構(gòu)僅為示意,計算機終端也可以是 智能手機(如android手機、ios手機等)、平板電腦、掌聲電腦以及移動互聯(lián)網(wǎng)設備(mobileinternetdevices,mid)、pad等終端設備。圖6其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端還可包括比圖6中所示更多或者更少的組件(如網(wǎng)絡接口、顯示裝置等),或者具有與圖6所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。
實施例4
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的網(wǎng)絡攻擊的檢測方法所執(zhí)行的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡中計算機終端群中的任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。
可選地,在本實施例中,存儲介質(zhì)被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1:接收來自于發(fā)送端的網(wǎng)絡請求;
s2:在采用攻擊檢測規(guī)則集合確定網(wǎng)絡請求的類型為攻擊請求的情況下,將網(wǎng)絡請求轉(zhuǎn)發(fā)至接收端,并獲取與網(wǎng)絡請求對應的網(wǎng)絡響應;
s3:采用攻擊檢測規(guī)則集合對網(wǎng)絡響應進行檢測,并根據(jù)檢測結(jié)果選取對網(wǎng)絡響應的處理方式。
可選地,上述攻擊檢測規(guī)則集合是根據(jù)當前網(wǎng)絡內(nèi)已經(jīng)存在的多種類型的攻擊請求的攻擊特性以及與每種類型的攻擊請求對應的攻擊響應的響應特性預先生成的。
可選地,在本實施例中,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:對網(wǎng)絡請求的請求頭中所包含的一個或多個字段進行解析,獲取待檢測的請求內(nèi)容;如果攻擊檢測規(guī)則集合判斷待檢測的請求內(nèi)容與攻擊檢測規(guī)則集合中的一個或多個檢測規(guī)則相匹配,則確定網(wǎng)絡請求的類型為攻擊請求。
可選地,在本實施例中,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:對網(wǎng)絡響應的響應頭中所包含的一個或多個字段進行解析,獲取待檢測的響應內(nèi)容;根據(jù)攻擊檢測規(guī)則集合判斷待檢測的響應內(nèi)容是否與攻擊檢測規(guī)則集合中的一個或多 個檢測規(guī)則相匹配;如果待檢測的響應內(nèi)容與一個或多個檢測規(guī)則相匹配,則阻止網(wǎng)絡響應返回至發(fā)送端;如果待檢測的響應內(nèi)容未與一個或多個檢測規(guī)則相匹配,則向發(fā)送端返回網(wǎng)絡響應。
可選地,在本實施例中,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:向接收端發(fā)送告警提示信息,其中,告警提示信息用于提示發(fā)送端當前存在網(wǎng)絡攻擊行為和/或提示接收端對發(fā)送端進行鎖定。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人 員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。