亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Sql注入攻擊檢測方法及其裝置的制作方法

文檔序號:7717131閱讀:325來源:國知局
專利名稱:Sql注入攻擊檢測方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其是涉及一種SQL注入攻擊檢測方法及其裝置。
背景技術(shù)
隨著互聯(lián)網(wǎng)的逐步發(fā)展,提供各種服務(wù)的網(wǎng)絡(luò)站點(diǎn)越來越多,給人們的日常生活 提供了很大的方便。然而,同樣隨著互聯(lián)網(wǎng)發(fā)展以及計算機(jī)技術(shù)的進(jìn)步,針對網(wǎng)站系統(tǒng)的攻 擊種類也是越來越多,越來越頻繁。其中,SQL注入攻擊已經(jīng)逐漸成為網(wǎng)站系統(tǒng)遭遇的最頻 繁的攻擊方式之一,通過SQL注入攻擊能夠篡改網(wǎng)頁內(nèi)容并可能取得網(wǎng)站系統(tǒng)最高的數(shù)據(jù) 管理權(quán)限,給網(wǎng)站系統(tǒng)帶來嚴(yán)重的危害。由于SQL注入事件頻繁發(fā)生,既損害WEB系統(tǒng)建 設(shè)單位的形象,也可能直接導(dǎo)致經(jīng)濟(jì)上的損失,甚至產(chǎn)生嚴(yán)重的社會影響。對于通信運(yùn)營商 而言,越來越多的業(yè)務(wù)系統(tǒng)通過WEB形式,提供網(wǎng)頁瀏覽服務(wù),完成相應(yīng)業(yè)務(wù)訂購與提供功 能,如門戶網(wǎng)站、音樂平臺、彩鈴系統(tǒng)、號簿管家系統(tǒng)等。基于WEB的業(yè)務(wù)系統(tǒng)的部署越來越 廣泛,如果防護(hù)不當(dāng)而使WEB站點(diǎn)遭受SQL注入攻擊,就可能導(dǎo)致業(yè)務(wù)系統(tǒng)網(wǎng)頁內(nèi)容被篡 改,甚至有可能由于業(yè)務(wù)系統(tǒng)的相關(guān)業(yè)務(wù)數(shù)據(jù)被篡改而造成經(jīng)濟(jì)上的損失和不良的社會影 響。實(shí)際上,現(xiàn)有的SQL注入攻擊的實(shí)現(xiàn)方式比較簡單,攻擊者通過構(gòu)造特定的輸入 字符串實(shí)現(xiàn)對WEB系統(tǒng)后臺數(shù)據(jù)庫的非法操作。常見的SQL注入攻擊方式為攻擊者通過在 網(wǎng)站的URL中加入SQL語句,利用網(wǎng)站系統(tǒng)的漏洞來執(zhí)行該SQL語句,從而可以直接修改網(wǎng) 站后臺數(shù)據(jù),或者猜測出業(yè)務(wù)系統(tǒng)用戶帳號口令,或者猜測出數(shù)據(jù)庫管理員帳號口令等。而 現(xiàn)有的各種防護(hù)系統(tǒng)大都是通過提取用戶訪問動態(tài)網(wǎng)頁而發(fā)送的URL,然后判斷URL中是 否包含SQL注入關(guān)鍵字,來檢測網(wǎng)站系統(tǒng)是否正在遭受SQL注入攻擊,如果判斷結(jié)果是URL 中包含了 SQL注入關(guān)鍵字,則認(rèn)定發(fā)送該URL的用戶正在進(jìn)行SQL注入攻擊,阻斷其訪問, 并發(fā)送警告頁面?,F(xiàn)有的網(wǎng)站系統(tǒng)SQL注入攻擊防護(hù)方法的實(shí)施流程如圖1和圖2所示,包括步驟S11、客戶通過瀏覽器向TOB服務(wù)器發(fā)起HTTP請求;S12、WEB服務(wù)器將來自瀏覽器的HTTP請求發(fā)給篩選器,篩選器進(jìn)行匹配處理,判 斷該請求是否包含SQL注入關(guān)鍵字;如果是轉(zhuǎn)到S17,否則執(zhí)行S13 ;S13、篩選器向TOB服務(wù)器發(fā)送確定沒有SQL注入攻擊的反饋消息;S14.WEB服務(wù)器向數(shù)據(jù)庫提交獲取數(shù)據(jù)請求消息;S15、數(shù)據(jù)庫接到WEB服務(wù)器的獲取數(shù)據(jù)請求消息后,將WEB服務(wù)器請求的數(shù)據(jù)返 回給WEB服務(wù)器;S16、WEB服務(wù)器接收到數(shù)據(jù)庫返回的數(shù)據(jù)后,向?yàn)g覽器發(fā)送正常HTTP響應(yīng)消息, 并將完整HTTP內(nèi)容發(fā)送給瀏覽器;S17、篩選器向TOB服務(wù)器發(fā)送檢測到SQL注入攻擊的反饋消息;S18、TOB服務(wù)器接收到來自篩選器的檢測到SQL注入攻擊的反饋消息后,將一個有警告內(nèi)容的HTTP網(wǎng)頁發(fā)送到瀏覽器。利用如上所述的現(xiàn)有的SQL注入攻擊檢測方法在檢測SQL注入攻擊時,用戶每發(fā) 出一個訪問網(wǎng)頁的請求,篩選器都需要將用戶提交的URL或者URL攜帶的其他參數(shù)進(jìn)行SQL 注入關(guān)鍵字匹配處理,判斷是否存在SQL注入攻擊。篩選器將每次的用戶請求作為離散的 事件進(jìn)行處理,即用戶每提交一次訪問請求,篩選器都要進(jìn)行攻擊規(guī)則匹配處理,然后網(wǎng)站 系統(tǒng)根據(jù)匹配結(jié)果進(jìn)行相應(yīng)的處理。由于實(shí)際當(dāng)中正常訪問網(wǎng)站的用戶提供的訪問請求中 也可能偶爾包含有SQL注入關(guān)鍵字,這樣就可能將正常訪問網(wǎng)站的用戶錯誤的認(rèn)定為攻擊 用戶而阻斷其對網(wǎng)站的合法訪問,造成誤報,因此這種每當(dāng)出現(xiàn)SQL注入關(guān)鍵字即認(rèn)定為 SQL注入攻擊的SQL注入攻擊檢測方法,必然導(dǎo)致現(xiàn)有網(wǎng)站防護(hù)方法在其SQL注入攻擊檢測 過程中存在較高的誤報率。此外對于正在進(jìn)行SQL注入攻擊的惡意用戶不進(jìn)行及時阻斷訪 問,而是對其每次訪問請求都進(jìn)行SQL注入關(guān)鍵字匹配處理,也使得這種SQL注入攻擊檢測 方法的計算量很大,效率很低。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種SQL注入攻擊檢測方法及其裝置,以降低現(xiàn)有技術(shù)中對 SQL注入攻擊檢測的誤報率。本發(fā)明實(shí)施例還提供一種SQL注入攻擊檢測方法及其裝置,以減小檢測SQL注入 攻擊的計算工作量,提高檢測效率。本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測方法,包括檢測用戶是否以相同的 訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求 訪問相關(guān)網(wǎng)站的請求消息;若檢測結(jié)果為是,則認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻 擊;若檢測結(jié)果為否,則認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測裝置,包括檢測單元,用于檢測用戶 是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵 字的用于請求訪問相關(guān)網(wǎng)站的請求消息;認(rèn)定單元,用于在檢測單元的檢測結(jié)果為是時,認(rèn) 定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊;以及在檢測單元的檢測結(jié)果為否時,認(rèn)定該用 戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測方法,包括維護(hù)黑名單,該黑名單中 存儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn)行SQL注入攻擊的用戶所使用的訪問屬性信息以及該 用戶被認(rèn)定為SQL注入攻擊時的時間信息的對應(yīng)關(guān)系;在檢測到發(fā)送用于請求訪問相關(guān)網(wǎng) 站的請求消息的用戶所使用的訪問屬性信息在所述黑名單存儲的訪問屬性信息之中、且當(dāng) 前時間與黑名單中存儲的與該用戶使用的訪問屬性信息對應(yīng)的時間信息之間的時間間隔 小于規(guī)定時長時,確定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊。本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測裝置,包括 黑名單維護(hù)單元,用于維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對網(wǎng) 站進(jìn)行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的 時間信息的對應(yīng)關(guān)系;檢測單元,用于檢測發(fā)送用于請求訪問相關(guān)網(wǎng)站的請求消息的用戶 所使用的訪問屬性信息是否在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信息之中、且 當(dāng)前時間與所述黑名單中存儲的與該用戶使用的訪問屬性信息對應(yīng)的時間信息之間的時間間隔小于規(guī)定時長;確定單元,用于在檢測單元的檢測結(jié)果為是時,確定該用戶對該網(wǎng)站 正在進(jìn)行SQL注入攻擊。 本發(fā)明實(shí)施例提供的SQL注入攻擊檢測方法及其裝置是基于惡意人員進(jìn)行SQL注 入攻擊的行為特征,對用戶發(fā)送的請求訪問動態(tài)網(wǎng)頁的請求消息中攜帶的SQL注入關(guān)鍵字 進(jìn)行累計計數(shù),規(guī)定時間長度內(nèi),當(dāng)與該用戶發(fā)送該請求消息時使用的訪問屬性信息相應(yīng) 的SQL注入累計值達(dá)到限定值時,認(rèn)定該用戶正在對網(wǎng)站實(shí)施SQL注入攻擊。本發(fā)明實(shí)施 例提供的SQL注入攻擊檢測方法及其裝置有效地克服現(xiàn)有的SQL檢測機(jī)制的缺陷,解決了 現(xiàn)有的SQL注入攻擊檢測方法中存在的高誤報率的問題。并且通過黑名單機(jī)制的引入,使 得在限定時長的時間間隔內(nèi),認(rèn)定使用黑名單中記錄的訪問屬性信息發(fā)送請求消息的用戶 正在對網(wǎng)站進(jìn)行SQL注入攻擊,從而提高了檢測效率。


