4. 数据分类与分级:敏感数据识别方法
数据分类分级,说白了就是先搞清楚你的数据「长什么样」「值多少钱」。DLP 策略配得再花哨,如果连哪些是敏感数据都认不出来,那全白搭。我见过不少团队一上来就写规则,结果把财务发工资的 Excel 当普通文档放行了,把公司前台打印的通讯录反而拦截了——这肯定不对。
所以咱们今天把敏感数据识别的底牌翻出来,讲透它。
4.1 为什么先做分类分级,再做策略
你想想看,DLP 引擎本质上是个「决策器」。
- 分类解决「这是什么类型的数据」——合同?财务报表?源代码?
- 分级解决「它有多重要」——公开级?内部级?机密级?
两个维度一交叉,你就知道:这份机密级技术文档外发时,必须触发审批流程;而一份公开级的市场白皮书,直接放行就行。
4.2 敏感数据识别六种主流方法
方法不复杂,但组合着用才有效。我按从「简单粗暴」到「精准打击」给你列出来:
| 方法 | 识别依据 | 常用场景 | 我的评价 |
|---|---|---|---|
| 关键词匹配 | 预定义敏感词列表 | 合同模板、身份证号关键词 | 快但不准,误报多 |
| 正则表达式 | 固定模式(如 18 位身份证) | 银行卡号、手机号、邮箱 | 经典,但容易漏掉变种 |
| 数据指纹 | 精确哈希或部分哈希 | 机密文档库外泄识别 | 准确率高,维护成本也高 |
| 机器学习/文本分类 | 训练样本 & 特征向量 | 自然语言判断「这个是不是商业计划书」 | 效果好,需要持续标注样本 |
| 元数据标记 | 文件属性、标签、水印 | Office 文档自定义属性、IRM 标记 | 源头标记最省事,但依赖上游系统配合 |
| 结构化数据扫描 | 数据库列名 + 行内容模式 | 财务系统、HR 系统的结构化敏感表 | 必须对接数据库,适合核心系统 |
嗯,这里面我有两个亲身体会。第一个,正则表达式看起来简单,但写不好就是灾难。我曾经见过一条正则写了 200 多个字符,结果在扫描几百万封邮件时把 CPU 吃满了——后来拆成了三个子表达式,性能才正常。第二个,机器学习方法在实战中其实被低估了,很多团队觉得它太黑盒,不敢用。但我告诉你:当你需要识别「商业计划书」这种语义概念时,关键词根本搞不定,ML 模型哪怕只有 85% 的准确率也值得上。
4.3 分类分级实战:拿身份证号举例
咱们实操一下。假设你要识别「中国居民身份证号」这个敏感数据类别。
首先定义它的特征:
- 长度为 18 位(或老的 15 位)
- 前 6 位是地址码(需要区域校验位)
- 包含出生日期 8 位,早期以 19xx/20xx 为主
- 最后 1 位是校验码(可以是数字或 X)
- 通常出现在文本中,前后可能有空格、中文引号或冒号
然后写一个基础正则:
^\d{6}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$
这个表达式覆盖了出生日期范围,但注意:它只匹配连续文本中的身份证号,没有包边。真实场景中,你很可能要在邮件正文或附件里搜,那就要改一下边界条件:
(?<!\d)\d{6}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx](?!\d)
加上了前后负向零宽断言,防止误匹配一连串数字中的某一段。
4.4 分级:如何定义敏感等级
分类之后才是分级。分级标准最好跟你们公司已有的信息安全制度对齐。我常用的分级矩阵是这样的:
| 级别 | 定义 | 典型示例 | 外发策略推荐 |
|---|---|---|---|
| L0 公开 | 可以随意对外传播 | 产品宣传册、公开白皮书 | 放行,不做检查 |
| L1 内部 | 仅限内部使用,可对内传阅 | 内部周报、普通制度文件 | 记录日志,不拦截 |
| L2 敏感 | 业务核心数据,泄露影响较大 | 客户信息表、源代码片段 | 触发人工审批 |
| L3 机密 | 泄露将导致重大损失 | 并购方案、财务审计底稿 | 禁止外发,加密后授权次数 |
这里要注意:分级不是拍脑袋。我在实践中一般让业务owner、法务、安全三个角色一起签字确认分级标准,免得后期扯皮。而且分级最好在元数据层面打上标签——自动打标(基于规则) + 人工复核(抽样)是性价比最高的方式。
4.5 核心流程图:敏感数据识别全链路
下面这张图概括了从数据源到外发策略联动的完整识别路径。你可以把它当作本章的思维导图:
4.6 识别规则的维护与迭代
定完规则不是终点。数据是活的,敏感数据的形态会变。我建议每个季度做一次规则有效性评审:
- 收集误报样本:从 DLP 审计日志里导出被拦截但实际合规的文档,分析正则或 ML 模型为什么判断错了。
- 收集漏报样本:从已知泄密事件中提取数据样本,反向验证现有规则能否命中。
- 更新关键词/正样本:把新的敏感词、新格式的身份证变体(比如带空格、带横杠)补充进规则库。
- 再训练(ML方案):如果有机器学习模型,把误报/漏报样本作为反例/正例重新训练一轮。
最后,别忘了跟业务部门搞好关系。你可能会需要在周末上线一批新规则,提前跟他们打个招呼,免得正扫描着就把他们的订单 Excel 拦了。嗯,这都是血泪经验换来的。