數據庫系統安全性思考論文

時間:2022-03-30 03:28:00

導語:數據庫系統安全性思考論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

數據庫系統安全性思考論文

數據庫管理系統(DBMS)是一個非常復雜的系統,檢測和評估數據庫的安全性,涉及到眾多的參數、設置、選項和數據庫本身的方方面面。安全評測可以采用專家評測或運行評測系統兩種方式,二者各有所長。一方面,專家評測比評測系統具有更強的靈活性,可以充分發揮專家的智能和經驗。另一方面,評測系統更適用于數據庫系統定期的安全評測。專家評估只是針對被評估時的狀態,但是系統是在不斷變化的,如果系統狀態發生了變化(比如添加了一些新用戶,修改了某些用戶的權限),也許會出現新的安全漏洞。定期聘請專家評估的成本比較高,安全評測系統則可以在系統狀態發生變化后重新進行評測。

一、自主訪問控制模型

自主訪問控制模型是基于用戶身份的訪問和控制。在自主型訪問安全模型中,每個用戶都要被分配一定的權限,例如用戶或者是被允許讀取,或是被允許寫入。也就是說,在自主型訪問安全模型中,對資源對象的“擁有”是用戶最核心的權限屬性。當某個用戶要求訪問某個數據庫資源時,系統檢查該用戶對該資源的所有權限,或衍生出來的訪問權限,如果通過,則允許該訪問在許可的方式下進行,如果不能通過,則拒絕繼續訪問系統。在自主型安全模型中,擁有某種權限的用戶可以自主地將其所擁有的權限傳授給其他任意在系統中登錄的用戶,它是該模型存在的致命缺點。自主訪問安全模型的典型代表是存取矩陣。DAC模型可對用戶提供靈活和易行的數據訪問方式,但安全性相對較低。在該模型中,盡管訪問控制只在授權后才能得到,但攻擊者也很容易越過訪問的授權限制。如當一個用戶有權對某數據進行讀操作時,它可以把這個權利傳遞給無權讀此數據的人,而數據的所有者并不知道這一切。一旦某個信息為用戶所獲得,那么該模型策略對信息的使用是不加任何限制的。也就是說,在該模型中,盡管有自主型控制,對于非授權的人來說,非法讀取數據是可能的,這樣一來,系統就很容易受到類似特洛伊木馬的攻擊。特洛伊木馬可以改變系統的保護狀態,使系統安全受到威脅。

二、改造數據庫實現數據庫安全

(一)采用對數據庫驅動程序進行安全擴展的方法

在數據庫存取接口上,通過擴展標準的SQL語句,透明地實現對數據庫中敏感信息的加密和完整性保護,對關系數據庫的操作可以采用SQLDDL和SQLDML語言,通過ODBC、.IDBC、BDE等數據庫驅動程序實現對數據庫中表格、記錄或字段的存取控制;并對用戶操作進行日志記錄和審計,從內部增強關系數據庫的存儲和存取安全。這種方式具有通用性,并且不會對數據庫系統的性能造成大的影響。該模型在常規數據庫驅動程序中增加密鑰管理、審計日志管理、完整性驗證和數據加解密等安全擴展模塊,通過附加的安全屬性如數據庫存儲加密密鑰和審計日志等與安全相關的信息來加強數據庫的安全;同時,增加數據庫主密鑰設置、更新和加密算法設置等安全屬性來提高SQL語句的安全性。

(二)采用基于視圖的數據庫安全模型

SQLServer通用安全模型的特點是將權限賦予表,用戶要查詢數據、更改數據或對數據庫進行其它操作時,直接存取表,用戶只要有對表的Select權限,就可以檢索表中所有的信息。但是,現實世界中大多數的應用都要求對信息本身劃分為不同的保密級別,如軍隊中對信息的分類就不能簡單地劃分為公開和保密2類,而是需要更加細致的分類,可能對同一記錄內的不同字段都要劃分為不同的保密級別。甚至同一字段的不同值之間都要求劃分為不同的保密級別。多級保密系統中,對不同數據項賦予不同的保密級別。然后根據數據項的密級,給存取本數據項的操作賦予不同的級別。SQLServer通用安全模式顯然不能將不同的字段和同一字段的不同值分為不同的保密級別。這是因為用戶直接存取存儲數據的數據庫表。采用基于視圖的數據庫安全模型。這個問題就可迎刃而解。

利用視圖限制對表的存取和操作:通過限制表中的某些列來保護數據;限制表中的某些行來保護數據。視圖和權限創建一個視圖后,必須給視圖授予對象權限,用戶才能存取和操作視圖中的數據,不必給作為視圖表的基礎表授予權限。

三、應用解析

應用解析是數據庫安全中間件(DBSAPI)的重要組成部分,包括語法分析、詞法分析、加密字典信息的檢索、訪問控制字典信息的檢索、SQL命令的加密變換等,目前語法分析并不能識別所有類型的SQL命令,可以不考慮那些與加脫密無關的SQL命令,遇到不認識的SQL命令,則直接提交給DBMS的語法詞法分析.基于現在對于數據庫信息已做特殊處理,SQL請求返回的信息已經不是其本身的價值方式,同時為了更好地實現業務層將用戶和數據訪問的復雜性相隔離的目的,將用戶界面層的所有數據訪問請求提取出來,放到數據訪問應用解析模塊中.這不但將用戶與數據訪問完全隔離,而且大大改善了對數據訪問操作的查詢和管理效率.當用戶界面層從客戶端向數據庫層發出對數據庫的請求時,首先對應的SQL請求進行語法詞法分析,接著檢索訪問控制和加密字典,根據訪問控制和加密定義需求進行相關操作,然后提交給DBMS作數據提取處理,最后將結果返回到用戶界面層,數據訪問過程中實時出現的錯誤也返回用戶界面層.