久久天天躁狠狠躁夜夜av,国产脚交足免费视频,亚洲小说乱欧美另类,五月天国产亚洲av麻豆

918搏天堂

?
產(chǎn)品咨詢(xún):4000 258 365 | 申請(qǐng)產(chǎn)品演示 | 渠道合作 | English
您當(dāng)前的位置 : 首頁(yè) > 技術(shù)博客 > 數(shù)據(jù)安全
內(nèi)容中心
按關(guān)鍵字查找
國(guó)內(nèi)動(dòng)態(tài)脫敏技術(shù)演進(jìn)技術(shù)探討
作者:楊海峰 發(fā)布時(shí)間:2017-09-27

“資本只有在流動(dòng)中才帶來(lái)價(jià)值,單純存放起來(lái)只會(huì)貶值”。

在信息化大潮愈演愈烈的當(dāng)下,數(shù)據(jù)資產(chǎn)發(fā)揮著越來(lái)越突出的價(jià)值,數(shù)據(jù)資產(chǎn)的價(jià)值在流轉(zhuǎn)、共享、整合利用中逐漸顯現(xiàn)并越發(fā)放大。當(dāng)數(shù)據(jù)被分享給不同使用者,如何保障數(shù)據(jù)的安全?動(dòng)態(tài)脫敏技術(shù)讓數(shù)據(jù)中心和外界使用者之間的安全交互成為可能。

長(zhǎng)期以來(lái),提起動(dòng)態(tài)脫敏技術(shù),能力稱(chēng)霸者非Informatica莫屬,國(guó)內(nèi)外其他廠商在動(dòng)態(tài)脫敏技術(shù)領(lǐng)域都難以望其項(xiàng)背,由此可見(jiàn)這一技術(shù)的復(fù)雜度和成熟產(chǎn)品的研發(fā)難度非同一般。2014年,Informatica憑借其DDM產(chǎn)品位居Gartner數(shù)據(jù)脫敏的領(lǐng)導(dǎo)者象限。

對(duì)于國(guó)內(nèi)數(shù)據(jù)庫(kù)安全廠商而言,有了其他安全產(chǎn)品的深厚研發(fā)積累,朝著數(shù)據(jù)動(dòng)態(tài)脫敏技術(shù)進(jìn)發(fā)也變成一種發(fā)展慣性。

2016年,國(guó)內(nèi)已有廠商開(kāi)始基于長(zhǎng)期的數(shù)據(jù)庫(kù)防火墻產(chǎn)品所積累下來(lái)的數(shù)據(jù)庫(kù)協(xié)議分析、協(xié)議改寫(xiě)、語(yǔ)法分析、SQL語(yǔ)句改寫(xiě)等技術(shù),成功推出數(shù)據(jù)庫(kù)動(dòng)態(tài)脫敏產(chǎn)品,并在真實(shí)的用戶(hù)現(xiàn)場(chǎng),通過(guò)與Informatica DDM產(chǎn)品的多次比拼,積累下豐富的“填坑”經(jīng)驗(yàn),產(chǎn)品也在不斷“填坑”的過(guò)程中逐步走向成熟。

那么,面對(duì)數(shù)據(jù)共享場(chǎng)景,合格的數(shù)據(jù)動(dòng)態(tài)脫敏產(chǎn)品要跨越的技術(shù)障礙都有哪些呢?

Trap1:select * ,一個(gè)簡(jiǎn)單但是難填的坑。

對(duì)于動(dòng)態(tài)脫敏策略,常用做法是指定需要脫敏的字段或字段通配符,如此一來(lái),必然會(huì)面臨以下問(wèn)題:

場(chǎng)景1:配置了字段ABC需要進(jìn)行脫敏處理,而用戶(hù)執(zhí)行的操作是select *,并沒(méi)有在操作中寫(xiě)明字段名,這種情況還能針對(duì)字段ABC成功脫敏嗎?

