卡巴斯基针对ATM攻击实验——指纹取款并不安全
很多安全报告说,生物识别技术会取代密码,成为身份认证的主流方案。这件事真的靠谱吗?早在2014年,Chaos Computer Club的安全研究人员Jan Krissler给德国联邦部长随便拍了几张照——那些照片是这位部长在出席某次新闻会议时拍下的,仅是利用“普通相机”,Krissler就获取到了部长同志的指纹。
他在年末的Chaos Computer Conference大会上表示,从不同的角度拍摄部长的手指,就能构建精确的指纹数据。随后在去年的某安全会议上,Krissler又展示了从互联网照片中获取虹膜数据的方式。这不是坑爹吗?
银行现阶段似乎就看上了生物识别技术,或者叫生物计量技术——将这种技术作为ATM取款的身份认证解决方案据说很安全,比如说指纹、虹膜。
过去针对ATM取款机的攻击技术,主要就集中在ATM Skimmer之上,我们也曾发布过不少介绍ATM Skimmer的文章,其奥义就在于伪装成ATM取款机上的某个硬件部分,不管是键盘还是摄像头,以此来获取卡片信息。直到后来芯片密码(chip-and-pin)支付卡出现,Skimmer进化成了“shimmer”——后者实际上就是增加从卡片芯片中获取信息的能力。
但显然专攻ATM的黑客也不是吃素的,近期他们已经在研究新一代ATM Skimmer了,完全可以搞定生物识别技术。
卡巴斯基实验室针对ATM机攻击,发布了一份30页的报告,里面较多提及黑客对生物识别技术在ATM机上的应用早就跃跃欲试了。一旦生物识别技术被黑客破解,那带来的麻烦可不只是用户的银行卡密码被盗这么简单了。
生物识别认证技术已经应用到ATM机?
上的TouchID指纹识别按钮就是典型的生物识别认证方式。其实在国外,生物识别认证在银行解决方案上正逐渐有普及的趋势。生物识别可以是基于形态的、行为的,也可以是心理的。现阶段比较主流的身份识别技术包括了:
虹膜识别;
指纹识别;
掌纹识别;
血管识别;
脸部识别;
声音识别;
其他(比如手写签名)
国外的某些ATM取款机已经开始将生物体征数据作为多重身份认证的其中一重了(比如说银行卡+PIN码+生物识别);另外针对无卡认证方案(或者智能卡片),生物体征数据也用于在线或离线身份认证。
这里的智能卡片离线认证,也就是在无需连接到银行的生物体征数据库,就能对持卡人的身份进行认证。在此,生物体征数据(比如说指纹)是储存在智能卡芯片之上的(所谓的match-on-card技术)。
生物识别身份认证在ATM机上应用的过程
其实在ATM取款设备上引入生物识别技术,完全是为了增加交易的安全性,或者说进行所谓的“强加密”。
生物识别认证在ATM机上的应用目前大致上有两套方案,第一种是有卡生物识别认证,还有一种是无卡的。针对后一种,银行卡用户需要前往银行,首先采集生物体征数据,比如说指纹——通过某些特定的设备(如果扫描器)来采集。这些生物体征数据是存储在数据库中的(这与iPhone的TouchID将指纹存储在芯片黑匣子中的方案存在本质却别),ATM机或者其他银行设备在接受用户请求的时候,首先就需要连接这个数据库进行认证。
黑市正在筹备新版Skimmer上市
从卡巴斯基实验室的这份报告来看(未具名来源信息),目前的地下论坛中已经开始有不少针对生物识别认证技术的活动正在逐步开战了。针对上述安全手法,黑客要做的主要就是制造能够采集用户生物体征数据的设备,将这样的设备以伪装的形式安装到ATM机上(甚至制造假的ATM机)。这从本质上来说,仍属于Skimmer形态。
目前黑市最火的就是指纹识别读取设备,因为这类设备比较简单,且成本较低——地下黑市已经有大约12家制造商已经在试制伪装的指纹读取设备,另外还有3家在造掌纹和虹膜识别读取设备。之所以指纹识别比较热,是因为其他识别设备的难度成本较高,而且指纹识别是相对更为主流的方案。
首批预售测试的生物识别Skimmer早在去年9月份就已经造出来了,目前第二批货预计很快也会抵达欧洲黑市。据说在首批测试中,开发者们还是发现了不少BUG的。主要问题就在于早期的这些生物识别Skimmer采用GSM模块来传输数据,而生物体征数据量又比较大,所以传输起来会很慢。
部署这种Skimmer的方法和一般的Skimmer是一样的:首先找一台目标ATM机,然后将做好的Skimmer以非常隐蔽的方式覆盖在ATM机原本进行生物识别的地方。这样一来,攻击者就能获取到受害者的生物体征数据。
如果说用户的生物体征数据是存储在EMV芯片银行卡上的,那么攻击者也有特别的设备能够从中提取数据——不过需要首先采用社工的方式,拿到受害者的银行卡(或者也可以直接偷)。随后,攻击者再利用恶意设备来获取卡片数据。如果这张卡用上了防篡改机制,似乎暂时还没有可从中获取数据的方案。
在此,卡片本身其实是不值钱的,真正值钱的是获取到的生物体征数据。这些数据的用途包括:用来授权使用各种银行服务(比如网上银行);进行在线欺诈交易;也可以将这些生物体征数据在黑市出售,如下图所示:
除此之外,针对脸部识别技术的破解也在进行中。当前比较主流的方案是,从受害人的社交网络中找张照片,然后将这张脸作为面具戴到攻击者的脸上,以此来欺骗ATM即的脸部识别系统。据说地下市场正在开发这套方案的移动应用。
更多潜在攻击手法
卡巴斯基实验室针对当前ATM机应用的生物识别技术,认为其攻击方式实际还可以从网络层面入手。比如说并不直接针对ATM机,而是看准生物体征数据库——这个数据库存储着所有用户的生物体征数据。
攻击方法基本也是社工:首先调查银行选择的维护支持方,也就是维护数据库的第三方,向其内部员工发起钓鱼邮件。如果说维护这个体征数据库的第三方企业员工打开了这封邮件,攻击者就能利用恶意程序来获取到管理员身份凭证;或者说利用漏洞进行提权操作,获取数据库管理员凭证。通过上传恶意程序的方式,攻击者就能从数据库中盗取生物识别数据。大致的攻击方案如下图所示:
在攻击提权阶段,攻击者还能在ATM管理员主机上找到远程管理工具——这些工具是针对ATM机进行远程操作的。由于这些ATM管理员主机已经被攻陷,利用其上的远程管理工具,可以直接向ATM机上传恶意程序,感染XFS Manager中间件,然后和吐钞部件直接交互,就能吐出现金了。
这究竟有多恐怖?
应该说,如果黑客只是贪图ATM机中的那些现金,即便存在损失,这样的损失也在可控范围内。可是如果针对的是生物体征数据,想一想,你的指纹在黑市上被人出售,这是多么恐怖的一件事!
生物体征数据具有唯一性,而且恒定不变、不可抛弃,这是其最大特色。生物识别的确在某种程度上加强了安全性,而且关键是很方便。但这种方案有个问题,生物体征数据用得越多,被盗的可能性也越大。
实际上,如今的生物体征数据是记录在e-passports(电子通行证)之上的。一旦这个e-passports被盗,则意味着生物体征数据被盗,这种识别方案宣告永久失效。它不像PIN之类的方案,一旦被窃,用户还可以通知用户进行修改。这才是现如今生物识别技术发展的最可怕之处。
卡巴斯基的这篇题为《针对ATM通讯和认证系统的未来攻击场景》报告,比较详细地叙述了当代ATM机的各种弱点和针对这些弱点的攻击思路,比如说针对NFC近场通讯技术的,还有ATM机内部的一些缺陷,有兴趣的同学可前往阅读完整版报告。