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