Boffins 展示了 PIN 绕过攻击万事达卡和 Maestro 非接触式支付
瑞士苏黎世联邦理工学院的一组研究人员发现了一个漏洞,使他们能够绕过 Mastercard 和 Maestro 非接触式卡上的 PIN 码。
从技术上讲,研究人员在被盗卡和商家的销售点 (PoS) 终端之间执行了中间人 (MitM) 攻击。
在真实的攻击场景中,骗子可以使用受害者的非接触式卡在不知道卡的 PIN 码的情况下进行昂贵的购买。
“具体来说,攻击者欺骗终端相信正在使用的卡是 Visa 卡,然后应用我们最近在 Visa 上报告的 PIN 绕过攻击。” 陈述研究人员。“我们已经构建了一个 Android 应用程序并成功地使用它对万事达卡借记卡和信用卡交易进行了这种攻击,包括使用 Maestro 借记卡进行的超过 400 美元的交易。最后,我们扩展了 EMV 非接触式协议的正式模型,以对发现的问题进行机器检查修复。”
该攻击是使用两部 Android 智能手机(支持 NFC 并运行 Android 4.4 KitKat 或更高版本)实施的,这些智能手机通过使用 TCP/IP 服务器客户端通过 WiFi 通信构建的中继通道连接。一部手机以 POS 模拟器模式运行应用程序,另一部手机以 Card Emulator 模式运行研究人员开发的应用程序。在 Card Emulator 模式下运行的设备必须支持 Android 的基于主机的卡模拟,以便手机可以启动我们的应用程序实现的 NFC 支付服务。中间人功能在 POS 模拟器设备上运行,而卡模拟器则充当中继通道的代理。
攻击场景很简单,攻击者将 PoS 模拟器设备放置在卡片附近,以诱使卡片发起交易并捕获交易细节,而骗子使用卡片模拟器将修改后的交易细节提供给现实生活中的 PoS商店内的终端。
为我们的概念验证实现设置测试环境,显示以下设备:(1) SumUp Plus 读卡器,(2) 运行 SumUp 应用程序并通过蓝牙连接到 SumUp 读卡器的手机,(3) 运行我们的 Android 手机卡模拟器模式下的应用程序,(4)在 POS 模拟器模式下运行我们的应用程序的 Android 手机,以及(5)非接触式卡。请注意,设备 (2) 不是攻击者设备的一部分,因为在实际商店中,此设备和 (1) 将是支付终端。在这种情况下,设备 (3) 和 (4) 将是攻击者的设备,而 (5) 将是受害者的卡。
同一个研究小组去年设计了一种方法来绕过 Visa 非接触式支付中的 PIN,并将这种技术用作这次新攻击的一部分,它被用来 欺骗终端相信正在使用的卡是 Visa 而不是 Maestro。
研究人员成功测试了针对 Visa Credit、Visa Debit、Visa Electron 和 V Pay 卡的攻击,完成的交易金额超过了瑞士银行的 PIN 要求限制。
以下是研究人员准备的一张幻灯片,用于展示 PIN 绕过攻击:
商店的 PoS 运营商无法检测到攻击,从他的角度来看,客户正在使用他的移动支付应用程序付款。实际上,骗子正在使用从被盗卡中获得的修改后的交易细节。
与针对 VISA 卡的攻击不同,新的 PIN 绕过攻击使 PoS 终端认为传入交易来自 Visa 卡而不是 Mastercard/Maestro,研究人员将卡的合法应用程序标识符 (AID) 修改为 Visa 的 AID:A0000000031010 到达到这个结果。
然后专家使用 2020 Visa 攻击在没有提供 PIN 的情况下进行付款。
研究人员使用万事达信用卡和 Maestro 卡成功测试了这种攻击,但未能在 Discover 和银联交易中执行使用万事达卡支付的攻击,因为这两个内核与 Visa 内核相似。
好的结局是万事达卡已经在今年年初解决了这个问题,但 Visa 尚未修复 PIN 绕过错误。
