自从互联网诞生以来,网络攻击的方式就层出不穷,而且很多早期的攻击技巧已经沿用至今。
中间人攻击(Man in the Middle,简称 MITM)就是一种历史悠久,至今仍然被攻击者常用的网络侵袭手段。
在中间人攻击的情境中,攻击者会潜入实时通讯过程中,窃听或监控用户间的对话。
在必要时,他们甚至能够控制信息在发送方和接收者之间的传递。
接下来,不念将全面介绍中间人攻击,包括如何采取预防措施避免成为攻击目标,以及在遭受攻击时,应该立刻采取的紧急应对措施。
什么是中间人攻击?
中间人攻击是指攻击者秘密地接入用户与应用程序或两个设备之间的通信链路,充当信息传递的中间代理。
通信双方往往浑然不觉,误以为自己仍在直接与对方交流。
这种攻击属于会话劫持的一种形式,攻击者控制了原始的消息流,能在不引起发送端和接收端注意的情况下,监控和篡改传输中的数据。
如上图所示,两台笔记本电脑之间的通信已经被攻击者截获。
现在,所有的通信数据都要经过攻击者的手中。在这种情况下,攻击者成了两台设备数据交换的中继站。
中间人攻击如何运作
中间人攻击的核心在于,攻击者必须介入到数据传输的过程中。
为了达成这一目标,他们通常会发送带有恶意软件的电子邮件、广告软件等方式感染用户设备。
攻击的执行通常涉及两个主要阶段:通信拦截和解密数据。以下是这些阶段的详细说明:
通信拦截
在 MITM 攻击中,攻击者首先要拦截目标设备与网络之间的通信。这可以通过安装恶意软件,如间谍软件来实现。
而更常见的方式是创建一个开放的 Wi-Fi 热点。当人们误以为这是免费使用的 Wi-Fi 接入点时,攻击者就可以顺理成章地拦截这些设备发送到互联网的流量,以及返回的数据。
通信拦截常见的实施方式有:
IP 欺骗
在 IP 欺骗中,攻击者会更改数据包头部的 IP 地址信息,伪装成另一个可信来源。
这样就能够捕获和操纵数据包,甚至在数据到达原始目的地之前就进行篡改。
例如,用户在访问某个 URL 时,攻击者可以用篡改过的数据包来响应用户请求,伪装成目标网站。
用户在不知情的情况下,实际上是在与攻击者通信,而不是原本要访问的真实网站。
DNS 欺骗
DNS 负责将字符串形式的 URL 转换成 IP 地址。
攻击者可以篡改 DNS 记录,将 URL 原本的指向改成自己掌控的 IP,这样受害者就会与伪造的网站通信,而非真正的目标网站。
这种攻击通常会建立一个高仿原站的钓鱼网站,让用户在不知情的情况下提供自己的登录信息。
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 和认证令牌。(由于现代浏览器和协议的更新,已经变得不再实用。)
如何预防中间人攻击
中间人攻击的检测可能充满挑战,但我们可以通过采取以下预防措施,有效降低遭受攻击的风险:
- 避免使用不安全和公共 Wi-Fi 网络:公共 Wi-Fi 通常安全性较差,容易成为攻击者的目标。不要在这些网络上进行银行登录或发送重要邮件等敏感操作。
- 坚持访问 HTTPS 网站:HTTPS 通过 SSL/TLS 加密保护数据传输,防止攻击者监听或篡改信息。确保浏览的网站地址以「HTTPS」开头,避免仅有「HTTP」的不安全连接。现代浏览器会提示你即将访问的网站安全性,务必留意并避开有风险的链接。
- 警惕网络钓鱼邮件:攻击者常会伪造邮件窃取个人信息。对于这类邮件和广告,我们应保持警惕,不点击来源不明的链接,不下载未知附件。
- 使用 VPN:VPN 能为在线活动和数据通信加密,即便在公共 Wi-Fi 下也能保护隐私。企业应要求所有远程连接的员工通过 VPN 访问,以确保数据传输的安全。
- 安装反恶意软件:鉴于中间人攻击常通过恶意软件进行,部署端点安全解决方案对抵御恶意文件和链接至关重要。定期扫描系统,隔离可疑文件。
- 注销金融和敏感网站/应用账号登录:保持账号在线登录状态可能为攻击者提供可利用的机会。使用完毕后,务必登出这些应用和网站。同时,尽量不在浏览器中保存密码。
如何从中间人攻击中恢复
如果你怀疑自己已经成为中间人攻击的受害者,需要立即采取行动,阻止攻击的继续进行,并防止更多的信息落入攻击者之手。
请依照以下步骤顺序操作以进行恢复:
1、断开网络连接
在大多数网络攻击案例中,首先要做的就是切断网络连接。
对企业而言,这意味着需要将整个网络系统下线。对于家用设备,建议你断开路由器的 WAN 连接。这一步骤可以阻止攻击者继续对数据进行监听或篡改。
2、执行全面扫描
立即对包括手机、电脑和平板在内的所有设备进行全面的恶意软件扫描。
你可以使用内置的防病毒软件或第三方的防病毒解决方案。
这一步骤有助于识别和清除可能用于发起中间人攻击的恶意软件。
3、禁用自动代理服务器检测
Web 代理自动发现(WPAD)功能可能被利用来执行中间人攻击。
在 Windows 设备上,可以通过「设置」-「网络和 Internet」-「代理」,关闭「自动检测设置」来禁用此功能。
关闭该功能可以防止攻击者在你的设备上安装恶意的代理软件。
4、更改所有密码
作为预防措施,应该立即更改所有的电脑和在线账户密码。
在更改在线账户的密码时,应确保使用的是安全的网络,最好与之前可能已泄露信息的网络不同。
更改密码可以阻止攻击者利用已泄露的凭证访问你的账户。
5、加强数字安全措施
最后,需要强化数字安全防护。可以考虑部署先进的防火墙,例如下一代防火墙(NGFW),或者聘请安全专家团队来深入分析攻击原因,并补强安全漏洞。
通过加强数字安全,可以更好地防范未来可能发生的中间人攻击。