火山引擎開源基于差分隱私的SQL代理工具Jeddak-DPSQL|環(huán)球今亮點(diǎn)

近日,火山引擎安全研究團(tuán)隊(duì)對(duì)外開源了Jeddak-DPSQL(項(xiàng)目地址:https://github.com/bytedance/Jeddak-DPSQL),這是基于差分隱私的SQL代理工具,適用于數(shù)據(jù)管理者可信的場(chǎng)景模式,以中間件的形式接收SQL統(tǒng)計(jì)查詢請(qǐng)求,返回滿足差分隱私的查詢結(jié)果。


【資料圖】

據(jù)悉,火山引擎對(duì)于用戶敏感數(shù)據(jù)尤為重視,在火山引擎提供的數(shù)據(jù)分析產(chǎn)品中,廣泛采用差分隱私技術(shù)對(duì)用戶敏感信息進(jìn)行保護(hù)。此類數(shù)據(jù)產(chǎn)品通常構(gòu)建于 ClickHouse 等數(shù)據(jù)引擎之上,以 SQL 查詢方式來(lái)執(zhí)行計(jì)算邏輯,且查詢邏輯往往較為復(fù)雜,因此對(duì)差分隱私的應(yīng)用提出了以下要求:

零改造、零感知:最大程度避免影響業(yè)務(wù)現(xiàn)有查詢方式,最好做到業(yè)務(wù)零感知、零改造;

良好、靈活的適配性:能夠適配不同數(shù)據(jù)引擎的查詢語(yǔ)法,以及能夠處理包含多層嵌套、多重計(jì)算、多表連接等情形的復(fù)雜 SQL 語(yǔ)句;

安全性與可用性平衡:能夠根據(jù)業(yè)務(wù)數(shù)據(jù)質(zhì)量要求,計(jì)算合理的隱私預(yù)算,在安全性和數(shù)據(jù)可用性之間保持平衡;

為更好解決數(shù)據(jù)安全和隱私合規(guī)治理相關(guān)問(wèn)題,火山引擎安全研究團(tuán)隊(duì)進(jìn)行了產(chǎn)品調(diào)研,目前市面上在SQL查詢場(chǎng)景下加入差分隱私能力的產(chǎn)品,發(fā)現(xiàn)這些產(chǎn)品大多都沒有提供SQL 的自動(dòng)化分析能力,需主動(dòng)調(diào)用 API 或是在 SQL 中調(diào)用 UDF 來(lái)引入差分隱私能力,接入成本較高。其中OpenDP產(chǎn)品限定了輸入 SQL 的方言,僅支持 SQL 92標(biāo)準(zhǔn),難以在 Hive、ClickHouse 等主流數(shù)倉(cāng)引擎中透明應(yīng)用。

同時(shí),火山引擎安全研究團(tuán)隊(duì)也注意到云服務(wù)廠商在To B場(chǎng)景下會(huì)提供多款數(shù)據(jù)分析產(chǎn)品,部分產(chǎn)品的模式面臨泄漏用戶隱私、法律合規(guī)的風(fēng)險(xiǎn),該類產(chǎn)品通常是通過(guò)數(shù)據(jù)庫(kù)引擎使用面向?qū)崟r(shí)分析的 clickhouse,計(jì)算邏輯用SQL查詢的方式執(zhí)行,因此考慮結(jié)合差分隱私技術(shù)提供隱私保護(hù)的SQL查詢能力。

基于上述挑戰(zhàn),火山引擎安全研究團(tuán)隊(duì)自主研發(fā)了Jeddak-DPSQL ,希望能夠?yàn)橥瑯用媾R該類問(wèn)題的企業(yè)和個(gè)人提供一定參考和幫助,同時(shí)也希望能夠有更多的外部開發(fā)者能夠一起對(duì)該開源項(xiàng)目進(jìn)行共建,完善 Jeddak-DPSQL 產(chǎn)品功能,共同構(gòu)建更完備的應(yīng)用生態(tài)。

據(jù)了解,Jeddak-DPSQL 能夠兼容多種數(shù)據(jù)引擎和SQL方言,內(nèi)嵌多種差分噪聲擾動(dòng)算法,具備隱私預(yù)算管理能力,并且能夠與底層數(shù)據(jù)引擎結(jié)合,在數(shù)據(jù)分析師無(wú)感的情況下,對(duì) SQL 語(yǔ)句進(jìn)行自動(dòng)化分析和結(jié)果加噪處理。同時(shí),Jeddak-DPSQL 已經(jīng)在抖音集團(tuán)相關(guān)業(yè)務(wù)中得到了普遍應(yīng)用與驗(yàn)證。

一、全面了解 Jeddak-DPSQL

1、 Jeddak-DPSQL介紹

Jeddak-DPSQL采用中心化差分隱私(Centralized Differential Privacy,簡(jiǎn)稱CDP,適用于數(shù)據(jù)管理者可信的場(chǎng)景)模式,以中間件的形式接收SQL統(tǒng)計(jì)查詢請(qǐng)求,返回滿足差分隱私的查詢結(jié)果。一個(gè)典型的查詢請(qǐng)求處理流程如下:

●首先,核心服務(wù)接受客戶提交的SQL查詢語(yǔ)句,對(duì)該語(yǔ)句進(jìn)行解析和重寫,以便于計(jì)算隱私噪聲(如將AVG計(jì)算改為SUM/COUNT);

●然后,核心服務(wù)調(diào)用元數(shù)據(jù)管理服務(wù),計(jì)算重寫后的SQL查詢所對(duì)應(yīng)的數(shù)據(jù)表敏感度,同時(shí)在數(shù)據(jù)庫(kù)上執(zhí)行重寫后的SQL查詢,得到原始的查詢結(jié)果;

●最后,核心服務(wù)調(diào)用隱私預(yù)算管理服務(wù)得到為該查詢分配的隱私預(yù)算,并結(jié)合敏感度在原始的查詢結(jié)果中添加噪聲并返回。

更多接口使用方式可以參考項(xiàng)目README中的API Documentation部分。

三、后續(xù)計(jì)劃

火山引擎安全研究部門相關(guān)負(fù)責(zé)人表示,Jeddak-DPSQL會(huì)長(zhǎng)期維護(hù),歡迎大家使用。他也指出,近期開源的Jeddak-DPSQL是首個(gè)版本,因此還存在很多不完善的地方,也希望有更多的外部開發(fā)者能夠一起對(duì)該開源項(xiàng)目進(jìn)行共建,完善產(chǎn)品功能,構(gòu)建更完備的應(yīng)用生態(tài)。(作者:蔡德道)

推薦DIY文章
炫酷QQ空間自定義小尾巴代碼 今天我們將教你你必須學(xué)的東西|環(huán)球通訊
城鎮(zhèn)化的意義:工業(yè)化脫離了,城市化就失去了經(jīng)濟(jì)發(fā)展的動(dòng)力|環(huán)球速看
人類記憶遺忘曲線 怎么用艾賓浩斯遺忘曲線法強(qiáng)化記憶
呂不韋生平簡(jiǎn)介:此人生于戰(zhàn)國(guó)時(shí)代末期,是一位儒商_天天播報(bào)
庫(kù)里21賽季三分命中數(shù) 庫(kù)里職業(yè)生涯中有多少個(gè)三分球
每日精選:日系眼妝畫法 日系妝容最大的特點(diǎn)就是甜美無(wú)邪 特別強(qiáng)調(diào)腮紅
精彩新聞

超前放送