文/和旭冉
(西北工業大學網絡空間安全學院 陜西省西安市 710129)
隨著計算機網絡的不斷普及,越來越多的領域都需要應用數據庫系統,系統網絡化、全球化已成為發展的趨勢。但是數據庫系統所面臨的威脅也變得越來越嚴峻,加上人們對信息安全的重視程度不斷提升,網絡數據庫系統安全防護已成為其應用中必須解決的首要問題之一。
“數據庫系統安全防護的目標就是最大限度地防止數據庫被非法篡改或破壞,保證數據的完整性、一致性?!盵1]
數據庫系統安全防護技術是用來保護數據庫系統、數據庫服務器和數據庫中的數據、應用、存儲以及相關網絡連接,從而實現數據的保密性、完整性和可用性的技術。保密性指不允許未經授權的用戶非法存取數據;完整性指保護數據的正確性、有效性和相容性,防止已授權用戶向數據庫中加入不符合語義的數據造成無效操作;可用性指不應拒絕已授權的用戶對數據進行存取。
“數據庫系統安全防護技術主要分為動態入侵行為檢測和靜態安全特性檢測兩種類型防護技術。”[2]動態入侵行為檢測是識別和分析客戶端對數據庫訪問請求的通信信息,從中發現可能危險入侵的通信指令。靜態安全特性檢測是分析測試數據庫設計中可能存在的漏洞,從中發現安全策略或設置的問題。
一般數據庫系統安全防護包括用戶層、物理層、網絡層、操作系統層和數據庫系統層等五個層次。為了保障數據庫系統安全,必須在所有層次上采用安全防護措施。
1.3.1 用戶層
主要進行用戶權限管理和身份認證等操作,從而防范未經授權用戶采用各種方式非法訪問數據庫。
1.3.2 物理層
數據庫系統物理層容易受到攻擊和破壞,該層主要是保護計算機網絡系統、網絡鏈路及其網絡節點的實體安全。
1.3.3 網絡層
所有網絡數據庫系統都允許通過網絡進行遠程訪問,因此網絡層安全性和物理層安全性同樣重要。
1.3.4 操作系統層
在數據庫系統中,操作系統與數據庫管理系統(Database Management System,DBMS)交互并協助控制管理數據庫,因此操作系統安全漏洞常常被利用進行非法訪問數據庫。
1.3.5 數據庫系統層
數據庫存儲著重要程度和敏感程度不同的各種數據,供不同授權的多用戶共享,數據庫系統必須采取權限管理、訪問控制、數據加密、審計和應急處理等安全措施。
數據庫安全防護技術主要包括:敏感數據梳理、數據庫漏洞掃描、數據庫加密、數據庫防火墻、數據庫脫敏、數據庫安全審計等。
敏感數據梳理技術是在網絡內自動搜索未知數據庫,通過預置發現規則自動識別數據庫中的敏感數據、數據庫賬戶權限、敏感數據使用熱度,包括數據庫自動嗅探、敏感數據自動識別、敏感數據分級分類和權限梳理等四種核心技術。該技術能夠幫助用戶清晰認識數據資產分布、使用、數據量級、訪問權限、職責部門、角色設定等內容,對風險預估和異常行為評測,避免核心數據遭破壞或泄露。
數據庫漏洞掃描技術是自動化評估數據庫系統安全性的技術,能夠有效檢測出數據庫的DBMS漏洞、缺省配置、權限提升漏洞、緩沖區溢出、補丁未升級等自身漏洞,并提供修復建議,持續監控數據庫的安全狀況。該技術包括黑盒、白盒、滲透測試三種實現方式。黑盒檢測方法是在未知數據庫登錄賬戶的情況下,根據權威漏洞披露平臺和數據庫版本號掃描網絡,生成數據庫漏洞檢測報告。白盒檢測方法是使用數據庫賬號和口令登錄,基于漏洞知識庫構建漏洞描述和修復建議模型,采用檢測規則庫形成漏洞對應檢測方法,使用NASL腳本語言實現檢測,目前大多采用該方法。滲透測試是評估數據庫系統安全的一種評估方法,通過模擬黑客使用的漏洞發現技術和攻擊手段,發現和挖掘系統中存在的漏洞,獲得系統權限、執行系統命令、篡改數據等,從而分析目標數據庫的安全性。
數據庫加密技術是以加密的方式存儲數據庫中敏感數據的技術,能夠有效防止發生以明文方式存儲引起的內部泄密數據、高權限用戶(數據庫管理員、開發人員、第三方外包服務提供商等)竊取數據等情況,從根源上降低敏感數據泄漏風險。該技術使用數據庫安全保密中間件對數據進行加密,主要有系統中加密、客戶端(DBMS外層)加密、服務器端(DBMS內核層)加密等三種實現方式。經過加密后,敏感數據以密文方式存儲,能夠實現訪問控制增強、應用訪問安全、密文訪問審計及三權分立等功能。
數據庫防火墻專門監測和審計對數據庫的SQL訪問,部署在應用服務器和數據庫服務器之間,用戶必須通過防火墻才能對數據庫進行訪問或管理。數據庫防火墻技術是加強數據庫保護的一種主動安全防御機制,主動實時監控、識別、告警、阻擋繞過內部網絡邊界防護的外部數據攻擊、來自于內部的高權限用戶的數據竊取、破壞、損壞等,是從數據庫SQL語句精細化控制技術層面提供的一種主動安全防御措施。
數據庫脫敏技術主要是為了兼顧數據安全與數據使用而采用的技術,通過數據抽取、數據漂白和動態掩碼等算法對敏感數據進行變形、屏蔽、替換、隨機化、加密等操作,將敏感數據轉化為虛構數據,實現對敏感隱私數據可靠保護的技術。它通常是不可逆轉的過程,無法返回原始數據,這樣就可以在開發、測試環境中安全使用脫敏后的真實數據集。
數據庫安全審計實時記錄網絡上對數據庫的操作。通常采用旁路部署的方式,通過鏡像或探針的方式采集所有數據庫的訪問流量,并基于SQL語法語義的解析技術,實時記錄下對數據庫的所有訪問和操作,包括訪問數據庫的用戶(IP、賬號、時間)、操作(增、刪、查、改)、對象(表、字段)等。采用數據庫安全審計技術可以在發生數據篡改、泄露等數據庫安全事件后為事件的追責定責提供依據,還可以對數據庫操作的風險行為進行實時告警。
數據庫備份與恢復技術是把數據庫里的部分或全部數據復制到其他存儲介質或服務器上,當前服務器發生故障或是數據狀態不一致時,將備份數據恢復成數據庫本身,使數據復原到正?;蛞恢聽顟B,把數據損失降到最低。“數據備份不僅是當數據發生意外損壞時可以及時恢復,也是歷史數據保存歸檔的一種方式?!盵3]
在網絡數據庫系統中,逐級逐層采取安全防護措施,它的安全防護模型如圖1所示。在該模型中,當用戶需要訪問數據庫系統時,首先操作系統根據輸入的用戶標識符或所使用的硬件設備信息來驗證用戶身份,只允許合法用戶進入數據庫系統。然后DBMS對進入系統的用戶進行安全訪問控制,只允許用戶執行合法操作。最后數據經過加密,用密文形式存儲在數據庫中。
在網絡數據庫系統中,采用數據庫防火墻技術實現數據庫服務器、Web服務器及客戶機之間的物理隔離,從而保障數據庫系統和網絡應用軟件系統的安全。防火墻從物理上將整個網絡劃分為內網、外網、DMZ(Demilitarized Zone)區三部分。內網是受防火墻保護的安全區域,將數據庫服務器部署在內網;外網是不受防火墻保護的非安全區域,客戶機都放置在該區域;DMZ 區也叫隔離區,位于內網與外網之間的小網絡區域內,是為解決安裝防火墻后外網客戶機不能訪問內網服務器問題而設立的一個非安全系統與安全系統之間的緩沖區,可以在該區域內放置一些必須公開的服務器設施,如Web服務器、FTP服務器和論壇等。DMZ區對攻擊者來說又多了一道關卡,可以提供更高的安全性,有效地保護內網。在網絡數據庫系統中將Web服務器部署在DMZ區。通過在防火墻上設置訪問控制策略,只允許Web服務器訪問數據庫服務器。外網的客戶機不能直接訪問數據庫服務器,只能通過訪問DMZ區的Web服務器來訪問數據庫服務器中的數據,從而有效地控制外網客戶機訪問數據庫,從物理位置上保證了網絡數據庫系統的安全性。
數據庫服務器的訪問控制既可以使用防火墻設置,也可以使用數據庫管理系統的相關操作限制特定IP訪問數據庫。在SQL Server數據庫系統中可以使用觸發器設置允許訪問的計算機IP,Oracle數據庫系統中還可以通過修改數據庫服務器的網絡配置文件sqlnet.ora來設置允許訪問的IP地址。

