4. 数据安全测试
模型的能力来自数据,风险也来自数据。数据安全测试关注的不是模型文件本身,而是训练数据在模型行为中留下的“痕迹”:模型是否记住了不该记住的样本、是否可以被反推出某个人的数据是否参与训练、是否被少量恶意样本带偏、是否对某些群体系统性不公。本章围绕四类测试展开:训练数据隐私泄露检测、成员推理攻击测试、数据投毒检测、数据偏差与公平性测试。
一、训练数据隐私泄露检测
隐私泄露检测的核心是判断模型输出中是否包含训练数据的可识别片段。对语言模型,常用方法是前缀补全探测:取训练集中一段真实文本的前若干字符作为提示,观察模型是否逐字复现后续内容。例如训练样本为“身份证号 11010119900307XXXX,联系电话 138XXXX1234”,若输入“身份证号 11010119900307”后模型补全出完整号码,则构成高风险泄露。
工程上通常用最长公共子序列(LCS)或n-gram 重合率量化泄露程度。设模型输出为 O、训练样本为 T,计算两者最长公共子串长度 L,若 L 超过阈值(如 20 个字符)且包含姓名、电话、证件号等敏感字段,即判定为泄露。对图像模型,则采用成员推理的变体:比较模型对训练图像的生成重建质量,重建越清晰越可能记忆。
检测流程可归纳为:构建探针集 → 批量生成 → 敏感实体识别 → 重合度计算 → 风险分级。探针集应覆盖训练数据中的高敏感类别,如医疗记录、金融账号、个人身份信息。风险分级建议:LCS≥30 或命中完整证件号/银行卡号为高危;LCS 在 15~30 且含部分敏感字段为中危;其余为低危。
二、成员推理攻击测试
成员推理攻击(Membership Inference Attack, MIA)试图回答:某条样本是否在训练集中。其原理是模型对训练样本通常表现出更低的损失(更高的置信度),攻击者利用这一差异构建判别器。
最常用的阈值攻击做法是:对目标样本计算模型输出的损失或最大 softmax 概率,若损失低于阈值则判定为“成员”。更严格的影子模型攻击则训练多个结构相同的影子模型,用其成员/非成员输出分布训练二分类攻击模型,再迁移到目标模型。
测试时需构造成员集与非成员集,二者应同分布。评价指标为攻击准确率、精确率、召回率与 AUC。若 AUC 显著高于 0.5(如 0.75 以上),说明模型存在可被利用的成员信号。防御手段包括差分隐私训练、正则化、输出置信度截断与温度缩放,测试时应复测 AUC 是否回落至接近 0.5~0.6 区间。
三、数据投毒检测
数据投毒指攻击者在训练数据中注入恶意样本,使模型在特定触发条件下产生错误输出。典型形式是后门攻击:在图片右下角加一个白色方块作为触发器,并将标签改为目标类;模型在正常样本上表现正常,但遇到带触发器样本时被误判为目标类。
检测方法分三类。第一,数据层检测:用异常检测算法(如孤立森林、聚类离群点)识别与同类样本分布差异大的样本,或统计标签与特征的一致性。第二,模型层检测:对模型进行触发器逆向,搜索能最小化目标类损失的输入扰动模式,若存在明显可复现的触发图案,则判定存在后门。第三,行为层检测:构造带候选触发器的测试集,比较模型在干净样本与触发样本上的准确率差异,差异越大风险越高。
实操中可先做标签翻转检测:统计每个类别的样本量与损失分布,若某类样本损失异常高或标签与内容明显不符,应人工复核。对后门,建议用 5~10 种候选触发器(角标、条纹、特定词)批量测试,记录攻击成功率(ASR)。ASR 超过 10% 即需告警,超过 30% 应阻断上线。
四、数据偏差与公平性测试
偏差测试关注模型在不同群体上的表现差异。首先定义敏感属性,如性别、年龄、地域、民族。然后按敏感属性分组,计算各组的准确率、召回率、F1、假阳性率(FPR)与假阴性率(FNR)。
常用公平性指标包括:人口均等(各组正例预测率相近)、机会均等(各组真阳性率相近)、均等化几率(各组 TPR 与 FPR 都相近)。例如某信贷模型对男性组通过率 62%、女性组 41%,则人口均等差异为 21 个百分点,属于显著偏差。
测试流程为:分组 → 计算指标 → 计算差异 → 设定阈值 → 判定。阈值可参考“80% 规则”:弱势组指标不低于优势组的 80%。若低于,则需通过重采样、样本加权、对抗去偏或后处理阈值调整来缓解,并复测差异是否收敛。
五、测试结果判读与闭环
四类测试并非孤立。隐私泄露与成员推理都反映“记忆过强”,投毒反映“数据被污染”,偏差反映“分布不公”。实际项目中建议按以下顺序执行:先做数据投毒与标签质量筛查,保证训练集干净;再做偏差分组评估,确认模型对不同群体表现均衡;最后做隐私泄露与成员推理,评估记忆风险。若投毒未清除,后续隐私与公平性结论都不可信。
结果判读应结合业务场景。医疗模型对成员推理更敏感,金融模型对公平性更敏感,公开内容生成模型对隐私泄露更敏感。测试报告应记录:测试集规模、敏感属性分布、阈值设定、各项指标数值、判定结论与复测计划。只有把“检测—判定—缓解—复测”形成闭环,数据安全测试才真正具备工程价值。