第2章 敏感数据识别、风险评分、合规基线 — DSPM 三大核心概念

我们团队刚接第一个 DSPM 项目时,甲方负责人就甩给我一句话:「你们帮我管好数据安全,但别给我整那些花里胡哨的仪表盘。」我当时就乐了。

其实,DSPM 的核心就三板斧:敏感数据识别、风险评分、合规基线。这三个词听着挺唬人,但说白了就是「你的数据在哪儿、危不危险、合不合规」。这一章我就用自己的踩坑经历,把这些概念给你拆明白。

2.1 敏感数据识别 — 找到数据资产的家底

刚开始做敏感数据识别时,我以为就是跑个正则表达式扫一遍。结果呢?扫出一堆「信用卡号」其实是订单流水号、一堆「身份证」其实是测试数据。后来我才明白:识别 ≠ 扫描,识别是持续理解数据上下文。

维度 说明 我踩过的坑
语法识别 用正则/格式匹配(如身份证号、信用卡) 误报率很高,尤其是自增序列号
语义识别 结合表名、列名、字段注释判断 有些开发人员不写注释…这招就废了
上下文识别 看表上下游关系、ETL 链路 得先做血缘分析,工作量不小
机器学习 自动聚类 + 人工打标迭代 小团队慎用,样本不够容易跑偏

我个人习惯:先跑一轮语法识别,把命中率高的敏感类型(手机号、邮箱、证件号)标记出来。然后人工抽检 1000 条,给误报字段打标签,再拿这个结果去训练一个简单分类器。这么迭代两三次,准确率就能到 90% 以上。

一个小技巧:敏感数据类型定义别只盯着「PII」。“你想想看,企业内部的客户沟通记录、薪酬表、招投标文档,哪个不比一个手机号值钱?” 把范围放宽到 商业秘密 + 隐私数据 两个维度,覆盖率才够。

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 这些外部法规。你想想看,公司内部规章制度、业务方自己定的安全规范,哪个不比你读法律条文更有执行力?

搭建合规基线的步骤,我个人习惯这样来:

  1. 梳理数据分类分级:哪些是核心资产、哪些是内部公开、哪些可以脱敏后给第三方。
  2. 映射法规条款:比如 PIPL 第十七条「明示处理目的和方式」,就对应到「必须保留数据使用日志」这一项。
  3. 制定可检查的规则:杜绝「加强数据安全」这种虚话。要写成「所有信用卡字段存储时必须使用 AES-256 加密」「敏感数据表创建后 24 小时内必须打分类标签」。
  4. 自动化检查:对接 DSPM SDK 的扫描引擎,每天跑一次基线检查,出报告。
常见合规项 检查规则(示例) 我曾遇到的常见违规
敏感数据加密 检查表级/列级加密标志 DBA 偷懒只开了库级透明加密,列级啥也没做
权限最小化 确认每个用户权限≤其职责 开发账号有 prod 库写权限,且用了共用密钥
数据保留期限 检查归档/删除策略 日志表 5 年前的明细还在线上,磁盘都快撑爆了
数据脱敏 确认非生产环境已脱敏 测试库直接 copy 生产身份证号,未掩码

避坑贴士:合规基线一定要跟业务对齐。我记得有一次我们检测出销售部在 CRM 表里存储了客户银行卡 CVV 码,安全组立刻发红色告警。销售总监跑过来骂我们:「这字段是第三支付沙箱测试用的,CVV 早就被 化了!」——原来我们的规则没区分「生产」和「测试」环境。从那时起,我要求基线规则必须支持环境标签过滤。

2.4 三者如何协同?

敏感数据识别是「眼睛」,告诉你数据在哪儿、是啥。风险评分是「大脑」,算出哪个最要命。合规基线是「尺子」,量你有没有违反规矩。三者在 DSPM SDK 集成中的配合流程大致如下:

DSPM 三大核心协同流程 数据源 / 扫描层 敏感数据识别 风险评分 合规基线检查 数据血缘 & 日志 风险报告 & 告警 说明 识别输出敏感数据类型 与位置;风险评分排序处置 顺序;基线确保日常合规。

组件式集成时,SDK 会先调用 scan() 做敏感数据识别,结果返回一组带标签的数据资产。SDK 内部的评分引擎再根据暴露面、权限和加密状态算出每个资产的风险值。最后用内置的合规规则模板(可自定义)做一次校验,输出一个 dash board 级别报告。

重要提醒:不要把三个功能拆成独立服务各自为政。我见过一个项目,识别、评分、合规用三家不同厂商的 SDK,结果数据口径对不上,评分规则跟合规规则打架,最后安全团队花了三个月整合统一。所以我在集成时一定会把这三个概念放在同一个 DAG 调度里,保证依赖链清晰。

2.5 小结一下

敏感数据识别、风险评分、合规基线这三个词,到底怎么记?我教你个土办法:

  • 敏感数据识别 = 「是什么」 — 找到敏感数据的位置和类型
  • 风险评分 = 「多严重」 — 量化排序,先修最要命的
  • 合规基线 = 「合不合规」 — 对照法律/内规逐项检查

走通这三步,DSPM 的基础框架就搭起来了。后面章节我会带着你亲手集成 SDK,把这三板斧落地到真实系统中。不过那是后话,先把概念嚼透了再动手不迟。