專利名稱:數(shù)據(jù)庫內核對象入侵檢測方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及信息安全技術領域。具體涉及數(shù)據(jù)庫系統(tǒng)的內核對象入侵篡改檢測, 特別是一種提高數(shù)據(jù)庫系統(tǒng)安全的新型掃描檢測方法及其系統(tǒng)。
背景技術:
當前的數(shù)據(jù)庫安全風險掃描軟件主要檢測數(shù)據(jù)庫系統(tǒng)配置風險和數(shù)據(jù)庫軟件本身的安全漏洞。數(shù)據(jù)庫配置風險就是各種權限的分配不當以及用戶管理不當、弱口令等,比如某個危險的存儲過程執(zhí)行權限分配給了公共角色,公共角色的成員就可能利用這個存儲過程來進行提權操作。這類風險可以通過用戶正確配置數(shù)據(jù)庫來消除。數(shù)據(jù)庫軟件本身的安全漏洞是指數(shù)據(jù)庫開發(fā)廠商在軟件開發(fā)過程中由于考慮不周使軟件產(chǎn)生了安全漏洞,例如各種緩沖區(qū)溢出漏洞、系統(tǒng)對象SQL注入漏洞。這類漏洞只能靠升級數(shù)據(jù)庫或給數(shù)據(jù)庫打補丁來解決。但是數(shù)據(jù)庫系統(tǒng)除了這兩種風險外,還存在另外一種安全風險,就是內核對象被篡改的風險。這類風險更隱蔽,危害更大。內核對象被篡改后,能攔截或更改各類用戶對數(shù)據(jù)庫的操作,比如用戶表里添加了一條記錄,可能往入侵者的地方發(fā)送一條相同的記錄,這樣入侵者就可以拿到用戶名和密碼等信息。入侵者也能新建一個管理員權限的用戶,而且數(shù)據(jù)庫管理員察覺不到該用戶的存在。還可以輕易的更改數(shù)據(jù)庫里的信息,也可以給用戶返回偽造的信息。常見的數(shù)據(jù)庫安全風險掃描軟件主要檢測數(shù)據(jù)庫系統(tǒng)配置風險和數(shù)據(jù)庫軟件本身的安全漏洞,無法檢測出內核對象被篡改。常用的檢測方法是通過SQL語句獲取數(shù)據(jù)庫的信息,然后根據(jù)返回信息判斷是否存在安全風險。例如通過查詢系統(tǒng)表,判斷某個對象的使用權限是否合理。通過檢查數(shù)據(jù)庫系統(tǒng)版本號,判斷是否存在數(shù)據(jù)庫軟件本身的安全漏洞。但這些檢測方法都無從判斷內核對象是否被篡改,因為它們沒有區(qū)別篡改與未篡改的標準。
發(fā)明內容
本發(fā)明要解決的技術問題是,克服現(xiàn)有技術中的不足,提供一種數(shù)據(jù)庫內核對象入侵檢測方法及系統(tǒng)。為解決技術問題,本發(fā)明的解決方案是提供一種數(shù)據(jù)庫內核對象入侵檢測方法,是在安裝數(shù)據(jù)庫軟件且初始運行時創(chuàng)建數(shù)據(jù)庫軟件的基線特征庫,在后續(xù)的運行期間對數(shù)據(jù)庫進行掃描和對比;所述創(chuàng)建基線特征庫,包括以下步驟(1)安裝數(shù)據(jù)庫軟件;(2)連接數(shù)據(jù)庫,通過SQL語句獲得版本信息、內核對象名稱、內核對象代碼、所有人信息;(3)將內核對象代碼通過加密算法生成數(shù)字水??;
(4)將版本信息、內核對象名稱、所有人信息和數(shù)字水印作為數(shù)據(jù)庫軟件的基本信息保存于基線特征庫中;所述對用戶數(shù)據(jù)庫進行掃描和對比,包括以下步驟(1)連接數(shù)據(jù)庫,通過掃描SQL語句獲得版本信息、內核對象名稱、內核對象代碼、 所有人信息;(2)將掃描得到的內核對象代碼通過同樣的加密算法生成數(shù)字水??;(3)根據(jù)獲得的版本信息從基線特征庫里讀取內核對象名稱和數(shù)字水印;(4)將掃描得到的內核對象名稱、數(shù)字水印與基線特征庫里的內核對象名稱、數(shù)字水印逐條對比,查找被篡改的內核對象;如果兩者不一致,則說明內核對象被篡改;(5)生成掃描報告,將被篡改的內核對象列表提供給用戶。本發(fā)明中,當所述數(shù)據(jù)庫軟件進行版本更新時,根據(jù)所述創(chuàng)建基線特征庫的步驟, 創(chuàng)建新版本數(shù)據(jù)庫的基線特征庫。由于數(shù)據(jù)庫有不同版本,內核可能會有變動,因此,要收集數(shù)據(jù)庫系統(tǒng)各個版本下的特征庫。本發(fā)明中,所述內核對象代碼包括系統(tǒng)視圖、系統(tǒng)存儲過程、系統(tǒng)函數(shù)、觸發(fā)器和系統(tǒng)包。 本發(fā)明中,所述生成數(shù)字水印的加密算法是MD5算法。進一步地,本發(fā)明還提供了一種實現(xiàn)前述方法的數(shù)據(jù)庫內核對象入侵檢測系統(tǒng), 該系統(tǒng)包括用于掃描數(shù)據(jù)庫以獲得版本信息、內核對象名稱、內核對象代碼和所有人信息并對內核對象代碼通過加密算法生成數(shù)字水印的掃描模塊;和用于將掃描得到的水印信息和所有人信息與基線特征庫中的所有人信息和水印信息進行對比并生成掃描報告的對比模塊;所述掃描模塊連接至數(shù)據(jù)庫,所述對比模塊與基線特征庫和掃描模塊相連。本發(fā)明的有益效果在于本發(fā)明基于基線特征庫,通過基線特征庫對用戶數(shù)據(jù)庫進行掃描檢測,能夠發(fā)現(xiàn)被篡改的數(shù)據(jù)庫內核對象,并提供詳細的掃描報告,使數(shù)據(jù)庫管理員能及時排除數(shù)據(jù)庫安
^^^ 急 ^^ ο
圖1是數(shù)據(jù)庫內核對象入侵檢測系統(tǒng)工作原理圖。圖2是數(shù)據(jù)庫內核對象入侵檢測系統(tǒng)創(chuàng)建基線特征庫的工作流程圖。圖3是數(shù)據(jù)庫內核對象入侵檢測系統(tǒng)掃描檢測過程工作流程圖。
具體實施例方式首先需要說明的是,本發(fā)明涉及數(shù)據(jù)庫技術,是計算機技術在信息安全技術領域的一種應用。在本發(fā)明的實現(xiàn)過程中,會涉及到多個軟件功能模塊的應用。申請人認為,如在仔細閱讀申請文件、準確理解本發(fā)明的實現(xiàn)原理和發(fā)明目的以后,在結合現(xiàn)有公知技術的情況下,本領域技術人員完全可以運用其掌握的軟件編程技能實現(xiàn)本發(fā)明。前述軟件功能模塊包括但不限于基線特征庫、掃描模塊、對比模塊等,凡本發(fā)明申請文件提及的均屬此范疇,申請人不再一一列舉。本發(fā)明的實現(xiàn)原理是
首先創(chuàng)建基線特征庫,然后是對運行使用期間的數(shù)據(jù)庫進行掃描和檢測?;€特征庫收集了不同版本的內核對象名稱和水印。掃描模塊負責掃描數(shù)據(jù)庫,并處理掃描到的內核對象信息;然后,由對比模塊根據(jù)基線特征庫進行對比,判斷被掃描的數(shù)據(jù)庫有沒有被篡改。如發(fā)現(xiàn)篡改,就在掃描報告里列出被篡改的內核對象清單,并提出修補建議。以下是數(shù)據(jù)庫內核對象入侵檢測系統(tǒng)典型的實施案例假設要對一個0RACLE10G數(shù)據(jù)庫進行內核對象篡改掃描檢測。首先要創(chuàng)建好0RACLE10G的基線特征庫,基線特征庫里包含數(shù)據(jù)庫版本信息、內核對象名稱、所有人信息,以及由內核對象代碼加密得到的數(shù)字水印四個字段。安裝數(shù)據(jù)庫內核對象入侵檢測系統(tǒng),輸入待掃描數(shù)據(jù)庫的IP、端口、SID、用戶名和密碼,連接數(shù)據(jù)庫。連接成功后執(zhí)行掃描和對比操作。掃描和對比操作的過程主要執(zhí)行以下步驟(1)通過掃描SQL語句獲得版本信息、內核對象名稱、內核對象代碼、所有人信息;(2)將掃描得到的內核對象代碼通過同樣的加密算法生成數(shù)字水?。?3)根據(jù)獲得的版本信息從基線特征庫里讀取內核對象名稱和數(shù)字水?。?4)將掃描得到的內核對象名稱、數(shù)字水印與基線特征庫里的內核對象名稱、數(shù)字水印逐條對比,查找被篡改的內核對象;如果兩者不一致,則說明內核對象被篡改;(5)生成掃描報告,將被篡改的內核對象列表提供給用戶。掃描和對比完成后,根據(jù)掃描報告就可以發(fā)現(xiàn)數(shù)據(jù)庫哪些內核對象被篡改,數(shù)據(jù)庫管理員根據(jù)被篡改的內核對象列表修復數(shù)據(jù)庫系統(tǒng)。
權利要求
1.一種數(shù)據(jù)庫內核對象入侵檢測方法,其特征在于,在安裝數(shù)據(jù)庫軟件且初始運行時創(chuàng)建數(shù)據(jù)庫軟件的基線特征庫,在后續(xù)的運行期間對數(shù)據(jù)庫進行掃描和對比;所述創(chuàng)建基線特征庫,包括以下步驟(1)安裝數(shù)據(jù)庫軟件;(2)連接數(shù)據(jù)庫,通過SQL語句獲得版本信息、內核對象名稱、內核對象代碼、所有人信息;(3)將內核對象代碼通過加密算法生成數(shù)字水?。?4)將版本信息、內核對象名稱、所有人信息和數(shù)字水印作為數(shù)據(jù)庫軟件的基本信息保存于基線特征庫中;所述對用戶數(shù)據(jù)庫進行掃描和對比,包括以下步驟(1)連接數(shù)據(jù)庫,通過掃描SQL語句獲得版本信息、內核對象名稱、內核對象代碼、所有人信息;(2)將掃描得到的內核對象代碼通過同樣的加密算法生成數(shù)字水印;(3)根據(jù)獲得的版本信息從基線特征庫里讀取內核對象名稱和數(shù)字水?。?4)將掃描得到的內核對象名稱、數(shù)字水印與基線特征庫里的內核對象名稱、數(shù)字水印逐條對比,查找被篡改的內核對象;如果兩者不一致,則說明內核對象被篡改;(5)生成掃描報告,將被篡改的內核對象列表提供給用戶。
2.根據(jù)權利要求1所述的方法,其特征在于,當所述數(shù)據(jù)庫軟件進行版本更新時,根據(jù)所述創(chuàng)建基線特征庫的步驟,創(chuàng)建新版本數(shù)據(jù)庫的基線特征庫。
3.根據(jù)權利要求1所述的方法,其特征在于,所述內核對象代碼包括系統(tǒng)視圖、系統(tǒng)存儲過程、系統(tǒng)函數(shù)、觸發(fā)器和系統(tǒng)包。
4.根據(jù)權利要求1所述的方法,其特征在于,所述生成數(shù)字水印的加密算法是MD5算法。
5.一種實現(xiàn)權利要求1所述方法的數(shù)據(jù)庫內核對象入侵檢測系統(tǒng),其特征在于,該系統(tǒng)包括用于掃描數(shù)據(jù)庫以獲得版本信息、內核對象名稱、內核對象代碼和所有人信息并對內核對象代碼通過加密算法生成數(shù)字水印的掃描模塊;和用于將掃描得到的水印信息和所有人信息與基線特征庫中的所有人信息和水印信息進行對比并生成掃描報告的對比模塊;所述掃描模塊連接至數(shù)據(jù)庫,所述對比模塊與基線特征庫和掃描模塊相連。
全文摘要
本發(fā)明涉及信息安全技術領域,旨在提供一種數(shù)據(jù)庫內核對象入侵檢測方法及系統(tǒng)。該方法是根據(jù)數(shù)據(jù)庫在各種環(huán)境下的初始內核對象生成不同的基線特征庫,掃描時通過基線特征庫判斷當前數(shù)據(jù)庫系統(tǒng)內核是否遭到入侵篡改,并給出相應的掃描報告,提醒數(shù)據(jù)庫管理員及時修復被入侵篡改的數(shù)據(jù)庫系統(tǒng)。該系統(tǒng)包括掃描模塊和對比模塊;掃描模塊連接至數(shù)據(jù)庫,對比模塊與基線特征庫和掃描模塊相連。本發(fā)明基于基線特征庫,通過基線特征庫對用戶數(shù)據(jù)庫進行掃描檢測,能夠發(fā)現(xiàn)被篡改的數(shù)據(jù)庫內核對象,并提供詳細的掃描報告,使數(shù)據(jù)庫管理員能及時排除數(shù)據(jù)庫安全隱患。
文檔編號G06F21/00GK102521536SQ20111040102
公開日2012年6月27日 申請日期2011年12月6日 優(yōu)先權日2011年12月6日
發(fā)明者劉海衛(wèi), 王寧初, 范淵 申請人:杭州安恒信息技術有限公司