【理论探讨】针对ATM吐钞攻击的分析与研究

-回复 -浏览
楼主 2018-07-15 10:39:31
举报 只看此人 收藏本贴 楼主

《金卡生活》杂志

中国银联 主管主办

理论研究 实务探讨

长按二维码关注我们


Weston Hecker在2016 年BlackHat大会上演示的使用名叫“La-Cara”的攻击装置针对ATM的攻击,在现实中是近乎不可能部署和实现的,而且即使真正发生了,仍然有很多安全机制可以避免EMV持卡人的损失。用户可以放心地使用EMV芯片卡,并不用担心此类攻击发生在自己身上。但是,ATM机也并不是绝对安全的,通过世界各地曝出的安全事件可以看到,一些物理入侵和网络、系统入侵的攻击也可以给ATM机的安全带来威胁,造成金钱损失。

事件描述

在2016年8月份的US-BlackHat(美国黑帽)大会上,安全公司Rapid7的高级安全顾问Weston Hecker展示了一项针对ATM进行攻击的最新研究成果。他使用一个名叫“La-Cara”的攻击装置,针对EMV芯片卡在ATM上的交易进行攻击,并在短时间内,使另外一台ATM机成功吐出了5万美元的现金。


WestonHecker的演示在信息安全界以及银行卡产业产生了很大的反响,也对平时人们比较放心的ATM机的安全性提出了疑问。但是现实中的ATM机是否真如演示一般不堪一击?在生活中使用银行卡在ATM机上取款时,是否会被黑客盗取卡上的现金?

原理分析

从原理上对WestonHecker的攻击演示进行分析。首先,要介绍完整的攻击流程。其次,针对攻击过程,提出几个攻击的关键问题。最后,详细介绍攻击者的整个研究过程,并将攻击原理解释清楚。


攻击过程。在攻击演示中,来自Rapid7的高级安全顾问Weston Hecker用到了一个叫做“La-Cara” 的攻击装置,它是完成ATM攻击的核心模块。“La-Cara”的功能是在ATM上完成中间人攻击,它的功能主要是截取用户在ATM机上操作EMV芯片卡时的真实数据,并且负责数据的传输,完整的攻击流程如图1所示。


第一步,攻击者将叫做“La-Cara”的攻击装置安装在ATM机的读卡器上。第二步,“受害用户”把EMV芯片卡插进ATM机,并输入芯片卡密码,完成正常的取款动作。第三步,嵌入在ATM机读卡器中的攻击装置“La-Cara”,在用户的操作过程中截获交易数据,包括卡号、持卡人姓名、芯片密码和PIN密码,并且将截获的数据实时传输给攻击者。第四步,攻击者利用智能设备收取“La-Cara”传回的交易数据。第五步,攻击者在很短的时间内,仿造出一个受害者的信用卡并插入ATM来进行取钱。


研究过程。为了更深入地了解攻击的完整原理,我们结合WestonHecker的现场演示和论文,对他的研究过程进行了详细分析。


一是完整研究阶段。研究者将整个研究阶段大体分为四个阶段,如图2所示,分别是搭建实时数据传输系统阶段、研究EMV协议和标准阶段、购买ATM做测试阶段、获取EMV卡读取开源软件阶段。


首先,搭建实时数据传输系统。EMV芯片卡为了防止卡片信息被盗和交易伪造,已经替换掉了传统的静态卡方案。在交易中,根据不同的交易设备和场景采取三种不同的验证方式:SDA(Static Data Authentication,静态数据验证)、DDA(Dynamic Data Authentication,动态数据验证)、CDA(Combined Data Authentication,组合数据验证)。为了对抗这些验证方式,研究者需要搭建实时的数据传输系统,可以在动态交易码变化之前,完成交易的仿造。其次,研究EMV协议和标准。研究者详细研究了EMV协议标准,并且借鉴了很多对于EMV卡信息的开源项目。再次,购买ATM进行测试。研究者选择购买了价格便宜、市场上大量使用的ATM型号,并将ATM根据EMV-readykit升级包进行了升级,使得这款ATM机近似于市场上的真实ATM。他们之间的唯一区别就是它缺少一个银行关于完成交易的签名。最后,获取EMV卡读取的开源软件。研究者改造了网络上开源的EMV卡读取软件,将软件数据的传输距离从近距离变为远距离。



二是搭建实时传输系统。根据研究过程可知,搭建实时传输系统是研究的关键点。研究者需要按照EMV卡交易的底层协议,对交易的数据进行针对性地截取,传输和重放。


在真实的用户交易中,交易信息的流动方向如图3所示,从卡/设备传输到POS/ATM终端,再到收单机构,最后到发卡银行。在此次研究中,攻击者首先在交易数据流动的第二站,即ATM终端处,进行了数据的截取。然后,研究者根据EMV协议对于交易的要求和验证,构建了数据的实时传输系统。验证主要包括:持卡人进行交易时会由银行或者ATM设定交易的时间限制、数据实时传输之前先建立安全通道、数据通过DMVPN传输给付款ATM、编码信息通过支付链提供,其他交易细节通过初始化通道传输、持卡人核对账户需要两个密码分别建立VPN通道和对设备进行签名、交易信息在终端处被拦截和篡改等。


