時間:2022-11-15 06:30:01 | 來源:信息時代
時間:2022-11-15 06:30:01 來源:信息時代
數(shù)據(jù)庫安全測試 : 對數(shù)據(jù)庫管理系統(tǒng)安全性進行的檢測,以發(fā)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)存在的安全漏洞,并提出相關(guān)安全建議。通過安全測試,數(shù)據(jù)庫管理員能夠清楚地知道系統(tǒng)存在的安全漏洞和安全隱患,并能夠根據(jù)安全建議對系統(tǒng)進行改進和加固,從而極大提高數(shù)據(jù)庫管理系統(tǒng)的安全性。
1.數(shù)據(jù)庫安全測試的類型
數(shù)據(jù)庫安全測試的類型(type of database security test)根據(jù)安全測試方式可分為兩類:一類是從外到內(nèi)的測試; 另一類是從內(nèi)到外的測試。
從外到內(nèi)的安全測試是一種滲透性測試,它模擬網(wǎng)絡(luò)中的黑客,對你的數(shù)據(jù)庫管理系統(tǒng)進行各種攻擊嘗試,以取得對數(shù)據(jù)庫管理系統(tǒng)的訪問權(quán)限,從而進行各種未授權(quán)操作。如黑客利用系統(tǒng)存在的緩沖區(qū)溢出的漏洞,獲得了數(shù)據(jù)庫管理系統(tǒng)的管理員權(quán)限,從而完全控制了整個系統(tǒng)。從外到內(nèi)的安全測試,可能會對系統(tǒng)造成破壞性后果,如用戶鎖定、系統(tǒng)負(fù)載增加、甚至系統(tǒng)崩潰等,所以在安全測試時必須做好充分的準(zhǔn)備,充分考慮可能出現(xiàn)的各種風(fēng)險。
從內(nèi)到外的安全測試是以合法的授權(quán)用戶身份(一般為系統(tǒng)管理員),登錄到系統(tǒng)中,對系統(tǒng)進行各項安全配置進行檢查,以發(fā)現(xiàn)系統(tǒng)中存在的各項安全漏洞。目前商用的數(shù)據(jù)庫管理系統(tǒng),都提供了相當(dāng)多的安全措施,以保證系統(tǒng)的安全運行。然而,由于系統(tǒng)的龐大以及管理員的疏忽,許多安全措施沒有被正確地啟用,或者沒有被安全地配置,從而造成系統(tǒng)整體安全性的下降。從內(nèi)到外的安全測試,能夠自動對系統(tǒng)進行細致、全面地分析,發(fā)現(xiàn)系統(tǒng)在安全配置方面的漏洞和錯誤。
數(shù)據(jù)庫安全測試,一般由四部分組成: 數(shù)據(jù)庫身份鑒別機制安全測試、數(shù)據(jù)庫用戶授權(quán)機制安全測試、數(shù)據(jù)庫審計機制安全測試、數(shù)據(jù)庫數(shù)據(jù)安全性測試。
2.數(shù)據(jù)庫身份鑒別機制安全測試
數(shù)據(jù)庫身份鑒別機制安全測試(database authentication security test)是測試數(shù)據(jù)庫管理系統(tǒng)在身份鑒別機制方面是否存在安全漏洞,如用戶口令強度不夠,口令有效期過長等。
一個相對比較安全的口令鑒別機制,應(yīng)該包含以下的安全特性:
(1) 口令的長度:對于一個口令來說,口令越長,破解的可能性就越小,就越安全。然而口令越長,就越不方便用戶記憶。在安全性和方便性之間折中一下,一般要求口令不能少于6位,在安全性要求比較高的地方,一般要求口令不能少于8位。
(2) 口令的復(fù)雜度:口令的復(fù)雜度是口令安全性的一個重要因素。用戶為了方便記憶,一般喜歡使用容易記憶的數(shù)字、單詞或者自己的用戶名作為自己的口令。這樣的口令非常脆弱,如果進行暴力猜測(brute force)攻擊,一般僅僅只需要幾分鐘就可以猜測出口令。安全口令的要求一般如下: ①口令不能全部是數(shù)字; ②口令不能包含用戶名; ③口令不能包含字典中的單詞; ④口令中最好是數(shù)字、字母以及特殊字符的組合。
(3) 口令的最長使用期限: 口令使用得越久,被泄漏和猜測的可能性就越大。所以最好給口令設(shè)定一個最長使用期限,用戶在口令到期后必須修改自己的口令,以保證口令的安全。一般情況下,口令的最長使用期限設(shè)置為3個月。
(4)鑒別失敗的鎖定機制:如果某個用戶鑒別失敗的次數(shù)達到預(yù)先設(shè)定的值時,這個用戶將被系統(tǒng)鎖定,即使輸入正確的口令也無法登錄。鑒別失敗的鎖定機制,將防止攻擊者無限制地猜測口令,能夠很好地抵御暴力猜測攻擊。
3.數(shù)據(jù)庫用戶授權(quán)機制安全測試
數(shù)據(jù)庫用戶授權(quán)機制安全測試(database authorization security test)是檢查數(shù)據(jù)庫管理系統(tǒng)中,是否存在危及系統(tǒng)安全的權(quán)限分配漏洞。檢查漏洞的方法隨系統(tǒng)而異。
用戶授權(quán)機制是解決“你能干什么? ”的問題。用戶的職責(zé)不同,擁有的權(quán)限也不同。安全管理員要為每一個用戶授予起職責(zé)范圍內(nèi)的各種權(quán)限,然而由于安全管理員的疏忽和錯誤,某些用戶可能會擁有超越其職責(zé)范圍內(nèi)的權(quán)限,從而他能夠進行非授權(quán)范圍內(nèi)的操作,這就有可能會對整個系統(tǒng)的安全構(gòu)成威脅。
4.數(shù)據(jù)庫審計機制安全測試
數(shù)據(jù)庫審計機制安全測試(database audit security test)是用于發(fā)現(xiàn)系統(tǒng)審計機制的安全漏洞。
安全審計機制是解決“你干了些什么? ”的問題。安全審計機制是數(shù)據(jù)庫管理系統(tǒng)安全運行的重要組成部分。數(shù)據(jù)庫管理系統(tǒng)的安全審計機制,一般有以下四種類型:
(1)針對SQL語句的審計: 這類審計是將設(shè)定的SQL語句作為審計對象,一旦用戶執(zhí)行了相關(guān)的SQL語句,其操作將被記錄下來。如: create/drop table、create/drop database等語句,這些SQL語句將對數(shù)據(jù)庫管理系統(tǒng)造成比較大的影響,必須將此類操作記錄下來。
(2)針對用戶的審計:這類審計是將某個特定用戶的所有操作都記錄下來。
(3)針對對象的審計:這類審計是將對某個特定對象的所有操作都記錄下來。
(4)針對系統(tǒng)資源的審計:這類審計將監(jiān)視分配給每個用戶的資源數(shù)量。
5. 數(shù)據(jù)庫數(shù)據(jù)安全性測試
數(shù)據(jù)庫數(shù)據(jù)安全性測試(database data security test)是檢查數(shù)據(jù)庫管理系統(tǒng)中是否存在數(shù)據(jù)安全性方面的安全漏洞,如系統(tǒng)是否存在安全漏洞,是否安裝了最新補丁程序,備份設(shè)置是否正確等。
由于數(shù)據(jù)庫管理系統(tǒng)軟件本身,存在著各種各樣的缺陷,有些缺陷和系統(tǒng)的安全無關(guān),有些卻會嚴(yán)重影響系統(tǒng)的安全。最為常見、對系統(tǒng)安全影響最大的缺陷,是軟件的緩沖區(qū)溢出缺陷。緩沖區(qū)溢出是指程序往緩沖區(qū)內(nèi)填入了超出緩沖區(qū)容量的數(shù)據(jù),從而引起程序的執(zhí)行路徑被改變。一個有經(jīng)驗的黑客,能夠根據(jù)數(shù)據(jù)庫管理系統(tǒng)的軟件版本,清楚地知道系統(tǒng)存在的各種安全漏洞,然后利用這些漏洞,輕而易舉地獲取系統(tǒng)管理員的權(quán)限,這將對整個數(shù)據(jù)庫數(shù)據(jù)的安全,造成嚴(yán)重?fù)p害。
軟件廠商根據(jù)所發(fā)現(xiàn)的軟件缺陷,也不斷推出新的補丁程序,以堵住系統(tǒng)的安全漏洞。因而數(shù)據(jù)庫管理系統(tǒng)的補丁安裝情況,將極大地影響系統(tǒng)的安全性。
數(shù)據(jù)庫備份機制是保證數(shù)據(jù)安全的重要措施。然而,備份機制是否啟用,備份配置是否正確,這將嚴(yán)重影響數(shù)據(jù)庫中數(shù)據(jù)的安全。
6.數(shù)據(jù)庫安全測試工具
目前的數(shù)據(jù)庫安全測試工具(database security test tools),既有昂貴的商業(yè)軟件,又有免費的軟件。一般來說,商業(yè)軟件的測試范圍更為全面,在技術(shù)支持、軟件升級和補丁維護方面占有絕對優(yōu)勢,市場占有率比較高的商業(yè)軟件有:ISS公司的“Database Scanner”(2005年1月終止銷售)、Application Security公司的“AppDetective”。
免費軟件一般只針對某個數(shù)據(jù)庫管理系統(tǒng),或者某個安全特性,如微軟公司專門針對SQL Server數(shù)據(jù)庫的基線安全性分析器(MBSA),專門針對Oracle數(shù)據(jù)庫用戶口令脆弱性的Checkpwd等。
(1) AppDetective: 由Application Security公司開發(fā),支持Microsoft SQL Server、Oracle、Sybase Adaptive Server、IBM DB2、Lotus Domino、MySQL數(shù)據(jù)庫等。
AppDetective首先在遠程對設(shè)定的服務(wù)器進行掃描,自動識別出服務(wù)器的數(shù)據(jù)庫管理系統(tǒng)的類型,然后選擇相應(yīng)的安全策略,對目標(biāo)數(shù)據(jù)庫管理系統(tǒng)進行身份鑒別機制、用戶授權(quán)機制、審計機制、數(shù)據(jù)安全性等方面的安全測試。
測試結(jié)束后,AppDetective能夠自動生成各種類型的測試報告。在安全漏洞詳細報告中,對每一個安全漏洞,包含漏洞名稱、漏洞的風(fēng)險等級、漏洞簡單描述、漏洞作用的產(chǎn)品類型和版本號、漏洞的相關(guān)CVE(common vulnerabilities and exposures)號、漏洞參考目錄、漏洞摘要、漏洞詳細說明、漏洞修補建議等內(nèi)容。
有經(jīng)驗的管理員能夠根據(jù)給出來的漏洞詳細信息,對系統(tǒng)進行針對性的安全升級和加固,消除安全漏洞帶給系統(tǒng)的不利影響,提高整個系統(tǒng)的安全性。
(2) MBSA:是Microsoft Baseline Security Analyzer(Microsoft基線安全性分析器)的縮寫,是Microsoft公司免費提供的,面向Windows操作系統(tǒng)的安全測試工具,能夠掃描操作系統(tǒng)、IIS服務(wù)器(internet information services)、SQL Server服務(wù)器以及其他Windows應(yīng)用程序,以發(fā)現(xiàn)系統(tǒng)在配置方面的錯誤和是否安裝了必要的安全補丁。
MBSA可以在本地運行,也可以通過網(wǎng)絡(luò)運行,能夠針對SQL Server問題進行檢測: 授予sysadmin以外的其他角色創(chuàng)建CmdExec作業(yè)的權(quán)利;沒有在域控制器的系統(tǒng)中運行SQL Server; Sa的口令和SQL服務(wù)賬戶的口令暴露在文本文件中; 沒有正確設(shè)置SQL Server的安裝目錄權(quán)限; 沒有關(guān)閉Guest賬戶;每個用戶都能夠讀取SQL Server注冊表值;SQL Server服務(wù)賬戶的不正確配置;用戶使用了弱口令;脆弱的身份驗證模式; 授予管理員組過多的權(quán)利; 數(shù)據(jù)庫管理員過多; 沒有進行最新的安全升級。
(3) Checkpwd:是由Red-Database-Security公司開發(fā)的,對Oracle數(shù)據(jù)庫進行口令字典攻擊的免費工具。它能夠幫助管理員發(fā)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)中,是否存在弱口令或者缺省口令。它的工作原理是:從數(shù)據(jù)庫中讀取用戶口令的HASH值,并且與字典計算出來的HASH值進行比對,如果HASH值一致,說明用戶口令就是字典中的相應(yīng)詞。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。