笔者这期推文,想和大家聊一聊一个比较老的技术,也曾风靡一时,让公共WIFI与危险画上了等号。—— 那就是ARP欺骗的中间人攻击技术。
ARP 欺骗技术已经有几十年的历史了,不少人可能觉得它已经过时了。但笔者最近在重温这项技术的过程中发现情况并没有想象中那么的简单。有的场景中这类攻击方式仍然屡试不爽,而在有的场景中,单纯的使用这类攻击方法已经显得力不从心了。
所以这篇文章,笔者想要讲的,不仅仅是这项技术的原理,而更想向大家分享的是,在几十年后的今天,2026年,我们还需要担心 ARP 欺骗吗?作为一个普通人,我们能够放心地连接公共场所的 Wi-Fi 热点吗?
01 攻击场景
我们可以想象这样一个场景:
你来到一家餐馆,拿出手机,正好发现这个月的流量已经用完了,于是你向服务员要来了餐馆 Wi-Fi 的密码,连接了上去。
吃的正起兴时,老板一个电话打过来,让你登录公司的系统完成数据更新。
你想都没想,掏出手机输入网址,填入系统账号密码,点击登录,一切如初。但是这次点击登录后,系统弹出提示框,显示当前系统正在维护中。你没有在意,以为是一次常规的例行维护,于是关掉手机继续享受大餐了。
三天后,你的公司账号被人登录,数据已经悄悄被下了个遍,最终造成了公司的重大损失。
02 技术还原
所谓"中间人",就是攻击者将自己插入到受害设备与路由器之间,导致受害设备上的每一个数据包都优先经过了攻击者的设备,再被转发出去,从而造成隐蔽的信息泄露问题。
而实现这一步的关键技术就叫做 ARP 欺骗。局域网内的设备依靠 ARP 协议来找到彼此的物理地址,也就是MAC地址,如图 1-1 所示:
但这个协议从设计之初就没有任何的身份验证机制,这就导致了任何人都可以发送伪造的 ARP 包,告诉受害设备"我就是路由器"。受害设备收到后信以为真,将所有流量发送至攻击者设备,攻击者经过处理后,再转发至真实的路由器,如图 1-2 所示:
受害者使用设备时不会有任何异常,但流量就这样被劫持了。攻击者可在中间实现对所有数据包的拦截与过滤。如果受害设备的通信未加密,则用户在网页填写的表单等数据均会以明文形式流过攻击者设备。这时攻击者即可对数据进行窃取。
在实际案例中,攻击者可通过伪造银行登录页面,先通过 ARP 欺骗使受害设备流量经过攻击者笔记本电脑,而攻击者仅对特定的域名进行 DNS 劫持,将其重定向至伪造的银行登录页面(需要注意的是,在真实的攻击场景下,伪造的页面与真实页面几乎无异,因此难以被用户察觉)。用户未仔细检查该页面即填入账号密码与验证码等敏感信息并提交。攻击者随即收到用户提交的数据,而伪造的页面随即弹出相应提示,误导用户认为网站正在维护,从而实现完整的攻击链条。
03 再看 “中间人”
既然 ARP 中间人攻击技术已经诞生了几十年, 自然也已经有了多种成熟的防御手段 。 现代商业热点普遍启用了客户端隔离与身份验证机制,该种防御机制使得同一热点的设备之间无法互相访问, 扫不到其他设备, ARP 包自然难以有效到达目标设备。 在此基础上,企业和校园网络还会 在 交换机层面部署 Dynamic ARP Inspection(DAI),通 过维护一张 IP 与 MAC 地址的绑定表,来自动校验每一个 ARP 包的真实性,当检测到伪造的包时直接丢弃即可。
但是我们必须承认的是,当前环境下,用户家庭 Wi-Fi 以及部分酒店或者小型场所的 Wi-Fi,受限于成本等因素,大多可能只是用了一台家用路由器作为公共 Wi-Fi,因此上述的这些防护机制并不存在于这类场景中。这也就是为什么,在这些场景中,中间人攻击技术仍然可行。但在具备客户端隔离、动态检测及全面加密通信的网络环境中,其攻击价值已经大幅下降。
当然,还有一种场景,即使使用了 HTTPS,攻击者仍然可以通过伪造网站页面来获取用户输入的数据。但要注意的是,这类攻击通常并不是直接去替换掉原有的 HTTPS 页面,而是通过 DNS 劫持、钓鱼域名这类方式,将用户引导至攻击者控制的站点。
04 Evil Twin 技术
但是,即使客户端隔离解决了 ARP 欺骗攻击,但是却难以防住 Evil Twin 攻击。笔者在去年年初,参加澳门的一个网络安全大会时,就有一个议题专门来讲这种攻击技术。
Evil Twin(邪恶双胞胎)技术,听名字就颇有意思。
其核心思想在于攻击者压根就不需要接入指定的公共 Wi-Fi ,而是通过直接创建一个信号强度更高、名称一致或至少难以察觉区别的 Wi-Fi 热点,以此来欺骗受害设备自动连接至该热点。
例如 攻击者在星巴克附近开一个同名热点"Starbucks",由于攻击者的热点信号更强,且受害设备曾连接过名为 "Starbucks"的真实热点并设置了自动连接。这时候受害设备会根据信号强度,自动连接上攻击者伪造的虚拟 "Starbucks"热点。这时候攻击者天然就成为了中间人,且不受任何传统ARP与内网隔离等防御技术的影响,最终达成热点欺骗的中间人攻击效果。如图 1-3 所示:
这类问题产生的原因也在 于 Wi-Fi 标准里 SSID(也就是我们熟知的网络名称),其根本没有唯一性保护,也不可能有唯一性保护(否则的话就和域名一样了,设想一下,每个人想要设置自己的 Wi-Fi 名时,需要向注册机构注册该名称,而且还有可能已经被占用。这显然是不现实的),任何人都可以创建一个和现有网络同名的热点。这种机制的存 在,就催生出了我们所说的 Evil Twin 攻击技术。
那么目前是否有技术能够对该场景实现较好的防御呢?其实从协议层面来看:
一是 WPA3 引入了 Management Frame Protection(MFP),对管理帧进行加密验证,伪造热点更难欺骗客户端。但目前普及率还很低,很多老旧设备都不支持,公共场所更新换代慢。
二是 802.11w 标准同样提供了管理帧保护,是 WPA3 的基础,2018 年之后的设备基本都支持,但这个需要路由器和客户端同时开启才有效。
另外,不少的路由器厂商也都推出了 ARP 防护等功能。但需要明白的是,以上的方案仅能增加攻击者攻击成本,而对于 Evil Twin 攻击仍然作用有限,要么就是普及率不高,真实场景中设备更新换代慢,这些现实问题的出现,导致了 Evil Twin 攻击影响范围仍然不小 。
05 日常防范
在文章的最后,我想我们可以重新回答开头的那个问题了——“时隔多年,公共 Wi-Fi 还安全吗?”
我想,即使经过了几十年的发展,答案仍然不是肯定的。
我们依然要分情况来讨论。不过,现代商业场所的 Wi-Fi 在基础设施层面已经有了相当完善的防护,单纯的 ARP 欺骗,在这类场所中确实很难奏效了。
但就像我们后来提到的, Evil Twin 这类攻击门槛极低,而且目前还没有完美的技术解法。因此,风险依然存在。
那么如果我们以一个普通人的身份来看,做到以下几个习惯就能覆盖使用公共 Wi-Fi 热点当中所产生的绝大多数风险:
连接前核实网络名称 不要依赖于手机的自动连接,连接陌生 Wi-Fi 前,先向工作人员确认正确的名称,尤其是在机场、酒店等高风险场所。
关闭 Wi-Fi 的自动加入功能 在手机设置里对公共场所的 Wi-Fi 关闭"自动加入"功能,仅保留必要的家庭 Wi-Fi 的自动加入,其他公共 Wi-Fi 用完即忘。这一步能从根本上切断 Evil Twin 攻击的前提条件。
任何公共网络下不操作敏感账户 无论连接的公共网络有多么安全,也不应该在该种公共网络环境中操作任何的网银、支付或公司后台等敏感系统,如实在需要使用,也应断开 Wi-Fi 连接,直接使用手机的移动网络访问。
留意浏览器提示
当访问常用且知名的网页,但浏览器却提示"连接不安全"时,需要提高警惕,有相当大的可能,这是一个伪造的页面。
重要账户开启双因素认证 这一方案不仅仅针对于公共 Wi-Fi 攻击,在所有攻击场景中,开启账户的双因素认证都很大程度上增加攻击者发起攻击的难度。这时候,即使密码被截获,攻击者仍然需要用户设备上的动态验证码才能完成登录或转账等敏感操作。
养成上面5个简单的习惯,就已经比大多数没有任何防范的人要安全得多了。
这篇推文也接近尾声了。最后的最后,笔者相信,随着网络安全技术的发展,本文中的问题最终均会得到很好的解决。
技术在不断地演进,但攻击者从未消失。对普通人而言,真正长期有效的,往往不是某一项技术,而是那些看似简单却能养成习惯的安全意识。
所以,作为普通人,在平日里多了解一些网络安全常识也是不可或缺的一部分。
最后欢迎大家关注,后续还有很多好康的哦!若各位有任何的反馈与建议,也欢迎反馈至邮箱 llmsecbook@163.com。