黑客没有撬锁,只是请人开门:币安63亿美元背后的社会工程学

10月29日下午4点20分左右(北京时间10月30日凌晨),全球最大的加密货币交易所币安,开始看到一连串异常交易。几十亿美元的数字资产从公司账户里流出去。链上的每一笔都公开可查,所有人都看得见,一时间谁也拦不住。

最后的数字是63.4亿美元,加密行业有史以来最大的一次盗窃。

事后,币安给出的初步说法很平淡:一名 DevOps 工程师的笔记本电脑可能被入侵,攻击者借此访问了服务器,提交了未授权的提现;目前没有证据表明钱包私钥泄露。

网上流传更广的是另一个版本:黑客假扮猎头和面试官,和工程师聊了很久,最后发来一份“面试作业”,他打开了它。这个版本里的不少细节,比如布局四个月、二十分钟转走资产,目前都没有得到官方确认。但它被转发得最多,因为它太像我们每个人都会经历的某一天。

看完这件事,我的第一反应是:换作我,大概也会打开。

那扇门是从里面打开的

我们对黑客的想象,大多来自电影:黑屏绿字,键盘飞快,密码一层层被破解。

可币安这次,私钥没丢。防火墙、监控、密钥管理,大概都还在正常运转。系统没有被砸开,它被人“使用”了。攻击者拿到的是一个合法身份,系统按照自己的规则,认真执行了他的指令。

就像保险柜锁得好好的,钥匙也没丢,有人拿着一份看起来完全合规的委托书,让柜员亲手把门打开。

这正是社会工程学最让人不安的地方。它很少和技术正面交锋,它绕到技术背后,找到那个有权限的人,再让这个人相信自己正在做一件再正常不过的事。

曾经被美国通缉的黑客凯文·米特尼克,后来在《欺骗的艺术》里反复讲一个意思:人是安全链条里最薄弱的一环。这句话常被当成对人的批评。我更愿意把它读成一句事实:只要系统需要人来操作,人就是系统的一部分。再贵的锁,也要有人去开。

它用的是我们身上好的那部分

回头看那份“面试作业”,它到底用了什么?

想换一份更好工作的愿望。对一场正式、礼貌、流程完整的面试的信任。工程师拿到代码就想跑起来看看的职业本能。还有一点不想让对方觉得自己多疑、不配合的体面。

这些都算不上缺点。它们是一个认真求职的人、一个靠谱同事身上本来就该有的东西。

社会工程学很少需要人犯傻。它用的是人的善意、渴望和教养。我们从小被教导要礼貌、要配合、要尊重权威、要守时,骗子把这些品质一个个变成了门把手。

拆开来看,大多数骗局都绕不开几种情绪:渴望,比如高薪 offer、中奖、内部消息;恐惧,比如账户异常、涉嫌违法;权威,比如领导、警察、官方客服;紧迫,比如“马上”“今天之内”“否则失效”。

招聘骗局把渴望和权威放在一起,再加上一点“作业截止时间”的紧迫。它几乎是为聪明、上进、忙碌的人量身定做的。

所以“聪明人不会上当”是一种错觉。越熟练的人,越习惯快速处理事情,而这类圈套最需要的,恰恰就是你的快。

信任让社会运转,也让人有机可乘

我们每天都在不加核实地相信很多事:招聘平台上的人是真的 HR,同事发来的文件是工作文件,视频里的人就是他本人。正因为不用每次都去核实,社会才跑得这么快。信任省下了大量成本。

社会工程学偷走的,就是这份“不用核实”。它把整个社会靠信任省下的成本,变成了自己的收益。

这带来一个真实的两难。如果因此什么都怀疑,日子就没法过了:每封邮件都打电话确认,每次面试都把对方当骗子,同事之间互相提防。一个人人设防的组织,也是一个转不动的组织。

所以要想清楚的,是信任该放在哪里。

比较成熟的做法,是把一部分对人的信任,交给流程:大额转账必须两个人确认;重要指令换一个渠道回拨核实;陌生文件只在隔离的环境里打开。这些规则看上去繁琐,甚至有点不近人情。它们真正保护的,是一个人在疲惫、着急、被打动的时候,不至于因为一次失误,就把所有人拖进深渊。

为什么我不想骂那个工程师