場(chǎng)景2:配置了字段ABC需要進(jìn)行脫敏處理,但用戶(hù)應(yīng)用系統(tǒng)“每天自動(dòng)產(chǎn)生一個(gè)包含這個(gè)字段的表,并且表中的這個(gè)字段的數(shù)據(jù)也需要脫敏”,應(yīng)對(duì)每天增量產(chǎn)生的表執(zhí)行select *操作,可以做到及時(shí)成功脫敏嗎?

技術(shù)應(yīng)對(duì):動(dòng)態(tài)脫敏產(chǎn)品自動(dòng)根據(jù)用戶(hù)發(fā)起的SQL命令進(jìn)行分析,實(shí)時(shí)檢查select *這一命令操作的表有哪些字段,并根據(jù)實(shí)時(shí)檢查的結(jié)果自動(dòng)對(duì)數(shù)據(jù)進(jìn)行脫敏。

Trap2:用戶(hù)執(zhí)行的SQL命令中對(duì)敏感字段執(zhí)行了函數(shù)轉(zhuǎn)換,是否會(huì)造成繞過(guò)脫敏的結(jié)果?

場(chǎng)景:配置了字段ABC需要進(jìn)行脫敏處理,用戶(hù)執(zhí)行的操作是select substr(ABC,1,2),field1,field3,substr(ABC,2,5) from table,該操作中敏感字段的數(shù)據(jù)被“拆開(kāi)”來(lái)使用,能夠成功脫敏嗎?

技術(shù)應(yīng)對(duì):合格的動(dòng)態(tài)脫敏產(chǎn)品,是作用在請(qǐng)求的SQL操作的字段上,而不是對(duì)返回的結(jié)果集進(jìn)行變形處理,否則會(huì)造成無(wú)法適應(yīng)各種復(fù)雜的SQL命令而產(chǎn)生結(jié)果集數(shù)據(jù)。

Trap3:詞法分析還是語(yǔ)法分析,這是個(gè)準(zhǔn)確度問(wèn)題。

目前,動(dòng)態(tài)脫敏主流的實(shí)現(xiàn)方式是采用網(wǎng)關(guān)或代理的方式(Informatica DDM和918搏天堂DDM正是采用這種實(shí)現(xiàn)方式),在客戶(hù)端和服務(wù)器之間按照策略進(jìn)行SQL操作的改寫(xiě),來(lái)實(shí)現(xiàn)數(shù)據(jù)脫敏效果。這個(gè)改寫(xiě)過(guò)程必然需要對(duì)SQL語(yǔ)句進(jìn)行拆包和分析,可供選擇的技術(shù)路線(xiàn)包括正則匹配、詞法分析、語(yǔ)法分析;但正則匹配非常不準(zhǔn)確,首先被淘汰掉;接下來(lái)就面臨到底是選擇詞法分析還是語(yǔ)法分析的問(wèn)題了。

眾所周知,語(yǔ)法分析非常復(fù)雜,詞法分析則相對(duì)簡(jiǎn)單很多,二者能夠達(dá)到的脫敏準(zhǔn)確度也會(huì)不同,見(jiàn)典型場(chǎng)景:

場(chǎng)景:配置表TA的字段ABC需要脫敏,表TB的ABC字段不脫敏;用戶(hù)執(zhí)行的SQL操作為select a.ABC,b.ABC from TA a,TB b where a.id=b.id;該語(yǔ)句需要正確識(shí)別出脫敏對(duì)象。

技術(shù)應(yīng)對(duì):通過(guò)語(yǔ)法分析,正確的識(shí)別a.ABC字段為需要脫敏的字段,b.abc字段不能進(jìn)行脫敏。

Trap4:執(zhí)行begin...end語(yǔ)句塊,語(yǔ)句塊中包含動(dòng)態(tài)SQL語(yǔ)句,如何處理?

場(chǎng)景:配置persionid為需要脫敏的字段,用戶(hù)在PLSQL客戶(hù)端工具中執(zhí)行下面的語(yǔ)句塊:

