摘要:越來越多的企業(大型或中小型企業)都建立起自己的數據庫服務器和數據中心,然而,隨之而來也產生了許多數據安全問題。如何有效地保證和加強數據庫系統的安全性,實現數據的機密性、完整性和有效性,已經成為當前現代企業亟待解決的熱門課題。主要介紹了數據庫系統的基本安全框架以及各種常見的安全機制并分析了各自的缺陷,然后提出了對新的數據庫系統安全技術的需求。
關鍵詞:企業;數據庫系統;安全機制
中圖分類號:F27文獻標志碼:A文章編號:1673-291X(2011)10-0032-02
前言
隨著計算機的普及、尤其是在企業生產和科研領域中的廣泛使用,越來越多的信息和數據以各種各樣的形式保存在計算機中。數據庫系統作為數據存儲和管理的主要方式,也隨之得到了十分廣泛的應用。大多數企業、組織電子數據都保存在各種數據庫中。他們用這些數據庫保存一些個人資料,比如員工薪水、醫療記錄、員工個人資料等等。數據庫服務器還掌握著敏感的金融數據,包括交易記錄、商業事務和賬號數據,戰略上的或者專業的信息,比如專利和工程數據,甚至市場計劃等等應該保護起來防止非法者獲取的資料。數據庫服務器還保存著一些商業伙伴的資料。
一、數據庫系統安全的含義和目標
數據庫系統一般可以理解成兩個部分:一部分是數據庫,它按照一定的方式存取數據;另一部分是數據庫管理系統(DBMS),它為用戶及應用程序提供數據訪問,并具有對數據庫進行管理和維護等多種功能。
數據庫系統安全包含兩層含義:第一層是指系統運行安全,包括:(1)硬件運行安全;(2)操作系統安全;(3)災害、故障恢復;(4)死鎖的避免和解除;(5)物理控制安全,如機房加鎖等。第二層是指系統信息安全,包括:(1) 用戶口令字鑒別;(2)用戶存取權限控制;(3)數據存取權限、方式控制;(4)審計跟蹤;(5)數據加密。
數據庫系統安全需要實現的三個目標是:(1)完整性:只允許授權用戶修改數據;(2)可用性:保證授權用戶和應用程序可以獲取數據;(3)機密性:防止數據發生非授權泄漏。
二、數據庫系統基本安全框架
數據庫系統的安全除了依賴于自身的安全機制外,還與外部網絡環境、應用環境、從業人員的素質等因素密切相關。因此從廣義上講,數據庫系統的安全框架可以劃分為三個層次:(1)網絡系統層;(2)操作系統層;(3)數據庫管理系統層。
這三個層次構成了數據庫系統的安全體系,它們與數據安全的關系是逐步密切的,防范的重要性也逐層加強,從外到內、由表及里的保證數據的安全。下面簡單介紹一下安全框架中的這三個層次。(1)網絡系統層。隨著 Inetnet應用的普及深入,越來越多的公司將其核心業務向互聯網轉移,各種基于網絡的數據庫應用系統紛紛涌現出來,面向網絡用戶提供各種信息服務??梢哉f網絡系統是數據庫應用的外部環境和基礎,數據庫系統要發揮其強大作用離不開網絡系統的支持。數據庫系統的用戶(如異地用戶、分布式用戶)也要通過網絡才能訪問數據庫中的數據。因此,從廣義上講,數據庫系統的安全首先依賴于網絡系統的安全。由于網絡的廣泛分布性和網絡用戶的復雜多樣性,使得網絡本身存在很大的危險性,例如惡意的攻擊、竊取、病毒傳播等。目前主要通過防火墻、入侵檢測以及協作式入侵檢測等技術手段來加強網絡系統層次的安全防范。(2)操作系統層。操作系統是大型數據庫系統的運行平臺,為數據庫系統提供一定程度的安全保護。目前常見的操作系統為Windows、Unix和Linux。主要安全技術包括操作系統安全策略、安全管理策略、數據安全等方面。操作系統安全策略用于配置本地計算機的安全設置,包括密碼策略、賬戶鎖定策略、審核策略、IP安全策略、用戶權利指派、加密數據的恢復代理以及其他安全選項。具體可以體現在用戶賬戶、口令、訪問權限、審計等方面。1)用戶賬戶:用戶訪問系統的“身份證”,只有合法用戶才有賬戶。2)口令:用戶的口令為用戶訪問系統提供一道驗證。3)訪問權限:規定用戶的權限。4)審計:對用戶的行為進行跟蹤和記錄,便于系統管理員分析系統的訪問情況以及事后的追查使用 。安全管理策略是指網絡管理員對系統實施安全管理所采取的方法及策略。針對不同的操作系統、網絡環境需要采取的安全管理策略一般也不盡相同,其核心是保證服務器的安全和為各類用戶分配適當的權限。數據庫應用程序通常都同操作系統的最高管理員密切相關。比如oarcle、Sybase、MsSQLServer數據庫系統都有下面這些特點:用戶賬號和密碼、認證系統、授權模塊和數據對象的許可控制、內置命令(存儲過程)、特定的腳本和程序語言(通常派生自SQL)、中間件、網絡協議、補丁和服務包、數據庫管理和開發工具。許多數據庫管理員都是全日制工作來管理這些復雜的系統。但是,安全漏洞和不當的配置通常會造成嚴重的后果,而且都難以發現。(3)數據庫管理系統層。當前有一種錯誤的觀點,認為只要把網絡和操作系統的安全做好了,那么所有的應用程序也就安全了。大多數關系數據庫都是“端口”型的。任何人都能夠用分析工具試圖連接到數據庫上,從而繞過操作系統的安全機制。比如:oracle7和oracle8使用的端口是1521和1526。許多數據庫系統也有公開的默認賬號和默認密碼。這兩個特性大大地危害著數據庫的安全。
另外,由于數據庫系統在操作系統下都是以文件形式進行管理的,入侵者可以直接利用操作系統的漏洞竊取數據庫文件,或者直接利用某些工具來非法偽造、篡改數據庫文件內容,這種隱患一般數據庫用戶難以察覺。
三、常見的數據庫系統安全機制及缺陷
針對數據庫系統安全的三個層次,常見的數據庫系統安全機制主要有如下三種:(1)依賴操作系統的訪問控制功能實現。目前的主流操作系統都具備完善的用戶認證機制。對應于每一個用戶,在操作系統中相應的有一個訪問控制列表(ACL)。在訪問控制列表中設定了該用戶的訪問權限。每個登錄系統的用戶必須遵守其在訪問控制列表中設置的權限來訪問系統資源。這樣數據庫擁有者或者管理者就可以通過設置用戶訪問權限來控制用戶對數據庫文件的讀取、寫入、復制及刪除等操作。(2)采用用戶身份認證實現。常見的身份認證都是在用戶試圖打開數據庫時要求用戶輸入用戶密碼。這種安全技術的實現思想是數據庫管理軟件打開文件時校驗用戶輸入密碼是否與數據庫文件中保存的密碼數據一致,如果不一致則拒絕打開數據庫文件。通常是在一個配置文件中保存用戶名及密碼。密碼一般是采用某種加密方式存儲的,以防止因為配置文件被非法訪問而造成密碼泄漏。(3)通過對數據庫加密來實現。這種安全機制的設計思想是,利用密碼學方法對保存在數據庫中的數據進行加密處理,以增強數據庫中保存的原始數據的安全性。
下面簡要地分析一下這三種安全機制的缺陷。第一種安全技術的不足之處是,首先,數據庫文件的安全完全依賴于操作系統,當系統配置不當時,安全根本得不到保證;其次,當數據庫文件在目錄或計算機間移動時,這種保護就會失效。所以,這種安全技術的最大弊病在于要靠外部環境實現安全,一旦外部環境發生變化,安全性便無法保障。第二種安全技術的主要不足是,數據庫文件的安全完全依賴于基于密碼校驗的身份認證。如果用戶以正常方式(采用數據庫管理軟件)去打開數據庫文件時,身份認證無疑是個不錯的安全措施。但用戶以二進制文件方式打開數據庫文件時,身份認證過程會被輕易跳過。所以,這種安全技術的最大弊病在于要靠數據庫管理軟件實現安全,一旦非法用戶采用別的方法察看數據庫文件內容時,安全性就無法保障。第三種安全技術的局限也很明顯。數據庫文件一般都很大,因此,采用這種技術進行加密和解密的時間代價很大。如果用戶每次打開和關閉數據庫時,數據庫文件都要花費幾分鐘的時間來解密和加密,那么數據庫用戶是無法接受的。
四、數據庫系統安全技術的新需求及實現
新的數據庫系統安全技術應該具備以下特點。(1)安全性與操作系統平臺無關。數據庫文件無論被移動到哪臺計算機或哪個目錄,它的安全防護依然存在。即無論何時何地,數據庫文件都有足夠的安全性。(2)采用先進的加密技術。可以采用 DES、密碼反饋等先進的加密技術來提高安全性。在對數據庫文件密碼、數據庫字段說明部分加密時要把它們作為一個整體進行加密。(3)加密內容的選擇。對于有大量數據的數據庫文件進行完全加密是不必要的??尚械霓k法是加密數據庫文件中的文件特征說明部分和數據庫字段說明部分,這樣,即使非法用戶獲得了數據庫文件,也很難從中找到有用的內容。(4)加密與數據壓縮相結合。數據壓縮本身有數據隱蔽的功能,而且能夠減少數據庫占用的存儲空間。(5)身份認證陷阱。非法用戶通常采用枚舉密碼的辦法取得密碼,身份認證陷阱能使有這一行為的非法用戶付出很大的時間代價也無法獲得用戶密碼。(6)數據庫文件防復制的能力。復制功能是操作系統提供的,真正的“防復制”需要操作系統的功能支持。這里的“防復制”是指除非數據庫文件擁有者明確告訴數據庫管理系統要復制一個數據庫文件副本,否則非法用戶即使利用操作系統提供的復制功能獲得了一個副本,并且擁有數據庫密碼,數據庫也無法正確打開。這一功能需要依靠數據庫管理系統實現,它能在數據庫打開和關閉時對數據庫文件進行特殊處理。
結束語
當前,各企業尤其是大企業都在大量地使用數據庫系統來存放和管理各種各樣的信息和數據,互聯網的飛速發展使得越來越多的應用都通過網絡開展起來。數據庫系統也逐漸從以前的單機數據庫向網絡數據庫方向發展,這一趨勢使得數據庫系統受到的威脅也越來越大。網絡中存在的大量的黑客攻擊、病毒等都會給數據庫系統帶來危害,造成數據丟失、竊取、篡改等嚴重后果。為了實現數據庫系統安全的三個目標,即完整性、可用性和機密性,必須采取各種各樣的措施保護和防止數據庫系統受到破壞。盡管國內外已經有許多科研單位和廠商在數據庫系統安全方面進行了大量的研究工作并且取得了諸多的研究成果,但是要實現真正的數據安全還需要付出更大的努力。
參考文獻:
[1]施伯樂,丁寶康,等.數據庫系統教程:第2版[M].北京:高等教育出版社,2003.
[2]臧勁松.數據庫系統安全的研究與分析[J].計算機安全,2008,(7).
[3]楊彬,王成.基于保密和安全考慮的數據庫綜合應用方案[J].計算機安全,2009,(6).
[4]官巍,胡若.關于信息安全管理的方法研究[J].計算機應用研究,2007,(3).[責任編輯 吳高君]