前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ATM攻击那点事 | 从ATM抢钱真的那么容易?

ATM攻击那点事 | 从ATM抢钱真的那么容易?

作者头像
FB客服
发布2018-02-08 11:45:13
1K0
发布2018-02-08 11:45:13
举报
文章被收录于专栏:FreeBuf

很久很久以前,也就是2010年,一个名叫Barnaby Jack的家伙在黑帽大会上演示了让ATM取款机狂吐钞票的过程。 此人先前就在安全圈有颇为响亮的名气,这次的ATM机攻击让他更加闻名遐迩。Jack说他小时候看电影《终结者2》的时候就很羡慕ATM取款机吐钱的桥段,能够将这样的桥段变成现实也是他的梦想。

Barnaby Jack

2013年7月,Jack意外身亡,外界对他身亡的原因众说纷纭,不过这个故事也就结束了。但你可能不知道的是,针对ATM机攻击的历史,在那年黑帽大会之前就已经存在了。

这次,我们就来聊聊相关ATM取款机的攻击和安全故事,毕竟从ATM机白拿钱的事,大概是大家都会去想的。

ATM取款机攻击思路在哪?

ATM取款机攻击的确是21世纪才逐渐摆上台面的话题,不过ATM机本身的存在历史可以追溯上世纪60年代,这跟“黑客”一词的出现差不多是同期。迪堡(Diebold)公司宣称,最早的ATM机是他们在1967年造的。

但实际上,1961年Luter G.Simjiande最早提出的ATM机设想就已经成真了。当年ATM机实在造价不菲,使用率也不高,其真正普及是从70年代后期开始的。

那个时候科技和网络都不发达,1969年的ATM机都还没有联网。为了安全,银行只向信用记录还不错的人开放ATM机。早期基本也没什么人从技术手段上对其进行攻击,大抵上也就是把ATM机搬走这种“高大上”的暴力攻击手段。

ATM机作为一款商品,是仅面向金融机构的,加上不同国家政府对ATM机的要求有差异(比如我国规定,存取款一体机,存入的钱和取出的钱必须完全分开,不能循环利用;比如美国的ATM机在程序执行方面更受银行控制,所以流程更可控)。

我们这些普通人很难了解或者概括这类设备的内部详细组成,和具体的软件定制。

不过最基本的组成还是不变的:

钞箱——就是ATM机下方用来放钱的部分。这部分各厂商和不同国家的配备都存在差异,比如几个取款箱,几个存款箱,具体怎么运作;另外可能还有用于存放异常钞票的回收箱。 计算机部分——标准的计算机配置,据说配置一般并不主流;如人们所知,现如今的ATM机绝大部分采用定制的Windows XP系统,前几年欧美普遍还有采用IBM OS/2系统的ATM机(这是个已经有近30年历史的操作系统); 更多外围模块——如验钞模板(现如今的存取款一体机,取款过程也会进行验钞)、读卡器(读银行卡的)、凭条/日志打印机、键盘、摄像头; 网络连接——ATM机一般并不会连接互联网,但肯定是需要连接银行自家的网络的。

从这几个组成部分下手,攻击ATM机的思路也就有了。

思路一:直接把ATM机搬走——从钞箱入手

企业服务器安全,讲究保证服务器的物理安全,就是不能让坏人靠近或直接接触到服务器。ATM机天然不具备这种属性,它需要面向普通人,有些甚至是露天的,所以直接搬走听起来是个很不错的主意。

问题是,现在这种方案越来越不可行。我国某些ATM机周围是全钢架结构,水泥地面下面还埋了钢板,设备底部就焊接在钢板上;穿墙型的ATM机,周围的墙体也是钢结构,要拉走基本就等于撕裂墙体;更不用说很多取款机还有专门的值班人员,还有外部监控摄像头。

就算真的把ATM机拉走了,内部钞箱的开锁过程据说也是异常痛苦的。国内的内部钞箱起码需要经过2把锁,外加转盘密码,里面还有振动探测。其外部钢板厚,人为暴力破坏几乎是不大可能的。

如果真的致力于这种方案,成本和收益算起来实在不够划算。听说有这能耐的人,也不会去觊觎ATM机里面区区几十万钞票。

思路二:从网络连接入手

ATM机攻击出现至今,从网络入手的案例不多。原因很简单,如国内的ATM机只接入银行自己的网络。如果真的有人搞定了银行的内部网络,何苦要去搞ATM机上那点小钱呢?

文首我们就谈到了Barnaby Jack的事迹。实际上他在那次黑客大会上演示了两种攻击方案,第一种是针对Tranax所造ATM机的。

这种攻击方案利用的是Windows CE系统的远程监控特性,这项特性通过互联网或者拨号就能访问。

所以在演示的时候,Jack没有去碰ATM机,就实现了远程修改程序的目的,但不知道演示的时候,Jack走的是否是互联网这条线,抑或只是内部局域网。

