AiTM:当网络钓鱼偷走的不只是密码,而是整个会话
很长一段时间里,建议都很简单:“开启双重验证,网络钓鱼就奈何不了你了。”这条建议依然很好,但已经不够了。有一类攻击叫作 AiTM,即 Adversary-in-the-Middle(“中间的对手”),它偷走的远不止密码:它偷走的是已经打开的会话。我们用简单的方式来看看它是怎么做到的。
什么是“Adversary-in-the-Middle”攻击?
在传统网络钓鱼中,假网站是一个复制品:模仿银行或邮箱页面,保存用户输入的密码。攻击者之后还得亲自去用它。
在 AiTM 攻击中,假网站不再是复制品,而是一个中间人。想象一个假柜员坐在银行真柜台的前面。我们把证件递给他,他转交给真柜员,再把答复带回来,如此往复。一切看起来都很正常……只是他在中途把所有东西都复印了一份。
从技术上讲,假网站显示的是真正的登录页面,它实时从真实服务那里取来。有现成的“一键式”工具包专门干这件事,还像订阅一样出租,让任何骗子都能用上这种手法。
偷走会话 Cookie:音乐节的手环
登录一个网站后,我们不会每点一下就重新输入密码。网站会给我们一个会话 Cookie,一个存放在浏览器里的小令牌,意思是:“这个人已经验证过身份了。”
这就相当于音乐节的手环。入口处,我们出示门票和身份证件。之后只需亮出手环。没人会在每场演出前再查一遍门票。
AiTM 攻击的目的,就是拿到这只手环的复制品。攻击者从此既不需要密码也不需要验证码:他把 Cookie 粘贴到自己的浏览器里,就以登录状态进入了账户。所以事后改密码并不总是够的:只要会话没有关闭,被偷的手环就可能一直有效。
为什么有些双重验证不够用
双重验证(2FA)在密码之外增加第二个证明:短信验证码、验证器应用生成的代码、需要在手机上确认的通知。面对复制品网站,它非常有效。面对中间人,就差得多:验证码是对的,只是输错了地方,然后在一秒钟内被转发给了真网站。
能够抵御的方法,是那些会自己检查网站地址的方法:实体安全密钥和通行密钥(passkey)。登录时,密钥会查看自己在和哪个域名对话。如果不是真的那个,它干脆不回应。人会认错网站;密钥却不会被“长得像”骗过去。
如何识别 AiTM 基础设施
AiTM 的陷阱在于,我们看到的是真正的页面:真的标志、真的布局,有时甚至有公司的背景图,邮箱地址也已经填好了。内容本身露不出任何破绽。所以要看别处:
- 浏览器地址栏里的网址。这是中间人唯一无法完美模仿的东西。一个位于
login.microsoftonline.com.secure-auth.example的微软登录页,并不在微软那里:真正的域名是secure-auth.example。如何正确读出域名,请参见指南二维码钓鱼:当网络钓鱼藏在二维码背后;关于容易混淆的字母,请参见Punycode 与同形字。 - 密码管理器一声不吭。它按域名而不是按外观来填表。如果它在一个平时认识的页面上毫无反应,这就是警报。
- 页面之前的绕路:一道“您是人类吗?”的验证、一次或多次跳转、通过邮件或二维码收到的链接。
- 一个全新的域名,几天前才创建,常常藏在 CDN 后面,或托管在免费网页平台上。
举报时要收集哪些材料
要让托管商或注册商迅速行动,就得给它们可核实的事实。收集以下材料,但绝不在该页面上再次输入任何账号信息:
- 页面的完整网址,以及通往它的整条跳转链;
- 一张同时显示页面和地址栏的截图;
- 观察到的日期和时间(这类基础设施变化很快);
- 含有该链接的邮件完整源代码;
- 域名的注册商和创建日期,提供页面的托管商或 CDN;
- 被冒充的品牌:微软、谷歌、某家银行……它们的安全团队都接受这类举报。
用 Baitback 举报这套基础设施
这类活动几乎总是从一封邮件开始。把它的完整源代码粘贴到 Baitback:工具会找出发件服务器及其托管商的举报地址,跟踪邮件中链接的跳转,并标出目的地的可疑之处:冒充品牌的相似域名、新近创建的域名、免费托管、被列入黑名单的域名。然后它会准备好可直接发送的举报邮件。
至于页面本身,把收集到的材料发给注册商、托管商或 CDN,以及 Baitback 提示的各个平台(Google Safe Browsing、Microsoft、Netcraft……)。要理解为什么这类邮件能通过所有技术检查,请参见即使检查显示“通过”,邮件也可能在说谎。
如果已经在 AiTM 页面上输入了账号信息
光改密码已经不够,还得把手环收回来:
- 在可信设备上修改密码;
- 使用“退出所有会话”,或在公司里请 IT 部门吊销所有会话;
- 检查是否被添加了新的双重验证方式;
- 检查邮箱规则:攻击者常常会添加一条转发或隐藏某些邮件的规则。
- AiTM 网站并不模仿登录页面:它实时转发真正的页面。
- 它偷走会话 Cookie,也就是免于再次登录的“手环”:攻击者从此不再需要密码和验证码。
- 验证码(短信、应用、推送)可以被转发;安全密钥和通行密钥会检查域名,能够抵御。
- 唯一可靠的线索是网址:一声不吭的密码管理器是极好的警报。
- 输入过账号信息后,要修改密码并关闭所有会话。