三是提现端的实现。通过嵌入在ATM的交易信息获取装置“La-Cara”以及交易数据的实时传输系统,攻击者可以实现对交易数据的远程获取。但是由于EMV芯片卡对于交易的动态验证,攻击者必须在极短的时间,一般是1分钟内,对交易数据进行处理和重放,否则超过这个时间点,交易动态码变更,攻击者获取的交易数据也就不再有效。


所以在提现端,攻击者用到了如图4中的设备。图4红圈中的芯片卡和电路板焊接在一起的设备即是提款时伪造的银行卡。它可以使攻击者在获取到交易数据的极短时间内,将数据写到电路板上,立即仿造出一张用户的芯片卡,并利用截获的交易数据完成取款的动作。


安全性分析

在前文中,对WestonHecker的攻击过程和原理进行了深入的分析,然而这样的攻击是否可以在现实中实现仍然是个疑问,下文将对ATM攻击中的关键点进行介绍,并分析攻击实现的可能性。


攻击可行性。根据对攻击过程和原理以及攻击设备的分析,可以观察到,在完整的攻击流程中,有三个关键的步骤,分别为:卡片交易信息的读取、交易数据的实时传送以及取现端卡片的实时伪造。然而在获取、传输和使用交易数据时,为了对抗EMV卡在交易中的动态交易码、抗重放、抗抵赖等安全机制,研究者创造了如下攻击环境。第一,在ATM中的读卡器上嵌入了“E”攻击装置。第二,使用未联网的ATM机进行交易截取,保证数据不会在盗取使用前上送,从而不会触发后台的抗重放机制。第三,搭建了实时传输系统,它可以在EMV交易码1分钟的存活周期下完成数据传输。第四,特制的银行卡仿造器,可以在获取交易数据的第一时间根据交易数据仿造出一张银行卡,并完成交易。


上述四条是该攻击能够成功完成的前提条件,缺一不可。但是,在现实生活中,要同时满足上述条件是不可能的。


首先,市场上的ATM都有物理入侵的安全机制。当攻击者尝试对ATM机内部读卡器进行攻击装置的安装时,ATM会触发异常,并停止工作。同理而言,攻击者若想使用演示中所示的电子仿造银行卡在现实中的ATM机上使用,同样面临着ATM机的物理入侵安全机制。在正常情况下,一张附带电路板的银行卡是无法插入ATM读卡口的。


其次,攻击所需的可以正常获取交易数据但不会向后台上传交易数据的ATM机,在现实中很难实现。因为银行的交易后台会存在抗重放的机制,若利用正常工作的ATM机进行交易数据的截取,当攻击者收到数据并仿造银行卡进行交易的时候,由于银行已经验证了合法用户的交易,所以会根据抗重放机制拒绝交易。演示中攻击者使用了自己购买的ATM机。若想将此场景应用在现实中难度依然很大,第一,ATM在国内是不允许个人随意买卖的,只有合法金融机构可以进行交易,而且交易会有备案;第二,即使用户拿到自己买到的ATM,如何引诱用户在其机器上完成交易也是个难题。


再次,由于EMV动态交易码的现行有效期为1分钟。所以攻击者若想根据交易数据重放交易,那么他就需要在一分钟内完成交易数据的截取、数据的传输、银行卡的仿造以及最后的取款动作。然而在一分钟内,完成数据从生成到被截取,从被截取到通过网络成功传输到攻击者的设备,以及攻击者从设备上将数据成功写入电子卡固件,并完成正常的取款行为,在当前的状况下,这几乎是不可能的。


EMVCo声明。EMVCo是负责制定与维护国际支付芯片卡标准规范的专业组织,管理和规范EMV标准的实施,其现有成员包括万事达、Visa、JCB、美国运通和中国银联。



在获悉Black-Hat上的此次针对EMV卡和ATM机的攻击之后,EMVCo在第一时间进行了内部的分析和论证。经过EMVCo内各成员组织安全相关负责人的仔细研究和分析之后,EMVCo对外发出声明,声明该攻击在现实中无法重现。EMV卡片用户不需要担心这种攻击发生在自己身上。


声明原文如下:


译文如下:“针对‘HackingNext Gen ATMs From Capture To Cashout’主题中的演示,EMVCo的观点如下:这种攻击在现实中的实现是极其困难的,文中提到的攻击设施若要在真实世界中部署是不现实的。即使这种攻击真的发生了,在完整的交易流程中,有很多机制可以抵抗这种攻击的最终完成。”

相关案例及建议

通过以上分析可得,WestonHecker在Black-Hat大会上演示的攻击是近乎不可能完成的,但是ATM也并不是绝对安全的。下文将介绍几起针对ATM的真实发生的攻击事件,并将就此给出建议。