利用身份认证绕过漏洞,可以通过网络往ATM机上传软件甚至覆盖整个固件。所以Jack所做的是在系统中安装了名为Scrooge的恶意程序。这个程序会潜伏在后台,可以通过ATM机的键盘,或者插入特定控制板来激活

激活出现的隐藏菜单,攻击者就可操作令其吐钱了。另外其他人在这台ATM机取钱的话,Scrooge还能获取银行卡的磁条数据。

不过Tranax很快就建议用户禁用远程系统,这个问题也就被封堵了。

思路三:ATM Skimmer——从外围模块入手

这算是真正靠谱的方案:ATM Skimmer也就是ATM分离器。我们去ATM机取钱的时候,喇叭广播反复强调:“请注意插卡口是否有异常情况”。这里所谓的“异常情况”就是指ATM Skimmer了:即伪造一个插卡口,获取卡片信息。

不过ATM Skimmer的奥义并不在于让ATM机吐钱,或者取走钞箱内的钱,而在于在神不知鬼不觉的情况下,记录一般用户的信用卡信息。

实际上,ATM Skimmer更像是个木马,不过它是硬件木马。比如说,伪造个假的数字键盘,在这个键盘内将用户输入的密码记录下来。

比较典型的ATM Skimmer应该是在ATM机极其隐蔽的位置再加个摄像头,这种部署方式也比较灵活。上面这台ATM机位于印尼,攻击者是从在键盘上方的遮挡部分入手的。

仔细研究其内部,会发现里面隐藏了摄像头、主板、SD存储卡,还有内置的电池——摄像头由于对着键盘(最近对焦距离还真是近),也就能够拍下前来取钱用户输入密码时的动作了。

而且实际上,这个ATM Skimmer还显得比较高端:内部芯片集成了运动侦测传感器,这样摄像头就能在仅侦测到有动作的时候才拍摄了,自然也就省电了很多(毕竟这个小装置需要自己供电)。

另外它还配有麦克风,通过按键声音是可以记录到有效信息的——而且还可以听一听取钱的声音,以便判断目标信用卡是否有攻击价值(此人有钱没钱的问题)…

传说中那台整机伪造的ATM Skimmer

我们听过最高端的ATM Skimmer应该是整机伪造:这年头都有人伪造银行,ATM机当然也可以伪造。这个案例出现在巴西,攻击者更为完整地伪造了一台ATM机,然后将之放到原有ATM机上面,感觉为了获取卡片信息,这些人还真是蛮拼的。

相比2010年,Barnaby Jack让ATM机吐钞票,可考最早的ATM Skimmer至少比他早2年,所以ATM Skimmer这种攻击手法的历史显得更悠久一些。

思路四:植入恶意程序——从计算机部分入手

说到Barnaby Jack在黑客大会上让ATM机吐钞票一事,上面在谈到利用网络这一点时,其本质主要还是对Windows CE系统的利用。在演讲中,他另外还演示了针对一台Triton制造ATM机的攻击,这台设备采用的也是Windows CE系统,基本思路就是纯粹从系统下手。

如果设备不接入互联网,要搞定ATM机中的的计算机,肯定要接近ATM机本身。在Jack的演示中,它首先用钥匙打开了ATM机的前面板,然后给ATM机接上USB设备——里面就有Scrooge恶意程序,利用了系统允许未授权程序执行的安全漏洞。

那个时候,人类的安全意识还没有现在这么强,所以Jack演示的这种ATM机都采用统一的锁,据说花10美元就能在网上买到钥匙,一把就能开所有的Triton ATM机。

Triton公司后来还特别就这么问题狡辩了一番,他们说是客户要求一把锁到底的,这样便于管理;但如果以后谁有需要的话,可以换上安全级别高得多的锁。

钥匙孔!

就这件事很容易总结出,若考虑仅从操作系统入手,令其感染恶意程序。

在没有网络的情况下,只能靠物理接触,也就是如果你要给ATM机种马的话,至少你得去接近它,并且要打开它,然后通过物理接口向其中传入恶意代码才行。

实际上,这的确是令ATM机感染恶意程序的一般途经,你得修行开锁或者钻孔技能,又或者你自己混进银行中去。除了上面谈到的Scrooge之外,针对现如今在ATM机上广泛流行的Windows XP,比较典型的恶意软件像是前年和去年很流行的Ploutus和Tyupkin。

其中Ploutus是通过手机和ATM机连接(USB接口),启用手机的USB共享网络连接,安装Ploutus恶意软件;再向这台手机发送特定的2条短信(一条包含有效的激活ID,用以激活恶意程序;另一条就是取钱的具体指令了)。

手机会将短信以TCP/UDP包转发给ATM机,恶意程序的网络包监视模块能够接收TCP/UDP包,然后Ploutus就会执行、ATM机吐钱(感染方式其实还是跟网络有关)。

如若将Ploutus进一步延伸,可以在ATM机内部再放个黑盒子(此处手机就是黑盒子),便于进行远程控制(发送短信亦算是远程控制),甚至伪造一个银行处理中心连接到ATM机,虽然这么做的难度甚大,却连恶意程序都不需要植入。

