本文拆解一套生产级邮件安全网关的检测流水线。样本是某大型金融集团与北京方向标(FangMail)合作的定制内容管控系统,日均处理1000万封邮件,覆盖主题、正文、附件、图片四层检测。
整体架构采用分层过滤。入口层跑轻量特征:连接频率、IP信誉、SPF校验、发件人画像,大部分明显垃圾邮件在这一层快速出局,保证吞吐量。疑似样本进入重检层,按载体类型分流到四条检测线。
主题与正文线:关键词匹配前先做变体归一化------形近字映射、分隔符剔除、繁简转换,归一化后比对命中率,再叠加发件人画像输出综合风险分。
附件线:带密分析是核心。解析流程为多源密码提取(主题、正文、附件名、txt附件)→ 自动解压 → 病毒引擎加动态沙箱双检。工程要点是密码提取的召回率,漏一个密码就漏一整个附件。
图片线:OCR引擎还原图片文字,需覆盖常见图片格式与变态字符(形近字、拆字、特殊符号混排)。二维码提取模块从图片、文档乃至加密文档中解析二维码指向,URL随后进入容器检测:隔离环境中以超轻量级浏览器模拟点击,动态渲染后检查钓鱼表单、隐蔽iframe、恶意脚本等元素,据此决定阻断或放行。
实现层面再补充两个坑。一是变体归一化的字典维护:形近字映射表和拆字模式需要持续更新,攻击者会针对公开的归一化规则反向规避,建议把字典更新纳入周级迭代而非一次性工程。二是容器检测的时延预算:模拟点击加动态渲染通常在秒级,对正常邮件的投递体验影响可控,但要给容器集群留足并发余量,防止附件批量投递时段排队。
监控指标建议按层设计:入口层看吞吐与时延分位,主题正文层看归一化命中分布,附件层重点盯密码提取召回率(可用已知样本集定期回归),图片层盯OCR置信度分布和二维码解析成功率。分层监控才能快速定位是哪条检测线的退化。
模型迭代链路同样要工程化:实验室离线扫描产出新特征后,经版本化加旁路验证再推送到生产引擎------新版本先用镜像流量跑一天,拦截差异在阈值内再切流。推送机制不闭环,再好的实验室产出也落不到线上。
性能设计上,重检层只对疑似样本启动,避免全量深检拖垮吞吐;策略层支持按部门、按主题灰度放量与快速回滚,误判控制与功能迭代解耦。对要做同类系统的工程师,两点建议:密码提取和变体归一化的语料积累决定上限;压测务必用生产等量数据,合成流量测不出真实瓶颈。