一是2010 年Black Hat 上的“jackpotting”。早在2010年7月的Black Hat大会上,当时任职于IOActive的安全研究员Barnaby Jack展示了他对ATM系统和程序的多年研究成果,现场成功演示了入侵安装有两种不同系统的ATM取款机并当场让ATM取款机吐出现金,他称之为“jackpotting”。


针对ATM机的“jackpotting”分为两种情况,一种需要物理入侵ATM,具体而言就是攻击者需要在ATM机插入安装有恶意程序的U盘,将恶意软件感染给ATM机并通过其控制ATM机网络,并成功操作ATM机器吐出现金;另外一种则不需要物理接触ATM机,在远程即可完成操作。具体方式是攻击者利用了ATM机网络的远程管理漏洞,例如弱口令、开放危险端口等安全问题,对控制主机进行远程入侵,安装恶意软件,最终实现控制ATM机并让其吐出钞票的操作。


二是台湾第一银行ATM机“自动吐钱”事件。2016年7月,我国台湾省的台湾第一银行旗下的ATM机遭到黑客攻击,两名面带口罩的俄罗斯犯罪嫌疑人攻击了台湾第一银行20多家分行的41台ATM机,并成功取出八千多万新台币。监控画面显示,这两名黑客并没有使用传统意义上的ATM机攻击工具——ATM skimmers(ATM分离器)来窃取银行卡数据,而是直接通过入侵ATM机网络,并控制ATM机吐出钞票。


新北市调处安全人员通过调查发现,这两名黑客通过台湾第一银行的英国伦敦分行网络侵入台湾总行的网络。2016年7月4日,入侵者制作伪造的ATM机更新软件并下发至第一银行各ATM,ATM进行系统更新后便被恶意软件开启了远程控制服务(Telnet Service)。7月9日入侵者再次登录系统,上传ATM操控程序,于是成功开始大规模远程遥控进行吐钞。


三是ATM Skimmer事件。ATM Skimmer的含义即通过伪造ATM的一些部件,比如读卡器或者键盘,欺骗取款者,从而把读取到的密码或者磁卡信息发送到犯罪者手中。在芯片卡还尚未普及的时候,此类攻击事件在报纸上屡见不鲜。例如,攻击者在ATM机插卡口内装上磁条卡侧录器,当用户使用磁条卡进行取款操作时,磁条的信息便会被黑客完整获取。此外,在ATM机密码输入栏中安装微型摄像头,或者在密码键盘的表面黏贴一层隐形按键记录仪来窃取用户密码的事件也经常发生。


2013年11月23日,在巴西的Curitiba,犯罪分子实现了一种更为复杂的ATM Skimmer攻击。他完全仿造了一个ATM机取款系统,当受害者把银行卡插进ATM,会提示输入密码并出现欢迎信息,按照流程进行取款操作之后却会提示操作失败。经过警方对该ATM机的拆分研究发现,攻击者不但仿造了ATM取款系统,还安装了GSM(全球移动通信系统)模块,通过短信将用户的账号、密码等信息发送出去。


意见和建议。根据前文介绍以及结合案例分析,可以将针对ATM机的攻击行为大致分为两类,第一类是通过针对ATM机的物理入侵,实现对用户银行卡交易数据的窃取,如卡号、密码等,并以此来完成交易的仿造。第二类是通过系统和网络的入侵,从ATM网络和系统层面进行恶意软件的植入,从而实现对ATM机的控制,完成现金的吐钞动作。针对这两大类威胁,我们给出如下建议:第一,加强对于ATM机物理入侵的检测。在有不法分子试图硬件入侵ATM机时,例如,嵌入硬件或者链接外接设备等,ATM机可以有效识别并关闭正常交易功能,并发送报警。第二,加强ATM机网络和系统安全控制。如加强接入网络的管理,设备和系统密码的管理等;定期检测ATM机系统网络内所有设备的安全性,确保没有开放可疑端口或被恶意软件植入。第三,加强ATM市场管理。确保非金融机构或个人无法购买和拥有,对于金融机构的ATM机的购买、使用要在有关部门进行备案。第四,加强银行后台对银行卡交易的重放攻击的检测和防御,针对可疑交易要及时、迅速反应,防止交易的完成。第五,缩短动态交易码有效期。根据网络等多重元素,尽可能在不影响正常交易的情况下,缩短EMV芯片交易动态码的有效期,提高重放攻击的难度。

结论

根据分析,可以得出结论,WestonHecker在2016 年BlackHat大会上演示的针对ATM的攻击,在现实中是近乎不可能部署和实现的,而且即使真正发生了,仍然有很多安全机制可以避免EMV持卡人的损失。用户可以放心地使用EMV芯片卡,并不用担心此类攻击发生在自己身上。


但是,ATM机也并不是绝对安全的,通过世界各地曝出的安全事件可以看到,一些物理入侵和网络、系统入侵的攻击也可以给ATM机的安全带来威胁,造成金钱损失。所以,ATM厂商、各银行以及有关部门仍要加强对ATM的安全研究和管理,确保用户的金钱不受损失。

 

作者供职于中国银联电子支付研究院


实习编辑:邢梦扬



我要推荐
转发到