网络威胁与对策

中间人攻击 (MITM)

约 4 分钟阅读

什么是中间人攻击

中间人攻击 (Man-in-the-Middle Attack,MITM) 是攻击者插入两个通信方之间,拦截并可能篡改通信内容的攻击技术。受害者认为自己在与合法对方直接通信,因此攻击难以被发现。

这种攻击要成功,攻击者必须将自己插入通信路径。公共 Wi-Fi、ARP 欺骗、DNS 欺骗和恶意接入点是实现这一目的的常见方法。

主要攻击手法

中间人攻击采用几种代表性技术。

  • ARP 欺骗:在局域网上发送伪造的 ARP (地址解析协议) 数据包,将通信对方的 MAC 地址替换为攻击者的。可拦截同一网络内的所有流量。
  • DNS 欺骗:返回伪造的 DNS 响应,将受害者重定向到假服务器。即使输入正确的 URL,受害者也会连接到攻击者的服务器。DNS 缓存投毒可影响目标 DNS 服务器的所有用户。
  • SSL 剥离:将 HTTPS 连接降级为 HTTP。攻击者与真实服务器保持 HTTPS 连接,同时与受害者通过 HTTP 通信。受害者看不到锁形图标但可能不会注意。HSTS 是有效的对策。
  • 恶意接入点:设置与合法接入点名称相似的假 Wi-Fi 接入点 (如"Cafe_WiFi_Free")。连接用户的所有流量都经过攻击者的设备。

防御策略与加密的重要性

对中间人攻击最根本的防御是彻底的通信加密和对方认证。

通信加密

  • 使用 TLS 1.3:最新的 TLS 1.3 改进了握手对降级攻击的抵抗力。TLS 1.0/1.1 存在已知漏洞,应禁用。
  • 启用 HSTS:强制浏览器始终使用 HTTPS,防止 SSL 剥离攻击。注册 HSTS 预加载可从首次连接就提供保护。
  • 证书固定:在应用中固定预期的证书,防止接受伪造证书。常用于移动应用和 API 客户端。

认证

  • 双因素认证:即使凭证被拦截,没有第二因素攻击者也无法登录。硬件密钥 (FIDO2) 对中间人攻击的抵抗力最强。
  • 双向 TLS (mTLS):客户端和服务器互相用证书认证。用于 API 通信和微服务架构。

公共 Wi-Fi 的实用自卫措施

公共 Wi-Fi 是中间人攻击风险最高的环境。养成以下习惯可以大幅降低风险。

  • 始终开启 VPNVPN 加密您的流量,即使连接到恶意接入点,通信内容也受到保护。
  • 禁用自动连接:关闭设备的自动 Wi-Fi 连接。防止自动连接到未知接入点。
  • 验证网络名称:向工作人员确认官方 Wi-Fi 网络名称。不要连接名称相似的网络。
  • 避免敏感操作:在公共 Wi-Fi 上避免网上银行、信用卡交易和输入重要密码。敏感操作使用移动数据。
  • 使用后忘记网络:使用后从已保存网络列表中删除公共 Wi-Fi 网络。防止下次访问时自动重连。

常见误解

有 HTTPS 就不可能遭受中间人攻击
HTTPS 在正确实现时是强大的防御,但当应用忽略证书验证、使用过时的 TLS 版本或用户忽略证书警告时,中间人攻击仍可能成功。
中间人攻击需要在同一 Wi-Fi 网络
ARP 欺骗是局域网攻击,但 DNS 欺骗和 BGP 劫持可以远程执行。ISP 级别的流量拦截和恶意软件修改代理设置等许多技术不需要物理接近。
分享

相关术语