NFC漏洞使ATM机和POS机面临严重威胁
2021-07-10
来源:网空闲话
网络安全公司IOActive的安全顾问罗德里格斯(Josep Rodriguez)对近场通信(NFC)缺陷的研究取得了重要进展,对ATM和POS的NFC读取芯片进行的测试表明,NFC的漏洞可以被利用并对ATM机和POS终端造成危害。他所需要的只是一台带有NFC的智能手机和一个自己设计的Android应用程序。据《连线》网站报道,研究人员的实验包括创建一个可以模仿无线电传输的应用程序。这样系统中的NFC漏洞就可以被利用。他甚至在一段视频中与《连线》杂志分享了它的工作方式,由于GDPR的原因,这段视频没有公开。
多年来,安全研究人员和网络犯罪分子通过所有可能的途径侵入ATM机内部,从打开前面板,将U盘插入USB端口,到钻一个暴露内部线路的洞。现在,一名研究人员发现了一系列漏洞,这些漏洞可以让他以一种新的方式入侵ATM机——以及各种各样的POS终端:用他的手机在一个非接触式信用卡读卡器上一扫即可。
NFC被称为近场通信(Near Field Communication),是一种允许兼容设备进行通信的无线技术。NFC有被动的和主动的两种,第一种不能通信和响应,只是发送数据。主动NFC设备的例子是智能手机。基于射频识别技术,NFC允许用户在读卡器上挥动信用卡,而不是实际插入。人们可以通过NFC系统从自动取款机上取款或向POS支付。
IOActive安全公司研究员兼顾问何塞·罗德里格斯(Josep Rodriguez)去年花了大量时间,挖掘并报告近场通信读取器芯片的漏洞。全球数百万台ATM机和POS系统都使用了这种芯片。NFC系统让你在读卡器上刷卡,而不是刷物理卡或插入,来进行支付或从取款机中取钱。你可以在全球无数的零售商店、餐馆柜台、自动贩卖机、出租车和停车计时器上找到它们。
现在,罗德里格斯开发了一个Android应用程序,可以让他的智能手机模仿这些信用卡无线通信,并利用NFC系统固件中的缺陷。只要一挥他的手机,他就可以利用各种漏洞使POS设备崩溃,破解它们来收集和传输信用卡数据,隐秘地改变交易的价值,甚至在显示勒索软件信息时锁定设备。罗德里格斯说,他甚至可以强迫至少一个品牌的ATM机发放现金——尽管黑客只有与他在ATM机软件中发现的其他漏洞结合起来才能工作。由于与ATM供应商签订了保密协议,他拒绝公开说明或披露这些缺陷。
“例如,你可以修改固件,将价格改为1美元,即使屏幕显示你要支付50美元。你可以让设备失效,或者安装一种勒索软件。这里有很多的可能性,”罗德里格斯谈到他发现的POS攻击时说。“如果你将攻击链连起来,并向ATM机的电脑发送一个特殊的有效载荷,你就可以像自动取款机一样,轻轻敲击你的手机就能获得大量现金。”
罗德里格兹说,他已经提醒了受影响的供应商,包括ID Tech、Ingenico、Verifone、Crane Payment Innovations、BBPOS、Nexgo和未具名的ATM供应商。即便如此,他警告说,受影响的系统数量之多,以及许多POS终端和自动取款机不定期接收软件更新的事实——而且在很多情况下需要通过物理途径获取更新——意味着许多这类设备仍然容易受到攻击。罗德里格斯说:“对成千上万的自动取款机进行物理修复,这将需要很多时间。”
为了证明这些持续存在的漏洞,罗德里格斯与《连线》杂志分享了一段视频。在视频中,他在自己居住的马德里街道上,用智能手机在ATM机的NFC读卡器上挥手,导致ATM机显示错误信息。NFC读卡器似乎崩溃了,当他再次触碰信用卡时,就不再读取信用卡了。(罗德里格斯要求《连线》杂志不要发布这段视频,以免承担法律责任。他也没有提供一段关于攻击的视频演示,因为他说,他只能在IOActive向受影响的ATM供应商提供安全咨询时获得的机器上进行合法测试,IOActive已经与该供应商签署了保密协议。)
安全公司SRLabs的创始人、著名固件黑客卡斯滕诺尔(Karsten Nohl)评论了罗德里格斯的研究,他说,这些发现是“对嵌入式设备上运行的软件漏洞的出色研究”。但诺尔指出了一些缺点,这些缺点降低了它对现实世界盗贼的实用性。被黑的NFC读卡器只能窃取磁条信用卡数据,而不能窃取受害者的个人密码或EMV芯片上的数据。诺尔说,事实上,ATM的提现技巧要求目标ATM的代码有一个额外的、明显的漏洞,这不是一个小警告。
但安全研究人员,比如最近IOActive的黑客巴纳比·杰克和红气球安全公司的团队,多年来已经发现了这些ATM的漏洞,甚至还发现黑客可以远程触发ATM中大奖。红气球首席执行官兼首席科学家Ang Cui表示,他对罗德里格斯的发现印象深刻,并且毫无疑问,尽管IOActve没有透露一些攻击的细节,但入侵NFC读卡器可能会导致许多现代自动取款机吐现金。“我认为一旦你在这些设备上执行了代码,你应该能够直接进入主控制器,这是非常合理的,因为这个东西充满了漏洞,十多年来都没有被修复,”崔说。“从那时起,”他补充说,“你就可以完全控制卡式贩卖机了”,这种贩卖机可以存放并向用户发放现金。
作为一名顾问,罗德里格斯多年来一直在测试自动取款机的安全性。他说,他从一年前就开始研究自动取款机的非接触式读卡器(最常见的是由支付技术公司ID tech销售的)是否可以作为入侵自动取款机的途径。他开始从eBay购买NFC读卡器和POS设备,并很快发现许多设备遭受相同的安全缺陷:他们没有验证数据包的大小,当数据通过NFC由信用卡到读卡器时,被称为应用程序协议数据单元或APDU。
通过使用自定义应用程序,从他的支持NFC的Android手机发送精心制作的APDU,该APDU比读卡器预期的大数百倍,Rodriguez 能够触发“缓冲区溢出”,这是一种已有数十年历史的软件漏洞,允许黑客破坏目标设备的内存并运行他们自己的代码。
当 WIRED 联系受影响的公司时,ID Tech、BBPOS 和 Nexgo 没有回应置评请求,ATM 行业协会拒绝置评。Ingenico 在一份声明中回应说,由于其安全缓解措施,Rodriguez 的缓冲区溢出技术只能使其设备崩溃,而不能在它们上执行代码,但“考虑到对我们客户的不便和影响”,它无论如何都需要发布了修复程序。(罗德里格斯反驳说,他怀疑Ingenico的缓解措施实际上会阻止代码执行,但他实际上并没有创建概念证明来证明这一点。)
Verifone表示,该公司发现并修复了罗德里格斯在2018年强调的POS漏洞,当时罗德里格斯还没有报告这些漏洞。但罗德里格斯认为,这只是表明该公司的设备缺乏一致的补丁;他说,他去年在一家餐厅的Verifone设备上测试了他的近距离通信技术,发现它仍然脆弱。
罗德里格斯将他的许多发现保密了整整一年,他计划在未来几周的网络研讨会上分享这些漏洞的技术细节,部分原因是为了推动受影响供应商的客户实施这些公司提供的补丁。但他也希望更广泛地关注嵌入式设备安全的糟糕状态。他震惊地发现,像缓冲区溢出这样简单的漏洞一直存在于如此多的常用设备中——处理现金和敏感财务信息的设备更是如此。
“这些漏洞多年来一直存在于固件中,我们每天都在使用这些设备来处理我们的信用卡和我们的钱,”他说。“它们需要得到保护。”