圖1是現(xiàn)有的網(wǎng)站系統(tǒng)針對SQL注入攻擊的防護(hù)方法流程圖;圖2是現(xiàn)有的網(wǎng)站系統(tǒng)針對SQL注入攻擊的防護(hù)方法流程圖;圖3是本發(fā)明實(shí)施例1提供的SQL注入攻擊檢測方法的流程圖;圖4是本發(fā)明實(shí)施例2提供的SQL注入攻擊檢測方法的流程圖;圖5是本發(fā)明實(shí)施例3提供的SQL注入攻擊檢測方法的流程圖;圖6是本發(fā)明實(shí)施例4提供的SQL注入攻擊檢測裝置的示意圖;圖7是本發(fā)明實(shí)施例5提供的SQL注入攻擊檢測裝置的示意圖;圖8是本發(fā)明實(shí)施例6提供的SQL注入攻擊檢測方法的流程圖;圖9是本發(fā)明實(shí)施例7提供的SQL注入攻擊檢測裝置的示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種SQL注入檢測方法及其裝置,基于惡意攻擊用戶進(jìn)行 SQL注入攻擊的行為特征,對來自惡意攻擊用戶的SQL注入攻擊進(jìn)行檢測和篩選。該方法 一方面通過生成黑名單來記錄惡意攻擊用戶的訪問屬性信息以及該用戶被認(rèn)定為SQL注 入攻擊時的時間信息的對應(yīng)關(guān)系,來防御惡意攻擊用戶短時間、連續(xù)注入的攻擊行為,另一 方面通過在臨時存儲區(qū)域中對訪問用戶發(fā)送的訪問動態(tài)網(wǎng)頁的請求中攜帶的SQL注入關(guān) 鍵字出現(xiàn)次數(shù)進(jìn)行累計記錄,并與規(guī)定次數(shù)進(jìn)行比較,高于規(guī)定次數(shù)時才認(rèn)定該用戶正在 對網(wǎng)站進(jìn)行SQL注入攻擊,從而提高SQL注入攻擊檢測的準(zhǔn)確率,為網(wǎng)站系統(tǒng)提供針對SQL 注入攻擊的更加完善的防護(hù),解決了現(xiàn)有的SQL注入攻擊檢測方法中存在的高誤報率的問 題。本發(fā)明實(shí)施例1提供了一種SQL注入攻擊檢測方法,其流程圖如圖3所示,包括S30、提取用戶發(fā)來的訪問動態(tài)網(wǎng)頁的請求消息中攜帶的參數(shù);S31、將提取的參數(shù)與SQL注入關(guān)鍵字進(jìn)行匹配,判斷用戶發(fā)來的訪問動態(tài)網(wǎng)頁的 請求消息中是否包含SQL注入關(guān)鍵字,如果存在轉(zhuǎn)到S32,否則轉(zhuǎn)到S38 ;S32、判斷臨時存儲區(qū)域內(nèi)記錄的用戶的訪問屬性信息是否包含有當(dāng)前用戶的訪 問屬性信息,其中用戶的訪問屬性信息包括但不限于為用戶所使用的源IP地址和/或源端 口號等,如果有轉(zhuǎn)到S33 ;否則轉(zhuǎn)到S35 ;
S33、判斷臨時存儲區(qū)域內(nèi)記錄的該用戶發(fā)送請求消息所使用的訪問屬性信息對 應(yīng)的時間信息TO與當(dāng)前時間T之間的時間間隔是否小于規(guī)定時長T2,如果是,轉(zhuǎn)到S34;否 則轉(zhuǎn)到S36 ;其中T是用戶當(dāng)前發(fā)送請求消息的時間點(diǎn)信息;S34、將臨時存儲區(qū)域內(nèi)記錄的該用戶所使用的訪問屬性信息對應(yīng)的SQL注入累 計值counter加1,然后執(zhí)行步驟S37 ;S35、在臨時存儲區(qū)域內(nèi)存儲該用戶所使用的訪問屬性信息,并對應(yīng)該訪問屬性信 息存儲該用戶發(fā)送請求消息的時間信息,以及對應(yīng)該訪問屬性信息存儲對應(yīng)的SQL注入累 計值counter,并置1,然后執(zhí)行步驟S37 ;S36、將臨時存儲區(qū)域中存儲的該用戶所使用的訪問屬性信息對應(yīng)的時間信息TO 更新為當(dāng)前時間信息T,并將存儲的該用戶所使用的訪問屬性信息對應(yīng)的SQL注入累計值 counter置1,然后執(zhí)行步驟S37 ;步驟37,判斷在臨時存儲區(qū)域中存儲的用戶所使用的訪問屬性信息對應(yīng)的 counter值是否達(dá)到SQL注入累計閾值K,如果是轉(zhuǎn)到S39 ;否則轉(zhuǎn)到S38 ;S38、認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。S39、認(rèn)定該用戶正在對網(wǎng)站進(jìn)行SQL注入攻擊。用于SQL注入攻擊的關(guān)鍵字可以被分為在探測系統(tǒng)漏洞時使用的SQL注入探測關(guān) 鍵字和在實(shí)際攻擊系統(tǒng)漏洞時使用的SQL注入攻擊關(guān)鍵字。并且注入探測和注入攻擊經(jīng)常 是混在一起進(jìn)行的。所以對于SQL注入關(guān)鍵字的累計計數(shù)和判斷可以是針對SQL注入探測 關(guān)鍵字進(jìn)行的,或者是針對SQL注入攻擊關(guān)鍵字進(jìn)行的,或者是同時針對SQL注入探測關(guān)鍵 字和SQL注入攻擊關(guān)鍵字進(jìn)行的。其中將SQL注入關(guān)鍵字細(xì)分為SQL注入探測關(guān)鍵字和SQL 注入攻擊關(guān)鍵字之后,將臨時存儲區(qū)域內(nèi)記錄的SQL注入累計值counter具體分為SQL注 入探測累計值counterl和SQL注入攻擊累計值counter〗,在TOB服務(wù)器中記錄第一 SQL注 入探測累計閾值K1,第一 SQL注入攻擊累計閾值K2,第二 SQL注入探測累計閾值K3,第二 SQL注入攻擊累計閾值K4。單獨(dú)針對SQL注入探測關(guān)鍵字進(jìn)行累計和判斷時,counterl與 第一 SQL注入探測累計閾值Kl進(jìn)行比較;單獨(dú)針對SQL注入攻擊關(guān)鍵字進(jìn)行累計和判斷 時,counter2與第一 SQL注入探測累計閾值K2進(jìn)行比較;同時針對SQL注入探測關(guān)鍵字和 SQL注入攻擊關(guān)鍵字進(jìn)行累計和判斷時,counterl與第二 SQL注入探測累計閾值K3進(jìn)行比 較并且coimterf與第二 SQL注入攻擊累計閾值K4進(jìn)行比較。本發(fā)明實(shí)施例2提供了一種 SQL注入攻擊檢測方法,該實(shí)施例給出了其中同時針對SQL注入探測關(guān)鍵字和SQL注入攻擊 關(guān)鍵字進(jìn)行累計計數(shù)和判斷的具體流程,具體如圖4所示,具體包括S40、提取用戶發(fā)來的訪問動態(tài)網(wǎng)頁的請求消息中攜帶的參數(shù);S41、將提取的參數(shù)與SQL注入關(guān)鍵字進(jìn)行匹配,判斷用戶發(fā)來的訪問動態(tài)網(wǎng)頁的 請求消息中是否包含SQL注入關(guān)鍵字,如果存在轉(zhuǎn)到S42,否則轉(zhuǎn)到S48 ;S42、判斷臨時存儲區(qū)域內(nèi)已記錄的用戶的訪問屬性信息中是否包含有當(dāng)前用戶 的訪問屬性信息,如果有轉(zhuǎn)到S43 ;否則轉(zhuǎn)到S45 ;S43、判斷臨時存儲區(qū)域內(nèi)記錄的該用戶發(fā)送請求消息所使用的訪問屬性信息對 應(yīng)的時間信息TO與當(dāng)前時間信息T之間的時間間隔是否小于規(guī)定時長T2,如果是,轉(zhuǎn)到 S44 ;否則 轉(zhuǎn)到S46 ;S44、判斷用戶發(fā)送的請求消息中攜帶的SQL注入關(guān)鍵字類型,如果是SQL注入探測關(guān)鍵字,則在臨時存儲區(qū)域內(nèi)存儲的關(guān)聯(lián)該用戶所使用的訪問屬性信息的SQL注入探測 累計值coimterl加1,如果是SQL注入攻擊關(guān)鍵字則在臨時存儲區(qū)域內(nèi)存儲的關(guān)聯(lián)該用戶 所使用的訪問屬性信息的SQL注入探測累計值coimterf加1 ;然后執(zhí)行S47 ;S45、在臨時存儲區(qū)域內(nèi)將該用戶所使用的訪問屬性信息、該用戶發(fā)送請求消息的 時間信息對應(yīng)進(jìn)行存儲,以及判斷用戶發(fā)送的請求消息中攜帶的SQL注入關(guān)鍵字的類型, 如果為SQL注入探測關(guān)鍵字則counterl置1,counter2置0,否則counterl置0,counter2 置1 ;轉(zhuǎn)到S47 ;S46、將臨時存儲區(qū)域中存儲的該用戶所使用的訪問屬性信息對應(yīng)的時間信息TO 更新為當(dāng)前時間信息T,以及判斷用戶發(fā)送的請求消息中攜帶的SQL注入關(guān)鍵字的類型,如 果為SQL注入探測關(guān)鍵字則將存儲的該用戶所使用的訪問屬性信息對應(yīng)的counterl置1, counter2置0,如果為SQL注入攻擊關(guān)鍵字則將存儲的該用戶所使用的訪問屬性信息對應(yīng) 的 counterl 置 0,counter2 置 1 ;轉(zhuǎn)到 S47 ;S47、判斷在臨時存儲區(qū)域中存儲的用戶所使用的訪問屬性信息對應(yīng)的counterl 值是否達(dá)到SQL注入探測累計閾值K3且對應(yīng)的counted值是否達(dá)到SQL注入攻擊累計閾 值K4,如果是轉(zhuǎn)到S49 ;否則轉(zhuǎn)到S48 ;S48、認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。S49、認(rèn)定該用戶正在對網(wǎng)站進(jìn)行SQL注入攻擊。以上實(shí)施例2提供的SQL注入攻擊檢測方法中應(yīng)用了前述介紹的對SQL注入關(guān)鍵 字累計次數(shù)進(jìn)行判斷的第三種方式。對于實(shí)際保護(hù)網(wǎng)站免受SQL注入攻擊時,可以根據(jù)對 網(wǎng)站的保護(hù)程度要求的不同和網(wǎng)站容易受到攻擊的程度,對惡意用戶的SQL注入攻擊的檢 測方法可以使用上述三種方式的任意一種或者將三種方式結(jié)合使用。上述的K系列參數(shù)(包括K1、K2、K3、K4)是衡量SQL注入探測次數(shù)和SQL注入攻 擊次數(shù)的累計閾值,通過這些閾值來判斷疑似攻擊用戶的行為,如果在Tl時間間隔內(nèi),來 自使用臨時存儲區(qū)域記錄的訪問屬性信息的用戶的SQL注入探測累計值過多,達(dá)到K1,或 者SQL注入攻擊累計值過多,達(dá)到K2,則認(rèn)定當(dāng)前用戶正在進(jìn)行SQL注入攻擊;或者用戶注 入探測次數(shù)達(dá)到一定程度(達(dá)到K3)的同時,注入攻擊次數(shù)也達(dá)到一定程度(達(dá)到K4),則 同樣認(rèn)定當(dāng)前用戶正在進(jìn)行SQL注入攻擊。一般來說,注入探測的目的是找到一個存在注入漏洞的URL,注入攻擊是對這個 URL進(jìn)行攻擊,獲取數(shù)據(jù)庫數(shù)據(jù)或者賬號密碼等;如果只進(jìn)行探測不進(jìn)行攻擊,對網(wǎng)站的影 響比較小,因?yàn)檫€沒對數(shù)據(jù)庫等造成直接的篡改,所以K1、K3值相對可以較大;而在攻擊階 段有可能對數(shù)據(jù)庫造成篡改需要嚴(yán)格防護(hù),所以Κ2、Κ4的值相對Κ1、Κ3值較小,即有Kl > Κ2,Κ3 > Κ4。此外,單獨(dú)作用的閾值要高于共同作用的閾值,即Kl > Κ3,Κ2 > Κ4。 以上參數(shù)的設(shè)定是與TOB系統(tǒng)的應(yīng)用是否容易遭受攻擊,以及受保護(hù)的嚴(yán)格程度 相關(guān)的,如一個容易受攻擊的網(wǎng)站或者需要嚴(yán)格保護(hù)的網(wǎng)站,可以將Τ2設(shè)為10秒,將Kl設(shè) 為50次,Κ2設(shè)為30次(即10秒內(nèi)達(dá)到50次探測,或30次攻擊,就可以認(rèn)定用戶正在對 網(wǎng)站進(jìn)行SQL攻擊),K3設(shè)為25次,K4設(shè)為15次(即10秒鐘內(nèi)達(dá)到25次探測并且達(dá)到 15次攻擊,就可以認(rèn)定用戶正在對網(wǎng)站進(jìn)行SQL攻擊);相反如果網(wǎng)站不很容易遭受攻擊, 可以將T2設(shè)為10秒,Kl為100次,K2設(shè)為60次(即10秒鐘內(nèi)達(dá)到100次探測,或60次 攻擊,才認(rèn)定用戶正在對網(wǎng)站進(jìn)行SQL攻擊),K3設(shè)為50次,K4設(shè)為30次(即10秒鐘內(nèi)達(dá)到50次探測并且達(dá)到30次攻擊,才認(rèn)定用戶正在對網(wǎng)站進(jìn)行SQL攻擊)。上述的實(shí)施例通過對SQL注入關(guān)鍵字的累計計數(shù),并與相應(yīng)的限定閾值進(jìn)行比較 來判斷用戶是否正在對網(wǎng)站進(jìn)行SQL注入攻擊,有效地提高了判斷的準(zhǔn)確率,降低了 SQL注 入攻擊檢測方法的誤報率。在此基礎(chǔ)上,本發(fā)明的實(shí)施例3提供了一種SQL注入攻擊檢測 方法,該SQL注入攻擊檢測方法在實(shí)施例1給出的方法的基礎(chǔ)上增加維護(hù)黑名單的機(jī)制,在 WEB服務(wù)器中維護(hù)一個黑名單,其中黑名單中存儲有學(xué)習(xí)到的針對每個被認(rèn)定為對網(wǎng)站進(jìn) 行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的時間 信息的對應(yīng)關(guān)系,這樣在WEB服務(wù)器接收到用戶發(fā)送的訪問請求消息后,首先判斷該用戶 發(fā)送該訪問請求使用的訪問屬性信息是否被記錄在黑名單中,如果不在黑名單中,或者在 黑名單中但當(dāng)前訪問時間與黑名單中對應(yīng)該用戶使用的訪問屬性信息記錄的時間信息之 間的時間間隔已經(jīng)超過了時長閾值Tl,則再執(zhí)行上述實(shí)施例1或者實(shí)施例2提供的方法,以 判斷用戶是否正在對訪問的網(wǎng)站進(jìn)行SQL攻擊,可選的還可以進(jìn)而將黑名單中存儲的該用 戶使用的訪問屬性信息和對應(yīng)的時間信息刪除,以減小黑名單占用的存儲空間。此外當(dāng)該 用戶發(fā)送訪問請求使用的訪問屬性信息在黑名單中,并且當(dāng)前訪問時間與黑名單中對應(yīng)該 用戶使用的訪問屬性信息記錄的時間信息之間的時間間隔沒有超過時長閾值Tl,則可以直 接認(rèn)定該用戶正在進(jìn)行SQL注入攻擊,并阻止其對動態(tài)網(wǎng)頁的訪問。這樣在上述實(shí)施例1的基礎(chǔ)上,還可以在步驟S39中認(rèn)定該用戶正在對網(wǎng)站進(jìn)行 SQL注入攻擊之后,將該用戶使用的訪問屬性信息以及相應(yīng)的訪問時間信息Th對應(yīng)的添加 到黑名單,并將黑名單中記錄的該相應(yīng)的訪問時間信息Th置為用戶的當(dāng)前訪問時間T。具 體的流程示意圖如圖5所示,包括S51、判斷當(dāng)前用戶發(fā)送訪問請求信息所利用的訪問屬性信息是否記錄在黑名單 中,如果是轉(zhuǎn)到S52 ;否則轉(zhuǎn)到S31,后續(xù)執(zhí)行過程請參照上述實(shí)施例1中的具體描述; S52、判斷當(dāng)前訪問時間T與黑名單中記錄的與用戶所利用的訪問屬性信息對應(yīng) 的訪問時間信息Th之間的時間間隔是否超過時間閾值T2,如果超過則轉(zhuǎn)到S53 ;否則轉(zhuǎn)到 S54 ;S53、在黑名單中清除該用戶發(fā)送網(wǎng)頁訪問請求信息所使用的訪問屬性信息和相 應(yīng)的訪問時間信息Th,然后轉(zhuǎn)到S31,后續(xù)執(zhí)行過程請參照上述實(shí)施例1中的具體描述;S54、認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊,處理過程結(jié)束;S55、在上述實(shí)施例1中S39執(zhí)行完后,在黑名單中添加該用戶發(fā)送訪問請求信息 所使用的訪問屬性信息以及對應(yīng)的該用戶被認(rèn)定為SQL注入攻擊時的時間信息Th。由以上本發(fā)明公開的實(shí)施例可知,本發(fā)明實(shí)施例提供的SQL注入攻擊檢測方法簡 單易行,對現(xiàn)有的網(wǎng)站防護(hù)系統(tǒng)軟件的結(jié)構(gòu)改變不多,有很強(qiáng)的實(shí)際操作性,從而使得本發(fā) 明實(shí)施例提供的SQL注入檢測方法能夠有效防止惡意人員利用SQL注入攻擊方法篡改網(wǎng)頁 系統(tǒng)的頁面或者篡改業(yè)務(wù)系統(tǒng)的相關(guān)數(shù)據(jù)。對應(yīng)發(fā)明實(shí)施例提供的上述SQL注入攻擊檢測方法,本發(fā)明還提供了以下的SQL 注入攻擊檢測裝置的實(shí)施例。其中本發(fā)明實(shí)施例4提供的SQL注入攻擊檢測裝置如圖6所示,包括檢測單元61,用于檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送 了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的通用資源定位符URL請求消息;認(rèn)定單元62,用于在檢測單元的檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行 SQL注入攻擊;以及在檢測單元的檢測結(jié)果為否時,認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻
擊ο其中檢測單元具體包括第一判斷子單元611,用于在用戶發(fā)送的用于請求訪問相關(guān)網(wǎng)站的URL請求消息 中攜帶SQL注入關(guān)鍵詞時,判斷在臨時存儲區(qū)域中是否能夠查找到該用戶發(fā)送所述URL請 求消息所使用的訪問屬性信息;存儲子單元612,用于在第一判斷子單元的判斷結(jié)果為否時,在臨時存儲區(qū)域中存 儲該用戶所使用的訪問屬性信息以及該用戶發(fā)送所述URL請求消息的時間信息的對應(yīng)關(guān) 系,并將存儲的該用戶所使用的訪問屬性信息對應(yīng)的SQL注入累計值置1 ;第二判斷子單元613,用于在第一判斷子單元的判斷結(jié)果為是時,判斷當(dāng)前時間與 臨時存儲區(qū)域中存儲的該用戶發(fā)送所述URL請求消息所使用的訪問屬性信息對應(yīng)的時間 信息之間的時間間隔是否小于第二規(guī)定時長;累計值處理子單元614,用于在第二判斷子單元的判斷結(jié)果為是時,將臨時存儲區(qū) 域中存儲的該用戶發(fā)送所述URL請求消息所使用的訪問屬性信息對應(yīng)的SQL注入累計值加 1 ;以及在第二判斷子單元的判斷結(jié)果為否時,將臨時存儲區(qū)域中存儲的該用戶發(fā)送所述 URL請求消息所使用的訪問屬性信息對應(yīng)的SQL注入累計值清零;第三判斷子單元615,用于在經(jīng)存儲子單元或累計值處理子單元對SQL注入累計 值進(jìn)行處理后,判斷臨時存儲區(qū)域中存儲的該用戶發(fā)送所述URL請求消息所使用的訪問屬 性信息對應(yīng)的SQL注入累計值是否達(dá)到規(guī)定閾值;確定子單元616,用于在第三判斷子單元的判斷結(jié)果為是時,確定檢測結(jié)果為是, 以及在第三判斷子單元的判斷結(jié)果為否時,確定檢測結(jié)果為否。針對增加了黑名單機(jī)制的本發(fā)明實(shí)施例3提供的檢測方法,本發(fā)明實(shí)施例5對應(yīng) 的提供了一種SQL注入攻擊檢測裝置,如圖7所示,包括檢測單元71,用于檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送 了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的通用資源定位符URL請 求消息;認(rèn)定單元72,用于在檢測單元的檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行 SQL注入攻擊;以及在檢測單元的檢測結(jié)果為否時,認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻
擊ο 黑名單維護(hù)單元73,用于維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對 網(wǎng)站進(jìn)行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時 的時間信息的對應(yīng)關(guān)系;確定單元74,用于在檢測單元檢測用戶之前,確定出用戶使用的相同的訪問屬性 信息不在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信息之中;或者確定出用戶使用的 相同的訪問屬性信息在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信息之中、且當(dāng)前時 間與所述黑名單中存儲的與用戶使用的相同的訪問屬性信息對應(yīng)的時間信息之間的時間間隔不小于第一規(guī)定時長;存儲單元75,用于在認(rèn)定單元認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊后,將 該用戶使用的相同的訪問屬性信息以及該用戶被認(rèn)定為對該網(wǎng)站正在進(jìn)行SQL注入攻擊 的時間信息對應(yīng)地存儲到黑名單維護(hù)單元維護(hù)的黑名單中。刪除單元76,用于在確定單元確定出用戶使用的相同的訪問屬性信息在黑名單存 儲的訪問屬性信息之中、且當(dāng)前時間與黑名單中存儲的與用戶使用的相同的訪問屬性信息 對應(yīng)的時間信息之間的時間間隔不小于第一規(guī)定時長時,刪除黑名單維護(hù)單元維護(hù)的黑名 單中存儲的用戶使用的相同的訪問屬性信息及其對應(yīng)的時間信息。對應(yīng)于黑名單機(jī)制的應(yīng)用,本發(fā)明實(shí)施例6提供了一種SQL注入攻擊檢測方法,如 圖8所示,包括 S81、維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn)行SQL注入攻 擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的時間信息的對應(yīng) 關(guān)系;其中黑名單的維護(hù)過程可以但不限于為檢測用戶是否以相同的訪問屬性信息、在 規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請 求消息;在檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊,并將該用戶所使 用的訪問屬性信息以及認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊的時間信息對應(yīng)存儲 到所述黑名單中,該過程的具體實(shí)現(xiàn)過程請參照上述實(shí)施例1和實(shí)施例2中的描述,這里不 再贅述。S82、在檢測到發(fā)送用于請求訪問相關(guān)網(wǎng)站的請求消息的用戶所使用的訪問屬性 信息在上述維護(hù)的黑名單存儲的訪問屬性信息之中、且當(dāng)前時間與黑名單中存儲的與該用 戶使用的訪問屬性信息對應(yīng)的時間信息之間的時間間隔小于規(guī)定時長Tl時,直接確定該 用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊,從而相對現(xiàn)有技術(shù)提高檢測的效率。對應(yīng)本發(fā)明實(shí)施例7提供的SQL注入攻擊檢測方法,本發(fā)明的實(shí)施例7提供了對 應(yīng)的SQL注入攻擊檢測裝置,如圖9所示,包括黑名單維護(hù)單元91,用于維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對 網(wǎng)站進(jìn)行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時 的時間信息的對應(yīng)關(guān)系;檢測單元92,用于檢測發(fā)送用于請求訪問相關(guān)網(wǎng)站的通用資源定位符URL請求消 息的用戶所使用的訪問屬性信息是否在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信 息之中、且當(dāng)前時間與所述黑名單中存儲的與該用戶使用的訪問屬性信息對應(yīng)的時間信息 之間的時間間隔小于規(guī)定時長;確定單元93,用于在檢測單元的檢測結(jié)果為是時,確定該用戶對該網(wǎng)站正在進(jìn)行 SQL注入攻擊。其中黑名單維護(hù)單元91又被具體分為檢測子單元911,用于檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā) 送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求消息;維護(hù)子單元912,用于在檢測子單元的檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在 進(jìn)行SQL注入攻擊,并將該用戶所使用的訪問屬性信息以及認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行 SQL注入攻擊的時間信息對應(yīng)存儲到所述黑名單中。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種SQL注入攻擊檢測方法,其特征在于,包括檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有 SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求消息;若檢測結(jié)果為是,則認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊;若檢測結(jié)果為否,則認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。
2.如權(quán)利要求1所述的方法,其特征在于,還包括維護(hù)黑名單的步驟,所述黑名單中存 儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn)行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用 戶被認(rèn)定為SQL注入攻擊時的時間信息的對應(yīng)關(guān)系;檢測用戶過程之前,還包括確定出用戶使用的相同的訪問屬性信息不在所述黑名單存儲的訪問屬性信息之中;或者確定出用戶使用的相同的訪問屬性信息在所述黑名單存儲的訪問屬性信息之中、且當(dāng) 前時間與所述黑名單中存儲的與用戶使用的相同的訪問屬性信息對應(yīng)的時間信息之間的 時間間隔不小于第一規(guī)定時長;
3.如權(quán)利要求2所述的方法,其特征在于,在認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻 擊后,還包括將該用戶使用的相同的訪問屬性信息以及該用戶被認(rèn)定為對該網(wǎng)站正在進(jìn)行SQL注 入攻擊的時間信息對應(yīng)地存儲到所述黑名單中。
4.如權(quán)利要求2所述的方法,其特征在于,在確定出用戶使用的相同的訪問屬性信息 在黑名單存儲的訪問屬性信息之中、且當(dāng)前時間與黑名單中存儲的與用戶使用的相同的訪 問屬性信息對應(yīng)的時間信息之間的時間間隔不小于第一規(guī)定時長時,還包括刪除所述黑名 單中存儲的用戶使用的相同的訪問屬性信息及其對應(yīng)的時間信息。
5.如權(quán)利要求1所述的方法,其特征在于,檢測用戶是否以相同的訪問屬性信息、在規(guī) 定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求 消息,具體包括在用戶發(fā)送的用于請求訪問相關(guān)網(wǎng)站的請求消息中攜帶SQL注入關(guān)鍵詞時,判斷在臨 時存儲區(qū)域中是否能夠查找到該用戶發(fā)送所述請求消息所使用的訪問屬性信息,若否則在 臨時存儲區(qū)域中存儲該用戶所使用的訪問屬性信息以及該用戶發(fā)送所述請求消息的時間 信息的對應(yīng)關(guān)系,并將存儲的該用戶所使用的訪問屬性信息對應(yīng)的SQL注入累計值置1 ;若 是則判斷當(dāng)前時間與臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求消息所使用的訪問屬性 信息對應(yīng)的時間信息之間的時間間隔是否小于第二規(guī)定時長,若是則將臨時存儲區(qū)域中存 儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的SQL注入累計值加1 ;若否則將臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的時 間信息修改為當(dāng)前時間信息,并將對應(yīng)的SQL注入累計值置1 ;判斷臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的 SQL注入累計值是否達(dá)到規(guī)定閾值,若是則確定所述檢測結(jié)果為是,若否在確定所述檢測結(jié) 果為否。
6.如權(quán)利要求5所述的方法,其特征在于,所述SQL注入關(guān)鍵字為SQL注入探測關(guān)鍵字,所述SQL注入累計值為SQL注入探測累計值;或所述SQL注入關(guān)鍵字為SQL注入攻擊關(guān)鍵字,所述SQL注入累計值為SQL注入攻擊累 計值;或所述SQL注入關(guān)鍵字包括SQL注入探測累計值和SQL注入攻擊關(guān)鍵字,所述SQL注入 累計值包括SQL注入探測累計值和SQL注入攻擊累計值。
7.如1 6任一權(quán)利要求所述的方法,其特征在于,所述訪問屬性信息包括源IP地址 和源端口號。
8.一種SQL注入攻擊檢測裝置,其特征在于,包括檢測單元,用于檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定 次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求消息;認(rèn)定單元,用于在檢測單元的檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注 入攻擊;以及在檢測單元的檢測結(jié)果為否時,認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。
9.如權(quán)利要求8所述的裝置,其特征在于,還包括黑名單維護(hù)單元,用于維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn) 行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的時間 信息的對應(yīng)關(guān)系;確定單元,用于在檢測單元檢測用戶之前,確定出用戶使用的相同的訪問屬性信息不 在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信息之中;或者確定出用戶使用的相同的訪問屬性信息在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問 屬性信息之中、且當(dāng)前時間與所述黑名單中存儲的與用戶使用的相同的訪問屬性信息對應(yīng) 的時間信息之間的時間間隔不小于第一規(guī)定時長;
10.如權(quán)利要求9所述的裝置,其特征在于,還包括存儲單元,用于在認(rèn)定單元認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊后,將該用戶 使用的相同的訪問屬性信息以及該用戶被認(rèn)定為對該網(wǎng)站正在進(jìn)行SQL注入攻擊的時間 信息對應(yīng)地存儲到黑名單維護(hù)單元維護(hù)的黑名單中。
11.如權(quán)利要求9所述的裝置,其特征在于,還包括刪除單元,用于在確定單元確定出 用戶使用的相同的訪問屬性信息在黑名單存儲的訪問屬性信息之中、且當(dāng)前時間與黑名單 中存儲的與用戶使用的相同的訪問屬性信息對應(yīng)的時間信息之間的時間間隔不小于第一 規(guī)定時長時,刪除黑名單維護(hù)單元維護(hù)的黑名單中存儲的用戶使用的相同的訪問屬性信息 及其對應(yīng)的時間信息。
12.如權(quán)利要求8所述的裝置,其特征在于,所述檢測單元具體包括第一判斷子單元,用于在用戶發(fā)送的用于請求訪問相關(guān)網(wǎng)站的請求消息中攜帶SQL注 入關(guān)鍵詞時,判斷在臨時存儲區(qū)域中是否能夠查找到該用戶發(fā)送所述請求消息所使用的訪 問屬性信息;存儲子單元,用于在第一判斷子單元的判斷結(jié)果為否時,在臨時存儲區(qū)域中存儲該用 戶所使用的訪問屬性信息以及該用戶發(fā)送所述請求消息的時間信息的對應(yīng)關(guān)系,并將存儲 的該用戶所使用的訪問屬性信息對應(yīng)的SQL注入累計值置1 ;第二判斷子單元,用于在第一判斷子單元的判斷結(jié)果為是時,判斷當(dāng)前時間與臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的時間信息之間的 時間間隔是否小于第二規(guī)定時長;累計值處理子單元,用于在第二 判斷子單元的判斷結(jié)果為是時,將臨時存儲區(qū)域中存 儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的SQL注入累計值加1 ;以及在第二判斷子單元的判斷結(jié)果為否時,將臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求 消息所使用的訪問屬性信息對應(yīng)的時間信息修改為當(dāng)前時間信息,并將對應(yīng)的SQL注入累 計值置1 ;第三判斷子單元,用于在經(jīng)存儲子單元或累計值處理子單元對SQL注入累計值進(jìn)行處 理后,判斷臨時存儲區(qū)域中存儲的該用戶發(fā)送所述請求消息所使用的訪問屬性信息對應(yīng)的 SQL注入累計值是否達(dá)到規(guī)定閾值;確定子單元,用于在第三判斷子單元的判斷結(jié)果為是時,確定檢測結(jié)果為是,以及在第 三判斷子單元的判斷結(jié)果為否時,確定檢測結(jié)果為否。
13.一種SQL注入攻擊檢測方法,其特征在于,包括維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn)行SQL注入攻擊的用戶 所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的時間信息的對應(yīng)關(guān)系;在檢測到發(fā)送用于請求訪問相關(guān)網(wǎng)站的請求消息的用戶所使用的訪問屬性信息在所 述黑名單存儲的訪問屬性信息之中、且當(dāng)前時間與所述黑名單中存儲的與該用戶使用的訪 問屬性信息對應(yīng)的時間信息之間的時間間隔小于規(guī)定時長時,確定該用戶對該網(wǎng)站正在進(jìn) 行SQL注入攻擊。
14.如權(quán)利要求13所述的方法,其特征在于,維護(hù)黑名單的過程具體包括檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有 SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求消息;在檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊,并將該用戶所使用 的訪問屬性信息以及認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊的時間信息對應(yīng)存儲到 所述黑名單中。
15.如權(quán)利要求13或14所述的方法,其特征在于,所述SQL注入關(guān)鍵字為SQL注入探 測關(guān)鍵字,或?yàn)镾QL注入攻擊關(guān)鍵字、或?yàn)镾QL注入探測關(guān)鍵字和SQL注入攻擊關(guān)鍵字。
16.如權(quán)利要求13或14所述的方法,其特征在于,所述訪問屬性信息包括源IP地址和源端口號。
17.一種SQL注入攻擊檢測裝置,其特征在于,包括黑名單維護(hù)單元,用于維護(hù)黑名單,所述黑名單中存儲有針對每個被認(rèn)定為對網(wǎng)站進(jìn) 行SQL注入攻擊的用戶所使用的訪問屬性信息以及該用戶被認(rèn)定為SQL注入攻擊時的時間 信息的對應(yīng)關(guān)系;檢測單元,用于檢測發(fā)送用于請求訪問相關(guān)網(wǎng)站的請求消息的用戶所使用的訪問屬性 信息是否在黑名單維護(hù)單元維護(hù)的黑名單存儲的訪問屬性信息之中、且當(dāng)前時間與所述黑 名單中存儲的與該用戶使用的訪問屬性信息對應(yīng)的時間信息之間的時間間隔小于規(guī)定時 長;確定單元,用于在檢測單元的檢測結(jié)果為是時,確定該用戶對該網(wǎng)站正在進(jìn)行SQL注 入攻擊。
18.如權(quán)利要求17所述的裝置,其特征在于,所述黑名單維護(hù)單元具體包括 檢測子單元,用于檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī) 定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的請求消息;維護(hù)子單元,用于在檢測子單元的檢測結(jié)果為是時,認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL 注入攻擊,并將該用戶所使用的訪問屬性信息以及認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入 攻擊的時間信息對應(yīng)存儲到所述黑名單中。
全文摘要
本發(fā)明公開了一種SQL注入攻擊檢測方法,包括檢測用戶是否以相同的訪問屬性信息、在規(guī)定時間長度內(nèi)發(fā)送了規(guī)定次數(shù)的、攜帶有SQL注入關(guān)鍵字的用于請求訪問相關(guān)網(wǎng)站的通用資源定位符URL請求消息;若檢測結(jié)果為是,則認(rèn)定該用戶對該網(wǎng)站正在進(jìn)行SQL注入攻擊;若檢測結(jié)果為否,則認(rèn)定該用戶未對該網(wǎng)站進(jìn)行SQL注入攻擊。本發(fā)明實(shí)施例相應(yīng)的公開了SQL注入攻擊檢測裝置。本發(fā)明實(shí)施例提供的SQL注入攻擊檢測方法及其裝置是基于惡意人員進(jìn)行SQL注入攻擊的行為特征,有效地克服現(xiàn)有的SQL檢測機(jī)制的缺陷,解決了現(xiàn)有的SQL注入攻擊檢測方法中存在的高誤報率的問題。
文檔編號H04L29/06GK102045319SQ20091020671
公開日2011年5月4日 申請日期2009年10月21日 優(yōu)先權(quán)日2009年10月21日
發(fā)明者位蒞, 曹承祖, 王自亮 申請人:中國移動通信集團(tuán)山東有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1