中间人攻击 (Man-in-the-Middle, MITM)
一、概述
中间人攻击(Man-in-the-Middle, MITM)是一种主动攻击方式,攻击者在通信双方不知情的情况下,插入到通信链路中,拦截、篡改或伪造信息。MITM 攻击广泛存在于网络协议层和应用层,常常利用网络信任关系、缺乏加密或身份验证的弱点。
MITM 攻击并不是单一漏洞,而是一类攻击手法,可作用于多种协议(如 ARP、DNS、HTTP、TLS、Wi-Fi)。
二、工作原理
MITM 攻击通常包括以下步骤:
- 拦截通信
- 通过 ARP 欺骗、DNS 欺骗、IP 路由篡改、恶意热点等方式,将目标的流量引导到攻击者设备。
- 窃听数据
- 攻击者被动监听通信,获取敏感数据(账号密码、会话令牌、隐私信息)。
- 篡改数据
- 主动修改请求或响应,例如注入恶意代码、替换下载文件。
- 转发伪装
- 攻击者在转发通信时维持正常会话,确保双方不易察觉。
三、常见攻击场景
- ARP 欺骗:攻击者伪造 ARP 响应,冒充网关,实现局域网 MITM。
- DNS 欺骗:篡改 DNS 响应,将域名解析到恶意 IP。
- SSL Stripping:将 HTTPS 降级为 HTTP,窃取明文数据。
- Wi-Fi 恶意热点:攻击者搭建同名 Wi-Fi,诱导用户连接。
- TLS 中间人:伪造证书或利用客户端不验证证书弱点,劫持加密会话。
- Email MITM:拦截并修改 SMTP/IMAP 流量,窃取邮件内容。
四、危害
- 窃取敏感信息:如用户名、密码、会话 Cookie、银行卡号。
- 篡改通信内容:注入恶意软件、钓鱼页面。
- 破坏数据完整性:导致错误决策、篡改交易数据。
- 持久化控制:攻击者可长期隐藏在通信链路中,形成隐蔽控制通道。
五、防御措施
- 协议级防护
- 启用 HTTPS/TLS 并强制证书验证(HSTS)。
- 使用 DNSSEC 防止 DNS 欺骗。
- 使用 IPSec/VPN 保护链路层通信。
- 网络级防护
- 在交换机启用 ARP 防护/动态 ARP 检测(DAI)。
- 使用 静态 ARP 表 或 IP-MAC 绑定。
- 启用 DHCP Snooping 防止伪造 DHCP 服务器。
- 客户端防护
- 检查浏览器地址栏中的 HTTPS 和证书有效性。
- 使用安全浏览器插件(如 HTTPS Everywhere)。
- 避免在公共 Wi-Fi 上登录敏感系统。
- 监控与检测
- 部署入侵检测系统(IDS/IPS)监控异常流量。
- 检测 ARP/DNS 缓存异常变化。
- 监控 TLS 证书异常或突发的大规模证书更换。
六、典型案例
- Firesheep 工具 (2010):通过监听未加密的 Wi-Fi HTTP 流量,劫持社交网站 Cookie,实现会话劫持。
- Superfish 事件 (2015):联想电脑预装 Superfish,注入自签 TLS 证书,使攻击者可对所有 HTTPS 流量执行 MITM。
- 国家级攻击:有研究报告指出部分国家级攻击者使用 MITM 劫持流量,进行大规模监控和过滤。
七、总结
中间人攻击是网络安全中最常见、最危险的一类攻击,能够窃听、篡改、控制通信过程。防御 MITM 攻击需要 多层次安全机制:协议加密、网络防护、客户端校验、持续监控。尤其在今天,随着 HTTPS 普及和 RPKI/DNSSEC 推广,MITM 的技术门槛提高,但风险依然存在。