資料庫系統安全防入侵技術綜述

來源:互聯網
上載者:User
文章作者:林育生 曹磊 張堯弼

1. 前言

隨著電腦技術的飛速發展,資料庫的應用十分廣泛,深入到各個領域,但隨之而來產生了資料的安全問題。各種應用系統的資料庫中大量資料的安全問題、敏感性資料的防竊取和防篡改問題,越來越引起人們的高度重視。資料庫系統作為資訊的聚集體,是電腦資訊系統的核心組件,其安全性至關重要,關係到企業興衰、國家安全。因此,如何有效地保證資料庫系統的安全,實現資料的保密性、完整性和有效性,已經成為業界人士探索研究的重要課題之一,本文就安全防入侵技術做簡要的討論。

資料庫系統的安全除依賴自身內部的安全機制外,還與外部網路環境、應用環境、從業人員素質等因素息息相關,因此,從廣義上講,資料庫系統的安全架構可以劃分為三個層次:

⑴ 網路系統層次;

⑵ 宿主作業系統層次;

⑶ 資料庫管理系統層次。

這三個層次構築成資料庫系統的安全體系,與資料安全的關係是逐步緊密的,防範的重要性也逐層加強,從外到內、由表及裡保證資料的安全。下面就安全架構的三個層次展開論述。

2. 網路系統層次安全技術

從廣義上講,資料庫的安全首先倚賴於網路系統。隨著Internet的發展普及,越來越多的公司將其核心業務向互連網轉移,各種基於網路的資料庫應用系統如雨後春筍般湧現出來,面向網路使用者提供各種資訊服務。可以說網路系統是資料庫應用的外部環境和基礎,資料庫系統要發揮其強大作用離不開網路系統的支援,資料庫系統的使用者(如異地使用者、分布式使用者)也要通過網路才能訪問資料庫的資料。網路系統的安全是資料庫安全的第一道屏障,外部入侵首先就是從入侵網路系統開始的。網路入侵試圖破壞資訊系統的完整性、機密性或可信任的任何網路活動的集合,具有以下特點[1]:

a)沒有地區和時間的限制,跨越國界的攻擊就如同在現場一樣方便;

b)通過網路的攻擊往往混雜在大量正常的網路活動之中,隱蔽性強;

c)入侵手段更加隱蔽和複雜。

電腦網路系統開放式環境面臨的威脅主要有以下幾種類型[2]:a)欺騙(Masquerade);b)重發(Replay);c)報文修改(Modification of message);d)拒絕服務(Deny of service);e)陷阱門(Trapdoor);f)特洛伊木馬(Trojan horse);g)攻擊如透納攻擊(Tunneling Attack)、應用軟體攻擊等。這些安全威脅是無時、無處不在的,因此必須採取有效措施來保障系統的安全。

從技術角度講,網路系統層次的安全防範技術有很多種,大致可以分為防火牆、入侵檢測、協作式入侵檢測技術等。

⑴防火牆。防火牆是應用最廣的一種防範技術。作為系統的第一道防線,其主要作用是監控可信任網路和不可信任網路之間的訪問通道,可在內部與外部網路之間形成一道防護屏障,攔截來自外部的非法訪問並阻止內部資訊的外泄,但它無法阻攔來自網路內部的非法操作。它根據事先設定的規則來確定是否攔截資訊流的進出,但無法動態識別或自適應地調整規則,因而其智能化程度很有限。防火牆技術主要有三種:資料包過濾器(packet filter)、代理(proxy)和狀態分析(stateful inspection)。現代防火牆產品通常混合使用這幾種技術。

⑵入侵檢測。入侵檢測(IDS-- Instrusion Detection System)是近年來發展起來的一種防範技術,綜合採用了統計技術、規則方法、網路通訊技術、人工智慧、密碼學、推理等技術和方法,其作用是監控網路和電腦系統是否出現被入侵或濫用的徵兆。1987年,Derothy Denning首次提出了一種檢測入侵的思想,經過不斷髮展和完善,作為監控和識別攻擊的標準解決方案,IDS系統已經成為安全防禦系統的重要組成部分。

入侵檢測採用的分析技術可分為三大類:簽名、統計和資料完整性分析法。

①簽名分析法。主要用來監測對系統的已知弱點進行攻擊的行為。人們從攻擊模式中歸納出它的簽名,編寫到IDS系統的代碼裡。簽名分析實際上是一種模板匹配操作。

