近日,火山引擎安全研究团队对外开源了Jeddak-DPSQL(项目地址:https://github.com/bytedance/Jeddak-DPSQL),这是基于差分隐私的SQL代理工具,适用于数据管理者可信的场景模式,以中间件的形式接收SQL统计查询请求,返回满足差分隐私的查询结果。


【资料图】

据悉,火山引擎对于用户敏感数据尤为重视,在火山引擎提供的数据分析产品中,广泛采用差分隐私技术对用户敏感信息进行保护。此类数据产品通常构建于 ClickHouse 等数据引擎之上,以 SQL 查询方式来执行计算逻辑,且查询逻辑往往较为复杂,因此对差分隐私的应用提出了以下要求:

零改造、零感知:最大程度避免影响业务现有查询方式,最好做到业务零感知、零改造;

良好、灵活的适配性:能够适配不同数据引擎的查询语法,以及能够处理包含多层嵌套、多重计算、多表连接等情形的复杂 SQL 语句;

安全性与可用性平衡:能够根据业务数据质量要求,计算合理的隐私预算,在安全性和数据可用性之间保持平衡;

为更好解决数据安全和隐私合规治理相关问题,火山引擎安全研究团队进行了产品调研,目前市面上在SQL查询场景下加入差分隐私能力的产品,发现这些产品大多都没有提供SQL 的自动化分析能力,需主动调用 API 或是在 SQL 中调用 UDF 来引入差分隐私能力,接入成本较高。其中OpenDP产品限定了输入 SQL 的方言,仅支持 SQL 92标准,难以在 Hive、ClickHouse 等主流数仓引擎中透明应用。

同时,火山引擎安全研究团队也注意到云服务厂商在To B场景下会提供多款数据分析产品,部分产品的模式面临泄漏用户隐私、法律合规的风险,该类产品通常是通过数据库引擎使用面向实时分析的 clickhouse,计算逻辑用SQL查询的方式执行,因此考虑结合差分隐私技术提供隐私保护的SQL查询能力。

基于上述挑战,火山引擎安全研究团队自主研发了Jeddak-DPSQL ,希望能够为同样面临该类问题的企业和个人提供一定参考和帮助,同时也希望能够有更多的外部开发者能够一起对该开源项目进行共建,完善 Jeddak-DPSQL 产品功能,共同构建更完备的应用生态。

据了解,Jeddak-DPSQL 能够兼容多种数据引擎和SQL方言,内嵌多种差分噪声扰动算法,具备隐私预算管理能力,并且能够与底层数据引擎结合,在数据分析师无感的情况下,对 SQL 语句进行自动化分析和结果加噪处理。同时,Jeddak-DPSQL 已经在抖音集团相关业务中得到了普遍应用与验证。

一、全面了解 Jeddak-DPSQL

1、 Jeddak-DPSQL介绍

Jeddak-DPSQL采用中心化差分隐私(Centralized Differential Privacy,简称CDP,适用于数据管理者可信的场景)模式,以中间件的形式接收SQL统计查询请求,返回满足差分隐私的查询结果。一个典型的查询请求处理流程如下:

●首先,核心服务接受客户提交的SQL查询语句,对该语句进行解析和重写,以便于计算隐私噪声(如将AVG计算改为SUM/COUNT);

●然后,核心服务调用元数据管理服务,计算重写后的SQL查询所对应的数据表敏感度,同时在数据库上执行重写后的SQL查询,得到原始的查询结果;

●最后,核心服务调用隐私预算管理服务得到为该查询分配的隐私预算,并结合敏感度在原始的查询结果中添加噪声并返回。

更多接口使用方式可以参考项目README中的API Documentation部分。

三、后续计划

火山引擎安全研究部门相关负责人表示,Jeddak-DPSQL会长期维护,欢迎大家使用。他也指出,近期开源的Jeddak-DPSQL是首个版本,因此还存在很多不完善的地方,也希望有更多的外部开发者能够一起对该开源项目进行共建,完善产品功能,构建更完备的应用生态。(作者:蔡德道)

推荐内容

热点新闻