declare
     -- Local variables here
     v_sql_1 varchar2(1000);
     v_sql_2 varchar2(1000);
     v_sql varchar2(1000);
     v_cursor   number;
     v_stat      number;
     v_persionid      varchar2(50);
     v_date      varchar2(10);
     begin
     -- Test statements here
     -- 拼接SQL命令
     v_sql_1:='select    per';
     v_sql_2:='sionid,to_char(datefield,    ''yyyy-mm-dd'') from performance_c_1000000 where rownum<100';
     v_sql:=v_sql_1||v_sql_2;
     v_cursor := dbms_sql.open_cursor;  --打開(kāi)游標(biāo)
     dbms_sql.parse(v_cursor, v_sql, dbms_sql.native);  --解析SQL
     dbms_sql.define_column(v_cursor, 1, v_persionid,50);         --定義列
     dbms_sql.define_column(v_cursor, 2, v_date, 10);
     v_stat := dbms_sql.execute(v_cursor);        --執(zhí)行SQL
     -- 循環(huán)獲取數(shù)據(jù)
     loop
     exit when dbms_sql.fetch_rows(v_cursor) <= 0;  --fetch_rows在結(jié)果集中移動(dòng)游標(biāo),如果未抵達(dá)末尾,返回1。
     dbms_sql.column_value(v_cursor, 1, v_persionid);   --將當(dāng)前行的查詢(xún)結(jié)果寫(xiě)入上面定義的列中。
     dbms_sql.column_value(v_cursor, 2, v_date);
     dbms_output.put_line(v_persionid || ':' || v_date);
     end loop;
     end;

這個(gè)語(yǔ)句塊中,關(guān)鍵是查詢(xún)操作是采用拼接的SQL命令并動(dòng)態(tài)執(zhí)行SQL操作,其結(jié)果是通過(guò)語(yǔ)法分析無(wú)法準(zhǔn)確地對(duì)需要脫敏的字段進(jìn)行處理。

技術(shù)應(yīng)對(duì):即使采用了語(yǔ)法分析,這種動(dòng)態(tài)SQL語(yǔ)句也無(wú)法被處理;建議采用的策略是禁止這樣的操作被執(zhí)行。

Trap5:WHERE子句中包含敏感字段作為條件字段,脫敏還是不脫敏?

場(chǎng)景:用戶(hù)配置了persionid字段為敏感字段,執(zhí)行SQL命令select persionid,datefield from performance_c_1000000 where persionid like '1204581978%';

該操作會(huì)面臨一個(gè)問(wèn)題:是否需要對(duì)where條件中的persionid字段(紅色字體)進(jìn)行脫敏處理?

如果脫敏處理,好處是不會(huì)造成通過(guò)準(zhǔn)確查詢(xún)進(jìn)行數(shù)據(jù)的“猜測(cè)”引起的數(shù)據(jù)泄露;缺點(diǎn)是恐怕很難再通過(guò)脫敏字段作為條件進(jìn)行查詢(xún)。

如果不進(jìn)行脫敏處理,好處是不影響查詢(xún)操作,該查詢(xún)到的數(shù)據(jù)依然能夠查到;缺點(diǎn)是頻繁查詢(xún)很可能猜測(cè)到真實(shí)數(shù)據(jù),導(dǎo)致數(shù)據(jù)存在泄漏風(fēng)險(xiǎn)。

技術(shù)應(yīng)對(duì):無(wú)論如何選擇,都無(wú)法實(shí)現(xiàn)最佳效果,相對(duì)合理的解決方案是兩種都提供,然后根據(jù)實(shí)際的需求來(lái)配置合理的策略。

數(shù)據(jù)脫敏技術(shù)真正為用戶(hù)鑄造安全、可靠、高效的數(shù)據(jù)使用環(huán)境,基于網(wǎng)絡(luò)層的動(dòng)態(tài)脫敏技術(shù)為實(shí)時(shí)數(shù)據(jù)共享開(kāi)辟了新的前景。


?
918搏天堂 ©2021 版權(quán)所有 京ICP備10053980號(hào)-1