上周我们收到一封“财务对账表”邮件,发件人前缀、签名格式、排版风格,和财务部平时群发的月度对账表一模一样,邮件网关零告警,公司的沙箱检测也没报任何异常。真正让这事暴露的,是财务部一个刚入职两个月的实习生:她觉得“请用Excel密码打开,密码是公司英文名加202406”这个说法很别扭。就是这么一个“别扭”,拦住了一次针对子公司出纳的定向钓鱼攻击。后来追溯日志,那封邮件来自一个已经被入侵的供应商邮箱,攻击者蹲在邮箱里看了三个月的往来记录,挑了一个最合适的时间点发了这封信。
这件事让我越来越确定一件事:钓鱼邮件防御走到今天,技术网关能挡住绝大多数的“广撒网”,但真正决定生死的那一下,往往是人的判断力。而人的判断力,不能靠运气,必须靠一套体系去训练、去兜底、去量化。这篇内容我就围绕“基于人为风险管控的钓鱼邮件综合防御体系”这个话题,把我这些年从零搭建、迭代、踩坑的经验完整盘一遍,给正在做邮件安全建设的安全团队、IT负责人、合规同学一个可以直接抄作业的参考框架。
1. 为什么技术防线挡不住的钓鱼邮件,反而要由人来兜底
很多人一聊钓鱼邮件防御,第一反应是“上网关、上沙箱、上EDR”。这些当然要上,但如果理解不了技术在钓鱼攻击面前的天然盲区,整个防御体系建设就容易出现“钱花了不少、该中招还是中招”的尴尬局面。
1.1 邮件网关的检测边界:从SPF到沙箱都在防什么
邮件网关最基础的工作是身份验证和内容过滤。身份验证主要依赖SPF、DKIM、DMARC这三件套,它们解决的核心问题是“这封邮件是不是声称的那个域名发出来的”。内容过滤则靠反垃圾规则、信誉库、URL检测、附件沙箱。这套体系对付大规模撒网型的钓鱼邮件非常有效,比如那些冒充“账号异常”“快递理赔”的群发邮件,源IP是境外僵尸网络、发件域名是刚注册的仿冒域名,网关层级的拦截率可以做到95%以上。
但问题恰恰出在剩下那5%上。一封从被攻陷的合法邮箱发出来的邮件,它的SPF、DKIM都是正常通过的,域名信誉是好的,附件是正常的Excel或PDF,链接指向的是网盘或问卷类站点,沙箱里跑不出任何恶意行为。这种情况下,技术栈的所有检测项几乎全部判“白”。这不是某个厂商的产品不行,而是检测逻辑在根本上的限制:它判断的是“这封邮件有没有恶意特征”,而不是“这封邮件接收者应不应该信任这个请求”。
1.2 攻击者的思维转变:绕过机器,直接打人
这两年定向攻击的数量明显上升,攻击者的思路也从“写一封信骗一百个人”变成了“蹲一个邮箱研究三个月,只骗一个人”。他们会观察目标公司的财务流程、报销节点、供应商名称、领导讲话的口头禅,然后选择一个业务上完全合理的场景发起攻击。
这种攻击有几个共同特征:社交工程的信息量非常大,邮件里包含大量真实业务背景;恶意载荷不再是一个可执行的exe,而是一个凭证输入页面、一个二维码、一个附件宏被禁用了就让你启用宏的话术;攻击时间点往往卡在月底结算、年度审计、大促促销之前。我见过最极端的一个案例,攻击者先伪造了一个“本周供应商付款计划变更表”,再从被入侵的高管邮箱转发出来,这套操作下来,邮件正文、附件、发件人都没有任何可被技术规则命中的点。
换句话说,攻击者已经默认技术防线拦不住这封鱼叉邮件。他们要突破的就是最后那颗“人的大脑”。
1.3 人为风险到底是什么:认知偏差、习惯惯性、时间压力
人为风险这个词如果只停留在“用户安全意识不足”上,那基本等于没说。我这些年落地下来,认为人为风险至少包含三个可干预的具体维度。
第一个是认知偏差,大多数人天然倾向于相信“看起来正常”的邮件。攻击者正是利用这个可得性偏见(availability heuristic)来设计语境。第二个是习惯惯性,很多用户的邮箱客户端里保存了上百封历史邮件,面对新邮件时会自然套用“以前就是这么操作的”来判断真伪,比如“领导以前也让我转过账,这次也是这么说的”。第三个是时间压力,月底对账、季度结案的时间节点上,用户根本没有精力去逐字核实邮件里的每一个细节。
这三个因素叠加起来,正规的员工培训考试考了90分,真遇到定向攻击时还是可能踩进去。所以人为风险管控要做的,不是改变人的天性,而是设计一套机制,在认知偏差、习惯惯性、时间压力真正起作用之前,把“需要人做高难度判断”的时刻,转化为“只需要人做一个简单动作”的时刻。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
