系统极客一直在努力
专注操作系统及软件使用技能

什么是中间人攻击(MITM),如何预防和应对

network

自从互联网诞生以来,网络攻击的方式就层出不穷,而且很多早期的攻击技巧已经沿用至今。中间人攻击(Man in the Middle,简称 MITM)就是一种历史悠久,至今仍然被攻击者常用的网络侵袭手段。

在中间人攻击的情境中,攻击者会潜入实时通讯过程中,窃听或监控用户间的对话。在必要时,他们甚至能够控制信息在发送方和接收者之间的传递。

接下来,我们将全面介绍中间人攻击,包括如何采取预防措施避免成为攻击目标,以及在遭受攻击时,应该立刻采取的紧急应对措施。

什么是中间人攻击?

中间人攻击是指攻击者秘密地接入用户与应用程序或两个设备之间的通信链路,充当信息传递的中间代理。通信双方往往浑然不觉,误以为自己仍在直接与对方交流。

这种攻击属于会话劫持的一种形式,攻击者控制了原始的消息流,能在不引起发送端和接收端注意的情况下,监控和篡改传输中的数据。

中间人攻击

如上图所示,两台笔记本电脑之间的通信已经被攻击者截获。现在,所有的通信数据都要经过攻击者的手中。在这种情况下,攻击者成了两台设备数据交换的中继站。

中间人攻击如何运作

中间人攻击的核心在于,攻击者必须介入到数据传输的过程中。为了达成这一目标,他们通常会发送带有恶意软件的电子邮件、广告软件等方式感染用户设备。

攻击的执行通常涉及两个主要阶段:通信拦截和解密数据。以下是这些阶段的详细说明:

通信拦截

在 MITM 攻击中,攻击者首先要拦截目标设备与网络之间的通信。这可以通过安装恶意软件,如间谍软件来实现。

而更常见的方式是创建一个开放的 Wi-Fi 热点。当人们误以为这是免费使用的 Wi-Fi 接入点时,攻击者就可以顺理成章地拦截这些设备发送到互联网的流量,以及返回的数据。

通信拦截常见的实施方式有:

IP 欺骗

IP 欺骗

在 IP 欺骗中,攻击者会更改数据包头部的 IP 地址信息,伪装成另一个可信来源。这样就能够捕获和操纵数据包,甚至在数据到达原始目的地之前就进行篡改。

例如,用户在访问某个 URL 时,攻击者可以用篡改过的数据包来响应用户请求,伪装成目标网站。用户在不知情的情况下,实际上是在与攻击者通信,而不是原本要访问的真实网站。

DNS 欺骗

DNS 欺骗

DNS 负责将字符串形式的 URL 转换成 IP 地址。攻击者可以篡改 DNS 记录,将 URL 原本的指向改成自己掌控的 IP,这样受害者就会与伪造的网站通信,而非真正的目标网站。

这种攻击通常会建立一个高仿原站的钓鱼网站,让用户在不知情的情况下提供自己的登录信息。

ARP 欺骗

ARP 欺骗

地址解析协议(ARP)用于将动态 IP 地址映射到固定的 MAC 地址。即使 IP 地址发生变化,网络流量也会被定向到正确的目的地。

ARP 欺骗,也称为「ARP 投毒」,攻击者会将自己的恶意 MAC 地址与特定 IP 地址关联,从而劫持网络流量。当用户访问某个 URL 或 IP 地址时,数据请求就会被引导至攻击者。这种方法通常用于局域网(LAN)中。

通过上述方法,攻击者可以进入同一网络,开始与受害者的设备通信。一旦入侵成功,他们就会着手解密数据包中的信息。

解密数据

通常情况下,用户的通信通常会通过 SSL 证书进行加密,解密之后才能读取明文信息。解密可以通过多种方式实现,例如:

HTTPS 欺骗

HTTPS 是用于浏览器与网站服务器之间加密数据传输的协议。在 HTTPS 欺骗中,攻击者会创建一个与真实网站外观相似的钓鱼网站,并在网址栏旁边显示一个假的绿锁图标,模仿使用 SSL 证书加密的安全连接。

SSL劫持

攻击者可以生成或伪造 SSL 证书,在用户与网站建立 TCP 连接时,冒充合法网站进行响应。这个过程称为 SSL 劫持,攻击者能够伪装成一个安全的网站与用户建立连接。

SSL剥离

SSL 剥离中,攻击者会移除安全通信中的 SSL 证书,并将 HTTPS 降级为 HTTP。攻击者会与安全网站建立一个加密的连接,同时与受害者保持一个非加密的连接。

SSL BEAST

SSL BEAST 是一种攻击方法,攻击者通过在受害者电脑上植入恶意 JavaScript,截获在线应用的加密 Cookies。然后,利用这些信息破解密码块链接(CBC)加密机制,解密 Cookies 和认证令牌。(由于现代浏览器和协议的更新,已经变得不再实用。)

中间人攻击常用的工具

在执行中间人攻击时,攻击者需要利用一系列的服务、工具和技术。为了成功地实施攻击,通常要进行数据包嗅探、欺骗和剥离等操作。

以下是一些在中间人攻击中常用的主要工具列表,每种工具都有其独特的功能:

此列表仅供教育和研究之用。在使用这些工具时,应当遵守法律法规,并确保所有的活动都在合法和道德的范围内进行。安全专家也会利用这些工具进行渗透测试,帮助企业发现潜在的安全漏洞,并加以修复。

中间人攻击的目标和目的

中间人攻击的受害者可以是个人用户、企业、甚至政府机构,而攻击者的动机多种多样,包括盗窃敏感信息、财务诈骗、商业信息盗窃或政治目的。这类攻击可能旨在秘密监听、捕获、篡改或操纵数据。

