正式开源!字节安全团队自研敏感信息保护方案 GoDLP

为什么要自研 DLP:

随着信息技术的飞速发展,互联网已成为日常办公、通讯交流和协作互动的必备工具和途径。与此同时,随着数据经济的大规模增长,也频频引发数据泄露、数据滥用等严重数据安全事件。

对拥有宫颈癌海量数据和信息的字节跳动来说,数据的存储安全google和传输安全有着更高的要求。外加字节的业务模型之多、脱敏需宫颈癌早期症状求复杂,当前 DLP 产品在敏感产品运营信息的识别规则和高效率脱敏处理上无法达到需求。

为了更好保障沟通作文字节跳动旗测试纸怀孕图片下的数据安全和隐私安全,字节跳动安全团队自主研发了一套敏感数据保护方案——GoDLP。作为字节跳动在数据脱敏保护方向成功的实践案例,字节安全团队希望测试你适合学心理学吗用开源沟通的艺术的方式向大家分享我们的研究成果,与行业一同成长。

字节的 DLP 是怎样的?

GoDLP 的介绍

GoDLP 提供了一系列针对敏感数据的识别和处置方案, 其中包括敏感数据识别算法,数据脱敏处理方式,业务自定义的配置选项和海量数据处理能力。GoDLP 能够应用多种隐私合规标准,对原始数据进行分测试你的自卑程度级打标、判断敏感级别和实施相应的脱敏处理。

GoDLP 的能力如何?

Glinux操作系统基础知识oDLP 能够广泛支持结构化(JSON 数据、KV 数据、golang map)和非结构化数据(多语言字符串)。

  • 可实现敏感数据自动发测试纸怀孕图片
    • GoDLP 内置多种敏感数据识别规则,可覆盖市面 80%以上识别规则,最大程度识别敏感数据产品领域的偏好

正式开源!字节安全团队自研敏感信息保护方案 GoDLP

  • 灵活的敏感数据脱敏处理
    • GoDLP 支持多种脱敏算法,用户可自行沟通的艺术根据需求进行脱敏处理

正式开源!字节安全团队自研敏感信息保护方案 GoDLP

  • 业务自沟通的三要素是什么定义配置选项
    • 除默Go认的敏感信息识别和处理规则外,业务可根据实际情况,配置自定义的 YAML 规测试抑郁症的20道题则,GoDLP 能够根据传入的配置选产品生命周期项,完成相应的数据处沟通理任务。

正式开源!字节安全团队自研敏感信息保护方案 GoDLP

GoDLP 的性能表现

下方数据是在开启全部敏感数据类型情况下的结果:

  • 针对 1K 的文件,用时需枸杞 4.1 毫秒,占用 128.6k 的内测试抑郁症的20道题
  • 1M 的文件,用时为 4.1s,内存占用 118.6 MB
序号 文件大小 执行时间 内存占用
1 1K 4.1ms 128.6KB
2 10K 41.4ms 1257.4KB
3 100K 406.9ms 12.3MB
4 1M 4.1s 118.6MB

测试环境:8 核虚拟机,Linux,amd64,Intel(R)Xeon(R)Platinum8260CPU@2.40G测试Hz测试智商;代码版本:v2.0.0

GoDLP 在字节的实linux

当前 GoDLP 已在字节跳动进行了丰富的实践。已接入的业务线涵盖抖音、电商、飞书、火山引擎、云安全、财经、教育、游戏等诸多业务线。

如何使用 GoDLP

git 开沟通源项测试你的自卑程度目地址:github.com/bytedance/g…

第一步,使用go get命令安装 godgooglelp 模块。

gogetgithub.com/bytedance/godlp@latest

第二步,参考 RE产品经理ADME 中的 API 文档进行敏感数据操作。

如下代码会对字符串进行脱敏,更详细 API 例子可以参考源代码中的 mainrun/mainrun.go 文件。

packagemain
import(
"fmt"
dlp"github.com/bytedance/godlp"
)
funcdlpDemo(){
caller:="replace.your.caller"
ifeng,err:=dlp.NewEngine(caller);err==nil{
eng.ApplyConfigDefault()
fmt.Printf("DLP%sDemo:\n\n",eng.GetVersion())
inStr:=`我的邮件是abcd@abcd.com,
18612341234是我的电话
你家住在哪里啊?我家住在北京市海淀区北三环西路43号,
mac地址06-06-06-aa-bb-cc
收件人:张真人手机号码:13900000000`
ifoutStr,_,err:=eng.Deidentify(inStr);err==nil{
fmt.Printf("\t1.Deidentify(inStr:%s)\n",inStr)
fmt.Printf("\toutStr:%s\n",outStr)
//eng.ShowResults(results)
fmt.Println()
}
eng.Close()
}else{
fmt.Println("[dlp]NewEngineerror:",err.Error())
}
}
funcmain(){
dlpDemo()
}

第三步,编译运行,会获得如下效果。产品生命周期

%gorunmain.go
DLPv1.2.15Demo:
1.Deidentify(inStr:我的邮件是abcd@abcd.com,
18612341234是我的电话
你家住在哪里啊?我家住在北京市海淀区北三环西路43号,
mac地址06-06-06-aa-bb-cc
收件人:张真人手机号码:13900000000)
outStr:我的邮件是a***@********,
186******34是我的电话
你家住在哪里啊?我家住在北京市海淀区北三环西路**号淀区北三环西路**号,
mac地址06-06-06-**-**-**
收件人:张******手机号码:139******00

后续计划

GoDLP 会长期维护更新,欢迎各位同行一起沟通交流。

感谢与交流

GoDLP 项目从立项开始,一路走Linux来,离不开其中辛苦付出的开发同linux是什么操作系统学们,这里向为 GoDLP 写下代码的字节跳动内部同学,致以最诚挚的感谢。

欢迎大家通过 GitHub 加入字节官方 GoDLP 交流群,进行后续的交流和反馈。沟通的艺术

发表评论

提供最优质的资源集合

立即查看 了解详情