數(shù)據(jù)安全治理關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫脫敏技術(shù),為敏感數(shù)據(jù)建立保護(hù)盾!
數(shù)據(jù)庫脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設(shè)思路的著力點——數(shù)據(jù)安全咨詢服務(wù)【安華金和】
數(shù)據(jù)庫防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解【安華金和】
中國數(shù)據(jù)安全治理落地指導(dǎo)書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
“資本只有在流動中才帶來價值,單純存放起來只會貶值”。
在信息化大潮愈演愈烈的當(dāng)下,數(shù)據(jù)資產(chǎn)發(fā)揮著越來越突出的價值,數(shù)據(jù)資產(chǎn)的價值在流轉(zhuǎn)、共享、整合利用中逐漸顯現(xiàn)并越發(fā)放大。當(dāng)數(shù)據(jù)被分享給不同使用者,如何保障數(shù)據(jù)的安全?動態(tài)脫敏技術(shù)讓數(shù)據(jù)中心和外界使用者之間的安全交互成為可能。
長期以來,提起動態(tài)脫敏技術(shù),能力稱霸者非Informatica莫屬,國內(nèi)外其他廠商在動態(tài)脫敏技術(shù)領(lǐng)域都難以望其項背,由此可見這一技術(shù)的復(fù)雜度和成熟產(chǎn)品的研發(fā)難度非同一般。2014年,Informatica憑借其DDM產(chǎn)品位居Gartner數(shù)據(jù)脫敏的領(lǐng)導(dǎo)者象限。
對于國內(nèi)數(shù)據(jù)庫安全廠商而言,有了其他安全產(chǎn)品的深厚研發(fā)積累,朝著數(shù)據(jù)動態(tài)脫敏技術(shù)進(jìn)發(fā)也變成一種發(fā)展慣性。
2016年,國內(nèi)已有廠商開始基于長期的數(shù)據(jù)庫防火墻產(chǎn)品所積累下來的數(shù)據(jù)庫協(xié)議分析、協(xié)議改寫、語法分析、SQL語句改寫等技術(shù),成功推出數(shù)據(jù)庫動態(tài)脫敏產(chǎn)品,并在真實的用戶現(xiàn)場,通過與Informatica DDM產(chǎn)品的多次比拼,積累下豐富的“填坑”經(jīng)驗,產(chǎn)品也在不斷“填坑”的過程中逐步走向成熟。
那么,面對數(shù)據(jù)共享場景,合格的數(shù)據(jù)動態(tài)脫敏產(chǎn)品要跨越的技術(shù)障礙都有哪些呢?
對于動態(tài)脫敏策略,常用做法是指定需要脫敏的字段或字段通配符,如此一來,必然會面臨以下問題:
場景1:配置了字段ABC需要進(jìn)行脫敏處理,而用戶執(zhí)行的操作是select *,并沒有在操作中寫明字段名,這種情況還能針對字段ABC成功脫敏嗎?
場景2:配置了字段ABC需要進(jìn)行脫敏處理,但用戶應(yīng)用系統(tǒng)“每天自動產(chǎn)生一個包含這個字段的表,并且表中的這個字段的數(shù)據(jù)也需要脫敏”,應(yīng)對每天增量產(chǎn)生的表執(zhí)行select *操作,可以做到及時成功脫敏嗎?
技術(shù)應(yīng)對:動態(tài)脫敏產(chǎn)品自動根據(jù)用戶發(fā)起的SQL命令進(jìn)行分析,實時檢查select *這一命令操作的表有哪些字段,并根據(jù)實時檢查的結(jié)果自動對數(shù)據(jù)進(jìn)行脫敏。
場景:配置了字段ABC需要進(jìn)行脫敏處理,用戶執(zhí)行的操作是select substr(ABC,1,2),field1,field3,substr(ABC,2,5) from table,該操作中敏感字段的數(shù)據(jù)被“拆開”來使用,能夠成功脫敏嗎?
技術(shù)應(yīng)對:合格的動態(tài)脫敏產(chǎn)品,是作用在請求的SQL操作的字段上,而不是對返回的結(jié)果集進(jìn)行變形處理,否則會造成無法適應(yīng)各種復(fù)雜的SQL命令而產(chǎn)生結(jié)果集數(shù)據(jù)。
目前,動態(tài)脫敏主流的實現(xiàn)方式是采用網(wǎng)關(guān)或代理的方式(Informatica DDM和安華金和DDM正是采用這種實現(xiàn)方式),在客戶端和服務(wù)器之間按照策略進(jìn)行SQL操作的改寫,來實現(xiàn)數(shù)據(jù)脫敏效果。這個改寫過程必然需要對SQL語句進(jìn)行拆包和分析,可供選擇的技術(shù)路線包括正則匹配、詞法分析、語法分析;但正則匹配非常不準(zhǔn)確,首先被淘汰掉;接下來就面臨到底是選擇詞法分析還是語法分析的問題了。
眾所周知,語法分析非常復(fù)雜,詞法分析則相對簡單很多,二者能夠達(dá)到的脫敏準(zhǔn)確度也會不同,見典型場景:
場景:配置表TA的字段ABC需要脫敏,表TB的ABC字段不脫敏;用戶執(zhí)行的SQL操作為select a.ABC,b.ABC from TA a,TB b where a.id=b.id;該語句需要正確識別出脫敏對象。
技術(shù)應(yīng)對:通過語法分析,正確的識別a.ABC字段為需要脫敏的字段,b.abc字段不能進(jìn)行脫敏。
場景:配置persionid為需要脫敏的字段,用戶在PLSQL客戶端工具中執(zhí)行下面的語句塊:
declare |
這個語句塊中,關(guān)鍵是查詢操作是采用拼接的SQL命令并動態(tài)執(zhí)行SQL操作,其結(jié)果是通過語法分析無法準(zhǔn)確地對需要脫敏的字段進(jìn)行處理。
技術(shù)應(yīng)對:即使采用了語法分析,這種動態(tài)SQL語句也無法被處理;建議采用的策略是禁止這樣的操作被執(zhí)行。
場景:用戶配置了persionid字段為敏感字段,執(zhí)行SQL命令select persionid,datefield from performance_c_1000000 where persionid like '1204581978%';
該操作會面臨一個問題:是否需要對where條件中的persionid字段(紅色字體)進(jìn)行脫敏處理?
如果脫敏處理,好處是不會造成通過準(zhǔn)確查詢進(jìn)行數(shù)據(jù)的“猜測”引起的數(shù)據(jù)泄露;缺點是恐怕很難再通過脫敏字段作為條件進(jìn)行查詢。
如果不進(jìn)行脫敏處理,好處是不影響查詢操作,該查詢到的數(shù)據(jù)依然能夠查到;缺點是頻繁查詢很可能猜測到真實數(shù)據(jù),導(dǎo)致數(shù)據(jù)存在泄漏風(fēng)險。
技術(shù)應(yīng)對:無論如何選擇,都無法實現(xiàn)最佳效果,相對合理的解決方案是兩種都提供,然后根據(jù)實際的需求來配置合理的策略。
數(shù)據(jù)脫敏技術(shù)真正為用戶鑄造安全、可靠、高效的數(shù)據(jù)使用環(huán)境,基于網(wǎng)絡(luò)層的動態(tài)脫敏技術(shù)為實時數(shù)據(jù)共享開辟了新的前景。