在大眾眼里,數據庫審計(簡稱“數審”)系統是數據安全領域的入門級產品,不過,歷經近20年的發展,數據庫審計技術路線和產品定位不斷革新和演變,如今,已經從入門產品,發展為進階產品,甚至在未來有可能成為終極產品之一。
原因有以下幾點:
首先,無論是國家級的法律或標準,還是等保以及行業級的安全標準都對使用數據庫審計有明確要求,是所有網絡運營者必須建設的基礎能力之一。
其次,數據庫作為數據資產的存儲載體,其重要性無需贅述。如此重要的對象,必須要掌握誰在用、怎么用、何時用、何地用、用了哪些基礎信息。這些基礎信息幾乎是我們判斷是否出現泄密事件、是否需要調整安全策略、是否需要追責定責的唯一支撐。數審系統發揮的作用就是回答以上這些追問。可以說,如果沒有數據庫審計,數據安全的管理和建設將舉步維艱、寸步難行。
再次,核心數據資產所在的數據庫,必定是惡意人員最頻繁入侵的領地,它面臨多重威脅,既有外部入侵威脅,又不得不防范層出不窮的內部惡意行為。身為管理者,一定希望在數據庫受到威脅時能夠第一時間獲取風險信息。如何實現?靠人工24小時監控數據庫的一切訪問行為幾乎難以實現,因此,借助工具的力量,引入數審產品才是成熟的做法。
數據庫審計不僅具備識別風險的能力,而且還可以發出告警,方便管理者和運維工程師及時處理風險。建立數審體系,無論是外部還是內部,只要出現了針對數據庫的惡意操作,數據庫審計就能夠第一時間識別并發出告警,讓管理者第一時間進行處理,能夠有效降低甚至避免損失。所以,數據庫審計對于數據安全防護來說是必要一環。
最后,對于已知風險可以通過內置規則和模型,第一時間進行告警通知,但對于特別復雜的風險模型或新型安全攻擊方法造成的安全事件,風險預警未必來得及或未必能全部處理。這時候,就需要對安全事件進行倒追溯源。溯源的前提一定是建立在完整的數據庫訪問日志的基礎上,全量的、訪問要素齊全的、準確地記錄所有SQL日志,讓數審系統成為數據庫溯源小能手。
當然,幾乎所有優秀產品的發展都是由用戶需求驅動和技術環境支撐的,數審產品也不例外。從最初解決有無逐步發展到智能分析,數審產品歷經至少四代演進,可以說每一代產品的發展史就是用戶的需求進化史。
第一代:解決有無
時間:2003年前后
用戶需求:能夠專門審計數據庫活動
此前的3-5年,網絡安全在國內迅速發展。除了網絡防火墻、IPS等邊界防護產品,在旁路技術領域,網絡審計系統已經嶄露頭腳。用戶此階段的關注點在于:數據庫端能不能有一類專門的旁路產品,能做到在全量訪問行為記錄的同時,還能風險告警。
眾所周知,在Oracle、MySQL、SQLServer等大型數據庫產品中,均自帶了審計服務模塊,具備完整準確記錄SQL日志的能力。然而,數據庫自身的審計受限于自身的管理體系,DBA用戶可根據需要隨時停掉審計服務,干壞事時甚至可以不審計,或人工刪除日志消除痕跡,不符合安全審計的第三方獨立性原則;加之自身與數據庫服務器本地部署,往往消耗30%以上性能,因此也需要引入第三方審計產品。
在此背景下,2003年左右,國內第一代數審產品誕生,主要功能設計為針對數據庫活動行為的監控,變黑盒為白盒,變未知為已知,解決用戶的數據庫安全管理焦慮。實際上,這一代的數審產品是由網絡審計簡單變形而來,針對數據庫的流量包進行基于正則表達式匹配的審計技術,解決的是有無問題,但無法對數據庫操作全量,進行精準審計,特別是復雜語句超長語句等等,更別談執行的結果類要素信息。
對于數據庫審計來說,正則表達式是一種簡易的通用字符串匹配方法,通常用于簡單場景下對指定字符的匹配。一旦面對超長、多層嵌套、多表關聯等復雜的SQL語句,使用正則表達式很容易造成誤識別或漏識別,更無法有效區別數據庫品牌不同導致的差異。
第一代數審產品給人的總體印象: 具備基本SQL語句的記錄能力,復雜類的操作往往審不到。無法做到精準告警,無效告警、誤報頻頻發生。
第一代數審總體生存狀況:合規性用戶勉強使用,需求性用戶輕易還不用。
第一代數審總體評分:●●○○○
第一代數審廠商數量:3家左右。
正是這樣的局限性,推動了數審產品的繼續進化。
第二代:準確性需求
時間:2009年前后
用戶需求:能否審計得更準一點、不添亂
第一代數審產品推向市場并接受檢驗,各種性能問題逐漸暴露,產品服務提供商修修補補進行完善,使得產品日漸成熟穩定。但產品穩定了,用戶群同時也不斷擴大,審計日志不準確的問題也逐漸顯露出來,漏審、誤審、漏報、誤報現象成了家長便飯,導致用戶基于審計日志所作的判斷,常常是錯的,從而誤導了對安全事件的追蹤、溯源和響應。
隨著用戶的不斷反饋,產品廠商逐漸意識到第一代數審產品存在的原理缺陷,僅靠修修補補無法從根本上解決問題,產品的設計必須推翻重建。2009年前后,廠商推出第二代數審系統,摒棄第一代架構重新設計,采用了基于數據庫協議的語法、語義的解析技術。此種解析技術采用準確“翻譯”的方式,不受限于SQL語句的長度或復雜度等因素,能夠精確定義每一條SQL語句,準確理解其真正的含義,從而實現精準審計和告警。
讓我們舉例對比兩代數審系統的差距:
假設用戶設置規則為對B表進行查詢的SQL操作定義為風險操作,第一代系統的正則表達式配置規則思路是:語句中包含select、b關鍵字;第二代系統基于數據庫協議語法、語義的解析技術思路是:語句操作最終執行意思是查詢(select),且作用表對象為b表,此時,數據庫接收到一條訪問請求:DELETE FROM a WHERE a.rowid > (SELECT MIN(b.rowid) FROM b WHERE a.sno=b.sno)。
若通過正則表達式匹配SQL后,發現該語句中包括select和b關鍵字,誤判其為風險操作——進行告警;若通過語法、語義解析后,理解該語句為一個刪除操作(delete),刪除數據的條件是rowid大于某個值,而該值是通過嵌套的sql查詢語句獲得,因而準確判定其為非風險操作——不予告警。
從上述例子可以直觀的看出兩代審計產品的差距,第二代數據庫審計技術幫助用戶真正掌握了完整且準確的數據庫活動。為數據庫層出現的違規、惡意事件提供準確判斷、溯源和定責的證據支撐,避免了誤判。
隨著第二代數審系統逐漸成熟,越來越多的用戶開始使用數審產品,特別是在等級保護的助推下,數審產品掀起了一股小熱潮。這一階段的用戶只是愿意買、敢于買,并未有人太去關注真正的使用效果如何,以及出了安全事件能不能快速溯源、能不能快速完成突發事件的排查等。因為高端場景并未出現,金融、電信等業務量較大的企業用戶仍未登場。
第二代審計產品給人的總體印象: 復雜類的操作能解析記錄,準確度大幅提升。但往往是偏向政府類或中小企業客戶,這些客戶的等級保護政策要求較高,性能要求往往不太高。
第二代數審總體生存狀況:合規性用戶大幅增加,需求性用戶基本愿意購買,但高端用戶暫時無人問津。
第二代數審總體評分:●●●○○
第二代數審廠商數量:10家左右。
第三代:高質量要求開始登場
時間:2014年前后
用戶需求:能否審計得更多、更久一點
隨著用戶數據庫訪問規模的逐步增加,需要審計系統單位時間內執行的入庫量迅速增多,存儲日志量也相應增加,此時,數據庫審計記錄的日志可以用“海量”日志來形容,在海量日志中高效檢索就成為極大挑戰。此時,第二代數審系統開始出現性能瓶頸問題,已經完全無法支撐對大型和超大型業務系統的審計需求,尤其是高端行業的審計需求。
隨著國家和政府對網絡安全的重視,特別要求金融等關鍵基礎信息行業在安全領域鼓勵使用國產自主產品,給予國產安全軟件以最大的門檻開放度。至此,國產數審產品拉開了性能上追逐國際大牌的序幕。在突破高性能階段,擺在國內廠商面前的實際挑戰相當大。高性能意味著高入庫性能、高查詢性能、高存儲效能。
直到2017年,才有若干優秀廠商,憑借全文檢索、列存儲數據庫、多進程并發等技術,完成了高性能產品的突破,真正開始在大銀行、大保險公司的重要業務系統上應用。
第三代審計產品給人的總體印象: 性能大幅提升,已經可以滿足很多政企、教育、醫療等行業用戶的海量日志檢索性能需求。不過,在更高端的場景下,滿足需求的優質產品仍然鳳毛麟角、寥寥無幾。
第三代數審總體生存狀況:合規性用戶暴增,需求性用戶也大幅增加,有的廠商甚至靠一款優秀的數審產品就能解決生存問題。
第三代數審總體評分:●●●●○
第三代數審廠商數量:30家左右。
第四代:智能化需求
時間:2017年前后
用戶需求:能否有“今日頭條”款的智能數審產品
如果從單純做“審計”來說,第三代數審系統已經基本夠用,但是,隨著數據庫審計逐漸成為保障數據安全的“剛需”,其扮演的角色越來越重要,加之數據資產暴增和數據安全事件呈幾何級增長,用戶必然對其提出更高要求。
用戶需求這幾年間進一步升級:管理的數據庫品牌類型能否越來越多;能否自動識別數據庫類型,而非人工指定數據庫IP和類型,因為有的用戶動輒幾百個庫,上千個庫,實在連自己都不清楚臺賬;數據庫的策略能否給出智能的配置建議,而非全開全關,難以掌握;能否做到精準指導,因為用戶有很多數據庫,買了很多數據庫審計設備,但審計的核心目標畢竟是敏感數據的行為,所以希望能夠做到不浪費資源,實現精準指導。
此時,第三代數審產品的不足表現為:第一,對數據庫類型的支持非常被動,往往被用戶牽著走;第二,欠缺自動化識別數據庫類型的能力,眾多數據庫需要一一指定IP和數據庫類型,非但不準確還易手工出錯、不是累死客戶就是累死廠商自己;第三,缺少通過基線學習智能地給用戶推送策略的能力;第四,沒有真正與敏感數據的定位相結合。
2017年,第四代數審系統逐漸開始研發,主攻“智能發現”、“主動推送”等智能技術方向。第四代數審產品通過機器自學,聚類訪問來源、操作行為特征、資產信息,全面掌握每個數據庫被訪問的基礎情況,有效建立基線,形成高密度可信邊界。當訪問來源發生變化或訪問來源的操作行為發生變化時,自動伸縮基線,同時輔以通用型的輕量級策略,輕松建立防護圈。人工參與極大降低,安全策略可落地。
核心功能如下:
資產梳理:深入梳理網絡中的數據資產,形成數據臺賬;
分級打標:導入分級策略,對梳理出的數據進行分級打標;
主動推送:通過對數據位置、數據級別及數據流動等信息的掌握,自動分析風險并主動推送防護策略建議,降低使用難度,提高安全效果;
智能發現:持續監視數據庫結構變化,與安全防護策略形成聯動調整,一旦防護目標出現結構變化,防護策略會跟隨變化,確保防護的針對性及防護效果始終處于正確基線。
第四代審計產品給人的總體印象: 聰明、智能,由原來的體力活,變成真正高科技。
第四代數審總體生存狀況:生存體面,需求性用戶面前贏得尊重,且量大價高。
第四代數審總體評分:●●●●?
第四代數審廠商數量:10家左右。
未來的路
數據庫審計或將成為數據安全的神經網絡觸點
技術的發展是無止境的,對安全的需求也沒有盡頭。只要威脅在演變,技術在革新,防御手段就需要不斷進化以至平衡。近年來,越來越多的用戶已經不僅僅滿足于對執行操作的精準審計,還要對結果集數據進行保存用于日后取證追溯等。
也許不久之后,第四代數審產品,除了自身要具備高智能、高性能的氣質之外,還可能成為數據安全集中管控和安全大數據分析的神經網絡觸點,所有安全防護核心能力交由平臺型產品進行統一調度、防御和分析,而數據庫審計作為數據和行為的采集端,形成“樹”和“根”的強關聯結構。
此時審計將不再是獨立系統,不再獨立工作,而是為平臺提供數據的輸入。這樣更能與KAFkA、FLUME、ELK等先進的大數據分析和流式處理等分析技術結合,真正解決超大數據規模日志的利用問題,這可能也是未來數據安全的發展方向之一,我們拭目以待。