两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng)的制作方法

文檔序號:6618898閱讀:227來源:國知局

專利名稱::數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng)。
背景技術(shù)
:隨著Internet的發(fā)展,客戶端/服務(wù)器(B/S)模式得到了越來越廣泛的應(yīng)用。B/S模式中經(jīng)常出現(xiàn)用戶與后臺數(shù)據(jù)庫服務(wù)器之間進(jìn)行數(shù)據(jù)交互的情形,即用戶在客戶端的網(wǎng)頁上通過表單輸入并提交數(shù)據(jù),服務(wù)端的應(yīng)用程序根據(jù)用戶提交的數(shù)據(jù)構(gòu)造SQL語句,提交到數(shù)據(jù)庫服務(wù)器進(jìn)行處理,并向用戶返回處理結(jié)果。在開發(fā)B/S模式的應(yīng)用程序時,許多開發(fā)者忽略了對用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。攻擊者可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,竊取某些他想得知的數(shù)據(jù),這就是數(shù)據(jù)庫注入攻擊技術(shù),也稱SQL注入(SQLInjection)攻擊。為了更好地對數(shù)據(jù)庫服務(wù)器實施保護(hù),網(wǎng)絡(luò)安全審計產(chǎn)品得到了廣泛的應(yīng)用。它能夠?qū)崟r監(jiān)測和記錄用戶對數(shù)據(jù)庫的訪問信息,生成數(shù)據(jù)庫訪問記錄,并按照設(shè)定的規(guī)則對用戶訪問行為進(jìn)行報警、阻斷等操作。但是從數(shù)據(jù)庫訪問行為本身看,無論是用戶的正常訪問,還是攻擊者的注入攻擊,都表現(xiàn)為向數(shù)據(jù)庫服務(wù)器提交并運(yùn)行SQL語句,這就導(dǎo)致雖然網(wǎng)絡(luò)安全審計產(chǎn)品可以記錄用戶對數(shù)據(jù)庫的訪問信息,但是審計產(chǎn)品本身無法區(qū)分一條數(shù)據(jù)庫訪問記錄所代表的訪問行為是正常的訪問還是惡意的注入攻擊。這樣當(dāng)攻擊者實施注入攻擊時,審計產(chǎn)品只能記錄攻擊者的行為,無法及時檢測出攻擊并實施阻斷,只能通過事后分析的方式對攻擊進(jìn)行識別。另外,攻擊者的訪問記錄被淹沒在大量的訪問記錄中,安全管理人員只能通過經(jīng)驗進(jìn)行識別,給事后分析帶來了極大的不便。因此,業(yè)界亟待提出一種新的數(shù)據(jù)庫注入攻擊檢測技術(shù),以實時檢測數(shù)據(jù)庫訪問行為,避免數(shù)據(jù)庫遭受SQL注入攻擊。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是在于需要提供一種數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng),以實時檢測數(shù)據(jù)庫訪問行為。為了解決上述技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)庫注入攻擊檢測方法,包括通過對數(shù)據(jù)庫歷史訪問記錄進(jìn)行自學(xué)習(xí),建立數(shù)據(jù)庫訪問行為模式庫;接收數(shù)據(jù)庫實時訪問,根據(jù)所述訪問行為模式庫,判斷所述實時訪問是否為注入攻擊,獲得判斷結(jié)果;根據(jù)所述判斷結(jié)果及預(yù)設(shè)的響應(yīng)方式,對所述實時訪問進(jìn)行響應(yīng)。優(yōu)選地,對所述歷史訪問記錄進(jìn)行自學(xué)習(xí)的步驟,包括設(shè)置所述歷史訪問記錄;對所述歷史訪問記錄中的每條記錄進(jìn)行SQL語句解析,提取SQL模板;根據(jù)所述SQL模板,建立所述訪問行為模式庫。優(yōu)選地,所述SQL模板,包括數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符。優(yōu)選地,根據(jù)所述訪問行為模式庫,判斷所述實時訪問是否為注入攻擊,獲得判斷結(jié)果的步驟,包括對所述實時訪問進(jìn)行SQL語句解析,提取所述實時訪問的SQL模板;通過將所述實時訪問的SQL模板與所述訪問行為模式庫進(jìn)行比對,獲得所述判斷結(jié)果。優(yōu)選地,通過對所述歷史訪問記錄中的正常訪問行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)正常數(shù)據(jù)庫訪問的正常訪問行為模式庫。優(yōu)選地,該方法進(jìn)一步包括通過對所述歷史訪問記錄中確認(rèn)的注入攻擊行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)數(shù)據(jù)庫注入攻擊的攻擊訪問行為模式庫。為了解決上述技術(shù)問題,本發(fā)明還提供了一種數(shù)據(jù)庫注入攻擊檢測系統(tǒng),包括存儲模塊,用于存儲數(shù)據(jù)庫歷史訪問記錄;接收模塊,用于接收數(shù)據(jù)庫實時訪問;解析模塊,與所述存儲模塊及接收模塊相連,用于對所述歷史訪問記錄及實時訪問進(jìn)行SQL語句解析,提取SQL模板;自學(xué)習(xí)模塊,與所述解析模塊相連,用于根據(jù)所述歷史訪問記錄的SQL模板,建立數(shù)據(jù)庫訪問行為模式庫;判斷模塊,與所述解析模塊及自學(xué)習(xí)模塊相連,用于根據(jù)所述訪問行為模式庫及所述實時訪問的SQL模板,判斷所述實時訪問是否為數(shù)據(jù)庫注入攻擊,獲得判斷結(jié)果;響應(yīng)模塊,與所述判斷模塊650相連,用于根據(jù)預(yù)設(shè)的響應(yīng)方式及所述判斷結(jié)果,對所述實時訪問進(jìn)行響應(yīng)。優(yōu)選地,所述解析模塊提取的所述SQL模板,包括數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符。優(yōu)選地,所述自學(xué)習(xí)模塊,通過對所述歷史訪問記錄中的正常訪問行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)正常數(shù)據(jù)庫訪問的正常訪問行為模式庫。優(yōu)選地,該系統(tǒng)進(jìn)一步包括所述自學(xué)習(xí)模塊,通過對所述歷史訪問記錄中確認(rèn)的注入攻擊行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)數(shù)據(jù)庫注入攻擊的攻擊訪問行為模式庫。與現(xiàn)有技術(shù)相比,本發(fā)明通過對歷史訪問記錄的學(xué)習(xí),建立訪問行為模式庫,并根據(jù)訪問行為模式庫檢測數(shù)據(jù)庫注入攻擊行為,能夠?qū)崿F(xiàn)自動識別正常數(shù)據(jù)庫訪問和注入攻擊,并對注入攻擊進(jìn)行阻斷,從而保護(hù)了數(shù)據(jù)庫服務(wù)器的安全。另外,在檢測過程中無需安全管理人員的干預(yù),降低了安全管理人員日志處理的工作量。圖1為本發(fā)明方法的流程示意圖;圖2為圖1所示流程步驟SllO的自學(xué)習(xí)過程示意圖;圖3為圖1所示流程步驟S120的判斷過程示意圖;圖4為本發(fā)明方法第一實施例的流程示意圖5為本發(fā)明方法第二實施例的流程示意圖;圖6是本發(fā)明系統(tǒng)實施例的組成示意圖。具體實施例方式以下將結(jié)合附圖及實施例來詳細(xì)說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。本發(fā)明首先通過對歷史訪問記錄進(jìn)行自學(xué)習(xí),建立訪問行為模式庫,然后根據(jù)該訪問行為模式庫,直接對實時訪問進(jìn)行檢測,可以實時阻斷數(shù)據(jù)庫注入攻擊行為,避免數(shù)據(jù)庫遭受SQL注入攻擊。圖1是本發(fā)明方法的流程示意圖。如圖1所示,該方法主要包括如下步驟步驟S110,通過對數(shù)據(jù)庫歷史訪問記錄進(jìn)行自學(xué)習(xí),建立數(shù)據(jù)庫訪問行為模式庫;通過自學(xué)習(xí)建立的訪問行為模式庫,可以是根據(jù)歷史訪問記錄中的正常訪問行為所建立的正常訪問行為模式庫,也可以是根據(jù)歷史訪問記錄中已經(jīng)確認(rèn)為注入攻擊行為所建立的攻擊訪問行為模式庫;該正常訪問行為模式庫用來確認(rèn)正常的(或者稱之為安全的)數(shù)據(jù)庫實時訪問,該攻擊訪問行為模式庫用來確認(rèn)注入攻擊;步驟S120,接收數(shù)據(jù)庫實時訪問,根據(jù)所建立的訪問行為模式庫,判斷該實時訪問是否為注入攻擊,獲得判斷結(jié)果;步驟S130,根據(jù)預(yù)設(shè)的響應(yīng)方式及該判斷結(jié)果,對該實時訪問進(jìn)行響應(yīng)。圖2為上述步驟SllO的自學(xué)習(xí)過程示意圖。如圖2所示,根據(jù)歷史訪問記錄建立訪問行為模式庫的自學(xué)習(xí)過程,主要包括如下步驟步驟S210,設(shè)置用于自學(xué)習(xí)的數(shù)據(jù)庫歷史訪問記錄;步驟S220,對每條歷史訪問記錄進(jìn)行SQL語句解析,提取每條歷史訪問記錄的SQL模板;步驟S230,根據(jù)所提取的歷史訪問記錄的SQL模板,建立該訪問行為模式庫。上述步驟S220中的所提取的若干SQL模板,相互之間通過唯一的ID號碼進(jìn)行標(biāo)識,其的內(nèi)容包括但不局限于數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符;上述步驟S230中建立該訪問行為模式庫時,可以與步驟S220的提取操作進(jìn)行融合,對步驟S220中提取的SQL模板進(jìn)行入庫建模,不需要對所有的歷史訪問記錄提取SQL模板之后,再建立訪問行為模式庫。如果訪問行為模式庫中已經(jīng)存在同樣的SQL模板,則不將其存入訪問行為模式庫中,并繼續(xù)解析下一條歷史訪問記錄,如果訪問行為模式庫中并沒有同樣的SQL模板,則其為一新的SQL模板,將其存入訪問行為模式庫中,再繼續(xù)解析下一條歷史訪問記錄。也就是說,對于同樣的SQL模板,訪問行為模式庫中只保留一個,而對于重復(fù)的SQL模板,去掉即可。上述步驟S230中,根據(jù)正常訪問行為的SQL模板建立該正常訪問行為模式庫,根據(jù)攻擊訪問行為的SQL模板建立攻擊訪問行為模式庫。根據(jù)圖2所示的自學(xué)習(xí)過程,圖3為上述步驟S120的判斷過程示意圖。如圖3所示,根據(jù)所建立的訪問行為模式庫判斷該實時訪問是否為注入攻擊并獲得判斷結(jié)果的過程,主要包括如下步驟步驟S310,對所接收的數(shù)據(jù)庫實時訪問進(jìn)行SQL語句解析,提取該實時訪問的SQL模板;步驟S320,通過將該實時訪問的SQL模板與自學(xué)習(xí)過程所建立的訪問行為模式庫進(jìn)行比對,判斷該實時訪問是否為數(shù)據(jù)庫注入攻擊,獲得判斷結(jié)果;如果該實時訪問的SQL模板包含在正常訪問行為模式庫中,則該實時訪問為正常訪問行為,對該實時訪問予以放行;如果該實時訪問的SQL模板包含在攻擊訪問行為模式庫中,則該實時訪問為數(shù)據(jù)庫注入攻擊行為,對該實時訪問進(jìn)行阻斷;如果該實時訪問的SQL模板即不在正常訪問行為模式庫中,也不在攻擊訪問行為模式庫中,則該實時訪問暫時還不能確定其為正常訪問行為或者為數(shù)據(jù)庫注入攻擊行為,需要進(jìn)一步進(jìn)行識別,此時對該實時訪問進(jìn)行阻斷并進(jìn)行報警以完成進(jìn)一步的識別。圖4為本發(fā)明方法第一實施例的流程示意圖。如圖4所示,該方法第一實施例主要包括如下步驟步驟S410,設(shè)定數(shù)據(jù)庫歷史訪問記錄的起始時間為2009年1月1日12時,結(jié)束時間為2009年1月1日13時,在此期間內(nèi)共觀測到三條數(shù)據(jù)庫訪問記錄,這三條數(shù)據(jù)庫訪問記錄均為正常訪問記錄,分別為記錄1selectvaluefromtable1whereusername=’Alice’;id^2insertintotable1valus('Jack',80);記錄3:selectvaluefromtable1whereusername=,Bob';步驟S420,對這三條數(shù)據(jù)庫訪問記錄進(jìn)行SQL語句解析,提取每條歷史訪問記錄的SQL模板,并根據(jù)所提取的歷史訪問記錄的SQL模板,建立正常訪問行為模式庫;對記錄1進(jìn)行SQL語句解析,提取記錄1的SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{"username",“=”};此時數(shù)據(jù)庫正常訪問行為模式庫為空,將該SQL模板加入到數(shù)據(jù)庫正常訪問行為模式庫中;對記錄2進(jìn)行SQL語句解析,提取記錄2的SQL模板為操作類型為“insert”,數(shù)據(jù)表為“table1”,操作字段為NULL,條件子句中字段、關(guān)系運(yùn)算符為NULL;由于該SQL模板與數(shù)據(jù)庫正常訪問行為模式庫中已有的模板(即記錄1的SQL模板)不相同,因此將該記錄2的SQL模塊加入到數(shù)據(jù)庫正常訪問行為模式庫中;對記錄3進(jìn)行SQL語句解析,提取記錄3的SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{"username",“=”};由于該SQL模板已出現(xiàn)在數(shù)據(jù)庫正常訪問行為模式庫中,因此直接刪除該SQL模板,由于該記錄已經(jīng)是設(shè)定的用于自學(xué)習(xí)的最后一條記錄,因此自學(xué)習(xí)過程結(jié)束;步驟S430,接收到數(shù)據(jù)庫實時訪問,其訪問記錄為selectvalueformtable1whereusername=’Tom’or1>=1—;步驟S440,對該實時訪問記錄進(jìn)行SQL語句解析,得到其SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{(“username”,“=,,),(“1”,“>=”)};步驟S450,通過將該實時訪問的SQL模板與正常訪問行為模式庫進(jìn)行比對,發(fā)現(xiàn)其并沒有出現(xiàn)在由兩個SQL模板組成的正常訪問行為模式庫中,因此判斷出該實時訪問為非正常訪問行為;步驟S460,對本次實時訪問進(jìn)行報警以待管理人員進(jìn)行處理,記錄本次實時訪問,并阻斷其對數(shù)據(jù)庫的操作,從而保證了數(shù)據(jù)庫服務(wù)器的安全。圖5為本發(fā)明方法第二實施例的流程示意圖。如圖5所示,該方法第二實施例主要包括如下步驟步驟S510,設(shè)定數(shù)據(jù)庫歷史訪問記錄的起始時間為2009年1月2日12時,結(jié)束時間為2009年1月2日13時,在此期間內(nèi)共觀測到四條數(shù)據(jù)庫訪問記錄,其中前三條數(shù)據(jù)庫訪問記錄為正常訪問記錄,第四條數(shù)據(jù)庫訪問記錄經(jīng)識別,為注入攻擊,這四條訪問記錄分別為記錄1selectvaluefromtable1whereusername=’Alice’;id^2insertintotable1valus('Jack',80);記錄3:selectvaluefromtable1whereusername=,Bob';記錄4:selectvalueformtable1whereusername=,Tom'or1>=1—;步驟S520,對這四條數(shù)據(jù)庫訪問記錄進(jìn)行SQL語句解析,提取每條歷史訪問記錄的SQL模板,并根據(jù)所提取的歷史訪問記錄的SQL模板,建立正常訪問行為模式庫和攻擊訪問行為模式庫;對記錄1進(jìn)行SQL語句解析,提取記錄1的SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{"username",“=”};由于記錄1為正常訪問行為,且此時數(shù)據(jù)庫正常訪問行為模式庫為空,因此將該SQL模板加入到數(shù)據(jù)庫正常訪問行為模式庫中;對記錄2進(jìn)行SQL語句解析,提取記錄2的SQL模板為操作類型為“inset”,數(shù)據(jù)表為“table1”,操作字段為NULL,條件子句中字段、關(guān)系運(yùn)算符為NULL;由于記錄2為正常訪問行為,且該SQL模板與數(shù)據(jù)庫正常訪問行為模式庫中已有的模板(即記錄1的SQL模板)不相同,因此將該記錄2的SQL模塊加入到數(shù)據(jù)庫正常訪問行為模式庫中;對記錄3進(jìn)行SQL語句解析,提取記錄3的SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{"username",“=”};由于記錄3為正常訪問行為,且該SQL模板已出現(xiàn)在數(shù)據(jù)庫正常訪問行為模式庫中,因此直接刪除該SQL模板;對記錄4進(jìn)行SQL語句解析,提取記錄4的SQL模板為操作類型為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{("username",“=”),(“1”,“>=”)};由于記錄4為攻擊行為,且此時數(shù)據(jù)庫攻擊訪問行為模式庫為空,因此將該SQL模板加入到數(shù)據(jù)庫攻擊訪問行為模式庫中;另外記錄4已經(jīng)是設(shè)定的用于自學(xué)習(xí)的最后一條記錄,因此自學(xué)習(xí)過程結(jié)束;步驟S530,接收到數(shù)據(jù)庫實時訪問,其訪問記錄為selectvalueformtable1whereusername='Tom'or1>=0—;步驟S540,對該實時訪問記錄進(jìn)行SQL語句解析,得到其SQL模板為操作類型8為“select”,數(shù)據(jù)表為“table1”,操作字段為“value”,條件子句中字段、關(guān)系運(yùn)算符為{(“username”,"=”),(“1”,“>=”)};步驟S550,通過將該實時訪問的SQL模板與正常訪問行為模式庫及攻擊訪問行為模式庫進(jìn)行比對,發(fā)現(xiàn)其出現(xiàn)在攻擊訪問行為模式庫中,因此判斷出該實時訪問為攻擊訪問行為;步驟S560,記錄本次實時訪問,阻斷其對數(shù)據(jù)庫的操作,從而保證了數(shù)據(jù)庫服務(wù)器的安全。圖6為本發(fā)明檢測系統(tǒng)實施例的組成示意圖。參考圖1所示的本發(fā)明方法的流程、圖2所示的自學(xué)習(xí)過程、圖3所示的判斷過程、圖4所示的本發(fā)明方法第一實施例和圖5所示的本發(fā)明方法第二實施例,圖6所示的系統(tǒng)實施例主要包括存儲模塊610、接收模塊620、解析模塊630、自學(xué)習(xí)模塊640、判斷模塊650及響應(yīng)模塊660,其中存儲模塊610,用于存儲數(shù)據(jù)庫歷史訪問記錄;接收模塊620,用于接收數(shù)據(jù)庫實時訪問;解析模塊630,與該存儲模塊610及接收模塊620相連,用于對該數(shù)據(jù)庫歷史訪問記錄和數(shù)據(jù)庫實時訪問進(jìn)行SQL語句解析,提取每條訪問的SQL模板,包括歷史訪問的SQL模板以及實時訪問的SQL模板;自學(xué)習(xí)模塊640,與該解析模塊630相連,用于根據(jù)解析模塊630所提取的歷史訪問記錄的SQL模板,建立數(shù)據(jù)庫訪問行為模式庫;判斷模塊650,與解析模塊630及自學(xué)習(xí)模塊640相連,用于根據(jù)自學(xué)習(xí)模塊640所建立的數(shù)據(jù)庫訪問行為模式庫以及該實時訪問的SQL模板,判斷該數(shù)據(jù)庫實時訪問是否為數(shù)據(jù)庫注入攻擊,獲得判斷結(jié)果;響應(yīng)模塊660,與該接收模塊620及判斷模塊650相連,用于根據(jù)預(yù)設(shè)的響應(yīng)方式及該判斷結(jié)果,對該實時訪問進(jìn)行響應(yīng)。上述解析模塊630提取的該SQL模板,包括但不限于數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符。上述自學(xué)習(xí)模塊,通過對數(shù)據(jù)庫歷史訪問記錄中的正常訪問行為進(jìn)行自學(xué)習(xí),可以建立用于確認(rèn)正常數(shù)據(jù)庫訪問的正常訪問行為模式庫。還可以通過對數(shù)據(jù)庫歷史訪問記錄中確認(rèn)的注入攻擊行為進(jìn)行自學(xué)習(xí),建立用于確認(rèn)數(shù)據(jù)庫注入攻擊的攻擊訪問行為模式庫。本發(fā)明提出的數(shù)據(jù)庫注入攻擊檢測方法和系統(tǒng),針對現(xiàn)有技術(shù)的不足,通過對歷史訪問記錄的學(xué)習(xí),建立訪問行為模式庫,并根據(jù)訪問行為模式庫檢測數(shù)據(jù)庫注入攻擊行為,能夠?qū)崿F(xiàn)自動識別正常數(shù)據(jù)庫訪問和注入攻擊。與現(xiàn)有技術(shù)相比,本發(fā)明通過在學(xué)習(xí)階段建立數(shù)據(jù)庫訪問行為模式庫,能夠?qū)崟r判斷數(shù)據(jù)庫訪問行為是正常訪問還是注入攻擊,可以及時檢測到數(shù)據(jù)庫注入攻擊并將其阻斷,從而保護(hù)了數(shù)據(jù)庫服務(wù)器的安全。另外,本發(fā)明提出的數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng),在檢測過程中無需安全管理人員的干預(yù),降低了安全管理人員日志處理的工作量。雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬
技術(shù)領(lǐng)域
內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。權(quán)利要求一種數(shù)據(jù)庫注入攻擊檢測方法,其特征在于,包括通過對數(shù)據(jù)庫歷史訪問記錄進(jìn)行自學(xué)習(xí),建立數(shù)據(jù)庫訪問行為模式庫;接收數(shù)據(jù)庫實時訪問,根據(jù)所述訪問行為模式庫,判斷所述實時訪問是否為注入攻擊,獲得判斷結(jié)果;根據(jù)所述判斷結(jié)果及預(yù)設(shè)的響應(yīng)方式,對所述實時訪問進(jìn)行響應(yīng)。2.如權(quán)利要求1所述的方法,其特征在于,對所述歷史訪問記錄進(jìn)行自學(xué)習(xí)的步驟,包括設(shè)置所述歷史訪問記錄;對所述歷史訪問記錄中的每條記錄進(jìn)行SQL語句解析,提取SQL模板;根據(jù)所述SQL模板,建立所述訪問行為模式庫。3.如權(quán)利要求2所述的方法,其特征在于所述SQL模板,包括數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符。4.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述訪問行為模式庫,判斷所述實時訪問是否為注入攻擊,獲得判斷結(jié)果的步驟,包括對所述實時訪問進(jìn)行SQL語句解析,提取所述實時訪問的SQL模板;通過將所述實時訪問的SQL模板與所述訪問行為模式庫進(jìn)行比對,獲得所述判斷結(jié)^ο5.如權(quán)利要求1所述的方法,其特征在于通過對所述歷史訪問記錄中的正常訪問行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)正常數(shù)據(jù)庫訪問的正常訪問行為模式庫。6.如權(quán)利要求4所述的方法,其特征在于,該方法進(jìn)一步包括通過對所述歷史訪問記錄中確認(rèn)的注入攻擊行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)數(shù)據(jù)庫注入攻擊的攻擊訪問行為模式庫。7.一種數(shù)據(jù)庫注入攻擊檢測系統(tǒng),其特征在于,包括存儲模塊,用于存儲數(shù)據(jù)庫歷史訪問記錄;接收模塊,用于接收數(shù)據(jù)庫實時訪問;解析模塊,與所述存儲模塊及接收模塊相連,用于對所述歷史訪問記錄及實時訪問進(jìn)行SQL語句解析,提取SQL模板;自學(xué)習(xí)模塊,與所述解析模塊相連,用于根據(jù)所述歷史訪問記錄的SQL模板,建立數(shù)據(jù)庫訪問行為模式庫;判斷模塊,與所述解析模塊及自學(xué)習(xí)模塊相連,用于根據(jù)所述訪問行為模式庫及所述實時訪問的SQL模板,判斷所述實時訪問是否為數(shù)據(jù)庫注入攻擊,獲得判斷結(jié)果;響應(yīng)模塊,與所述判斷模塊650相連,用于根據(jù)預(yù)設(shè)的響應(yīng)方式及所述判斷結(jié)果,對所述實時訪問進(jìn)行響應(yīng)。8.如權(quán)利要求7所述的系統(tǒng),其特征在于所述解析模塊提取的所述SQL模板,包括數(shù)據(jù)庫操作類型、數(shù)據(jù)庫名稱、數(shù)據(jù)表名稱、操作字段名稱、條件子句中的字段名稱以及條件子句中的關(guān)系運(yùn)算符。9.如權(quán)利要求7所述的系統(tǒng),其特征在于所述自學(xué)習(xí)模塊,通過對所述歷史訪問記錄中的正常訪問行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)正常數(shù)據(jù)庫訪問的正常訪問行為模式庫。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括所述自學(xué)習(xí)模塊,通過對所述歷史訪問記錄中確認(rèn)的注入攻擊行為進(jìn)行所述自學(xué)習(xí),建立用于確認(rèn)數(shù)據(jù)庫注入攻擊的攻擊訪問行為模式庫。全文摘要本發(fā)明公開了一種數(shù)據(jù)庫注入攻擊檢測方法及系統(tǒng),以實時檢測數(shù)據(jù)庫訪問行為。其中該方法包括通過對數(shù)據(jù)庫歷史訪問記錄進(jìn)行自學(xué)習(xí),建立數(shù)據(jù)庫訪問行為模式庫;接收數(shù)據(jù)庫實時訪問,根據(jù)訪問行為模式庫,判斷實時訪問是否為注入攻擊,獲得判斷結(jié)果;根據(jù)判斷結(jié)果及預(yù)設(shè)的響應(yīng)方式,對實時訪問進(jìn)行響應(yīng)。與現(xiàn)有技術(shù)相比,本發(fā)明能夠自動識別正常數(shù)據(jù)庫訪問和注入攻擊,并對注入攻擊進(jìn)行阻斷,從而保護(hù)了數(shù)據(jù)庫服務(wù)器的安全。文檔編號G06F21/00GK101901219SQ20091008502公開日2010年12月1日申請日期2009年5月27日優(yōu)先權(quán)日2009年5月27日發(fā)明者劉暉,葉潤國,周濤,姚熙申請人:北京啟明星辰信息技術(shù)股份有限公司;北京啟明星辰信息安全技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
平谷区| 昌图县| 兴义市| 乃东县| 洪雅县| 吉首市| 景泰县| 马边| 喀喇沁旗| 南木林县| 松潘县| 兖州市| 利辛县| 宜君县| 雷州市| 西藏| 东阿县| 上思县| 离岛区| 思茅市| 海伦市| 安徽省| 三亚市| 改则县| 建昌县| 定结县| 扬中市| 定南县| 桂阳县| 乐至县| 桦川县| 萍乡市| 南靖县| 鹤峰县| 赫章县| 游戏| 延寿县| 泊头市| 五大连池市| 龙口市| 阿巴嘎旗|