本申請涉及數(shù)據(jù)庫安全防護,尤其涉及一種數(shù)據(jù)庫安全防護方法及裝置。
背景技術:
1、數(shù)據(jù)庫安全防護,是指基于數(shù)據(jù)庫通訊協(xié)議中的sql(structured?querylanguage,結構化查詢語言)語句與語法特征進行分析,識別其中的高危操作,使用告警和阻斷等動作對數(shù)據(jù)庫進行防護的技術。
2、數(shù)據(jù)庫安全防護技術,以安全事件(嘗試改變信息系統(tǒng)安全狀態(tài)的任何事件如改變訪問控制措施、改變安全級別、改變用戶口令等)為中心、以全面審計和精確審計為基礎,對數(shù)據(jù)庫的各類操作行為進行監(jiān)視并記錄,包括對數(shù)據(jù)庫系統(tǒng)的各項設置、數(shù)據(jù)庫系統(tǒng)軟件本身已知漏洞、數(shù)據(jù)庫系統(tǒng)完整性進行檢查,對數(shù)據(jù)庫系統(tǒng)的整體安全性做出評估,及時發(fā)現(xiàn)并報告可能存在的安全風險,識別其中的高危操作,使用告警和阻斷等動作對數(shù)據(jù)庫進行防護,加強數(shù)據(jù)庫的安全。
3、數(shù)據(jù)庫安全直接影響到方方面面的數(shù)據(jù)安全比如國家安全、經濟安全、軍事安全等等,因此,有必要提供一種數(shù)據(jù)庫安全防護方案,以提高數(shù)據(jù)庫系統(tǒng)的安全性。
技術實現(xiàn)思路
1、本申請示出了一種數(shù)據(jù)庫安全防護方法及裝置,以提高數(shù)據(jù)庫系統(tǒng)的安全性。
2、第一方面,本申請示出了一種數(shù)據(jù)庫安全防護方法,應用于數(shù)據(jù)庫安全防護服務器,所述方法包括:
3、在身份認證信息通過驗證后,與提供行為檢測的目標數(shù)據(jù)庫建立連接;
4、采集所述目標數(shù)據(jù)庫的數(shù)據(jù)庫操作流量;
5、基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作;
6、根據(jù)預設的行為檢測規(guī)則對所述目標sql操作對應的sql操作信息進行檢測,所述行為檢測規(guī)則包含行為信息與sql操作類型之間的對應關系;
7、如果所述目標sql操作與所述行為檢測規(guī)則相匹配,則判斷所述目標sql操作是否為高危操作;
8、若判定所述目標sql操作為高危操作,則阻斷所述目標sql操作,并根據(jù)需要生成告警;若判定所述目標sql操作為正常操作,則向所述目標數(shù)據(jù)庫發(fā)送所述目標sql操作對應的sql語句并執(zhí)行。
9、可選的,所述在身份認證信息通過驗證后,與提供行為檢測的目標數(shù)據(jù)庫建立連接的步驟,包括:
10、應用系統(tǒng)客戶端接收用戶輸入的攜帶用戶認證信息的數(shù)據(jù)庫連接請求,所述用戶認證信息至少包括用戶名和登錄密碼;
11、若所述用戶認證信息通過驗證,則建立所述數(shù)據(jù)庫安全防護服務器與所述目標數(shù)據(jù)庫的數(shù)據(jù)庫會話連接。
12、可選的,所述采集所述目標數(shù)據(jù)庫的數(shù)據(jù)庫操作流量的步驟,包括:
13、所述數(shù)據(jù)庫安全防護服務器接收數(shù)據(jù)庫服務器使用流量探針以引流方式采集的數(shù)據(jù)庫操作流量。
14、可選的,所述基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作的步驟之前,還包括:
15、對使用流量探針采集得到的數(shù)據(jù)庫操作流量進行流量報文重組,所述流量報文重組包括對采集得到的數(shù)據(jù)庫流量進行排序、去重、丟包處理。
16、可選的,所述基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作的步驟,包括:
17、對報文重組后目標數(shù)據(jù)庫對應的數(shù)據(jù)流量包基于網絡協(xié)議棧進行深度協(xié)議解析,直至解析到數(shù)據(jù)庫應用層協(xié)議為止,并提取得到行為信息,所述行為信息至少包括數(shù)據(jù)來源信息、數(shù)據(jù)庫信息、訪問行為與操作類型、返回信息、訪問時間信息、sql標準化處理。
18、第二方面,本申請示出了一種數(shù)據(jù)庫安全防護裝置,應用于數(shù)據(jù)庫安全防護服務器,所述裝置包括:
19、數(shù)據(jù)庫準入模塊,用于在身份認證信息通過驗證后,與提供行為檢測的目標數(shù)據(jù)庫建立連接;
20、操作流量采集模塊,用于采集所述目標數(shù)據(jù)庫的數(shù)據(jù)庫操作流量;
21、sql操作解析模塊,用于基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作;
22、sql操作信息檢測模塊,用于根據(jù)預設的行為檢測規(guī)則對所述目標sql操作對應的sql操作信息進行檢測,所述行為檢測規(guī)則包含行為信息與sql操作類型之間的對應關系;
23、操作類型判斷模塊,用于在所述目標sql操作與所述行為檢測規(guī)則相匹配時,判斷所述目標sql操作是否為高危操作;
24、數(shù)據(jù)庫安全防護模塊,用于在判定所述目標sql操作為高危操作時,阻斷所述目標sql操作,并根據(jù)需要生成告警;以及在判定所述目標sql操作為正常操作時,向所述目標數(shù)據(jù)庫發(fā)送所述目標sql操作對應的sql語句并執(zhí)行。
25、可選的,所述數(shù)據(jù)庫準入模塊,具體用于應用系統(tǒng)客戶端接收用戶輸入的攜帶用戶認證信息的數(shù)據(jù)庫連接請求,所述用戶認證信息至少包括用戶名和登錄密碼;若所述用戶認證信息通過驗證,則建立所述數(shù)據(jù)庫安全防護服務器與所述目標數(shù)據(jù)庫的數(shù)據(jù)庫會話連接。
26、可選的,所述操作流量采集模塊,具體用于所述數(shù)據(jù)庫安全防護服務器接收數(shù)據(jù)庫服務器使用流量探針以引流方式采集的數(shù)據(jù)庫操作流量。
27、可選的,所述裝置還包括流量報文重組模塊,用于在基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作之前,對使用流量探針采集得到的數(shù)據(jù)庫操作流量進行流量報文重組,所述流量報文重組包括對采集得到的數(shù)據(jù)庫流量進行排序、去重、丟包處理。
28、可選的,所述sql操作解析模塊,具體用于對報文重組后目標數(shù)據(jù)庫對應的數(shù)據(jù)流量包基于網絡協(xié)議棧進行深度協(xié)議解析,直至解析到數(shù)據(jù)庫應用層協(xié)議為止,并提取得到行為信息,所述行為信息至少包括數(shù)據(jù)來源信息、數(shù)據(jù)庫信息、訪問行為與操作類型、返回信息、訪問時間信息、sql標準化處理。
29、第三方面,本申請示出了一種電子設備,所述電子設備包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為執(zhí)行如上述任一方面所述的方法。
30、第四方面,本申請示出了一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令由電子設備的處理器執(zhí)行時,使得電子設備能夠執(zhí)行如上述任一方面所述的方法。
31、第五方面,本申請示出了一種計算機程序產品,當所述計算機程序產品中的指令由電子設備的處理器執(zhí)行時,使得電子設備能夠執(zhí)行如上述任一方面所述的方法。
32、本申請?zhí)峁┑募夹g方案可以包括以下有益效果:
33、在數(shù)據(jù)庫安全防護中,接收并解析目標數(shù)據(jù)庫的數(shù)據(jù)流量包,得到sql操作行為及內容,進而基于行為信息對目標數(shù)據(jù)庫進行行為分析,判斷出sql操作是否為高危操作,且在判定為高危操作的情況下,對目標數(shù)據(jù)庫的高危操作進行阻斷,具體的,使用預定義的檢測規(guī)則,對協(xié)議解析結果得到的數(shù)據(jù)庫操作行為和內容進行檢測,過濾出高危操作并對高危操作進行阻斷和告警??梢姡旧暾垖?shù)據(jù)庫行為分析、阻斷數(shù)據(jù)庫高危操作,提高了數(shù)據(jù)庫系統(tǒng)的安全性。
1.一種數(shù)據(jù)庫安全防護方法,其特征在于,應用于數(shù)據(jù)庫安全防護服務器,所述方法包括:
2.根據(jù)權利要求1所述的數(shù)據(jù)庫安全防護方法,其特征在于,所述在身份認證信息通過驗證后,與提供行為檢測的目標數(shù)據(jù)庫建立連接的步驟,包括:
3.根據(jù)權利要求1所述的數(shù)據(jù)庫安全防護方法,其特征在于,所述采集所述目標數(shù)據(jù)庫的數(shù)據(jù)庫操作流量的步驟,包括:
4.根據(jù)權利要求3所述的數(shù)據(jù)庫安全防護方法,其特征在于,所述基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作的步驟之前,還包括:
5.根據(jù)權利要求4所述的數(shù)據(jù)庫安全防護方法,其特征在于,所述基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作的步驟,包括:
6.一種數(shù)據(jù)庫安全防護裝置,其特征在于,應用于數(shù)據(jù)庫安全防護服務器,所述裝置包括:
7.根據(jù)權利要求6所述的數(shù)據(jù)庫安全防護裝置,其特征在于,所述數(shù)據(jù)庫準入模塊,具體用于應用系統(tǒng)客戶端接收用戶輸入的攜帶用戶認證信息的數(shù)據(jù)庫連接請求,所述用戶認證信息至少包括用戶名和登錄密碼;若所述用戶認證信息通過驗證,則建立所述數(shù)據(jù)庫安全防護服務器與所述目標數(shù)據(jù)庫的數(shù)據(jù)庫會話連接。
8.根據(jù)權利要求6所述的數(shù)據(jù)庫安全防護裝置,其特征在于,所述操作流量采集模塊,具體用于所述數(shù)據(jù)庫安全防護服務器接收數(shù)據(jù)庫服務器使用流量探針以引流方式采集的數(shù)據(jù)庫操作流量。
9.根據(jù)權利要求8所述的數(shù)據(jù)庫安全防護裝置,其特征在于,所述裝置還包括流量報文重組模塊,用于在基于數(shù)據(jù)庫安全防護協(xié)議對所述數(shù)據(jù)庫操作流量進行協(xié)議解析,還原目標sql操作之前,對使用流量探針采集得到的數(shù)據(jù)庫操作流量進行流量報文重組,所述流量報文重組包括對采集得到的數(shù)據(jù)庫流量進行排序、去重、丟包處理。
10.根據(jù)權利要求9所述的數(shù)據(jù)庫安全防護裝置,其特征在于,所述sql操作解析模塊,具體用于對報文重組后目標數(shù)據(jù)庫對應的數(shù)據(jù)流量包基于網絡協(xié)議棧進行深度協(xié)議解析,直至解析到數(shù)據(jù)庫應用層協(xié)議為止,并提取得到行為信息,所述行為信息至少包括數(shù)據(jù)來源信息、數(shù)據(jù)庫信息、訪問行為與操作類型、返回信息、訪問時間信息、sql標準化處理。
11.一種電子設備,其特征在于,包括:處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執(zhí)行時實現(xiàn)如權利要求1至6中任一項所述的方法。
12.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權利要求1至6中任一項所述的方法。
13.一種計算機程序產品,其特征在于,當所述計算機程序產品中的指令由電子設備的處理器執(zhí)行時,使得電子設備能夠執(zhí)行如權利要求1至6中任一項所述的方法。