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