[摘要]數(shù)據(jù)庫系統(tǒng)是信息倉庫,管理著大量的數(shù)據(jù)信息??赡苁艿絹碜远喾矫骖l繁的安全攻擊,從而導(dǎo)致一系列安全問題。隨著網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù)的發(fā)展,數(shù)據(jù)庫系統(tǒng)的安全管理日益成為人們關(guān)注的焦點。數(shù)據(jù)庫系統(tǒng)的安全框架可以劃分為三個層次,各個層次是相輔相成的,防范重點和技術(shù)手段也不盡相同。
[關(guān)鍵詞]數(shù)據(jù)庫系統(tǒng);安全;防范
[作者簡介]陳亞峰,河南省輕工業(yè)學(xué)校助理講師,研究方向:數(shù)據(jù)庫、數(shù)據(jù)挖掘,河南鄭州,450006;程方玉,河南省輕工業(yè)學(xué)校講師,研究方向:數(shù)據(jù)庫、計算機軟件,河南鄭州,450006
[中圖分類號] TP339.08 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1007-7723(2009)04-0030-0002
一、引言
數(shù)據(jù)庫的應(yīng)用非常廣泛,已經(jīng)深入到社會生活的各個領(lǐng)域,但隨之而來產(chǎn)生了數(shù)據(jù)的安全問題。數(shù)據(jù)庫中大量數(shù)據(jù)的安全問題、敏感數(shù)據(jù)的防竊取和防篡改問題,越來越引起人們的高度重視。數(shù)據(jù)庫系統(tǒng)作為一個“數(shù)據(jù)倉庫”,承載著各類信息,其安全性至關(guān)重要,關(guān)系到用戶的興衰成敗。因此,如何有效地保證數(shù)據(jù)庫系統(tǒng)的安全,實現(xiàn)數(shù)據(jù)的保密性、完整性和有效性,已經(jīng)成為人們探索研究的重要課題之一。鑒于數(shù)據(jù)庫系統(tǒng)的重要性,很有必要簡要地討論一下數(shù)據(jù)庫系統(tǒng)的安全問題及其防范技術(shù)。
從廣義上講,數(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ù)的安全。
二、網(wǎng)絡(luò)系統(tǒng)層次安全技術(shù)
從某種程度上講,數(shù)據(jù)庫的安全首先依賴于網(wǎng)絡(luò)系統(tǒng)。隨著Internet的發(fā)展和普及,越來越多的公司將其核心業(yè)務(wù)向互聯(lián)網(wǎng)轉(zhuǎn)移,各種基于網(wǎng)絡(luò)的數(shù)據(jù)庫應(yīng)用系統(tǒng)如雨后春筍般涌現(xiàn)出來,面向網(wǎng)絡(luò)用戶提供各種信息服務(wù)。可以說網(wǎng)絡(luò)是數(shù)據(jù)庫應(yīng)用的外部環(huán)境和基礎(chǔ),數(shù)據(jù)庫系統(tǒng)要發(fā)揮其強大功能離不開網(wǎng)絡(luò)的支持,數(shù)據(jù)庫系統(tǒng)的用戶(如異地用戶、分布式用戶)也要通過網(wǎng)絡(luò)才能訪問數(shù)據(jù)庫的數(shù)據(jù)。因此,網(wǎng)絡(luò)系統(tǒng)的安全是數(shù)據(jù)庫安全的第一道屏障,外部入侵首先就是從入侵網(wǎng)絡(luò)系統(tǒng)開始的。
(一)入侵的方法
入侵包括試圖破壞網(wǎng)絡(luò)上信息的保密性、完整性、可用性、真實性和可控性等的任何網(wǎng)絡(luò)活動。具有以下特點:沒有地域和時間的限制;隱蔽性強;入侵手段更加隱蔽和復(fù)雜。
一般的入侵方法主要有:
1.口令入侵
所謂口令入侵,就是指用一些軟件解開已經(jīng)得到但被人加密的口令文檔。不過許多黑客已大量采用一種可以繞開或屏蔽口令保護(hù)的程序來完成這項工作。
2.特洛伊木馬技術(shù)
特洛伊木馬最典型的做法可能就是把一個能幫助黑客完成某一特定動作的程序依附在某一合法用戶的正常程序中,這時合法用戶的程序代碼已被改變。一旦用戶觸發(fā)該程序,那么依附在內(nèi)的黑客指令代碼同時被激活,這些代碼往往能完成黑客指定的任務(wù)。
3.監(jiān)聽法
網(wǎng)絡(luò)節(jié)點或工作站之間的交流是通過信息流的傳送得以實現(xiàn)的。而當(dāng)在一個沒有集線器的網(wǎng)絡(luò)中,數(shù)據(jù)的傳輸并沒有指明特定的方向,這時每一個網(wǎng)絡(luò)節(jié)點或工作站都是一個接口。數(shù)據(jù)的傳輸就依靠這些接口來完成。有一種叫sniffer的軟件,它可以截獲口令,可以截獲秘密的信息,可以用來攻擊相鄰的網(wǎng)絡(luò)。
4.E-mail技術(shù)
5.病毒技術(shù)
6.隱藏技術(shù)
(二)網(wǎng)絡(luò)系統(tǒng)層次的安全防范技術(shù)
從技術(shù)角度講,網(wǎng)絡(luò)系統(tǒng)層次的安全防范技術(shù)有很多種,大致可以分為防火墻、入侵檢測、協(xié)作式入侵檢測技術(shù)等。
1.防火墻是應(yīng)用最廣的一種防范技術(shù)
作為系統(tǒng)的第一道防線,其主要作用是監(jiān)控可信任網(wǎng)絡(luò)和不可信任網(wǎng)絡(luò)之間的訪問通道,可在內(nèi)部與外部網(wǎng)絡(luò)之間形成一道防護(hù)屏障,攔截來自外部的非法訪問并阻止內(nèi)部信息的外泄,但它無法阻攔來自網(wǎng)絡(luò)內(nèi)部的非法操作。它根據(jù)事先設(shè)定的規(guī)則來確定是否攔截信息流的進(jìn)出,但無法動態(tài)識別或自適應(yīng)地調(diào)整規(guī)則,因而其智能化程度很有限。防火墻技術(shù)主要有三種:數(shù)據(jù)包過濾器、代理和狀態(tài)分析。
2.入侵檢測
該技術(shù)是近年來發(fā)展起來的一種防范技術(shù)。它綜合采用了統(tǒng)計技術(shù)、規(guī)則方法、網(wǎng)絡(luò)通信技術(shù)、人工智能、密碼學(xué)、推理等技術(shù)和方法,其作用是監(jiān)控網(wǎng)絡(luò)和計算機系統(tǒng)是否出現(xiàn)被入侵或濫用的征兆。1987年,Derothy Denning首次提出了一種檢測入侵的思想,經(jīng)過不斷發(fā)展和完善,作為監(jiān)控和識別攻擊的標(biāo)準(zhǔn)解決方案,ids系統(tǒng)已經(jīng)成為安全防御系統(tǒng)的重要組成部分。
入侵檢測采用的分析技術(shù)可分為三大類:簽名、統(tǒng)計和數(shù)據(jù)完整性分析法。
3.協(xié)作式入侵監(jiān)測技術(shù)
獨立的入侵監(jiān)測系統(tǒng)不能夠?qū)V泛發(fā)生的各種入侵活動都作出有效的監(jiān)測和反應(yīng),為了彌補獨立運作的不足,人們提出了協(xié)作式入侵監(jiān)測系統(tǒng)的想法。在協(xié)作式入侵監(jiān)測系統(tǒng)中,IDS基于一種統(tǒng)一的規(guī)范,入侵監(jiān)測組件之間自動地交換信息,并且通過信息的交換得到了對入侵的有效監(jiān)測,可以應(yīng)用于不同的網(wǎng)絡(luò)環(huán)境。
三、宿主操作系統(tǒng)層次安全技術(shù)
操作系統(tǒng)是大型數(shù)據(jù)庫系統(tǒng)的運行平臺,為數(shù)據(jù)庫系統(tǒng)提供一定程度的安全保護(hù)。目前操作系統(tǒng)平臺大多數(shù)集中在Windows Nt和Uunix,安全級別通常為c1、c2級。
主要安全技術(shù)有操作系統(tǒng)安全策略、安全管理策略、數(shù)據(jù)安全等方面。
(一)操作系統(tǒng)安全策略
操作系統(tǒng)安全策略用于配置本地計算機的安全設(shè)置,包括密碼策略、賬戶鎖定策略、審核策略、IP安全策略、用戶權(quán)利指派、加密數(shù)據(jù)的恢復(fù)代理以及其他安全選項。具體可以體現(xiàn)在用戶賬戶、口令、訪問權(quán)限、審計等方面。
1.用戶賬戶:用戶訪問系統(tǒng)的“身份證”,只有合法用戶才有賬戶。
2.口令:用戶的口令為用戶訪問系統(tǒng)提供一道驗證。
3.訪問權(quán)限:規(guī)定用戶的權(quán)限。
4.審計:對用戶的行為進(jìn)行跟蹤和記錄,便于系統(tǒng)管理員分析系統(tǒng)的訪問情況以及事后的追查使用。
(二)安全管理策略
安全管理策略是指網(wǎng)絡(luò)管理員對系統(tǒng)實施安全管理所采取的方法及策略。針對不同的操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境需要采取的安全管理策略一般也不盡相同,其核心是保證服務(wù)器的安全和分配好各類用戶的權(quán)限。
(三)數(shù)據(jù)安全
主要體現(xiàn)在以下幾個方面:數(shù)據(jù)加密技術(shù)、數(shù)據(jù)備份、數(shù)據(jù)存儲的安全性、數(shù)據(jù)傳輸?shù)陌踩缘?。可以采用的技術(shù)很多,主要有Kerberos認(rèn)證、Ipsec、SSL、TLS、VPN(pptp、l2tp)等技術(shù)。
四、數(shù)據(jù)庫管理系統(tǒng)層次安全技術(shù)
數(shù)據(jù)庫系統(tǒng)的安全性很大程度上依賴于數(shù)據(jù)庫管理系統(tǒng)。目前市場上流行的是關(guān)系式數(shù)據(jù)庫管理系統(tǒng),其安全性功能很弱,這就導(dǎo)致數(shù)據(jù)庫系統(tǒng)的安全性存在一定的威脅。
保障數(shù)據(jù)庫管理系統(tǒng)安全的有效方法之一是數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)庫文件進(jìn)行加密處理,使得即使數(shù)據(jù)不幸泄露或者丟失,也難以被人破譯和閱讀。
可以考慮在三個不同層次實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的加密,這三個層次分別是OS層、DBMS內(nèi)核層和DBMS外層。
(一)在OS層加密
在OS層無法辨認(rèn)數(shù)據(jù)庫文件中的數(shù)據(jù)關(guān)系,從而無法產(chǎn)生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型數(shù)據(jù)庫來說,在OS層對數(shù)據(jù)庫文件進(jìn)行加密很難實現(xiàn)。
(二)在DBMS內(nèi)核層實現(xiàn)加密
這種加密是指數(shù)據(jù)在物理存取之前完成加/解密工作。這種加密方式的優(yōu)點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺點是加密運算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS和加密器之間的接口需要DBMS開發(fā)商的支持。
(三)在DBMS外層實現(xiàn)加密
比較實際的做法是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個外層工具,根據(jù)加密要求自動完成對數(shù)據(jù)庫數(shù)據(jù)的加/解密處理。采用這種加密方式進(jìn)行加密,加/解密運算可在客戶端進(jìn)行。它的優(yōu)點是不會加重數(shù)據(jù)庫服務(wù)器的負(fù)載并且可以實現(xiàn)網(wǎng)上傳輸?shù)募用?;缺點是加密功能會受到一些限制,與數(shù)據(jù)庫管理系統(tǒng)之間的耦合性稍差。
舉個實例說明數(shù)據(jù)加/解密處理的主要流程:
1.對SQL命令進(jìn)行語法分析,如果語法正確,轉(zhuǎn)下一步;如不正確,則轉(zhuǎn)6,直接將SQL命令交數(shù)據(jù)庫服務(wù)器處理。
2.是否為數(shù)據(jù)庫加/脫密引擎的內(nèi)部控制命令?如果是,則處理內(nèi)部控制命令,然后轉(zhuǎn)7;如果不是則轉(zhuǎn)下一步。
3.檢查數(shù)據(jù)庫加/脫密引擎是否處于關(guān)閉狀態(tài)或SQL命令是否只需要編譯?如果是則轉(zhuǎn)6,否則轉(zhuǎn)下一步。
4.檢索加密字典,根據(jù)加密定義對SQL命令進(jìn)行加/脫密語義分析。
5.sql命令是否需要加密處理?如果是,則將SQL命令進(jìn)行加密變換,替換原SQL命令,然后轉(zhuǎn)下一步;否則直接轉(zhuǎn)下一步。
6.將sql命令轉(zhuǎn)送數(shù)據(jù)庫服務(wù)器處理。
7.sql命令執(zhí)行完畢,清除SQL命令緩沖區(qū)。
五、結(jié)語
數(shù)據(jù)庫系統(tǒng)安全框架的各個層次是相輔相成的,各層次的防范重點和所采取的技術(shù)手段也不盡相同。一個好的安全數(shù)據(jù)庫系統(tǒng)須綜合考慮和運用這些技術(shù),以保證數(shù)據(jù)的安全。
[參考文獻(xiàn)]
[1]陳虎,向暉.網(wǎng)絡(luò)數(shù)據(jù)庫實現(xiàn)技術(shù)與安全分析[J].沿海企業(yè)與科技,2005,(2).
[2]陳琛.如何打造安全的網(wǎng)絡(luò)數(shù)據(jù)庫[J].職業(yè)圈,2007,(8).
[3]姚卿達(dá).數(shù)據(jù)庫應(yīng)用系統(tǒng)的幾個問題[J].計算機工程與應(yīng)用,1983,(21).
[4]趙威.數(shù)據(jù)庫應(yīng)用系統(tǒng)的配置[J].遼寧氣象,1998,(2).
[5]王健,李瑋.為企業(yè)數(shù)據(jù)撐起保護(hù)傘[J].微電腦世界,2001,(3).
[6]湯庸,等.典型數(shù)據(jù)庫應(yīng)用系統(tǒng)問題模式及其應(yīng)用[J].計算機工程與應(yīng)用,1997,(8).
[7]IASC引入網(wǎng)絡(luò)直銷站[J].中國農(nóng)村科技,2006,(4).