每次出事,人们都会本能地找一个罪人。找到他,事情就有了解释,我们也就安全了,因为“我不会像他那样”。

这种归咎是一种自我安慰。它让我们不用面对更难的问题:为什么一台笔记本能碰到几十亿美元的资产?为什么一个人的一次判断失误,能穿过那么多道防线?

航空和医疗行业常用一个说法,叫“瑞士奶酪模型”:每一层防护都像一片有洞的奶酪,事故发生在所有的洞恰好对齐的那一刻。那个点开文件的人,只是其中一片上的一个洞。更值得追问的,是其他几片为什么也没挡住。

币安联席 CEO 何一在事后的视频里说:“当然,我们也有很多做得不对的地方。我们应该更早地、更多地去做安全投入,建立更严谨的标准。”

我觉得这句话比任何对个人的指责都更有分量。它承认了一件事:把安全押在每个人永远不犯错上,这本身就是设计上的失误。

人一定会犯错。好的制度允许人犯错,然后让错误停在小的地方。

当“像真的”变得很便宜

过去我们分辨真假,很大程度上靠对方付出的成本。一封错字连篇的邮件多半是骗子;一个能和你视频聊半小时、对答如流、熟悉行业细节的面试官,大概是真的。伪造一个可信的人,需要时间、语言能力和大量准备。

AI 正在把这些成本压得很低。简历可以生成,头像可以生成,声音和视频也可以生成,话术还能对照你的履历定制。何一在视频里也提到,人工智能的兴起,已经让黑客攻击成为“整个行业的威胁”。

当“像真的”变得廉价,“像真的”就证明不了什么了。

我们得慢慢习惯一种新的判断方式:真假不再看对方表现得有多可信,而看能不能通过一个独立的渠道去核实。对方说自己是某公司的 HR,就去官网找电话打过去问;家人在视频里说急需用钱,就先挂掉,再拨回他平时的号码。

这听上去有点冷漠。可在伪装几乎不要成本的时代,多一道核实,恰恰是在保护那份我们还想留住的信任。

每个人都站在某一扇门口

这件事离普通人并不远。冒充客服说你的账户异常,冒充领导让你先垫付一笔款,冒充快递发来一个链接,冒充招聘方让你下载一个“办公软件”。手法和币安这次是同一种:不砸门,请你开门。

区别只在门后面放着什么。对币安来说,是几十亿美元的资产;对我们来说,是一张银行卡、一个微信号,或者一家公司的内网。

下面这几条,建议收藏,也转给身边的人:

  • 被催促的时候,先停下来。 “马上”“否则就……”一出现,就是该放慢的信号。骗局最怕你给自己留出思考的时间。
  • 换一个渠道核实。 用自己查到的电话、官网或当面确认,别用对方提供的联系方式。对方给的渠道,本身可能就是圈套的一部分。
  • 陌生文件别在主力设备上打开。 工作电脑上不只有你的资料,还有你的权限、同事的信息和公司的安全。
  • 对“只有你能帮这个忙”保持警觉。 被特别信任的感觉很好,骗子也知道这一点。
  • 承认自己也会上当。 觉得自己不会被骗的人,往往防备最少。
  • 出了错,尽早说出来。 越早上报,损失越小。一个让人不敢认错的环境,会把小错拖成大祸。

写在最后

韩非子说:“千丈之堤,以蝼蚁之穴溃。”我们常把它理解成小事不注意会酿成大祸。

看完币安这件事,我有了另一层理解:蚁穴总会有,人也总会疲惫、着急、心动。更要紧的,是别让一个小洞冲垮整条堤。对个人来说,是多一秒停顿;对组织来说,是别把全部信任压在一个人身上。

很多危险不会大声敲门。它会以一个机会、一份作业、一句“麻烦帮个忙”的样子出现,体面,合理,甚至让人有点感激。

今天就可以做一件小事:把这篇文章转给家里最容易接到“客服电话”的长辈,或者正在找工作的朋友,和他们约好一句话:任何让你着急转钱、下载文件、授权登录的消息,先换个渠道问一句。

如果这篇文字让你停下来想了一会儿,欢迎关注、点赞、在看,也转发给你在意的人。

公众号:耕云躬行录

个人博客:躬行笔记

参与讨论