第2章 敏感数据识别、风险评分、合规基线 — DSPM 三大核心概念
我们团队刚接第一个 DSPM 项目时,甲方负责人就甩给我一句话:「你们帮我管好数据安全,但别给我整那些花里胡哨的仪表盘。」我当时就乐了。
其实,DSPM 的核心就三板斧:敏感数据识别、风险评分、合规基线。这三个词听着挺唬人,但说白了就是「你的数据在哪儿、危不危险、合不合规」。这一章我就用自己的踩坑经历,把这些概念给你拆明白。
2.1 敏感数据识别 — 找到数据资产的家底
刚开始做敏感数据识别时,我以为就是跑个正则表达式扫一遍。结果呢?扫出一堆「信用卡号」其实是订单流水号、一堆「身份证」其实是测试数据。后来我才明白:识别 ≠ 扫描,识别是持续理解数据上下文。
| 维度 | 说明 | 我踩过的坑 |
|---|---|---|
| 语法识别 | 用正则/格式匹配(如身份证号、信用卡) | 误报率很高,尤其是自增序列号 |
| 语义识别 | 结合表名、列名、字段注释判断 | 有些开发人员不写注释…这招就废了 |
| 上下文识别 | 看表上下游关系、ETL 链路 | 得先做血缘分析,工作量不小 |
| 机器学习 | 自动聚类 + 人工打标迭代 | 小团队慎用,样本不够容易跑偏 |
我个人习惯:先跑一轮语法识别,把命中率高的敏感类型(手机号、邮箱、证件号)标记出来。然后人工抽检 1000 条,给误报字段打标签,再拿这个结果去训练一个简单分类器。这么迭代两三次,准确率就能到 90% 以上。
2.2 风险评分 — 别再用「高危/中危/低危」糊弄人了
我记得有个项目,安全运维天天追着我问:「那几百条高危告警我该先看哪个?」我反问了一句:「你数据库里有一万条身份证号,放在生产库还开着公网访问,和另一张表里只有两条身份证号还做了脱敏,哪个风险高?」
所以风险评分必须做到量化、可排序、可解释。我个人倾向用这样的公式:
风险评分 = 数据敏感度 × 暴露因子 × 脆弱性因子
其中:
- 数据敏感度:0~100,依据敏感类型分级(金融支付80,医疗健康90,普通日志10)
- 暴露因子:谁可以访问、存储位置、网络可达性(外网=1.0,内网=0.5,脱敏后=0.1)
- 脆弱性因子:是否有加密、缺失审计、权限过宽(每个脆弱项叠加 0.1~0.3)
相乘之后,我习惯再取对数,避免分数爆炸。
举个例子:一张包含 10 万条信用卡号的表,敏感度 80,放在公网 RDS(暴露因子 0.9),审计关闭(脆弱性 0.3),评分 = 80 × 0.9 × 0.3 = 21.6。
另一张表是内部员工通讯录,敏感度 30,内网存储且已加密(暴露因子 0.4,脆弱性 0.1),评分 = 30 × 0.4 × 0.1 = 1.2。
你说先修哪个?
2.3 合规基线 — 不只看法律,还得看「爸妈的规矩」
合规基线这东西,说白了就是「这条数据该长什么样、该怎么存、谁能看」。它不光是满足 GDPR、PIPL、CCPA 这些外部法规。你想想看,公司内部规章制度、业务方自己定的安全规范,哪个不比你读法律条文更有执行力?
搭建合规基线的步骤,我个人习惯这样来:
- 梳理数据分类分级:哪些是核心资产、哪些是内部公开、哪些可以脱敏后给第三方。
- 映射法规条款:比如 PIPL 第十七条「明示处理目的和方式」,就对应到「必须保留数据使用日志」这一项。
- 制定可检查的规则:杜绝「加强数据安全」这种虚话。要写成「所有信用卡字段存储时必须使用 AES-256 加密」「敏感数据表创建后 24 小时内必须打分类标签」。
- 自动化检查:对接 DSPM SDK 的扫描引擎,每天跑一次基线检查,出报告。
| 常见合规项 | 检查规则(示例) | 我曾遇到的常见违规 |
|---|---|---|
| 敏感数据加密 | 检查表级/列级加密标志 | DBA 偷懒只开了库级透明加密,列级啥也没做 |
| 权限最小化 | 确认每个用户权限≤其职责 | 开发账号有 prod 库写权限,且用了共用密钥 |
| 数据保留期限 | 检查归档/删除策略 | 日志表 5 年前的明细还在线上,磁盘都快撑爆了 |
| 数据脱敏 | 确认非生产环境已脱敏 | 测试库直接 copy 生产身份证号,未掩码 |
避坑贴士:合规基线一定要跟业务对齐。我记得有一次我们检测出销售部在 CRM 表里存储了客户银行卡 CVV 码,安全组立刻发红色告警。销售总监跑过来骂我们:「这字段是第三支付沙箱测试用的,CVV 早就被 化了!」——原来我们的规则没区分「生产」和「测试」环境。从那时起,我要求基线规则必须支持环境标签过滤。
2.4 三者如何协同?
敏感数据识别是「眼睛」,告诉你数据在哪儿、是啥。风险评分是「大脑」,算出哪个最要命。合规基线是「尺子」,量你有没有违反规矩。三者在 DSPM SDK 集成中的配合流程大致如下:
组件式集成时,SDK 会先调用 scan() 做敏感数据识别,结果返回一组带标签的数据资产。SDK 内部的评分引擎再根据暴露面、权限和加密状态算出每个资产的风险值。最后用内置的合规规则模板(可自定义)做一次校验,输出一个 dash board 级别报告。
重要提醒:不要把三个功能拆成独立服务各自为政。我见过一个项目,识别、评分、合规用三家不同厂商的 SDK,结果数据口径对不上,评分规则跟合规规则打架,最后安全团队花了三个月整合统一。所以我在集成时一定会把这三个概念放在同一个 DAG 调度里,保证依赖链清晰。
2.5 小结一下
敏感数据识别、风险评分、合规基线这三个词,到底怎么记?我教你个土办法:
- 敏感数据识别 = 「是什么」 — 找到敏感数据的位置和类型
- 风险评分 = 「多严重」 — 量化排序,先修最要命的
- 合规基线 = 「合不合规」 — 对照法律/内规逐项检查
走通这三步,DSPM 的基础框架就搭起来了。后面章节我会带着你亲手集成 SDK,把这三板斧落地到真实系统中。不过那是后话,先把概念嚼透了再动手不迟。