資料庫審計

資料庫安全技術之一

資料庫審計(簡稱DBAudit)能夠實時記錄網路上的資料庫活動,對資料庫操作進行細粒度審計的合規性管理,對資料庫遭受到的風險行為進行告警,對攻擊行為進行阻斷。它通過對用戶訪問資料庫行為的記錄、分析和彙報,用來幫助用戶事後生成合規報告、事故追根溯源,同時加強內外部資料庫網路行為記錄,提高數據資產安全。

資料庫審計是資料庫安全技術之一,資料庫安全技術主要包括:資料庫漏掃、資料庫加密、資料庫防火牆、數據脫敏、資料庫安全審計系統。

安全挑戰


資料庫是任何商業和公共安全中最具有戰略性的資產,通常都保存著重要的商業夥伴和客戶信息,這些信息需要被保護起來,以防止競爭者和其他非法者獲取。網際網路的急速發展使得企業資料庫信息的價值及可訪問性得到了提升,同時,也致使資料庫信息資產面臨嚴峻的挑戰,概括起來主要表現在以下三個層面:
1. 管理風險:主要表現為人員的職責、流程有待完善,內部員工的日常操作有待規範,第三方維護人員的操作監控失效等等,離職員工的後門,致使安全事件發生時,無法追溯並定位真實的操作者。
2. 技術風險:Oracle, SQL Server是一個龐大而複雜的系統,安全漏洞如溢出,注入層出不窮,每一次的CPU(Critical Patch Update)都疲於奔命,而企業和政府處於穩定性考慮,往往對補丁的跟進非常延後,更何況通過應用層的注入攻擊使得資料庫處於一個無辜受害的狀態。
3. 審計層面:現有的依賴於資料庫日誌文件的審計方法,存在諸多的弊端,比如:資料庫審計功能的開啟會影響資料庫本身的性能、資料庫日誌文件本身存在被篡改的風險,難於體現審計信息的有效性和公正性。此外,對於海量數據的挖掘和迅速定位也是任何審計系統必須面對和解決的一個核心問題之一。
伴隨著資料庫信息價值以及可訪問性提升,使得資料庫面對來自內部和外部的安全風險大大增加,如違規越權操作、惡意入侵導致機密信息竊取泄漏,但事後卻無法有效追溯和審計。

歷史回顧


對於資料庫審計 的理解,其實有一個發展過程。從幾年前開始,開始在原來日誌審計的基礎上發展包裝了一個資料庫審計,這類系統能記錄並顯示基本的往資料庫發的sql, 並且有一定的查詢和報表功能。客觀地說,這種系統一開始出現時滿足了一定的需求。
但是隨著新信息安全時代的到來,原來的基本功能越來越體現起不足,比如越來越多的控制是關注返回而不是請求,弱口令等管理風險如何控制,還有如何進行用戶訪問控制細粒度策略的定製和實施,和萬一數據被篡改或刪除后(不管是有意還是無意)能否儘快實施定位式恢復。

主要功能


多層業務關聯審計:
通過應用層訪問和資料庫操作請求進行多層業務關聯審計,實現訪問者信息的完全追溯,包括:操作發生的URL、客戶端的IP、請求報文等信息,通過多層業務關聯審計更精確地定位事件發生前後所有層面的訪問及操作請求,使管理人員對用戶的行為一目了然,真正做到資料庫操作行為可監控,違規操作可追溯。
細粒度資料庫審計:
通過對不同資料庫的SQL語義分析,提取出SQL中相關的要素(用戶、SQL操作、表、欄位、視圖、索引、過程、函數、包…)實時監控來自各個層面的所有資料庫活動,包括來自應用系統發起的資料庫操作請求、來自資料庫客戶端工具的操作請求以及通過遠程登錄伺服器后的操作請求等 通過遠程命令行執行的SQL命令也能夠被審計與分析,並對違規的操作進行阻斷 系統不僅對資料庫操作請求進行實時審計,而且還可對資料庫返回結果進行完整的還原和審計,同時可以根據返回結果設置審計規則。
精準化行為回溯:
一旦發生安全事件,提供基於資料庫對象的完全自定義審計查詢及審計數據展現,徹底擺脫資料庫的黑盒狀態。
全方位風險控制:
靈活的策略定製:根據登錄用戶、源IP地址、資料庫對象(分為資料庫用戶、表、欄位)、操作時間、SQL操作命令、返回的記錄數或受影響的行數、關聯表數量、SQL執行結果、SQL執行時長、報文內容的靈活組合來定義客戶所關心的重要事件和風險事件 多形式的實時告警:當檢測到可疑操作或違反審計規則的操作時,系統可以通過監控中心告警、簡訊告警、郵件告警、Syslog告警等方式通知資料庫管理員
職權分離:
《計算機信息系統安全等級保護資料庫管理技術要求》、《企業內部控制規範》、SOX法案或PCI中明確提出對工作人員進行職責分離,系統設置了許可權角色分離。
友好真實的操作過程回放:
對於客戶關心的操作可以回放整個相關過程,讓客戶可以看到真實輸入及屏幕顯示內容。對於遠程操作實現對精細內容的檢索,如執行刪除表、文件命令、數據搜索等。

