安全警示
黑客可在数秒内破解数百万酒店房卡
漏洞与补救
安全研究人员发现了一种名为“Unsaflok”的酒店房卡破解技术,该技术可以利用 Saflok 品牌门锁中的安全漏洞,在几秒钟内打开全球数百万间酒店客房。该漏洞影响到由瑞士门锁制造商 Dormakaba 销售的基于 RFID 的 Saflok 型号门锁,全球范围内共有 131 个国家/地区的 13,000 家酒店的 300 万扇门安装了 Saflok 系统。
Dormakaba 自去年年初以来一直在努力让使用 Saflok 的酒店意识到其安全漏洞,并帮助他们修复或更换易受攻击的锁。对于过去八年内销售的大部分 Saflok 系统,无需单独更换每个锁的硬件。取而代之,酒店只需更新或更换前台管理系统,并由技术人员逐个房间对每个锁进行相对快速的重新编程。
然而,研究人员表示,截至本月,只有 36% 的已安装 Saflok 门锁进行了更新。考虑到这些锁未连接到互联网,一些老式锁仍需要硬件升级,因此他们表示,即使是最快的全面修复也可能还需要几个月的时间才能完成,一些老式设施可能需要数年才能修复。
Dormakaba 在一份声明中写道:“我们一直在与合作伙伴密切合作,以识别并立即缓解此漏洞,并提供长期解决方案。” 但拒绝详细说明缓解措施的具体内容。
攻击方法
Wouters 和 Carroll 研究小组发现的破解 Dormakaba 门锁的技术涉及两种不同的漏洞:一种允许他们写入其房卡,另一种允许他们知道要写入卡中的哪些数据才能成功欺骗 Saflok 门锁打开。
研究人员分析了 Saflok 房卡后发现,它们使用的是 MIFARE Classic RFID 系统,该系统已知十多年来存在漏洞,允许黑客写入房卡,但蛮力破解过程可能需要长达 20 秒的时间。然后,他们破解了 Dormakaba 自己加密系统的一部分,即所谓的密钥派生函数,使他们能够更快地写入其卡。利用这些技巧中的任何一种,研究人员都可以随意复制 Saflok 房卡,但仍然无法生成不同房间的房卡。
更关键的一步是,研究人员还需要获得 Dormakaba 分发给酒店的门锁编程设备之一,以及用于管理房卡的前台软件副本。通过逆向工程该软件,他们能够理解存储在卡上的所有数据,提取酒店物业代码以及每个房间的代码,然后创建他们自己的值并进行加密,就像 Dormakaba 的系统那样,使他们能够伪造一个万能主钥匙,可以打开酒店的任何房间。
Wouters 表示:“基本上可以制作看起来像是由 Dormakaba 软件创建的卡片。”
他们是如何获得 Dormakaba 的前台软件的呢? Wouters 说:“我们礼貌地询问了一些人。制造商认为没有人会在 eBay 上出售他们的设备,也不会有人复制他们的软件,我想每个人都知道这些假设并不真正成立。”
一旦完成所有逆向工程工作,他们最终的攻击版本只需要一台 300 美元的 Proxmark RFID 读写设备和几张空白 RFID 卡、一部安卓手机或 Flipper Zero 无线电黑客工具即可完成。
漏洞限制与风险规避
黑客的 Unsaflok 技术的最大限制在于,他们仍然需要拥有他们所针对房间所在同一酒店的某个房间的房卡(即使是过期的)。这是因为每张卡都有一个特定于物业的代码,他们需要读取该代码并将其复制到伪造的卡上,以及一个特定于房间的代码。
一旦拥有该物业代码,该技术还需要使用 RFID 读写设备写入两张卡——一张重新编程目标锁的卡,以及第二张用于解锁的伪造卡。(研究人员说,也可以使用安卓手机或 Flipper Zero 连续发射一个信号来代替两张卡。) 研究人员暗示第一张卡允许他们打开目标房间而无需猜测其在酒店系统中的唯一标识符,但拒绝确切说明第一张卡的作用。他们将该技术的这一元素保密,以免为潜在的入侵者或窃贼提供过于清晰的指示。
相比之下,一位安全研究人员在 2012 年的黑帽大会上展示了一种类似的酒店房卡破解技术,可以打开由 Onity 公司销售的门锁,无需任何混淆,并且可以让任何黑客制造一个可以打开 Onity 全球 1000 万把锁的设备。当 Onity 拒绝支付解决问题所需的硬件升级费用,而是将责任推卸给其客户时,许多酒店的问题仍然没有解决,最终被至少一名黑客利用进行了一次跨国盗窃狂欢。
Carroll 和 Wouters 表示,他们正在采取更谨慎的态度来避免这种情况发生,同时仍然向公众警告他们的技术,因为即使现在 Dormakaba 已经提供了修复程序,数百家酒店仍然可能会受到攻击。
Carroll 说:“我们正在努力找到帮助 Dormakaba 快速修复问题,同时也告诉客人问题的中间地带。” “如果今天有人逆向工程了这个技术,并在人们意识到之前开始利用它,那可能会是一个更大的问题。”
为此,Carroll 和 Wouters 指出,酒店客人可以通过其独特的设计(一个带有波浪线的圆形 RFID 读卡器)来识别易受攻击的门锁,但并非总是如此。他们建议,如果酒店客人的门上确实有 Saflok,他们可以使用 NXP 的 NFC Taginfo 应用程序(适用于 iOS 或 Android)检查他们的房卡是否已更新。如果锁是由 Dormakaba 制造的,并且该应用程序显示房卡仍然是 MIFARE Classic 卡,则很可能仍然存在漏洞。
如果是这种情况,两位研究人员说,除了不要将贵重物品留在房间内,并在房间内时栓上门链之外,没有太多可以做的事情。他们警告说,房间的保险栓也由房卡锁控制,因此它不能提供额外的保障。
Carroll 说:“即使有人锁上了保险栓,他们仍然没有得到保护。”
即使没有完美或完全实施的修复程序,Wouters 和 Carroll 认为,酒店客人了解风险总比拥有虚假的安全感要好。毕竟,他们指出,Saflok 品牌已经销售了三十多年,并且可能在这些年中的大部分或全部时间里都存在漏洞。尽管 Dormakaba 表示他们不知道过去使用过 Wouters 和 Carroll 的技术,但研究人员指出这并不意味着它从未在秘密中发生过。
Wouters 说:“我们认为这个漏洞已经存在了很长时间。” “我们不可能是第一个发现这个漏洞的人。”