了解“中间人攻击(MITM)”及如何防范
中间人攻击很难识别和防御。MITM攻击依赖于控制人、计算机或服务器之间的通信线路。中间人攻击并不总是需要受感染的计算机,这意味着有多种攻击途径。
那么,什么是中间人攻击,如何才能防止自己成为中间人攻击的牺牲品呢?
文章目录
什么是中间人攻击?
中间人(MITM)攻击在计算机出现之前就已经存在。这种类型的攻击包括攻击者将自己插入到相互通信的双方之间。中间人攻击本质上是窃听攻击。
为了更好地理解中间人攻击的工作原理,请考虑以下两个示例。
下线中间人攻击
离线MITM攻击听起来很基本,但仍在世界范围内使用。
例如,有人截取你的帖子,阅读它,重新打包,然后发送给你或你的原始收件人。然后,当对方回复你时,同样的情况反过来发生,中间的人在各个方向截取和阅读你的邮件。
如果执行得当,您将不会知道正在发生MITM攻击,因为您看不到拦截和数据窃取。
占据两个参与者之间的通信通道是中间人攻击的核心。
这也为攻击者开辟了其他欺骗途径。如果攻击者控制通信手段,他们就可以修改传输中的消息。在我们的例子中,有人正在拦截和阅读邮件。同一个人可以修改您的邮件内容,以询问特定的问题,或作为其攻击的一部分提出请求。
当MITM控制你的交流时,他们就可以删除以后对问题或请求的任何引用,让你一点也不明白。
网络中间人攻击
在线中间人攻击的工作原理基本相同,只是用计算机或其他数字硬件代替了老式的蜗牛邮件。
一个MITM攻击变种围绕着你连接到咖啡馆的免费公共Wi-Fi。连接后,您将尝试连接到银行网站。
在我们的示例中,您会遇到一个证书错误,通知您银行的网站没有适当的加密证书。这会提醒您银行网站的配置有问题,并且正在进行MITM攻击。
然而,许多人只需点击这个错误信息,就可以访问银行网站。你登录银行门户网站,寄一些钱,付一些账单,一切看起来都很好。
实际上,攻击者可能设置了一个仿造银行的假服务器和网站。当你连接到假银行服务器时,它会获取银行的网页,稍加修改,然后呈现给你。您正常地输入您的登录详细信息,这些详细信息被发送到中间人服务器。
MITM服务器仍然会将您登录到银行,并正常显示页面。但攻击者的中间人服务器已捕获您的登录凭据,可供攻击。
在此场景中,早期警告消息是加密证书错误,提示网站配置不正确。中间人服务器与您的银行没有相同的安全证书,尽管它可能有来自其他地方的安全证书。
中间人攻击类型
有几种不同类型的MITM攻击:
- Wi-Fi欺骗:攻击者可以创建与本地免费Wi-Fi选项同名的假Wi-Fi接入点。例如,在咖啡馆中,攻击者可能会模仿Wi-Fi名称或创建一个名为“Guest Wi-Fi”或类似名称的假选项。一旦您连接到恶意访问点,攻击者就可以监视您的在线活动。
- HTTPS欺骗:攻击者欺骗您的浏览器,使其相信您正在使用一个受信任的网站,从而将您的流量重定向到一个不安全的网站。当您输入凭据时,攻击者会将其窃取。
- SSL劫持:当您尝试连接到不安全的HTTP站点时,浏览器可以将您重定向到安全HTTPS选项。但是,攻击者可以劫持重定向过程,将指向其服务器的链接放在中间,窃取您的数据和您输入的任何凭据。
- DNS欺骗:域名系统帮助你在互联网上导航,把地址栏中的URL从人类可读的文本变成计算机可读的IP地址。然后,DNS欺骗会迫使您的浏览器在攻击者的控制下访问特定地址。
- 电子邮件劫持:如果攻击者能够访问受信任机构(如银行)的邮箱,甚至电子邮件服务器,他们就可以截获包含敏感信息的客户电子邮件,甚至开始以机构本身的身份发送电子邮件。
这些并不是唯一的MITM攻击。有许多变体结合了这些攻击的不同方面。
HTTPS能阻止中间人攻击吗?
上述场景发生在使用HTTPS(HTTP的安全版本)的银行网站上。因此,用户遇到一个提示加密证书不正确的屏幕。现在几乎每个网站都使用HTTPS,在地址栏中,除了URL外,还可以看到一个挂锁图标。
长期以来,只有提供敏感信息的网站才被建议使用HTTPS。规范现在已经改变,特别是自从谷歌宣布将使用HTTPS作为搜索引擎优化排名的信号。2014年,当首次宣布使用HTTPS时,全球排名前100万的网站中有1-2%使用HTTPS。到了2018年,这一数字已经膨胀,100万人中有超过50%的人实施了HTTPS。
在未加密的网站上使用标准HTTP连接,您不会收到我们示例中的警告。中间的那个人会毫无预兆地发动攻击。
那么,HTTPS能抵御MITM攻击吗?
MITM和SSLStrip
是的,HTTPS可以防止中间人攻击。但是,攻击者可以通过多种方式击败HTTPS,从而消除通过加密为您的连接提供的额外安全性。
SSLStrip是一种中间人攻击,它迫使浏览器保持HTTP模式,而不是在可用的情况下开始使用HTTPS。SSLStrip没有使用HTTPS,而是“剥离”了安全性,只剩下普通的旧HTTP。
你甚至可能没有注意到有什么不对劲。在googlechrome和其他浏览器在你的地址栏上安装了一个大的红十字会来通知你正在使用一个不安全的连接之前,SSLStrip声称有很多受害者。巨大的HTTPS挂锁的引入无疑使您更容易发现是否在使用HTTPS。
另一个安全升级也削弱了SSLStrip的功效:HTTP严格传输安全。
HTTP严格传输安全(HSTS)是为了防止中间人攻击,特别是SSLStrip等协议降级攻击而发展起来的。HSTS是一个特殊的功能,它允许web服务器强制所有用户只使用HTTPS与之交互。
这并不是说它可以一直工作,因为HSTS只在用户第一次访问之后配置。因此,有一个非常小的窗口,攻击者理论上可以在HSTS就位之前使用类似SSLStrip的MITM攻击。
还不止这些。SSLStrip的略微消亡让位于将许多MITM攻击类型组合到单个包中的其他现代工具。
MITM恶意软件
用户还必须与使用MITM攻击或中间人模块的恶意软件变种抗衡。例如,一些针对Android用户的恶意软件类型(如SpyEye和ZeuS)允许攻击者窃听智能手机的传入和传出通信。
一旦安装在Android设备上,攻击者就可以使用恶意软件拦截各种通信方式。特别感兴趣的是双因素认证码。攻击者可以在安全网站上请求双因素身份验证代码,然后在用户能够做出反应甚至理解发生了什么之前拦截它。
正如你所料,台式机也不排除威胁。为中间人攻击设计的恶意软件类型和攻击包很多。而这还没有提到联想在出货前在笔记本电脑上安装了支持SSLStrip的恶意软件。
如何防止中间人攻击?
中间人的攻击很难防御。攻击者有很多选择,这意味着防范MITM攻击是多管齐下的。
- 使用HTTPS:确保你访问的每个网站都使用HTTPS。我们已经讨论过SSLStrip和MITM恶意软件,但是确保HTTPS是最好的防御选择之一。为了获得额外的保护层,可以考虑下载并安装电子前沿基金会的HTTPS Everywhere浏览器扩展,这是谷歌Chrome最好的隐私扩展之一。
- 不要忽略警告:如果你的浏览器告诉你正在访问的网站有问题,相信它。安全证书警告可能是将凭据授予攻击者和保持安全之间的区别。
- 不要使用公共Wi-Fi:如果你能帮上忙,就不要使用公共Wi-Fi。有时,使用公共Wi-Fi是不可避免的。如果您必须使用公共Wi-Fi连接,则应下载并安装VPN,为您的连接添加一些安全性。此外,在使用公共Wi-Fi连接时,请注意浏览器安全警告。如果浏览器警告的数量突然增加,则可能表明存在MITM攻击或漏洞。
- 运行并更新防病毒软件:确保您的防病毒软件是最新的。
- 中间人攻击取决于你的通讯是否受到影响。如果你知道该期待什么,知道该寻找什么,你就有更大的机会避免MITM的攻击。反过来,您的数据将保持安全并牢牢掌握在您的手中。