你可能听说过“中间人攻击(MiTM)”这个词,你甚至可能有一个模糊的概念吧。但是,您仍然想知道“中间人攻击到底是什么?”下面的文章将为您提供答案。一般来说,中间人(MITM)攻击很难识别和防御。MITM攻击是一种长期存在的网络入侵方法,它依赖于控制人、计算机或服务器之间的通信路由。它并不总是需要受感染的计算机,这意味着存在多种攻击媒介。那么,到底什么是中间人攻击呢?我们如何防止自己成为猎物?什么是中间人攻击?中间人攻击是一种网络入侵形式,可以追溯到计算的早期。当未经授权的实体将自己置于两个通信系统之间并试图拦截正在传递的信息时,就会发生这种类型的攻击,本质上是一种窃听攻击。为了更好地理解中间人攻击的工作原理,请考虑以下两个示例。离线中间人攻击离线中间人攻击听起来很基本,但它们仍在世界范围内使用。例如,有人拦截您发布的消息,阅读并重新打包,然后将其发回给您或您的原始收件人。然后,当对方回复你的时候,同样的事情又发生了,中间人继续截取并读取双方原本交换的所有消息。如果处理得当,两个通信方永远不会知道他们遇到了中间人攻击,因为他们永远不会看到信息被拦截和窃取。接管两个参与者之间的通信通道是中间人攻击的核心。它还为攻击者开辟了其他欺骗途径。如果攻击者控制了通信方法,那么他们就可以更改传输中的消息。就我们上面的例子而言,攻击者不仅可以截取和读取通信双方传递的信息,甚至可以篡改消息的内容来发出特定的请求作为攻击的一部分。当中间人控制您的通信时,他们还可以在攻击完成后立即删除与攻击相关的任何信息记录,使通信双方都看不到它。在线中间人攻击在线中间人攻击的工作原理与离线中间人攻击几乎相同,尽管使用的是计算机或其他数字硬件而不是传统的字母。例如,您使用计算机设备连接到咖啡店的免费公共Wi-Fi,然后尝试访问您银行的网站。然后,您可能会遇到以下错误消息。正如您在上图中看到的,您会遇到证书错误,通知您银行网站没有有效的加密证书。虽然这似乎是在提醒您银行配置存在问题,但实际情况是中间人攻击正在进行中。尽管如此,许多人还是选择单击错误消息并继续访问银行网站。之后,他们登录银行账户、汇款、支付账单等,一切似乎一切如常。实际上,攻击者可能已经设置了一个假服务器和一个假银行网站。当您连接到假冒银行服务器时,他们会向您展示目标银行真实页面的略微修改版本。您输入的所有登录详细信息都将发送到中间人服务器的后端。这也就解释了上图中加密证书错误的安全提示。中间人服务器根本没有与真实银行相同的安全证书,尽管它也可能有其他安全证书。中间人攻击的类型具体来说,有许多不同类型的中间人攻击:(1)Wi-Fi欺骗攻击者可以创建虚假的Wi-Fi接入点(AP)与本地免费Wi-Fi选项同名。例如,在上面的咖啡馆中,攻击者可以模仿Wi-Fi名称或创建一个名为“GuestWi-Fi”或类似名称的虚假选项。一旦您连接到恶意接入点,攻击者就可以监控您的所有在线活动。(2)HTTPS欺骗攻击者诱使您的浏览器认为您正在访问受信任的站点,而实际上将流量重定向到不安全的站点。当您输入登录凭据时,攻击者会窃取它们。(3)SSL劫持当您尝试连接或访问不安全的HTTP站点时,您的浏览器会将您重定向到安全的HTTPS选项。但是,攻击者可以劫持重定向过程,植入指向他们自己服务器的链接,并窃取您的敏感数据和您输入的任何凭据。(4)DNS欺骗为了帮助您准确浏览目标网站,域名系统会将地址栏中的URL从人类可读的文本格式转换为计算机的IP地址。然而,DNS欺骗会强制您的浏览器访问由攻击者控制的特定地址。(5)邮件劫持如果攻击者获得受信任机构(如银行)的邮箱甚至邮件服务器的访问权限,他们可能会拦截包含敏感信息的客户邮件,甚至开始代表该机构发送各种邮件。这些只是一些典型的中间人攻击。除此之外,此类攻击还有许多变体和不同组合。HTTPS能防止中间人攻击吗?如果上述情况发生在使用HTTPS(HTTP的安全版本)的银行网站上,用户将收到一个弹出消息,提示他们的加密证书不正确。如今几乎每个网站都使用HTTPS,您可以在地址栏中的URL旁边看到一个锁图标。过去很长一段时间,只有那些提供敏感信息的网站才会使用HTTPS。但现在情况发生了变化,尤其是自从谷歌宣布将使用HTTPS作为SEO的排名参考标准之后。据统计,2014年全球排名前百万的网站中只有1-2%使用了HTTPS。到2018年,这个数字呈爆炸式增长,全球排名前100万的网站中有超过50%实施了HTTPS。在未加密的网站上使用标准HTTP连接,您将不会收到上面示例中收到的警告,并且您将更容易受到中间人攻击。那么,HTTPS真的能抵御MITM攻击吗?MITM和SSLStrip答案是肯定的,HTTPS可以防止中间人攻击。但是,攻击者可以通过多种方式破坏HTTPS,从而消除通过加密为您的连接提供的额外安全性。以SSL剥离(SSLStrip)类型的中间人攻击为例。SSL剥离或SSL降级攻击是一种非常罕见的中间人攻击形式,但也是最危险的一种。众所周知,SSL/TLS证书通过加密来保护我们的通信安全。在SSL剥离攻击中,攻击者剥离SSL/TLS连接,协议从安全的HTTPS更改为不安全的HTTP。对于这种类型的攻击,您甚至可能根本不会注意到任何异常情况。通过仔细观察谷歌浏览器等浏览器的地址栏是否有大红叉或感叹号的通知,可以帮助你发现异常的踪迹。时至今日,HTTPS所加的锁定标志无疑让用户更容易发现自己是否使用了HTTPS。此外,另一个安全升级也削弱了SSL剥离的有效性,这就是HTTP严格传输安全(HTTPStrictTransportSecurity,HSTS)。HTTP严格传输安全(HSTS)的开发是为了防止中间人攻击,尤其是协议降级攻击,例如SSL剥离。HSTS有一项特殊功能,它强制Web服务器仅使用HTTPS与所有用户交互。但这并不意味着HSTS会一直工作,因为HSTS只能在用户第一次访问后配置。因此,理论上,攻击者可以在HSTS配置到位之前利用这个短时间差来使用中间人攻击,如SSL剥离。那不是全部。如今,SSL剥离已让位于其他现代工具,这些工具将多种类型的中间人攻击组合到一个工具包中以进行更复杂的攻击。MITM恶意软件除此之外,用户还必须应对使用中间人攻击或具有中间人模块的恶意软件变体。例如,针对Android用户的某些类型的恶意软件(如SpyEye和ZeuS)允许攻击者窃听与智能手机之间的所有形式的数据通信。一旦安装在Android设备上,这些恶意软件就可以被攻击者用来拦截所有形式的通信。最关键的信息之一是双因素身份验证代码。攻击者可以在真正安全的网站上请求双因素身份验证代码,然后在用户做出反应甚至理解正在发生的事情之前拦截该代码。正如您所料,桌面并非没有威胁。实际上有许多类型的恶意软件和漏洞利用工具包是专门为中间人攻击而设计的。更不用说联想在其笔记本电脑出厂前安装了启用SSL剥离的恶意软件的事件。如何防止中间人攻击?中间人攻击很难防御。攻击者有多种攻击组合,这意味着防止中间人攻击的方法也必须是多方面的:使用HTTPS:确保您访问的每个网站都使用HTTPS标头。毕竟,面对SSL剥离和中间人恶意软件,确保使用HTTPS仍然是最好的防御措施之一;不要忽视警告:如果您的浏览器告诉您您正在访问的网站存在安全问题,请认真对待。毕竟,安全证书警告可以帮助您直观地判断您的登录凭据是否会被攻击者拦截;不要使用公共Wi-Fi:如果可以,尽量不要使用公共Wi-Fi。有时无法避免使用公共Wi-Fi,因此请下载并安装VPN以增加连接的安全性。此外,在使用公共Wi-Fi连接时,请注意浏览器的安全警告。如果警告数量突然激增,则可能表明存在中间人攻击或漏洞;在点击邮件之前,检查邮件的发件人;如果你是网站管理员,你应该实现HSTS协议;如果您的网站使用SSL,请确保禁用不安全的SSL/TLS协议。您应该只启用TLS1.1和TLS1.2;运行并更新您的防病毒软件:确保您的防病毒软件是最新的,并考虑使用其他安全工具,例如Malwarebytes。本文翻译自:https://www.makeuseof.com/what-is-a-man-in-the-middle-attack/