②統計分析法。以統計學為理論基礎,以系統正常使用方式下觀察到的動作模式為依據來判別某個動作是否偏離了正常軌道。

③資料完整性分析法。以密碼學為理論基礎,可以查證檔案或者對象是否被別人修改過。

IDS的種類包括基於網路和基於主機的入侵監測系統、基於特徵的和基於非正常的入侵監測系統、即時和非即時的入侵監測系統等[1]。

⑶協作式入侵監測技術

獨立的入侵監測系統不能夠對廣泛發生的各種入侵活動都做出有效監測和反應,為了彌補獨立運作的不足,人們提出了協作式入侵監測系統的想法。在協作式入侵監測系統中,IDS基於一種統一的規範,入侵監測組件之間自動地交換資訊,並且通過資訊的交換得到了對入侵的有效監測,可以應用於不同的網路環境[3]。

3. 宿主作業系統層次安全技術

作業系統是大型資料庫系統的運行平台,為資料庫系統提供一定程度的安全保護。目前作業系統平台大多數集中在Windows NT 和Unix,安全層級通常為C1、C2級。主要安全技術有作業系統安全性原則、安全管理原則、資料安全等方面。

作業系統安全性原則用於配置本機電腦的安全設定,包括密碼原則、賬戶鎖定策略、稽核原則、IP安全性原則、使用者權利指派、加密資料的修復代理以及其它安全選項[7]。具體可以體現在使用者賬戶、口令、存取權限、審計等方面。

使用者賬戶:使用者訪問系統的“身份證”,只有合法使用者才有賬戶。

口令:使用者的口令為使用者訪問系統提供一道驗證。

存取權限:規定使用者的許可權。

審計:對使用者的行為進行跟蹤和記錄,便於系統管理員分析系統的訪問情況以及事後的追查使用。

安全管理原則是指網路系統管理員對系統實施安全管理所採取的方法及策略。針對不同的作業系統、網路環境需要採取的安全管理原則一般也不盡相同,其核心是保證伺服器的安全和分配好各類使用者的許可權。

資料安全主要體現在以下幾個方面:資料加密技術、資料備份、資料存放區的安全性、資料轉送的安全性等。可以採用的技術很多,主要有Kerberos認證、IPSec、SSL、TLS、VPN(PPTP、L2TP)等技術。

4. 資料庫管理系統層次安全技術

資料庫系統的安全性很大程度上依賴於資料庫管理系統。如果資料庫管理系統安全機制非常強大,則資料庫系統的安全效能就較好。目前市場上流行的是關係式資料庫管理系統,其安全性功能很弱,這就導致資料庫系統的安全性存在一定的威脅。

由於資料庫系統在作業系統下都是以檔案形式進行管理的,因此入侵者可以直接利用作業系統的漏洞竊取資料庫檔案,或者直接利用OS工具來非法偽造、篡改資料庫檔案內容。這種隱患一般資料庫使用者難以察覺,分析和堵塞這種漏洞被認為是B2級的安全技術措施[4]。

資料庫管理系統層次安全技術主要是用來解決這一問題,即當前面兩個層次已經被突破的情況下仍能保障資料庫資料的安全,這就要求資料庫管理系統必須有一套強有力的安全機制。解決這一問題的有效方法之一是資料庫管理系統對資料庫檔案進行加密處理,使得即使資料不幸泄露或者丟失,也難以被人破譯和閱讀。

我們可以考慮在三個不同層次實現對資料庫資料的加密,這三個層次分別是OS層、DBMS核心層和DBMS外層。

⑴在OS層加密。在OS層無法辨認資料庫檔案中的資料關係,從而無法產生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型資料庫來說,在OS層對資料庫檔案進行加密很難實現。

⑵在DBMS核心層實現加密。這種加密是指資料在物理存取之前完成加/脫密工作。這種加密方式的優點是加密功能強,並且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與資料庫管理系統之間的無縫耦合。其缺點是加密運算在伺服器端進行,加重了伺服器的負載,而且DBMS和加密器之間的介面需要DBMS開發商的支援。這種加密方式1所示:

定義加密要求工具

DBMS

資料庫應用系統

加密器

(軟體或硬體)

⑶在DBMS外層實現加密。比較實際的做法是將資料庫加密系統做成DBMS的一個外層工具,根據加密要求自動完成對資料庫資料的加/脫密處理,2所示:

