企业邮件网关引入 AI 判分,怎么设计才不会大面积误杀?
邮件判分有一个与多数安全场景不同的特点:漏判的代价是概率性的,误判的代价是确定性的。一封钓鱼邮件放过去,不一定有人上当;一封客户订单被误拦,业务当场受损,而且损失立即可见、责任明确。
因此设计原则应当是:宁可先多留一些需要人工看的,也不要在没有把握时自动删除。这不是保守,而是对代价结构的正确响应。
新判分能力上线的第一阶段不得改变任何投递结果。做法是让它与现有规则并行运行,只把结果写入日志。
这一阶段要产出的东西:
- 分数的实际分布形态(而不是供应方给出的理论分布)。
- 与现有规则判定的一致率,以及不一致样本的清单。
- 不一致样本的人工复核结论——这是后续所有阈值决策的唯一可信依据。
- 按业务线、按发件域的分数分布差异(财务、采购、客服的正常邮件形态往往差别很大)。
退出条件:能用真实数据回答「若按阈值 X 拦截,会误拦哪些邮件」,并且这些邮件已被逐一看过。做不到就不要进入下一阶段。
第二阶段允许对邮件做无损标注:在主题或正文顶部添加提示、写入自定义头部、在客户端呈现风险横幅。邮件仍然正常投递。
要点:
- 标注文案要说明「为什么」,而不只是「有风险」。例如「该发件人首次与本组织通信」比「疑似钓鱼」有用得多,因为前者是事实陈述,用户可自行判断。
- 标注结果同时写入头部字段,便于后续按标注类型统计与检索。
- 本阶段要测量的是用户反应:被标注邮件的举报率、误报申诉量。若申诉集中在某几类正常业务邮件,说明信号选取有系统性偏差,应回到阶段一调整。
只设一个「拦或不拦」的阈值是常见错误。应按分数分段给出强度递增且可逆性递减的动作:
- 低分段:正常投递。
- 中低分段:投递 + 风险标注。
- 中高分段:投递到隔离区,收件人可见、可自助释放,并发送隔离摘要。
- 高分段:隔离且需管理员释放。
- 极高分段且多层信号一致:在 RFC 5321 Simple Mail Transfer Protocol 的 SMTP 会话阶段直接拒收,由发送方收到明确拒绝码——这比静默丢弃更负责,合法发件人能够知悉并联系。
硬性原则:静默丢弃(接受后不投递也不告知)应当禁用。它让误判变得不可发现,是运维事故的温床。
- 申诉通道:用户能在几分钟内让一封被误拦的邮件到达,且申诉过程本身留痕、可统计。
- 回滚开关:可一键把判分能力退回影子模式,不需要重启服务、不需要变更窗口。
- 白名单机制:对关键业务对手方可按域加豁免,但豁免必须有有效期与责任人,避免永久白名单堆积成新的攻击面。
- 值班可见性:拦截量的突增突降要有告警。拦截量骤降往往意味着判分链路故障,而不是攻击减少,这一点极易被忽略。
常见误区是上了判分能力后放松协议层建设。二者定位不同:判分是概率性的,协议鉴别是确定性的。
NIST SP 800-177 Rev.1 Trustworthy Email 对可信邮件的技术要求、CISA Binding Operational Directive 18-01 对发件人鉴别与传输加密的强制要求,都属于无论判分能力多强都必须先做到的地基。RFC 7489 Domain-based Message Authentication, Reporting, and Conformance (DMARC) 的策略发布与报告收集,应当先于任何 AI 能力落地。
- 是否完整走过影子模式,并有人工复核过的不一致样本清单。
- 是否禁用了静默丢弃。
- 申诉通道与回滚开关是否已实测可用。
- 是否有拦截量异常波动的双向告警。
- 协议层鉴别是否已达标,未达标不应先上判分。
参考:NIST SP 800-177 Rev.1 Trustworthy Email | CISA Binding Operational Directive 18-01 | RFC 7489 Domain-based Message Authentication, Reporting, and Conformance (DMARC) | RFC 5321 Simple Mail Transfer Protocol