圖1:網絡數據庫系統安全防護模型

圖2:中間件方式訪問數據庫
數據庫中間件負責管理Web服務器和數據庫服務器之間的通信并提供應用程序服務,實現應用程序與本地或異地的同構或異構數據庫進行數據交換,如圖2所示。客戶機發出數據查詢指令,經過中間件處理,發送到數據庫服務器,由服務器完成數據查詢,再通過中間件將結果送回客戶機。采用該技術可以有效控制應用軟件訪問數據庫,保證了網絡數據庫系統的安全性。
網絡數據庫系統的訪問可以采用兩級用戶認證機制,將網絡數據庫系統中用戶分為數據庫用戶和應用用戶兩種,兩種用戶分別具有不同的權限。數據庫用戶是能夠直接訪問數據庫的賬戶;應用用戶是分配給終端用戶的賬戶,只能訪問數據庫系統,不能直接訪問數據庫本身,終端用戶通過系統找到對應的用戶組,再關聯到對應的數據庫用戶,然后利用這個數據庫用戶通過數據加密機制訪問網絡數據庫中的數據。
多數數據庫系統備份都是在后臺運行,可以根據存儲介質的容量和系統的具體情況選擇合適的備份方式。使用數據庫備份技術時要有機結合數據庫恢復技術,形成完整的系統,有效備份恢復數據信息。Oracle、SQL Server、MySQL等網絡數據庫備份可以通過備份命令,由指定的計劃任務程序定時自動激發來實現,增強了網絡數據庫系統的安全性。
在信息時代,保障數據庫安全和穩定已經成為一項舉足輕重的工作,網絡數據庫系統遭受到來自多方面的安全風險威脅,頻繁爆發數據庫安全事件,因此必須采取有效措施解決存在的安全隱患,加強數據庫系統防護技術的應用,由內而外,深度防護數據庫系統安全,防止數據被破壞和泄露。通過授權訪問、內外網隔離、IP 管理等措施手段,加強防護能力,提高數據庫系統運行的穩定性和安全性。