定義加密要求工具加密器

(軟體或硬體)

DBMS

資料庫應用系統

採用這種加密方式進行加密,加/脫密運算可在用戶端進行,它的優點是不會加重資料庫伺服器的負載並且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與資料庫管理系統之間的耦合性稍差。

下面我們進一步解釋在DBMS外層實現加密功能的原理:

資料庫加密系統分成兩個功能獨立的主要組件:一個是加密字典管理程式,另一個是資料庫加/脫密引擎,其體繫結構3所示。資料庫加密系統將使用者對資料庫資訊具體的加密要求以及基礎資訊儲存在加密字典中,通過調用資料加/脫密引擎實現對資料庫表的加密、脫密及資料轉換等功能。資料庫資訊的加/脫密處理是在後台完成的,對資料庫伺服器是透明的。

加密字典管理程式

加密系統

應用程式

資料庫加脫密引擎

資料庫伺服器

加密字典

使用者資料

  按以上方式實現的資料庫加密系統具有很多優點:首先,系統對資料庫的終端使用者是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統完全獨立於資料庫應用系統,無須改動資料庫應用系統就能實現資料加密功能;第三,加解密處理在用戶端進行,不會影響資料庫伺服器的效率。

資料庫加/脫密引擎是資料庫加密系統的核心組件,它位於應用程式與資料庫伺服器之間,負責在後台完成資料庫資訊的加/脫密處理,對應用開發人員和操作人員來說是透明的。資料加/脫密引擎沒有操作介面,在需要時由作業系統自動載入並駐留在記憶體中,通過內部介面與加密字典管理程式和使用者應用程式通訊。資料庫加/脫密引擎由三大模組組成:加/脫密處理模組、使用者介面模組和資料庫介面模組,4所示。其中,“資料庫介面模組”的主要工作是接受使用者的操作請求,並傳遞給“加/脫密處理模組”,此外還要代替“加/脫密處理模組”去訪問資料庫伺服器,並完成外部介面參數與加/脫密引擎內部資料結構之間的轉換。“加/脫密處理模組”完成資料庫加/脫密引擎的初始化、內部專用命令的處理、加密字典資訊的檢索、加密字典緩衝區的管理、SQL命令的加密變換、查詢結果的脫密處理以及加脫密演算法實現等功能,另外還包括一些公用的輔助函數。

資料加/脫密處理的主要流程如下:

1)       對SQL命令進行文法分析,如果文法正確,轉下一步;如不正確,則轉6),直接將SQL命令交資料庫伺服器處理。

2)       是否為資料庫加/脫密引擎的內部控制命令?如果是,則處理內部控制命令,然後轉7);如果不是則轉下一步。

3)       檢查資料庫加/脫密引擎是否處於關閉狀態或SQL命令是否只需要編譯?如果是則轉6),否則轉下一步。

4)       檢索加密字典,根據加密定義對SQL命令進行加脫密語義分析。

5)       SQL命令是否需要加密處理?如果是,則將SQL命令進行加密變換,替換原SQL命令,然後轉下一步;否則直接轉下一步。

6)       將SQL命令轉送資料庫伺服器處理。

7)       SQL命令執行完畢,清除SQL命令緩衝區。

    以上以一個例子說明了在DBMS外層實現加密功能的原理。

5. 結束語

本文對資料庫系統安全防入侵技術進行綜述,提出了資料庫系統的安全體系三個層次架構,並對三個層次的技術手段展開描述。文中還以在DBMS外層實現加密功能的原理為例,詳細說明了如何應用程式資料庫管理系統層次的安全技術。

資料庫系統安全架構的三個層次是相輔相承的,各層次的防範重點和所採取的技術手段也不盡相同,一個好的安全系統必須綜合考慮核運用這些技術,以保證資料的安全。

參考文獻:
[1]   黃錦,基於防火牆日誌資訊的入侵偵測系統的研究與實現,上海:上海交通大學碩士學位論文,2001

[2]   曹瑋,CDIF:協作式入侵監測架構,上海:上海交通大學碩士學位論文,1999

[3]   劉淳,協作式入侵監測和反應架構,上海:上海交通大學碩士學位論文,1999

[4]   穀恒軍,劉孟仁,電腦加密技術及其應用研究,武漢:海軍工程大學碩士學位論文,2001

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.