• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)據(jù)庫自主安全防護技術的研究與實現(xiàn)

      2011-07-02 10:48:32喬建峰王晨升杜冀秦朱廷劭徐新國
      電子技術應用 2011年5期
      關鍵詞:數(shù)據(jù)庫安全數(shù)據(jù)庫系統(tǒng)訪問控制

      喬建峰,王晨升,杜冀秦,朱廷劭,徐新國

      (1.信息產(chǎn)業(yè)部電子第六研究所,北京 100083;2.北京郵電大學,北京 100876;3.中國科學院研究生院 信息科學與工程學院,北京 100080)

      近年來,有關數(shù)據(jù)庫的安全事故不斷出現(xiàn),例如銀行內部數(shù)據(jù)信息泄露造成的賬戶資金失密等。因此,高度重視數(shù)據(jù)庫安全防護很有必要。但一直以來,國內數(shù)據(jù)庫產(chǎn)業(yè)化發(fā)展緩慢,市場份額中較大一部分被國外大型數(shù)據(jù)庫企業(yè)占有。這對于國內用戶而言,信息的安全性、穩(wěn)定性等方面都會受到威脅。由此,用戶希望通過自主安全防護來加強系統(tǒng)的安全性。但出于商業(yè)利益及其他緣由,國外企業(yè)對安全技術進行嚴格封鎖,只提供針對特定數(shù)據(jù)庫的安全措施,很少提供公開調用的內核接口,這些舉措都降低了安全防護的靈活性,加大了自主安全保護的技術難度。此外,應用需求正變得越來越復雜,對數(shù)據(jù)庫安全防護配置的靈活性以及獨立性的要求也在提高。如有的系統(tǒng)涉及使用多個數(shù)據(jù)庫,并且對每個數(shù)據(jù)庫的安防功能要求各不相同。這樣,在保障整個系統(tǒng)安全的目標下就需要對每個數(shù)據(jù)庫進行專門配置管理,不但維護難度很大,而且工作也比較繁重。面對這些實際問題,目前的數(shù)據(jù)庫系統(tǒng)自帶的安全防護配置方式已不能勝任,如何提出一個靈活獨立的安全防護系統(tǒng)迫在眉睫。

      1 相關安全防護技術介紹

      目前,數(shù)據(jù)庫系統(tǒng)面臨的主要威脅有:(1)對數(shù)據(jù)庫的不正確訪問引起數(shù)據(jù)庫數(shù)據(jù)的錯誤。(2)為了某種目的,故意破壞數(shù)據(jù)庫。(3)非法訪問不該訪問的信息,且又不留痕跡;未經(jīng)授權非法修改數(shù)據(jù)。(4)使用各種技術攻擊數(shù)據(jù)庫等。多年來,人們在理論和實踐上對數(shù)據(jù)庫系統(tǒng)安全的研究做出了巨大的努力,也取得了很多成果。參考文獻[1-2]介紹了保護數(shù)據(jù)庫安全的常用技術,包括:存取管理技術、安全管理技術、以及數(shù)據(jù)庫加密技術,并給出了一些實現(xiàn)途徑。其中,訪問控制和安全審計作為數(shù)據(jù)庫安全的主要保障措施受到了人們廣泛關注,參考文獻 [3]對訪問控制技術中的基本策略進行了總結,給出了實現(xiàn)技術及各自的優(yōu)缺點。參考文獻[4]主要針對權限建模過程中的權限粒度問題做了分析,并提出一個基于角色的訪問控制框架。進入21世紀以后,訪問控制模型的研究重點開始逐漸由集中式封閉環(huán)境轉向開放式網(wǎng)絡環(huán)境,一方面結合不同的應用,對原有傳統(tǒng)模型做改進,另一方面,也提出一些新的訪問控制技術和模型,比較著名的有信任管理、數(shù)字版權管理和使用控制模型[5]。審計通過對數(shù)據(jù)庫內活動的記錄和分析來發(fā)現(xiàn)異常并產(chǎn)生報警的方式來加強數(shù)據(jù)庫的安全性[6]。目前,在我國使用的商品化關系數(shù)據(jù)庫管理系統(tǒng)大都提供了C2級的審計保護功能,但實現(xiàn)方式和功能側重有所不同。 周洪昊等人[7]分析了 Oracle、SQL Server、DB2、Sybase的審計功能,分別從審計系統(tǒng)的獨立性、自我保護能力、全面性和查閱能力四個方面對審計功能做出改進[7]。參考文獻[8]則針對審計信息冗余、審計配置方式死板以及數(shù)據(jù)統(tǒng)計分析能力不足等問題,在數(shù)據(jù)庫系統(tǒng)已有的審計模塊基礎上,重新設計和實現(xiàn)了一種新型的數(shù)據(jù)庫安全審計系統(tǒng)。

      但所有的這些工作都是從數(shù)據(jù)庫系統(tǒng)的角度出發(fā),并沒有從本質上解決安全防護對數(shù)據(jù)庫系統(tǒng)的依賴性問題,用戶還是很難對數(shù)據(jù)庫提供自主的安全防護功能。如果能將安全防護從數(shù)據(jù)庫管理系統(tǒng)中徹底獨立出來,針對不同的應用需求允許用戶自己實現(xiàn)安全防護功能模塊并在邏輯上加入到數(shù)據(jù)庫應用系統(tǒng)中,這樣問題也就迎刃而解了。

      通過以上分析,本文提出一種獨立于具體數(shù)據(jù)庫、可組態(tài)的安全防護模型,并給出具體的實現(xiàn)方法。該模型將安全防護從數(shù)據(jù)庫完全獨立出來,在多數(shù)據(jù)庫應用中實現(xiàn)集中配置安防,滿足用戶對于自主防護功能的需求。并在開源的嵌入式數(shù)據(jù)庫產(chǎn)品SQLITE中做了功能測試,實驗結果表明,該模型切實可行,達到了預想的效果,既能實現(xiàn)對系統(tǒng)的保護,又大大提高了系統(tǒng)的靈活性。

      2 自主安全防護系統(tǒng)的設計與實現(xiàn)

      自主安全防護系統(tǒng)DSS(Discretionary Safety System)的主要功能是阻止用戶對信息的非法訪問,在可疑行為發(fā)生時自動啟動預設的告警流程,盡可能防范數(shù)據(jù)庫風險的發(fā)生,在非法操作發(fā)生時,觸發(fā)事先設置好的防御策略,實行阻斷,實現(xiàn)主動防御,并按照設置對所發(fā)生的操作進行詳細記錄,以便事后的分析和追查。

      2.1 系統(tǒng)結構

      在DSS中,安全管理員使用角色機制對用戶的權限進行管理,通過制定安全策略來設置核心部件Sensor以及訪問控制部件。核心部件Sensor偵聽用戶的數(shù)據(jù)庫操作請求,采用命令映射表將不同的命令映射為系統(tǒng)識別的命令,提取出安全檢查所需要的信息,發(fā)送到訪問控制模塊進行安檢。安檢通過了則允許用戶訪問數(shù)據(jù)庫,否則拒絕訪問,同時根據(jù)審計規(guī)則生成記錄存入審計日志。DSS結構如圖1所示。

      圖1 DSS結構示意圖

      DSS作為獨立的功能模塊主要通過向Sensor提供數(shù)據(jù)庫的調用接口的方式保障對數(shù)據(jù)庫信息安全合理地訪問。系統(tǒng)有一個默認的訪問控制流程,用戶也可以自己設定安全策略,系統(tǒng)自動生成相應訪問控制流程。本文約定被訪問的對象為客體,請求操作的用戶為主體,DSS訪問控制流程如圖2所示。

      2.2 系統(tǒng)實現(xiàn)

      系統(tǒng)實現(xiàn)主要分為系統(tǒng)數(shù)據(jù)字典設計、用戶登錄與用戶管理、系統(tǒng)相關策略制定、偵聽器(Sensor)的實現(xiàn)、訪問控制以及日志審計六部分。原數(shù)據(jù)庫API信息(dll)、用戶的自主防護策略作為輸入,Sensor核心一方面將用戶的防護策略融合在原數(shù)據(jù)庫的API接口中,另一方面記錄用戶對數(shù)據(jù)庫的操作并生成日志,提供給用戶做審計。用戶在使用過程中不需要修改原有系統(tǒng),即可實現(xiàn)自主防護。系統(tǒng)核心Sensor的結構如圖3所示。

      Sensor由API處理模塊、訪問控制模塊(Access Control)、Sensor核心模塊(Core)、注射模塊四部分組成。Core是Sensor的核心部件,主要負責攔截接口,解析并分離接口中的重要信息,使程序轉入自定義的安檢程序中執(zhí)行安全檢查。Access Control組件實現(xiàn)不同級別的訪問控制,根據(jù)用戶提供的安檢信息,組態(tài)出對應的安防模塊,并在合適的時候調用其進行訪問控制。API(dll)主要將數(shù)據(jù)庫系統(tǒng)提供的接口信息,轉化為dll以便Sensor偵聽時使用。Inject/Eject為Sensor提供遠程注射的功能。

      Core通過攔截對API的調用來實現(xiàn)定制功能。程序在調用API函數(shù)之前,首先要把API所在的動態(tài)鏈接庫載入到程序中;然后將API函數(shù)的參數(shù)、返回地址(也就是函數(shù)執(zhí)行完后,下一條語句的地址)、系統(tǒng)當前的環(huán)境(主要是一些寄存器的值)壓入系統(tǒng)調用棧;接著,進入到API函數(shù)的入口處開始執(zhí)行API函數(shù),執(zhí)行過程中從系統(tǒng)調用棧中取出參數(shù),執(zhí)行函數(shù)的功能,返回值存放在EAX寄存器中,最終從堆棧中取出函數(shù)的返回值并返回(參數(shù)壓棧的順序還要受到調用約定的控制,本文不詳細介紹)。

      圖2 DSS訪問控制流程

      圖3 Sensor結構圖

      舉例說明函數(shù)調用時堆棧的情況。假設調用約定采用_stdcall,堆棧由高向低遞減,API為 Intfunc(int a,int b,int c)。系統(tǒng)調用棧的部分內容如表1所示。

      攔截主要通過HOOK API技術實現(xiàn),可以攔截的操作包括DOS下的中斷、Windows中的API調用、中斷服令長度。在32 bit系統(tǒng)中,一條JMP/CALL指令的長度是5 B,因此只需要替換API中入口處的前5 B的內容,否則會產(chǎn)生不可預料的后果。(2)參數(shù)。為了訪問原API的參數(shù),需要通過EBP或ESP來引用參數(shù),因此需要明確HOOK代碼中此時的EBP/ESP的值。(3)時機問題。有些HOOK必須在API的開頭,如CreateFileA()。有些必須在API的尾部,如RECV()。(4)程序上下文內容的保存。在程序執(zhí)行中會涉及修改系統(tǒng)棧的內容,因此注意保存棧中原有內容,以便還原。(5)在HOOK代碼里盡量杜絕全局變量的使用,以降低程序之間的耦合性。通過以上的分析,整理出如圖4所示的實現(xiàn)的流程。

      DSS與傳統(tǒng)數(shù)據(jù)庫的安全防護功能相比,具有以下特點:

      (1)獨立于具體的數(shù)據(jù)庫。這種獨立性體現(xiàn)在:①DSS只需要數(shù)據(jù)庫提供其接口信息即可工作。②支持不同標準的SQL語句,通過數(shù)據(jù)庫命令映射表可將非標準的SQL語句映射為系統(tǒng)設置的SQL命令。③系統(tǒng)自身數(shù)據(jù)的物理存儲是獨立于數(shù)據(jù)庫的。

      (2)靈活性和針對性的統(tǒng)一。用戶可以根據(jù)自己的需要配置針對特定應用的相關規(guī)則。

      (3)完善的自我安全保護措施。DSS只有數(shù)據(jù)庫安全管理員和安全審計員才能訪問。安全管理員和安全審計員是一類特殊的用戶,他們只負責安全方面的操作,而不能訪問數(shù)據(jù)庫中的數(shù)據(jù)。這與Oracle等的數(shù)據(jù)庫不同,在這些數(shù)據(jù)庫中,DBA可以進行所有的操作。DSS系務、IFS和NDIS過濾等。目前微軟提供了一個實現(xiàn)HOOK的函數(shù)庫Detours。其實現(xiàn)原理是:將目標函數(shù)的前幾個字節(jié)改為jmp指令跳轉到自己的函數(shù)地址,以此接管對目標函數(shù)的調用,并插入自己的處理代碼。

      表1 系統(tǒng)調用棧的部分內容

      HOOK API技術的實質是改變程序流程。在CPU的指令集中,能夠改變程序流 程 的 指 令 包 括 JMP、CALL、INT、RET、RETF、IRET等。理論上只要改變 API入口和出口的任何機器碼,都可以實現(xiàn)HOOK。但實際實現(xiàn)上要復雜得多,主要需要考慮如何處理好以下問題:(1)CPU指統(tǒng)本身具有故障恢復能力,能使系統(tǒng)出現(xiàn)問題時恢復到一個安全的狀態(tài)。

      圖4 HOOK程序的基本流程

      (4)完備的信息查閱和報警功能。在DSS中,本文提供了便利的設計查閱工具,方便用戶對系統(tǒng)進行監(jiān)控。另外,用戶也可以自己定義報警條件和報警處理措施,一旦滿足報警條件,系統(tǒng)就會自動地做出響應。

      3 實驗及結果分析

      DSS的開發(fā)主要采用VS 2005實現(xiàn),開發(fā)完成后在一臺主頻為2.8 GHz、內存2 GB、裝有 Windows 2000操作系統(tǒng)的普通 PC機上對其進行了功能和性能的測試,使用的數(shù)據(jù)庫是開源的嵌入式數(shù)據(jù)庫SQLite 3.6。為了搭建測試環(huán)境,需要在SQLite中添加初始化系統(tǒng)自身的數(shù)據(jù)字典,并開發(fā)應用程序。測試內容包括:登錄、用戶管理、Sensor、訪問控制、日志審計以及增加 DSS前后數(shù)據(jù)庫系統(tǒng)安全性變化等功能性測試和增加DSS系統(tǒng)后對數(shù)據(jù)庫性能的影響兩方面。其中,性能測試主要從時間和資源的增加情況來說明,針對不同數(shù)據(jù)庫對象分別在五個級別(20 000、40 000、60 000、80 000、100 000)的數(shù)據(jù)上進行了插入和查詢操作測試。為了做好性能對比,在SQLite中也添加了相同的訪問控制功能,記為Inline Processing。插入操作的測試結果如圖5所示,查詢操作的測試結果如圖6所示。

      圖5 在三種方式下執(zhí)行插入操作執(zhí)行時間對比圖

      圖6 在三種方式下執(zhí)行查詢操作執(zhí)行時間對比圖

      從功能測試結果可以看出,DSS可以為數(shù)據(jù)庫系統(tǒng)提供自主防護。從性能測試的結果中看出,查詢操作和插入操作耗時相差比較大,這主要是SQLite工作方式引起的,在執(zhí)行用戶的插入操作時,數(shù)據(jù)庫需將內存中的數(shù)據(jù)寫入磁盤數(shù)據(jù)庫文件中,占用了一部分時間。而查詢時,SQLite會將數(shù)據(jù)庫文件部分內容緩存起來,加快了查詢的速度。另外,增加DSS會對性能有略微的影響,但是它能實現(xiàn)對數(shù)據(jù)庫系統(tǒng)自主保護。

      本文針對傳統(tǒng)數(shù)據(jù)庫安全防護功能配置不靈活的問題,提出了一種基于HOOK技術的數(shù)據(jù)庫通用安全防護系統(tǒng)。該系統(tǒng)的最大優(yōu)點在于,它不受數(shù)據(jù)庫自身的約束,完全獨立于數(shù)據(jù)庫系統(tǒng),為用戶提供一種按需定制的功能,不僅增加了安防配置的靈活性而且提高了通用性,可以用于不同的數(shù)據(jù)庫系統(tǒng)中。在嵌入式數(shù)據(jù)庫SQLite上的實驗結果表明,該系統(tǒng)在不影響原系統(tǒng)正常運行的前提下,解決了數(shù)據(jù)庫面臨的“越權使用、權限濫用、權限盜用”等安全威脅,能滿足不同用戶的需求,適用于政府、金融、運營商、稅務、教育及企業(yè)等所有使用數(shù)據(jù)庫的各個行業(yè)。

      [1]朱良根,雷振甲,張玉清.數(shù)據(jù)庫安全技術研究[J].計算機應用研究,2004(9):127-129.

      [2]吳溥峰,張玉清.數(shù)據(jù)庫安全綜述[J].計算機工程,2006,32(12):85-88.

      [3]趙亮,茅兵,謝立.訪問控制研究綜述[J].計算機應用研究,2004,(4):55-58.

      [4]施良輝.基于角色的訪問控制框架設計及其應用[J].電腦應用技術,2007(70):22-26.

      [5]王兆祥.基于角色的使用控制模型研究[D].碩士學位論文,鄭州:中國人民解放軍信息工程大學,2006.

      [6]Liu Lianzhong,Huang Qiang.A framework for database auditing[N].2009 Fourth International Conference on Computer Sciences and Convergence Information Technology,2009.

      [7]周洪昊,張剡,柏文陽.安全審計系統(tǒng)的設計與實現(xiàn)[J].計算機應用研究,2004(7):105-107.

      [8]曹暉,王青青,馬義忠,等.一種新型的數(shù)據(jù)庫安全審計系統(tǒng)[J].計算機工程與應用,2007,43(5):163-165.

      猜你喜歡
      數(shù)據(jù)庫安全數(shù)據(jù)庫系統(tǒng)訪問控制
      管理信息系統(tǒng)中數(shù)據(jù)庫安全實現(xiàn)方法
      活力(2019年21期)2019-04-01 12:16:50
      數(shù)據(jù)庫系統(tǒng)shell腳本應用
      電子測試(2018年14期)2018-09-26 06:04:24
      微細銑削工藝數(shù)據(jù)庫系統(tǒng)設計與開發(fā)
      淺談高速公路數(shù)據(jù)庫安全審計
      ONVIF的全新主張:一致性及最訪問控制的Profile A
      實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
      電信科學(2016年10期)2016-11-23 05:12:00
      動態(tài)自適應訪問控制模型
      通信學報(2016年11期)2016-08-16 03:20:32
      淺析云計算環(huán)境下等級保護訪問控制測評技術
      大數(shù)據(jù)平臺訪問控制方法的設計與實現(xiàn)
      核反應堆材料數(shù)據(jù)庫系統(tǒng)及其應用
      台州市| 高安市| 潼关县| 花垣县| 宜宾县| 垣曲县| 重庆市| 壶关县| 无锡市| 泰宁县| 简阳市| 泗洪县| 涟源市| 阳江市| 类乌齐县| 米脂县| 安义县| 沈丘县| 大丰市| 江西省| 保德县| 铅山县| 延庆县| 荆州市| 精河县| 广宁县| 陕西省| 右玉县| 宣汉县| 晋州市| 东乌| 股票| 肇庆市| 三江| 玉龙| 易门县| 资源县| 宣汉县| 南投市| 延边| 廉江市|