|
2016年,银行台湾第一银行发生过一件事。漏洞一台隶属于某分行的无限ATM机,在没有任何人操作的取钱情况下,自己吐出了7000万新台币。银行不是漏洞故障,是无限有人让它吐的。 这事后来查出来,取钱是银行俄罗斯的一个黑客团伙干的。他们没进银行大门,漏洞没碰柜台,无限甚至没靠近那台机器。取钱他们先往银行系统里塞了个恶意程序,银行让ATM以为自己接到了出钞指令。漏洞然后安排了几个车手——就是无限负责跑腿取钱的人——在台北街头把这笔钱分批领走。整个过程像点外卖一样冷静。 你可能会想,这得多高的技术门槛?实际上,那帮人用的手法在圈子里不算新鲜:通过银行内部网络的漏洞,远程向ATM下发指令。真正让我觉得有意思的不是技术,是银行事后的反应。第一银行第一时间停了所有同型号ATM,但损失已经出去了。车手们早在警察反应过来之前就拎着现金消失在了监控死角里。 这件事暴露的不是某一个代码写错了,是整套逻辑的裂缝。ATM本质上就是一台连着银行核心系统的电脑,它信任从后台发来的指令。只要你能伪装成后台,它就把你当亲爹。问题在于,很多银行的内部网络隔离做得并不像宣传的那么严。办公网和交易网之间,有时候就隔了一层薄薄的防火墙,甚至只是不同的VLAN。一旦有人从办公终端切入,横向移动到交易区,ATM就变成了提款机。 我认识一个做渗透测试的朋友,他跟我讲过一种更朴素的情况。有些小银行的ATM还在跑Windows XP,补丁早就不更新了。物理接口也不封,USB口露在外面。他说有一次在某个网点,他蹲下来假装系鞋带,顺手往ATM侧面摸了一把,发现有个维护用的USB口连盖子都没有。当然他没插东西,但他说,插个带自动运行脚本的U盘,理论上就能把机器变成自己的。 这不是电影情节。2018年,美国司法部起诉过一伙人,他们就是靠物理接触ATM,插入恶意U盘,让机器在特定时间自动吐钞。手法粗糙,但有效。银行后来怎么防的?给USB口灌胶水。对,就是那种物理封堵。听起来很土,但比很多安全软件都管用。 真正让人不安的是另一层。就算你技术不行,社会工程学也能撬开口子。比如冒充维护人员打电话给银行客服,说某台ATM需要远程重启,让客服把维护密码报一下。这种事发生过不止一次。银行内部流程如果不够严,一个电话就能换到进入系统的钥匙。 那普通用户该关心什么?其实你卡里的钱被黑客盯上的概率,远低于被电信诈骗。银行在ATM端的漏洞,更多是机构自己要堵的窟窿。但有一点跟你有关:如果你的银行卡在深夜突然被ATM取现,而卡就在你身上,那可能就是银行系统被人从内部捅穿了。这时候第一时间打电话冻结,别等短信通知。 说到底,ATM漏洞取钱这事,核心从来不是技术多高明。是银行把太多信任押在了“内部网络绝对安全”这个假设上。一旦假设破了,机器比人听话,让它吐多少就吐多少。台湾那次之后,很多银行开始给ATM加装独立监控和异常交易拦截。但道高一尺,下一批人可能已经在研究怎么绕过这些新玩意了。 |