專利名稱::Sql語句的數據庫操作權限檢測方法與系統的制作方法
技術領域:
:本發明涉及計算機的數據庫安全管理
技術領域:
,尤其涉及一種SQL語句的數據庫操作權限檢測方法與系統。
背景技術:
:數據安全管理是內容安全管理最重要的部分,對于今天幾乎所有的政府部門、企事業單位的業務都是由已網絡化為基礎的信息系統產生和保存的、諸如一個企業的財務數據、生產數據、辦公業務數據等等數據資源都是在信息系統的核心-數據管理系統中,因此對于每個單位的IT管理部門要對它擔負起責任,保證其數據資源的安全性和可信性,但對于大多數用戶對數據庫系統采取的安全保護措施的級別還比不上操作系統和網絡的安全保護措施的級別。數據庫系統內數據資源所受到的相關威脅包括1)對數據庫中的特定敏感數據進行大數據量的訪問、下載;2)內部或外部用戶對數據庫進行非授權的直接訪問,對數據的直接修改;3)直接對數據庫應用系統數據進行非法刪除,破壞關鍵應用數據,導致相關業務的混亂、停頓甚至直接造成經濟利益損失;4)管理員或入侵者非授權調整數據庫配置,造成數據庫系統異常;5)入侵者利用系統安全漏洞或安全意識淡薄的管理員,通過賦予普通用戶特殊的權限來建立系統的后門,提升數據庫管理權限,對數據進行竊取、篡改和破壞;6)惡意人員獲取數據庫訪問帳號和密碼信息,可對數據庫進行非授權操作;7)缺乏有效的技術手段,建立安全事件責任認定與跟蹤機制。以上破壞數據完整性的威脅都來自于數據庫本身的安全策略的漏洞和使用方面的問題,然而對于數據庫合法用戶的違規操作,以及內部用戶對數據資源的故意泄露或破壞等問題,對企業帶來的危害會更加嚴重,損失也會相當巨大。針對上述需求,目前市場上有很多基于網絡或日志的數據庫審計系統,它們通過人工參與設置固定的檢測策略,來產生告警信息或對數據庫操作進行阻斷來滿足數據放泄漏的需求。
發明內容本發明的目的在于提供一種SQL語句的數據庫操作權限檢測方法與系統,以通過自動學習,生成對非授權的數據庫操作的檢測策略,自動調整數據庫操作權限的檢測(審計)策略。一方面,本發明公開了一種SQL語句的數據庫操作權限檢測方法,包括如下步驟提取步驟,對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元;權限判斷步驟,判斷系統的檢測模塊中,是否預先存儲有所述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。上述數據庫操作權限檢測方法,優選所述權限判斷步驟中,若所述檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。上述數據庫操作權限檢測方法,優選所述權限判斷步驟中,若所述檢測單元處于激活狀態,則判斷所述預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則所述當前數據庫操作為合法操作;若否,則所述當前數據庫操作為非法,發出報警信息。上述數據庫操作權限檢測方法,優選所述權限判斷步驟中,若所述檢測單元處于學習狀態,則確定所述檢測單元中所有的數據庫操作模板,判斷所述檢測單元中數據庫操作模板的數量是否超過預定閾值若是,則將所述檢測單元的狀態切換為短路狀態,確定所述當前數據庫操作為合法操作;若否,則判斷學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將所述檢測單元的狀態切換為激活狀態,依據所述檢測單元處于激活狀態進行操作權限的檢測;若否,將所述當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。上述數據庫操作權限檢測方法,優選所述提取步驟中,所述數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。上述數據庫操作權限檢測方法,優選所述提取步驟中,所述數據庫操作摘要通過如下方式獲取借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據所述數據庫操作模板,獲取數據庫操作摘要。另一方面,本發明公開了一種SQL語句的數據庫操作權限檢測系統,包括提取模塊和權限判斷模塊。其中,提取模塊用于對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元;權限判斷模塊用于判斷系統的檢測模塊中,是否預先存儲有所述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。上述數據庫操作權限檢測系統,優選所述權限判斷模塊中,若所述檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。上述數據庫操作權限檢測系統,優選所述權限判斷模塊中,若所述檢測單元處于激活狀態,則判斷所述預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則所述當前數據庫操作為合法操作;若否,則所述當前數據庫操作為非法,發出報警信息。上述數據庫操作權限檢測系統,優選所述權限判斷模塊中,若所述檢測單元處于學習狀態,則確定所述檢測單元中所有的數據庫操作模板,判斷所述檢測單元中數據庫操作模板的數量是否超過預定閾值若是,則將所述檢測單元的狀態切換為短路狀態,確定所述當5前數據庫操作為合法操作;若否,則判斷學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將所述檢測單元的狀態切換為激活狀態,依據所述檢測單元處于激活狀態進行操作權限的檢測;若否,將所述當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。上述數據庫操作權限檢測系統,優選所述提取模塊中,所述數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。上述數據庫操作權限檢測系統,優選所述提取模塊中,所述數據庫操作摘要通過如下方式獲取借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據所述數據庫操作模板,獲取數據庫操作摘要。與現有技術相比,本發明基于對SQL語句的語法分析,產生數據庫操作摘要信息,每個數據庫操作摘要信息對應一個狀態機,該狀態機可以理解為一個檢測模塊的一個單元,通過對狀態機的狀態進行設定為“學習狀態”、“激活狀態”、“短路狀態”,達到動態監測非授訪問的目的。因此,本發明可以通過自動學習,生成對非授權的數據庫操作的檢測策略,自動調整數據庫操作權限的檢測(審計)策略。圖1為本發明SQL語句的數據庫操作權限檢測方法實施例的步驟流程圖;圖2為本發明SQL語句的數據庫操作權限檢測方法優選實施例的步驟流程圖;圖3為檢測模塊、檢測單元、數據庫操作摘要、數據庫操作模板以及SQL各個對象之間的關系;圖4為檢測單元的狀態示意圖,包括學習狀態、激活狀態和短路狀態;圖5為本發明SQL語句的數據庫操作權限檢測系統的部署方式,該檢測系統部署在探針模塊內;圖6為本發明SQL語句的數據庫操作權限檢測系統實施例的結構框圖。具體實施例方式為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發明作進一步詳細的說明。對于一個大型的應用系統來說,數據庫操作的產生絕大多數都是由應用系統產生的,應該可以理解為應用系統產生的操作是經過授權的。如何自動判斷非應用系統(或稱非常規操作)就是一大難題。SQL語句的數據庫操作權限檢測方法實施例參照圖1,圖1為本發明SQL語句的數據庫操作權限檢測方法實施例的步驟流程圖,包括如下步驟提取步驟S110,對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元。權限判斷步驟S120,判斷系統中是否預先存儲有所述檢測單元,若否,執行步驟S130A,若是,執行步驟S130B。步驟S130A,確定當前數據庫操作為非法,發出報警信息;步驟S130B,確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。上述實施例通過對產生數據庫操作摘要,并將該摘要對應一個檢測單元(狀態機),通過將狀態機的狀態設定為“學習狀態”、“激活狀態”或“短路狀態”,達到動態監測非授訪問的目的。另外,需要說明的是,上述實施例對于數據庫操作模板的應用是對系統的一種優化,目的是減小內存中數據庫操作(SQL)的存儲數量,直接應用數據庫操作摘要對應數據庫操作來達到類似的目的也在本發明的保護范圍之內。優選實施例下面結合圖2、圖3和圖4,對本發明的優選實施例進行說明。參照圖2,圖2為本發明SQL語句的數據庫操作權限檢測方法優選實施例的步驟流程圖。該SQL語句的數據庫操作權限檢測方法包括如下步驟1)借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據數據庫操作模板,獲取數據庫操作摘要;數據庫操作摘要對應唯一的檢測單元。數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。2)判斷系統的檢測模塊中,是否預先存儲有上述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。下面對2)進行詳細說明A)、在2)中,若檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。B)在2)中,若檢測單元處于激活狀態,則判斷預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則當前數據庫操作為合法操作;若否,則當前數據庫操作為非法,發出報警信息。C)在2)中,若檢測單元處于學習狀態,則確定出檢測單元中所包含的數據庫操作模板,判斷是否滿足短路條件,即這些數據庫操作模板的數量是否超過預定閾值i)若是,則將檢測單元的狀態切換為短路狀態,確定所述當前數據庫操作為合法操作;ii)若否,則判斷目前是否符合激活條件,激活條件為,學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將檢測單元的狀態切換為激活狀態,依據上訴檢測單元處于激活狀態進行操作權限的檢測;若否,將當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。下面,對數據庫操作模板和數據庫摘要進行說明。數據庫操作模板(Oracle公司將其稱為ParsedSQL,其它地方暫時未發現與此一致或接近的定義)相對于數據庫操作摘要來說,數據庫操作模板是對數據庫操作(SQL語句)的另外一種規范化處理方式,其特點是所有的SQL語句的數據部分被替換成特殊的符號(例如問號“?”),SQL語句的SQL關鍵字及數據庫對象被定義成統一的大寫或小寫格式,SQL語句的多個空白字符(“\r”“\n”“\t”)等會被統一替換成空格或其他特殊符號,從而使得只有SQL語句格式不同,SQL參數的數值不同的SQL語句具有唯一的表述。例如SQLi吾句“SELECTTABLE1.COLlfromTABLElwhereTABLEl.ID=‘張三,”和SQL語句"SELECTTABLE1.COLlFR0MTABLE1WHERETABLE1.ID=‘李四,,,的數據庫操作模板都是“selecttabll.collfromtablelwheretablel.id=?”,一個數據庫操作的SQL語句一定對應唯一一個數據庫操作模板,但是一個數據庫操作模板可以匹配多個SQL語句。數據庫操作摘要數據庫操作類型表示數據庫操作的方式例如SELECTUPDATEDELETEINSERT寸。參數據庫對象表示數據庫中的一個實體,可以是一個表、一個視圖、一個觸發器寸。數據庫操作謂賓對由一個數據庫操作類型及一個操作的數據庫對象組成。數據庫操作摘要由一個或多個數據庫操作謂賓對組成。例如數據庫操作摘要“(SELECT,TABLE1),,包含一個數據庫操作謂賓對表示查詢操作作用在數據庫對象TABLEl表上;數據庫操作摘要〃(SELECT,TABLE1)(UPDATE,TABLE2)‘‘包含兩個個數據庫操作謂賓對表示查詢操作作用在數據庫對象TABLEl表上,更新操作作用在數據庫對象TABLE2上.每個數據庫操作(SQL語句)只會匹配一個數據庫操作摘要,但是一個數據庫操作摘要可以匹配多個數據庫操作(SQL語句)例如“SELECT*fromTABLElwhereID=1;”"SELECTnamefromTABLElwhereID=2;”都會匹配(SELECT,TABLE1)。假設一個SQL語句檢測模型包括一個檢測模塊,參照圖3,圖3為檢測模塊、檢測單元、數據庫操作摘要、數據庫操作模板以及SQL各個對象之間的關系。具體為1)一個檢測模塊可以具有多個檢測單元2)一個檢測單元對應唯一一個數據庫操作摘要3)一個檢測單元對應唯一一個狀態4)一個檢測單元可以對應多個數據庫操作模板5)一個數據庫操作模板對應一個SQL語句,一個SQL語句只對應一個數據庫操作模板。下面結合圖4,對學習狀態、激活狀態和短路狀態進行說明。1)學習狀態8說明某個數據庫操作摘要對應的檢測單元在不斷的收集數據庫操作模板的過程當中,如果系統通過對某個數據庫操作進行語法分析發現了一個新的數據庫操作模板,系統會將把新的數據庫操作模板放置于集合當中而不會產生告警信息。需要說明的是,默認情況下,新的數據庫操作摘要對應的檢測單元處于學習狀態當中。之后,通過系統的自動或人工參與可以使檢測單元處于激活狀態或短路狀態。2)激活狀態說明某個數據庫操作摘要對應的檢測單元處于非授權訪問的監測狀態,如果系統發現一個數據庫操作匹配一個數據庫操作摘要,但是這個數據庫操作的數據庫操作模板不在這個檢測單元的數據庫操作模板作列表當中,系統會產生未授權訪問的異常告警。當檢測單元處于學習狀態一段時間之后(系統認為匹配某個數據庫操作摘要的數據庫操作模板已經全部收集到)系統會將切換檢測單元的狀態到激活狀態。3)短路狀態在此狀態下如果系統發現一個數據庫操作匹配此數據庫摘要并且數據庫操作摘要對應的檢測單元處于短路狀態,系統會“放過”這個數據庫操作,并且不觸發告警信息(無論這個數據庫操作是否在在這個數據庫操作摘要所對應的數據庫操作模板列表當中)。系統會在一個數據庫操作摘要狀態機處于學習狀態并且數據庫操作摘要對應的數據庫操模板作列表足夠大(超過某個閥值)的時候,將數據庫操作摘要對應的檢測單元切換到短路狀態。短路狀態對于動態產生的SQL語句(匹配數據庫操作摘要,但是每次真實的數據庫操作模板都不相同)情況下的授權數據庫訪問匹配具有很大意義。該實施例具有如下優點(1)動態建立檢測策略。(2)理論上可以做到零人工干預。(3)由于數據庫操作摘要能夠表述出權限等業務意義,其作為策略的主體標識具有更好的可讀性。(4)由于數據庫操作摘要的結構化特性,可以很容易的是系統具有針對性的功能擴展能力(比如人為定義某個數據庫操作摘要或數據庫操作摘要的片段)。SQL語句的數據庫操作權限檢測系統實施例參照圖5,圖示拓撲結構以旁路的方式監聽數據庫客戶端的網絡流量,解析還原SQL語句,記錄數據庫操作及其他相關屬性。圖中,包括審計服務器51、探針52、網絡設備53和數據庫54。SQL語句的數據庫操作權限檢測系統位于探針模塊52中。參照圖6,圖6為SQL語句的數據庫操作權限檢測系統實施例的結構框圖。包括提取模塊60和權限判斷模塊62。其中,提取模塊60用于對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元。權限判斷模塊62用于判斷系統的檢測模塊中,是否預先存儲有所述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。上述實施例通過對產生數據庫操作摘要,并將該摘要對應一個檢測單元(狀態機),通過將狀態機的狀態設定為“學習狀態”、“激活狀態”或“短路狀態”,達到動態監測非授訪問的目的。另外,需要說明的是,上述實施例對于數據庫操作模板的應用是對系統的一種優化,目的是減小內存中數據庫操作(SQL)的存儲數量,直接應用數據庫操作摘要對應數據庫操作來達到類似的目的也在本發明的保護范圍之內。下面,對上述實施例做進一步的說明。上述實施例中,權限判斷模塊62中,若所述檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。上述實施例中,權限判斷模塊62中,若所述檢測單元處于激活狀態,則判斷所述預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則所述當前數據庫操作為合法操作;若否,則所述當前數據庫操作為非法,發出報警信息。上述實施例中,權限判斷模塊62中,若所述檢測單元處于學習狀態,則確檢測單元中所有的數據庫操作模板的數量,判斷所述檢測單元中數據庫操作模板的數量是否超過預定閾值i)若是,則將所述檢測單元的狀態切換為短路狀態,確定所述當前數據庫操作為合法操作;ii)若否,則判斷學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將所述檢測單元的狀態切換為激活狀態,依據所述檢測單元處于激活狀態進行操作權限的檢測;若否,將所述當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。另外,數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。該數據庫操作摘要可以通過如下方式獲取借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據所述數據庫操作模板,獲取數據庫操作摘要。另外,需要說明的是,SQL語句的數據庫操作權限檢測系統實施例的原理與SQL語句的數據庫操作權限檢測方法相同,相關之處互相參照即可,本發明在此不再贅述。以上對本發明所提供的一種SQL語句的數據庫操作權限檢測方法與系統進行詳細介紹,本發明中應用了具體實施例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。權利要求1.一種SQL語句的數據庫操作權限檢測方法,其特征在于,包括如下步驟提取步驟,對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元;權限判斷步驟,判斷系統的檢測模塊中,是否預先存儲有所述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。2.根據權利要求1所述的數據庫操作權限檢測方法,其特征在于,所述權限判斷步驟中,若所述檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。3.根據權利要求2所述的數據庫操作權限檢測方法,其特征在于,所述權限判斷步驟中,若所述檢測單元處于激活狀態,則判斷所述預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則所述當前數據庫操作為合法操作;若否,則所述當前數據庫操作為非法,發出報警信肩、ο4.根據權利要求3所述的數據庫操作權限檢測方法,其特征在于,所述權限判斷步驟中,若所述檢測單元處于學習狀態,則確定所述檢測單元中所有的數據庫操作模板,判斷所述檢測單元中數據庫操作模板的數量是否超過預定閾值若是,則將所述檢測單元的狀態切換為短路狀態,確定所述當前數據庫操作為合法操作;若否,則判斷學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將所述檢測單元的狀態切換為激活狀態,依據所述檢測單元處于激活狀態進行操作權限的檢測;若否,將所述當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。5.根據權利要求1至4中任一項所述的數據庫操作權限檢測方法,其特征在于,所述提取步驟中,所述數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。6.根據權利要求5所述的數據庫操作權限檢測方法,其特征在于,所述提取步驟中,所述數據庫操作摘要通過如下方式獲取借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據所述數據庫操作模板,獲取數據庫操作摘要。7.—種SQL語句的數據庫操作權限檢測系統,其特征在于,包括提取模塊,用于對當前數據庫操作進行分析,確定所述當前數據庫操作所對應的數據庫操作模板,依據所述模板,提取所述當前數據庫操作所對應的數據庫操作摘要;并且,所述數據庫操作摘要對應唯一的檢測單元;權限判斷模塊,用于判斷系統的檢測模塊中,是否預先存儲有所述檢測單元若否,則所述當前數據庫操作為非法,發出報警信息;若是,則確定所述檢測單元的狀態,所述狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。8.根據權利要求7所述的數據庫操作權限檢測系統,其特征在于,所述權限判斷模塊中,若所述檢測單元處于短路狀態,則所述當前數據庫操作為合法操作。9.根據權利要求8所述的數據庫操作權限檢測系統,其特征在于,所述權限判斷模塊中,若所述檢測單元處于激活狀態,則判斷所述預先存儲的檢測單元是否包含所述當前數據庫操作所對應的數據庫操作模板,若是,則所述當前數據庫操作為合法操作;若否,則所述當前數據庫操作為非法,發出報警信肩、ο10.根據權利要求9所述的數據庫操作權限檢測系統,其特征在于,所述權限判斷模塊中,若所述檢測單元處于學習狀態,則確定所述檢測單元中所有的數據庫操作模板,判斷所述檢測單元中數據庫操作模板的數量是否超過預定閾值若是,則將所述檢測單元的狀態切換為短路狀態,確定所述當前數據庫操作為合法操作;若否,則判斷學習狀態的時間是否超出預定時間或學習到的操作模板裂變是否長期不更新若是,則將所述檢測單元的狀態切換為激活狀態,依據所述檢測單元處于激活狀態進行操作權限的檢測;若否,將所述當前數據庫操作對應的數據庫操作模板加入至所述檢測單元中;同時,確定所述當前數據庫操作為合法操作。11.根據權利要求7至10中任一項所述的數據庫操作權限檢測系統,其特征在于,所述提取模塊中,所述數據庫操作摘要為數據庫操作類型與數據庫對象所組成謂賓對的有序集合;其中,所述數據庫操作類型表示數據庫操作的方式;所述數據庫對象表示數據庫中的一個實體。12.根據權利要求11所述的數據庫操作權限檢測系統,其特征在于,所述提取模塊中,所述數據庫操作摘要通過如下方式獲取借助數據庫日志作為解析依據,根據上下文,將SQL語句解析為數據庫操作模板,依據所述數據庫操作模板,獲取數據庫操作摘要。全文摘要本發明公開了一種SQL語句的數據庫操作權限檢測方法與系統。其中,該方法包括對當前數據庫操作進行分析,確定當前數據庫操作所對應的數據庫操作模板,依據模板,提取當前數據庫操作所對應的數據庫操作摘要;并且,數據庫操作摘要對應唯一的檢測單元;判斷系統中是否預先存儲有檢測單元若否,則當前數據庫操作為非法,發出報警信息;若是,則確定檢測單元的狀態,狀態包括學習狀態、激活狀態和短路狀態;依據檢測單元的狀態進行操作權限的檢測。本發明基于對SQL語句的語法分析,產生數據庫操作摘要,該摘要對應一個檢測單元,通過對狀態機的狀態進行設定為“學習狀態”、“激活狀態”或“短路狀態”,達到動態監測非授權訪問的目的。文檔編號G06F21/22GK102184371SQ201110095109公開日2011年9月14日申請日期2011年4月15日優先權日2011年4月15日發明者于海濤,常樂,張佃,徐亞非,曲明,楊文勃,陳浙一申請人:國都興業信息審計系統技術(北京)有限公司