資料庫系統安全的概念
資料庫系統安全的概念
資料庫系統安全(DataBase System Security)是指為資料庫系統採取的安全保護措施,防止系統軟體和其中數據不遭到破壞、更改和泄漏。資料庫安全(DataBase Security)是指採取各種安全措施對資料庫及其相關檔案和數據進行保護。資料庫系統的重要指標之一是確保系統安全,以各種防範措施防止非授權使用資料庫,主要通過DBMS實現的。資料庫系統中一般採用用戶標識和鑑別、存取控制、視圖以及密碼存儲等技術進行安全控制。
資料庫安全的核心和關鍵是其數據安全。數據安全是指以保護措施確保數據的完整性、保密性、可用性、可控性和可審查性。由於資料庫存儲著大量的重要信息和機密數據,而且在資料庫系統中大量數據集中存放,供多用戶共享,因此,必須加強對資料庫訪問的控制和數據安全防護。
資料庫系統安全的內涵
從系統與數據的關係上, 也可將資料庫安全分為資料庫的系統安全和數據安全。資料庫系統安全主要利用在系統級控制資料庫的存取和使用的機制,包含:
(1) 系統的安全設定及管理,包括法律法規、政策制度、實體安全等;
(2) 資料庫的訪問控制和許可權管理;
(3) 用戶的資源限制,包括訪問、使用、存取、維護與管理等;
(4) 系統運行安全及用戶可執行的系統操作;
(5) 資料庫審計有效性;
(6) 用戶對象可用的磁碟空間及數量。
數據安全是在對象級控制資料庫的訪問、存取、加密、使用、應急處理和審計等機制,包括用戶可存取指定的模式對象及在對象上允許作具體操作類型等。
資料庫系統安全的層次與結構
資料庫系統安全的層次分布
一般資料庫系統安全涉及5個層次。(1)用戶層:側重用戶許可權管理及身份認證等,防範非授權用戶以各種方式對資料庫及數據的非法訪問;
(2)物理層:系統最外層最容易受到攻擊和破壞,主要側重保護計算機網路系統、網路鏈路及其網路節點的實體安全;
(3)網路層:所有網路資料庫系統都允許通過網路進行遠程訪問,網路層安全性和物理層安全性一樣極為重要;
(4)作業系統層:作業系統在資料庫系統中,與DBMS互動並協助控制管理資料庫。作業系統安全漏洞和隱患將成為對資料庫進行非授權訪問的手段;
(5)資料庫系統層:資料庫存儲著重要程度和敏感程度不同的各種數據,並為擁有不同授權的用戶所共享,資料庫系統必須採取授許可權制、訪問控制、加密和審計等安全措施。
為了確保資料庫安全,必須在所有層次上進行安全性保護措施。若較低層次上安全性存在缺陷,則嚴格的高層安全性措施也可能被繞過而出現安全問題。
可信DBMS體系結構
可信DBMS體系結構分為兩類:TCB子集DBMS體系和可信主體DBMS體系。1)TCB子集DBMS體系結構
執行安全機制的可信計算基(TCB)子集DBMS利用位於DBMS外部的可信計算基(常為可信作業系統或可信網路),執行對資料庫客體的強制訪問控制。該體系將多級資料庫客體按安全屬性分解為單級斷片(屬性相同的資料庫客體屬同一斷片),分別進行物理隔離存入作業系統客體中。每個作業系統客體的安全屬性就是存儲於其中的資料庫客體的安全屬性。之後,TCB對此隔離的單級客體實施強制存取控制(MAC)。
該體系的最簡單方案是將多級資料庫分解為單級元素,安全屬性相同的元素存在一個單級作業系統客體中。使用時,先初始化一個運行於用戶安全級的DBMS進程,通過作業系統實施的強制訪問控制策略,DBMS僅訪問不超過該級別的客體。之後,DBMS從同一個關係中將元素連線起來,重構成多級元組,返回給用戶,如圖7-2所示。
2)可信主體DBMS體系結構
該體系結構與上述結構極不相同,自身執行強制訪問控制。按邏輯結構分解多級資料庫,並存儲在幾個單級作業系統客體中。而每個單級作業系統客體中可同時存儲多種級別的資料庫客體(如資料庫、關係、視圖、元組或元素),並與其中最高級別資料庫客體的敏感性級別相同。該體系結構的一種簡單方案如圖7-3所示,DBMS軟體仍在可信作業系統上運行,所有對資料庫的訪問都須經由可信DBMS。
圖1 TCB子集DBMS體系結構
圖2 可信主體DBMS體系結構