審計手冊


資料庫系統功能強大而豐富,對於一個資料庫環境而言,我們可以生成很多類型的審計記錄。知道有哪些審計類型以及如何實施這些審計有助於你滿足合規需求。要實施完善的資料庫審計,必須理解的一個關鍵問題是需求,從而知道可以使用哪些審計類型來滿足自己的需求。
登入和登出
在你要進入一家公司會晤某人的時候,一般需要在前台進行登記。這樣做可確保公司完整的記錄進入公司的任何人,在出現問題時,或在追蹤和調查“這事兒是誰幹的?”時,這種登錄很有用處。這種日誌通常會記錄來客是誰、何時進入、何時離開。同樣的過程也適用於資料庫,多數環境中所需要的首要審計就是完整的記錄哪些人曾登入過資料庫。
對於這類審計,你需要記錄兩類事件:登入事件和登出事件。對於每一個事件,你都需要保存登錄名和時間,但你還應該考慮記錄附加信息。這包括發起連接的客戶端的IP地址,以及用於初始化連接的程序。例如,在Oracle環境中,你可能想知道該連接是否由SQL Plus等初始化。
資料庫源頭
與登錄活動審計相關的是客戶源信息的審計。這包括審計哪個網路節點連接到了資料庫(例如,使用一個IP地址還是主機名),並且審計使用哪個應用程序訪問了資料庫。
雖然這種信息是我們在審計數據連接時通常都會捕獲的值之一,但在SQL調用水平上捕獲這種信息非常重要。除了知道一個用戶是使用Excel而不是SAP系統連接之外,你還需要知道某次更新是由Excel電子數據表軟體還是由SAP系統執行的。因此,你在每次查詢和資料庫操作中,應該將源程序收集在審計記錄中,特別當IP地址能夠唯一確認一個用戶時。如果你的架構是基於客戶/伺服器的,那麼源IP地址通常會確認一個唯一的用戶。這種情況下,根據用戶每次SQL調用的IP地址進行跟蹤和報告,這同報告終端用戶的資料庫操作和數據查看同樣有益。另一方面,如果你使用一種應用程序伺服器架構,那麼IP地址不會幫助你確認和報告終端用戶,你需要藉助於其它技術。
在審計和提供審計信息時,你還得做另一個決定,這與你是提供“原始數據”還是更易於使用的數據有關。例如,上圖三中的左側顯示了哪些源程序被用於訪問運行在155.212.221.84上的SQL伺服器上。這種信息對於了解環境的人員來說非常有用。而上圖右側所提供的信息對一般人來說更有意義,這些人並不關心IP地址是什麼,卻知道HR(人力資源)資料庫是怎麼回事。如果相關人員理解與開發者工具登錄進入人力資源(HR)資料庫有關的風險,這種信息顯然更有意義。
審計資料庫錯誤
審計由資料庫返回的錯誤也是很重要的,它是你應實施的首個審計日誌之一。從安全的觀點來看,這尤其重要。例如,在許多情況下,攻擊者會進行很多嘗試直至得逞。攻擊者可以使用基於UNION的攻擊,他需要猜測數據表的正確欄數,直到他得到正確的數字,資料庫將會不斷地返回一個錯誤代碼,表明SELECT語句所選擇的欄數不匹配。如果你記錄了所有的錯誤,就可以確認這種攻擊並做出響應。失敗的登錄是需要進行記錄和監視的錯誤之一,即使你並沒審計資料庫的登錄。最後,任何失敗的提升特權的試圖操作都表明攻擊正在發生。
從質量的觀點看,錯誤審計也很重要,它符合合規要求。我們應該確認並修復漏洞和應用程序錯誤,而記錄SQL錯誤通常是確認這些問題的一種簡單方法。因而,即使你關心的是安全問題,將這種信息提供給應用程序的所有者也很有意義,因為誰都不願意運行存在著問題的代碼。幸運的話,這些錯誤甚至會向你指出那些影響響應時間和可用性的問題。

產品特點


完整性:獨一無二的多層業務關聯審計,可針對WEB層、應用中間層、數據層各層次進行關聯審計
細粒度:細粒度的審計規則、精準化的行為檢索及回溯、全方位的風險控制。
有效性:獨有專利技術實現對資料庫安全的各類攻擊風險和管理風險的有效控制;靈活的、可自定義的審計規則滿足了各類內控和外審的需求(有效控制誤操作、越權操作、惡意操作等違規行為)
公正性:基於獨立審計的工作模式,實現了資料庫管理與審計的分離,保證了審計結果的真實性、完整性、公正性
零風險:無需對現有資料庫進行任何更改或增加配置,即可實現零風險部署
高可靠:提供多層次的物理保護、掉電保護、自我監測及冗餘部署,提升設備整體可靠性
易操作:充分考慮國內用戶的使用和維護習慣,提供Web-based全中文操作界面及在線操作提示