摘要:隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫系統(tǒng)面臨著黑客攻擊、病毒感染等一系列威脅,如何保證數(shù)據(jù)的保密性、完整性、可靠性和可用性是個復雜問題。目前數(shù)據(jù)庫管理系統(tǒng)所提供的安全保護措施雖然能夠?qū)ζ浒踩鹨欢ǖ谋Wo作用,但仍然存在漏洞。該文研究了現(xiàn)今網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng)所采取的安全保護措施,重點介紹了為保證數(shù)據(jù)庫安全所采用的各種技術(shù),最后概括了該文的研究意義。
關(guān)鍵詞:數(shù)據(jù);網(wǎng)絡(luò)數(shù)據(jù)庫;安全性
中圖分類號:TP311.13文獻標識碼:A文章編號:1009-3044(2010)05-1038-03
On the Network Database and Application Security Research
ZHOU Shi-zhong
(Xiamen Software Vocational and Technical College, Xiamen 361024, China)
Abstract: With the development of the Internet, the network environment, the database system faces hacker attacks, virus infections and a series of threats, how to ensure data confidentiality, integrity, reliability and availability is a complex issue. The current database management system provided by the security protection measures, although to a certain extent to protect its security role, but there are still loopholes. This paper studies the current network database management systems have taken security measures, focusing on database security for the guarantee of the various technologies used in the final summary of the research significance.
Key words: data; network database; security
隨著計算機科學技術(shù)的發(fā)展與普及,特別是計算機在國民經(jīng)濟各重要部門的廣泛應(yīng)用,計算機安全已是當前信息社會非常關(guān)注的突出問題,而數(shù)據(jù)庫系統(tǒng)的安全是信息安全的一個重要組成部分,它擔負著存儲和管理數(shù)據(jù)信息的任務(wù)。因而,如何保證和加強其安全性和保密性,已成為目前迫切需要解決的熱門課題。該文首先概述網(wǎng)絡(luò)數(shù)據(jù)庫安全基本知識,重點介紹了為保證數(shù)據(jù)庫安全所采用的各種技術(shù),最后指出了網(wǎng)絡(luò)數(shù)據(jù)庫安全性研究的意義。
1 網(wǎng)絡(luò)數(shù)據(jù)庫安全基本知識
1.1 數(shù)據(jù)管理的發(fā)展階段
數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理,計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護提供操作手段。計算機數(shù)據(jù)管理經(jīng)歷了幾個階段:1)人工管理階段;2)文件系統(tǒng)階段;3)集中式數(shù)據(jù)庫系統(tǒng)階段;4)分布式數(shù)據(jù)庫系統(tǒng)階段;5)異構(gòu)分布式數(shù)據(jù)庫系統(tǒng)階段。
1.2 網(wǎng)絡(luò)中常見數(shù)據(jù)庫系統(tǒng)模式
現(xiàn)在我們知道數(shù)據(jù)庫是用來對數(shù)據(jù)進行管理的工具,數(shù)據(jù)庫管理系統(tǒng)擔負著管理數(shù)據(jù)的重要職責。那么我們通常所說的數(shù)據(jù)庫系統(tǒng)又是指什么呢?它指的是 引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng)。它可以有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。整個數(shù)據(jù)庫系統(tǒng)有5部分組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫管理員和用戶。
圖1顯示和描述了數(shù)據(jù)庫系統(tǒng)各個層次之間的關(guān)系。
由于數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)與數(shù)據(jù)庫系統(tǒng)運行的環(huán)境密切相關(guān),隨著計算機硬件技術(shù)的發(fā)展和數(shù)據(jù)庫應(yīng)用需求的迅速增長,數(shù)據(jù)庫系統(tǒng)的運行環(huán)境不斷變化DBMS的運行環(huán)境也從單機擴展到網(wǎng)絡(luò),對數(shù)據(jù)的處理由集中式走向分布式,從封閉式走向開放式,數(shù)據(jù)庫體系結(jié)構(gòu)不斷更新。目前網(wǎng)絡(luò)中兩種常見的數(shù)據(jù)庫系統(tǒng)模式:客戶機/服務(wù)器系統(tǒng)(Client/Server)和分布式數(shù)據(jù)庫系統(tǒng)(Distributed Database System)。
1.3 網(wǎng)絡(luò)數(shù)據(jù)庫安全問題
一般的數(shù)據(jù)庫系統(tǒng)可以理解成兩部分:一部分是數(shù)據(jù)庫,按一定的方式存取數(shù)據(jù);另一部分是數(shù)據(jù)庫管理系統(tǒng)(DBMS),為用戶及應(yīng)用程序提供數(shù)據(jù)訪問,并具有對數(shù)據(jù)庫進行管理、維護等多種功能。數(shù)據(jù)庫及其管理系統(tǒng)在整個大的網(wǎng)絡(luò)環(huán)境下,作為信息數(shù)據(jù)的存儲地和處理
訪問地,應(yīng)能對信息數(shù)據(jù)的安全存儲和安全訪問提供服務(wù),并具有安全防范的能力。具體包括下面幾個方面:
1)要求數(shù)據(jù)庫具有保密性,即能防止非法用戶的訪問,保護數(shù)據(jù)庫中數(shù)據(jù)的機密不被泄漏和篡改;
2)要求數(shù)據(jù)庫具有完整性和一致性,即能防止對數(shù)據(jù)庫進行不正確的操作或非法用戶的惡意攻擊;
3)要求數(shù)據(jù)庫具有可用性,即能防止或及時修復因為軟、硬件系統(tǒng)的錯誤所造成的數(shù)據(jù)庫惡意破壞,并拒絕和清除數(shù)據(jù)庫垃圾,使數(shù)據(jù)庫隨時保持可用狀態(tài);
4)要求能對數(shù)據(jù)庫變化作跟蹤記錄,以利于追查并防止否認對數(shù)據(jù)庫的安全責任。
2 數(shù)據(jù)庫安全常用技術(shù)
為了保護數(shù)據(jù)庫的安全, 從數(shù)據(jù)庫管理系統(tǒng)(DBMS)的角度考慮,目前常用的數(shù)據(jù)庫安全技術(shù)主要有用戶認證、訪問控制、信息流控制、推理控制、數(shù)據(jù)庫加密等,其中應(yīng)用最廣也最為有效的是訪問控制(Access Control)技術(shù)。
2.1 物理安全
保證物理安全是安全防范的基礎(chǔ),主要是指保證數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫所在環(huán)境、相關(guān)網(wǎng)絡(luò)的物理安全性,例如保證服務(wù)器所在網(wǎng)絡(luò)的網(wǎng)線和交換機環(huán)境的物理安全、只有數(shù)據(jù)庫管理員能夠在物理上接觸數(shù)據(jù)庫服務(wù)器等等。
2.2 存取管理技術(shù)
存取管理技術(shù)主要包括用戶認證技術(shù)和訪問控制技術(shù)兩方面。用戶認證技術(shù)包括用戶身份驗證和用戶身份識別技術(shù)。訪問控制包括數(shù)據(jù)的瀏覽控制和修改控制。瀏覽控制是為了保護數(shù)據(jù)的保密性,而修改控制是為了保護數(shù)據(jù)的正確性和提高數(shù)據(jù)的可信性。在一個數(shù)據(jù)資源共享的環(huán)境中,訪問控制就顯得非常重要。
2.2.1 用戶認證技術(shù)
用戶認證技術(shù)是系統(tǒng)提供的最外層安全保護措施。通過用戶身份驗證,可以阻止未授權(quán)用戶的訪問,而通過用戶身份識別,可以防止用戶的越權(quán)訪問。
1)用戶身份驗證
該方法由系統(tǒng)提供一定的方式讓用戶標識自己的身份。每次用戶請求進入系統(tǒng)時,系統(tǒng)必須對用戶身份的合法性進行鑒別認證。用戶要登錄系統(tǒng)時,必須向系統(tǒng)提供用戶標識和鑒別信息,以供安全系統(tǒng)識別認證。目前,身份驗證采用的最常用、最方便的方法是設(shè)置口令法。但近年來,一些更加有效的身份驗證技術(shù)迅速發(fā)展起來,如智能卡技術(shù)、物理特征(指紋、虹膜等)認證技術(shù)等具有高強度的身份驗證技術(shù)日益成熟,并取得了不少應(yīng)用成果,為將來達到更高的安全強度要求打下了堅實的理論基礎(chǔ)。
2)用戶身份識別
用戶身份識別以數(shù)據(jù)庫授權(quán)為基礎(chǔ),只有經(jīng)過數(shù)據(jù)庫授權(quán)和驗證的用戶才是合法的用戶。數(shù)據(jù)庫授權(quán)技術(shù)包括授權(quán)用戶表、用戶授權(quán)表、系統(tǒng)的讀出/寫入規(guī)則和自動查詢修改技術(shù)。
2.2.2 訪問控制
訪問控制是從計算機系統(tǒng)的處理功能方面對數(shù)據(jù)提供保護,是數(shù)據(jù)庫系統(tǒng)內(nèi)部對已經(jīng)進入系統(tǒng)的用戶的訪問控制,是安全數(shù)據(jù)保護的前沿屏障。它是數(shù)據(jù)庫安全系統(tǒng)中的核心技術(shù),也是最有效的安全手段,限制了訪問者和執(zhí)行程序可以進行的操作,這樣通過訪問控制就可防止安全漏洞隱患。DBMS 中對數(shù)據(jù)庫的訪問控制是建立在操作系統(tǒng)和網(wǎng)絡(luò)的安全機制基礎(chǔ)之上的。只有被識別被授權(quán)的用戶才有對數(shù)據(jù)庫中的數(shù)據(jù)進行輸入、刪除、修改和查詢等權(quán)限。通常采用下面兩種方法進行訪問控制:
1)按功能模塊對用戶授權(quán)
每個功能模塊對不同用戶設(shè)置不同權(quán)限,如無權(quán)進入本模塊、僅可查詢、可更新可查詢、全部功能可使用等,而且功能模塊名、用戶名與權(quán)限編碼可保存在同一數(shù)據(jù)庫。
2)將數(shù)據(jù)庫系統(tǒng)權(quán)限賦予用戶
通常為了提高數(shù)據(jù)庫的信息安全訪問,用戶在進行正常的訪問前服務(wù)器往往都需要認證用戶的身份、確認用戶是否被授權(quán)。為了加強身份認證和訪問控制,適應(yīng)對大規(guī)模用戶和海量數(shù)據(jù)資源的管理,通常DBMS 主要使用的是基于角色的訪問控制RBAC(Role Based Access Control)
2.3 視圖機制
視圖是數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度觀察數(shù)據(jù)庫中數(shù)據(jù)的重要機制,是從一個或幾個基本表(或視圖)導出的表,它與基本表不同,是一個虛表。數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。從某種意義上講,視圖就像一個窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。
進行存取權(quán)限控制時可以為不同用戶定義不同的視圖,把數(shù)據(jù)對象限制在一定的范圍內(nèi),即通過視圖機制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護。
2.4 數(shù)據(jù)加密
一般而言,數(shù)據(jù)庫系統(tǒng)提供的安全控制措施能滿足一般的數(shù)據(jù)庫應(yīng)用,但對于高度敏感性數(shù)據(jù),如財務(wù)數(shù)據(jù)、軍事數(shù)據(jù)、國家機密等,除采用以上安全性措施之外,通常還需采用數(shù)據(jù)加密技術(shù)。因此有必要在存取管理、安全管理之上對數(shù)據(jù)庫中存儲的重要數(shù)據(jù)進行加密處理,以強化數(shù)據(jù)存儲的安全保護。
與傳統(tǒng)的通信或網(wǎng)絡(luò)加密技術(shù)相比,由于數(shù)據(jù)保存的時間要長得多,對加密強度的要求也更高。而且數(shù)據(jù)庫數(shù)據(jù)是共享的,有權(quán)限的用戶隨時需要知道密鑰來查詢數(shù)據(jù)。因此,數(shù)據(jù)庫密碼系統(tǒng)宜采用公開密鑰的加密方法。在實際應(yīng)用時一般采用改進的分組加密算法,使其符合數(shù)據(jù)庫加密的要求。
數(shù)據(jù)加密通過對明文進行復雜的加密操作,以達到無法發(fā)現(xiàn)明文和密文之間、密文和密鑰之間的內(nèi)在關(guān)系,也就是說經(jīng)過加密的數(shù)據(jù)經(jīng)得起來自操作系統(tǒng)和DBMS 的攻擊。另一方面,DBMS 要完成對數(shù)據(jù)庫文件的管理和使用,必須具有能夠識別部分數(shù)據(jù)的條件。因此,只能對數(shù)據(jù)庫中數(shù)據(jù)進行部分加密。
2.5 跟蹤監(jiān)視和攻擊檢測
跟蹤監(jiān)視是一種審計功能,能對某些保密數(shù)據(jù)進行跟蹤,并記錄有關(guān)這些數(shù)據(jù)的訪問活動,其跟蹤審查的結(jié)果記錄在日志文件中。記錄的內(nèi)容通常包括:用戶名、操作類型(輸入、刪除、修改)、操作日期和時間、所涉及到的數(shù)據(jù)等。根據(jù)跟蹤審查記錄可進行事后分析和調(diào)查,以分析數(shù)據(jù)庫的變化及用戶對數(shù)據(jù)庫的操作。
攻擊檢測則是利用日志文件中的數(shù)據(jù)進行分析檢測來自系統(tǒng)內(nèi)外部的攻擊企圖,追查有關(guān)責任者,并及時發(fā)現(xiàn)和維護系統(tǒng)的安全漏洞,增強系統(tǒng)的安全強度。雖然數(shù)據(jù)庫安全系統(tǒng)可采取訪問控制、數(shù)據(jù)加密等重要安全技術(shù),但從軟件工程技術(shù)角度上,目前我們還不能形式證明一個安全系統(tǒng)的安全強度。
2.6 數(shù)據(jù)備份
由于軟硬件故障、意外或惡意地使用Delete 或Update語句、具有破壞性的病毒、自然災(zāi)害(如火災(zāi)、水災(zāi)、地震等)盜竊等情況都可以導致數(shù)據(jù)丟失。為了最小化杜絕數(shù)據(jù)丟失和恢復丟失的數(shù)據(jù),必須對數(shù)據(jù)庫進行安全管理、定期數(shù)據(jù)備份。
定期進行數(shù)據(jù)備份是減少數(shù)據(jù)損失的有效手段,能讓數(shù)據(jù)庫遭到破壞(惡意或者誤操作)后,恢復數(shù)據(jù)資源,這也是數(shù)據(jù)庫安全策略的一個重要部分。制訂適合自己的數(shù)據(jù)庫備份策略,必須確定數(shù)據(jù)的可用性要求。最好能夠測試備份和恢復過程,有助于確保擁有從各種故障中恢復所需的備份,并且當真正的故障發(fā)生時可以快速平穩(wěn)地執(zhí)行恢復過程。
3 網(wǎng)絡(luò)數(shù)據(jù)庫安全性研究的意義
計算機與通信技術(shù)的飛速發(fā)展和廣泛應(yīng)用,人類社會進入了信息社會。計算機和計算機網(wǎng)絡(luò)對人類的生產(chǎn)和生活方式產(chǎn)生了深遠的影響,整個社會對計算機網(wǎng)絡(luò)系統(tǒng)的依賴程度越來越高,如電子銀行、交通管控、計算機信息管理等已經(jīng)成為社會不可缺少的部分,信息安全關(guān)系國計民生。雖然網(wǎng)絡(luò)社會的今天獲得信息的豐富性和容易性是前序設(shè)有的,但是事情總是一分為二的,并不是存在于計算機網(wǎng)絡(luò)上的所有信息都是完全開放的,非公眾信息顯然需要保密,不然,小則可能個人隱私暴露、帳號密碼被盜,大則國家機密失竊、重要部門功能癱瘓。
我國目前的數(shù)據(jù)庫系統(tǒng)開發(fā)還處于起始階段,國產(chǎn)數(shù)據(jù)庫的性能還不盡人意,未能得到廣泛應(yīng)用,在我國的電信、銀行等重要部門獲得廣泛應(yīng)用的大多數(shù)大的數(shù)據(jù)庫系統(tǒng)使用的都是國外商業(yè)數(shù)據(jù)庫產(chǎn)品,這些產(chǎn)品中不能說沒有其自己國家的國家利益等考慮和其它安全漏洞,許多系統(tǒng)中不斷發(fā)現(xiàn)漏洞本身就說明這些系統(tǒng)中不但存在許多設(shè)計缺陷,還存在情報機構(gòu)有意埋伏的安全后門的可能。在一些掌握有核心技術(shù)的發(fā)達國家的現(xiàn)有技術(shù)條件下,能夠在計算機芯片、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)或應(yīng)用程序中預(yù)先設(shè)定從事情報收集、接受指令激發(fā)破壞程序等功能,通過這些功能,可以接收特殊程序,搜集和發(fā)送敏感信息,通過特殊指令在加密操作中將部分明文隱藏在網(wǎng)絡(luò)協(xié)議層中傳輸?shù)取6捎诂F(xiàn)有的各種軟件系統(tǒng)十分龐大,在沒有源代碼的情況下,幾乎無法通過反匯編對其所有程序進行跟蹤分析。將現(xiàn)有得到廣泛應(yīng)用的數(shù)據(jù)庫進行研究、改進或部分置換后再使用,也可以增強信息的安全性,同時大力進行數(shù)據(jù)庫的自主開發(fā)和研究,將有力地推進國家信息化建設(shè)的進程。
總的來說,我國的網(wǎng)絡(luò)數(shù)據(jù)庫安全研究起步晚,研究力量分散,與技術(shù)先進國家有差距,特別是在系統(tǒng)安全和安全協(xié)議方面的工作與國外差距更大,站在國家利益的高度來看,國外的安全認證不能完全放心。進行與操作系統(tǒng)結(jié)合起來的網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)安全的理論與應(yīng)用研究,具有相當?shù)睦碚撘饬x和現(xiàn)實意義。
4 結(jié)束語
隨著對計算機操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議以及數(shù)據(jù)庫系統(tǒng)的研究和應(yīng)用越來越深入和廣泛,網(wǎng)絡(luò)信息和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的安全比越來越具有戰(zhàn)略意義,信息安全保障能力成為綜合國力的一個重要部分。現(xiàn)代社會的信息大多已經(jīng)無法通過手工記錄、維護和查詢,而需要通過數(shù)據(jù)庫來存儲和通過網(wǎng)絡(luò)來查詢,這已經(jīng)成為一個不爭的事實。今天,各個機構(gòu)都將大量信息存儲在數(shù)據(jù)庫系統(tǒng)上作為信息系統(tǒng)安全的重要部分,數(shù)據(jù)庫安全就顯得越來越重要。
參考文獻:
[1] 朱良根,雷振甲,張玉清.數(shù)據(jù)庫安全技術(shù)研究[J].計算機應(yīng)用研究,2004(9):127-129.
[2] 吳溥峰,張玉清.數(shù)據(jù)庫安全綜述[J].計算機工程,2006,32(12):85-88.
[3] 李社宗,趙海青,馬青榮,等.數(shù)據(jù)庫安全技術(shù)及其應(yīng)用[J].河南氣象,2003(1):36-37.