严格说这也是需要配合网络连接的,隐蔽性并不好,所以这类方式并不常见。

这里再提一个去年出现的ATM恶意程序:GreenDispenser,它在行为上比Ploutus要高级:激活的时间有限制,而且需要进行双重身份认证才会吐钱,也就是说只有攻击者本人才能操作。

另一方面,GreenDispenser当然也需要物理接触ATM机才能植入,但它的传播方式主要是通过维护ATM机的工程师,或者是贿赂银行内部管理人员——是不是感觉轻松了很多,不用再偷摸抛去ATM机硬干了。

这部分最后特别值得一提的是,绝大部分ATM恶意程序的分析报告都会谈到一个叫XFS中间件的东西。这是因为ATM机的系统,结构大致上是底层为操作系统,往上是底层驱动和厂商应用,再往上一层就是XFS了,这是个统一跨平台接口——银行的应用就建基于此。

绝大部分供应商有他们自己的XFS管理器,恶意程序都是通过它和ATM机产生交互的。所以卡巴斯基今年才在呼吁对XFS标准进行修订,引入更安全的验证方式。

思路四延伸:利用Windows XP的功能——仍从计算机部分入手

还有一些技术含量并不高的手法也是从Windows XP系统部分入手的。这招在对付国内某些银行终端设备非常有效。

不过它们主要针对的实际上是服务终端机,就是我们经常能在ATM取款点看到的,除了ATM机之外用于查询各种业务信息的设备。

现如今的ATM机则已经不大能玩这一招了,毕竟这样的方法实在是老少咸宜、男女通吃啊。比如直接加载网页的画面,是否感觉有可乘之机呢?

看看下面这台ATM机,操作过后就变成这样了,Windows XP原貌出现。

或者你可能还会看到这样的画面:

甚至还有人利用银行系统本身的一些操作特性,竟然呼出了维护菜单:

ATM机安全在持续完善中

其实说到这儿,根据ATM机的组成,ATM攻击思路就已经说完了,而且的确我们见过的ATM攻击也就这几类。但实际上还有一些是利用银行系统的一些BUG或者漏洞,或者配合攻击其他银行相关的设备来进行更为复杂攻击。

比如说去年年末俄罗斯的一种“反向ATM攻击”技术,攻击者先在ATM机存钱(分别存入5000、10000和30000),然后再马上取出来,打印交易收据。

收据上会有取钱金额,和一个支付参考号。然后黑客使用这个信息,对境外的一台PoS机终端执行逆向操作,令银行认为取款操作已取消,这样就可以反复取钱了——在此过程中,在PoS机看来似乎是货物被退回,或者支付被拒。

严格地说,这种攻击涉猎范围早就不限于ATM机了,而且还需要攻击者掌握大量PoS机的远程访问,以及多人配合跨境操作。

说了这么多,总结ATM机攻击的主要手法无非两种:ATM Skimmer和恶意程序感染(或者说从ATM机的计算机部分入手)。看起来后者需要动到的心思明显更多,一不小心还会被逮到,至少除了恶意程序本身之外,如何物理连接ATM机,需要更为周密的安排。

而ATM Skimmer从目标上看,甚至都不在钞箱内的钞票,而在银行卡信息获取。可见要抢个ATM机还真是不怎么方便啊。

不过随着ATM机安全问题的日益暴露,ATM机供应商和银行也在想办法弥补。比如说国内大量ATM机开始支持无卡取款或操作,或者通过手机扫描二维码实现取款,这种设计至少是可以很大程度预防ATM Skimmer攻击的。

招商银行的某些ATM机还推出了“刷脸取款”功能,这实际上是加强身份验证机制的表现,对于那些会记录银行卡磁条芯片信息、密码的恶意程序而言,这也具备了加强安全性的作用。

另外,很多ATM机内部的安全性也在加固,比如采用加密硬盘驱动器,可一定程度预防恶意程序植入。

如果能在ATM机上阻止未经授权的媒介启动,如CDROM、U盘等,或者像上面说的修订XFS标准,并加密通讯过程,都可以进一步有效预防问题发生。

至于为什么ATM机这些年来始终没有发生大规模的攻击事件,原因大抵上应该就是其可操作性并没有那么强,论赚钱可能还不如做钓鱼网站或恶意程序来得便利,成本收益外加风险,大概并不足以吸引太多人加入。

* 本文原创作者:欧阳洋葱,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ATM取款机攻击思路在哪?
    • 不过最基本的组成还是不变的:
    • 思路一:直接把ATM机搬走——从钞箱入手
    • 思路二:从网络连接入手
    • 思路三:ATM Skimmer——从外围模块入手
    • 思路四:植入恶意程序——从计算机部分入手
    • 思路四延伸:利用Windows XP的功能——仍从计算机部分入手
    • ATM机安全在持续完善中
    相关产品与服务
    短信
    腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档