中间人攻击
字数 1426
更新时间 2026-01-31 23:21:30

中间人攻击

  1. 基本概念与生活比喻
    中间人攻击是指攻击者秘密地插入到两个通信实体(例如您的电脑和银行网站服务器)之间的连接中,对通信进行拦截、窃听甚至篡改的攻击方式。可以想象一个场景:您写了一张纸条给朋友A,需要通过同学B转交。如果B私自拆开纸条阅读、甚至修改了内容,再把纸条重新封好交给A,那么B就扮演了“中间人”的角色。在网络中,这个“纸条”就是您的数据包,而“B”就是攻击者。

  2. 攻击发生的前提与常见场景
    这种攻击成功的关键在于攻击者能够使自己“置身于”通信路径之中。这通常发生在不安全的网络环境下,例如:

    • 公共Wi-Fi:咖啡馆、机场的免费Wi-Fi极易被攻击者控制或伪造同名热点。
    • ARP欺骗:在局域网内,攻击者发送伪造的ARP(地址解析协议)响应包,误导受害设备将攻击者的电脑当作网关,从而使所有外发流量先经过攻击者。
    • DNS劫持:攻击者篡改DNS响应,将您要访问的合法网站域名解析到攻击者控制的恶意服务器IP地址。
    • 恶意软件:在用户设备上安装的恶意软件可以劫持本地网络栈,强制流量经过攻击者指定的代理。
  3. 攻击的核心步骤与技术原理
    一次典型的针对HTTPS网站的中间人攻击过程如下:

    • 步骤一:拦截连接。攻击者首先通过上述某种方法(如ARP欺骗),将自己置入受害者和目标服务器的通信链路。
    • 步骤二:伪造证书,建立“伪”安全连接。当受害者尝试连接 https://www.bank.com 时,请求被攻击者截获。攻击者会立即与真实的银行服务器建立一个真正的HTTPS连接。然后,攻击者使用自己伪造的数字证书(通常是一个自签名证书,或利用其他手段非法获取的证书),与受害者建立一个独立的HTTPS连接。对受害者而言,浏览器可能会弹出“证书不受信任”的警告,但如果用户忽视警告继续访问,连接依然会建立。
    • 步骤三:解密、窃听与篡改。此时,受害者与攻击者之间、攻击者与真实服务器之间,分别存在两条HTTPS连接。受害者发给银行的所有加密数据(如登录名、密码),会先被攻击者用自己的假证书解密、查看或保存,然后再用与银行真连接上的证书重新加密,转发给银行。反之亦然。这样,攻击者就能完全看到明文的通信内容,并可能进行篡改。
  4. 防御与检测措施

    • 用户层面
      • 绝对不要忽略浏览器的证书警告。
      • 尽量避免使用公共Wi-Fi进行敏感操作,如必须使用,请使用可靠的VPN加密所有流量。
      • 确保访问的网站使用HTTPS,并检查证书是否由可信的证书颁发机构签发。
    • 技术层面
      • HTTP严格传输安全:网站在响应头中设置 Strict-Transport-Security,强制浏览器只通过HTTPS连接该网站,防止SSL剥离攻击(一种MtIM)。
      • 证书固定:应用程序或浏览器预存网站真正的证书指纹,连接时进行比对,防止攻击者使用其他看似有效的证书进行欺骗。
      • 双向认证:不仅服务器向客户端提供证书,客户端也向服务器提供证书,大幅增加攻击者冒充的难度。
      • 使用DNSSEC:防止DNS响应被篡改,从源头杜绝一种中间人攻击途径。
      • 网络监控:部署IDS/IPS系统,检测局域网内的ARP欺骗等异常网络活动。
  5. 扩展知识:主动与被动中间人攻击

    • 被动攻击:攻击者仅秘密窃听通信内容,不进行任何篡改。这更难以被察觉。
    • 主动攻击:如上文描述的完整过程,攻击者不仅窃听,还主动与双方建立连接,能够实时修改通信内容(如将转账收款账户改为自己的账户),危害更大。
 全屏