历史上,中间人攻击的典型案例有:

  • DigiNotar:2011年,DigiNotar 的安全证书被盗用,攻击者利用这些证书进行了中间人攻击,导致用户的通信安全受到威胁。
  • Superfish:2015年,预装在部分 Lenovo 电脑上的 Superfish 广告软件通过插入广告到用户的加密流量中,危及用户信息安全。
  • Equifax:2017 年,信用报告机构 Equifax 遭受数据泄露,影响了近 1.5 亿人。这次攻击通过利用 Equifax 未修补的安全漏洞实施。

这些案例表明,中间人攻击不仅对受害者造成了直接的损害,也对整个网络安全生态系统产生了长远的影响。因此,无论是个人还是机构,都应采取必要的预防措施来保护自己不受此类攻击的侵害。

如何检测中间人攻击

检测中间人攻击具有一定的挑战性,但我们可以通过监测网络的特定参数和流量分析来识别潜在的攻击,并在攻击发生时及时向系统管理员发出警报。

  • 服务频繁中断:攻击者在劫持通信会话之前,通常会断开用户的连接,导致服务不断中断。如果发现服务频繁无预警地中断,这可能是中间人攻击的一个迹象。
  • 请求伪造网站:攻击者可能通过伪造的域名或 IP 地址,诱使用户向其发送请求。当用户频繁向类似真实网站的假冒网站发送请求时,这可能表明中间人攻击正在发生。
  • 实时延迟检查:异常的数据包传输时间表示可能存在中间人攻击。攻击者在数据传输过程中的干预会造成额外的延迟。通过比较数据包头部的时间戳,我们能够检测到这种延迟。
  • 深度数据包检查(DPI)与深度流量检查(DFI):DPI 和 DFI 是强大的工具,它们通过分析数据包的大小、长度等信息,帮助发现不寻常的网络活动,从而识别中间人攻击。异常的数据包可能表现为:
    • 数据包大小不符合常规,例如过大或过小。
    • 数据包内容出现异常,比如含有不应出现的敏感信息。
  • 入侵检测和预防系统(IDPS):IDPS 能够识别异常流量并突出显示可疑的数据包,及时通知管理员。基于异常行为的 IDS 能够侦测到中间人攻击的迹象,比如:
    • 数据包头部信息出现异常,例如源 IP 或目标 IP 地址不一致。
    • 数据包内容异常,如包含不正常的敏感信息。

如何预防中间人攻击

中间人攻击的检测可能充满挑战,但我们可以通过采取以下预防措施,有效降低遭受攻击的风险:

  • 避免使用不安全和公共 Wi-Fi 网络:公共 Wi-Fi 通常安全性较差,容易成为攻击者的目标。不要在这些网络上进行银行登录或发送重要邮件等敏感操作。
  • 坚持访问 HTTPS 网站:HTTPS 通过 SSL/TLS 加密保护数据传输,防止攻击者监听或篡改信息。确保浏览的网站地址以「HTTPS」开头,避免仅有「HTTP」的不安全连接。现代浏览器会提示你即将访问的网站安全性,务必留意并避开有风险的链接。
  • 警惕网络钓鱼邮件:攻击者常会伪造邮件窃取个人信息。对于这类邮件和广告,我们应保持警惕,不点击来源不明的链接,不下载未知附件。
  • 使用 VPN:VPN 能为在线活动和数据通信加密,即便在公共 Wi-Fi 下也能保护隐私。企业应要求所有远程连接的员工通过 VPN 访问,以确保数据传输的安全。
  • 安装反恶意软件:鉴于中间人攻击常通过恶意软件进行,部署端点安全解决方案对抵御恶意文件和链接至关重要。定期扫描系统,隔离可疑文件。
  • 注销金融和敏感网站/应用账号登录:保持账号在线登录状态可能为攻击者提供可利用的机会。使用完毕后,务必登出这些应用和网站。同时,尽量不在浏览器中保存密码。

如何从中间人攻击中恢复

如果你怀疑自己已经成为中间人攻击的受害者,需要立即采取行动,阻止攻击的继续进行,并防止更多的信息落入攻击者之手。

请依照以下步骤顺序操作以进行恢复:

1断开网络连接

在大多数网络攻击案例中,首先要做的就是切断网络连接。对企业而言,这意味着需要将整个网络系统下线。对于家用设备,建议你断开路由器的 WAN 连接。这一步骤可以阻止攻击者继续对数据进行监听或篡改。

2执行全面扫描

立即对包括手机、电脑和平板在内的所有设备进行全面的恶意软件扫描。你可以使用内置的防病毒软件或第三方的防病毒解决方案。这一步骤有助于识别和清除可能用于发起中间人攻击的恶意软件。

3禁用自动代理服务器检测

Web 代理自动发现(WPAD)功能可能被利用来执行中间人攻击。在 Windows 设备上,可以通过「设置」-「网络和 Internet」-「代理」,关闭「自动检测设置」来禁用此功能。

禁用 Windows 自动代理检测

关闭该功能可以防止攻击者在你的设备上安装恶意的代理软件。

4更改所有密码

作为预防措施,应该立即更改所有的电脑和在线账户密码。在更改在线账户的密码时,应确保使用的是安全的网络,最好与之前可能已泄露信息的网络不同。更改密码可以阻止攻击者利用已泄露的凭证访问你的账户。

5加强数字安全措施

最后,需要强化数字安全防护。可以考虑部署先进的防火墙,例如下一代防火墙(NGFW),或者聘请安全专家团队来深入分析攻击原因,并补强安全漏洞。通过加强数字安全,可以更好地防范未来可能发生的中间人攻击。

赞(2) 赞赏

评论 抢沙发

微信赞赏