安全专家发现ATM机NFC功能漏洞,仅用一台手机就可改变金额,甚至强制提现!
由于移动支付的诞生,大家现在出门很少带现金了,为了跟上“移动化”的潮流,银行的ATM机经过不断升级已经有了NFC、无卡取款甚至是刷脸取款。从诞生之初,ATM就一直被不法分子觊觎,毕竟ATM里面有大量现金,附近还无人值守,是一个天然吸引犯罪的地方。
一般来说,银行在考虑到ATM存在被抢风险的情况下,都会把ATM机建造的很坚固,但是依然有人选择“硬来”;当然,也有人选择智取。近期,一位安全公司的研究人员发现了现在ATM机中NFC功能的漏洞,利用这个漏洞,可以修改交易金额,甚至可以让ATM直接吐钱。
安全公司IOActive的研究员和顾问何塞普·罗德里格斯(Josep Rodriguez)去年开始一直在挖掘和报告所谓的NFC芯片的漏洞,这些芯片被用于全球数百万台ATM机。在ATM机上,NFC功能可以让你在ATM机上挥动银行卡,而不是刷卡或插入银行卡,从而进行支付或从提款机中取钱。
为此,罗德里格斯开发了一个Android应用程序,可以让他的智能手机模仿银行卡的NFC通信功能,并利用NFC系统固件中的缺陷入侵ATM机或者销售点终端。也就是说,仅仅利用一部智能手机,罗德里格斯就可以侵入ATM机或者销售点终端收集和传输银行卡数据,悄悄地改变交易数额,甚至锁定设备。
罗德里格斯说,他甚至可以强迫至少一个品牌的ATM机直接支付现金ーー由于与ATM供应商签订了保密协议,他拒绝详细说明或公开披露这些漏洞。
罗德里格斯担任顾问多年来一直在测试ATM机的安全性。他表示,一年前他开始探索ATM机的NFC是否可以成为黑客入侵的捷径。
NFC读卡器通常由支付技术公司ID tech销售,罗德里格斯从eBay上购买NFC阅读器和销售点设备,很快发现其中许多都有同样的安全缺陷——他们没有验证通过NFC从银行卡发送到读卡器的数据包(APDU)大小。
因此,罗德里格斯创建了一个定制的应用程序,通过他的支持NFC的Android手机向ATM机或销售点设备发送一个精心制作的APDU,这个程序比设备预期的要大几百倍,这样,罗德里格斯能够触发一个“缓冲区溢出”(buffer overflows),这是一种有几十年历史的软件漏洞,黑客可以利用该漏洞破坏目标设备的内存,并运行自己的代码。
罗德里格斯说,他在7个月至1年前通知了受影响的ATM机和销售点终端供应商,其中包括ID Tech、Ingenico、Verifone、Crane Payment Innovations、BBPOS、Nexgo,以及未透露姓名的ATM供应商。
即便如此,他警告称,受影响的系统数量之多,以及许多销售点终端和ATM机不会定期接收软件更新,而且在许多情况下需要物理访问才能进行更新,这意味着这些设备中的许多可能仍然容易受到攻击。罗德里格斯说:“给成千上万的自动取款机打补丁,这需要很多时间。”
为了展示这些挥之不去的漏洞,罗德里格斯与《连线》杂志分享了一段视频,视频中,他在自己居住的马德里街头的一台ATM机的NFC感应区上挥舞一部智能手机,并让这台机器显示一条错误信息。罗德里格斯要求《连线》杂志不要发布这段视频,因为担心承担法律责任。
他也没有提供劫机攻击的视频演示,因为他说,他只能在IOActive向受影响的ATM供应商提供安全咨询的机器上进行合法测试,IOActive已经与该供应商签署了保密协议。
安全公司SRLabs的创始人、著名的固件黑客卡斯滕·诺尔(Karsten Nohl)回顾了罗德里格斯的工作,他说,这些发现是“对嵌入式设备上运行的软件脆弱性的极好研究”。
但是诺尔也指出了这项发现的一些局限性,正是这些局限降低了它在现实世界中被不法分子利用的可能性。诺尔指出,被入侵的NFC读卡器只能窃取信用卡的磁条数据,而不能窃取受害者的个人识别码或EMV芯片中的数据。事实上,ATM提现还要求目标ATM的代码有一个额外的、明显的漏洞。
在保密了整整一年之后,罗德里格斯计划在未来几周的网络研讨会上分享漏洞的技术细节,部分原因是为了让受影响厂商的客户引起重视。他希望更广泛地呼吁人们关注嵌入式设备安全的糟糕状况,他发现,像缓冲溢出这样简单的漏洞存在于如此之多的常用设备中ーー这些设备正处理着人们敏感的财务信息。“这些漏洞已经存在多年,我们每天都在使用这些设备来处理我们的信用卡,我们的钱,”他说。“它们需要得到保护。”