亚太智媒
关闭

亚太智媒APP, 全新登场!

点击下载

区块链世界的高智商犯罪:如何偷走价值6000万人民币的EOS

财经

2019-02-27 10:28

黑客预先投入百万人民币,将自己控制的节点成功选举为 EOS 中 21 个出块节点,再利用节点的便利,将价值 6000 万人民币的被冻结 EOS 一次性转走到交易所变现?还是他运用了更聪明的方法,使其不需要投入任何成本,上演了一出完美的空手套千万?

2 月 22 日下午 2 点,区块链世界总值排名第四的 EOS 网络上出现了一笔离奇的转账。

曾被(EOS 仲裁委员会) 冻结交易的 EOS 账号出现了异常交易活动,向疑似某交易所的账号转了三笔交总计 209 万个 EOS 的交易,价值 6000 万人民币。这笔钱本是犯罪份子骗取 EOS 用户私钥后转移来的赃款,已经被冻结,现在这个被冻结的账户居然意外出现了转账。

区块链安全团队 PeckShield 随后发表分析认为,是 EOS 区块链上一个名为 games.EOS节点没有设置黑名单(没有阻止黑名单账号交易)而导致的

上面提到的被 ECAF 仲裁冻结交易的账号,绝大部分为持有黑产、盗窃、诈骗等手段获取的 EOS 资产的账户。为了防止黑客把偷来的币转移或销毁证据,所以 ECAF 仲裁机构向节点发出冻结令,冻结以后账户就不能做任何交易,使用户资产和黑客盗窃证据得以保全。

按照规定,在 ECAF 宣布冻结命令后,EOS 节点要完成黑名单的同步,这样就保证币不会转移走,等到仲裁机构给出结论后再做下一步打算。

可是,22 日下午,因为 21 个 EOS 出块节点之一的 games.EOS 没有设置好黑名单,黑客利用这个节点出块时段,连续三次,把 209 万个 EOS 区块链代币转移走。此类行为又被称为是「偷跑」。

EOS 节点的主要工作就是负责生产区块,即处理转账交易和阻止黑名单交易。到这里,很多人都会认为这只是一起由于工作疏忽而导致的因意外事件,而事情接下来的发展,却出乎我们的意料。

当天下午 4 点,PeckShield 数据再次显示,黑客是假装向疑似 Newdex 去中心化交易所的账号转账,躲避追踪。

但实际上这是一个混淆视听的假账号,黑客同时向多个不同的小号分散转账,小号收到转账马上转进交易所,比如火币、币安、Bitfinex 等

据了解,这些转进交易所的 EOS,在安全团队和交易所都还没有反应过来的时间内就开始提币走人,原先的赃款就这么瞬间洗白。据 PeckShield 提供的链上数据,目前黑客已向交易所成功汇入了 35.5 万 EOS,即洗白的赃款可能高达 990 万元。

这是一场预谋已久的犯罪行为。

区块链世界里又一例新的高智商犯罪?

在社交网络上有人认为这是黑客的一个完美高智商犯罪,以极低的成本成功将此前被冻结的价值 6000 万人民币的 EOS 取走。

有观点认为:

为了让黑客偷的币顺利转移,黑客通过一些手段买到了 1500 万 EOS 的票,让一个没有加黑名单的节点成为出块节点,然后成功偷跑了价值 5000 万的 EOS

这里提到的「买票」,其实就是代理投票。EOS 网络上有专门做代理投票的团队,他们手中持有大量的筹码,可以根据客户需求来进行投票成为节点,借此获得节点分成或者利润。代理投票和抵押 EOS 资源的服务模式是一样的,相当于租赁业务,用户只需要支付极少的费用就可以获取大量的、短时可用的 EOS

EOS DAPP 非常流行的时候,因为 EOS DAPP 大量消耗资源,所以用户玩 DAPP 的时候需要购买 CPU 资源。不少钱包都提供 CPU 租赁业务,用户 4 个 EOS 就可以租到 5000 个 EOS 的 CPU。买票的服务也是一样,用很少的 EOS 就可以买到大量的 EOS 投票,抵押结束后,票就会撤回来。

如果按照抵押 EOS 资源的价格,有人也大概算出了这次犯罪的成本,大约在 30-114 万人民币之间。从 EOS 节点投票数据看,games.EOS 节点在 2 月 20 日和 21 日这两天,一共新获得了 1518 万票,这些票让 games.EOS 一跃成为了前 21 名出块节点

如果 4 个 EOS 可以买到 5000 个 EOS 的票,那 1518 万票就需要 12,144 个 EOS 去买,按照现在的价格,就是 30.3 万人民币。而据业内从业者表示,100 万 EOS 投票一天需要 3000 个 EOS 的租赁费,那么 1518 万票就需要 45,540 个 EOS,价值 114 万人民币。

所以网友推测这次犯罪的买票成本大概是在 30 万到 114 万人民币之间。PeckShield 安全团队也认为,不排除黑客买票让节点当选的可能性。

然而这个让人激动人心的黑客故事可能经不起推敲。根据 PeckShield 的数据,games.EOS 节点在 2 月 21 日就已经成为了出块节点。如果黑客真的进行了买票操作,那黑客应该会第一时间趁着深夜将资产转出,为什么要等到一个工作日的下午呢?而且买票的行为非常容易被人发现真实身份,目前还没有可以进行匿名买票的途径。

区块律动 BlockBeats 于是针对这一事件展开了深入调查。

早有先例

区块律动 BlockBeats 之前曾经报道过 EOS 节点偷跑黑名单导致普通用户资产被盗事件,文中,小手(化名)在今年 4 月份以 110 元左右的价格买入了 1000 多个 EOS。6 月份 EOS 主网上线之后,各大钱包对 EOS Token 的支持都不完善,小手在操作转账到交易所的过程中遇到了问题,在电报群中求助后,有「客服」来与他联系说可以手动导入 EOS 资产到交易所。然而小手没有想到的是,这个客服其实是骗子假扮的。骗子在索要了小手的 EOS 私钥后,将其 EOS 资产掠夺一空。

因为泄露了自己的私钥,小手自己 EOS 账户中的 1280 多个 EOS 被骗子盗走后买了 EOS RAM。小手找到了 EOS 自治社区 ECAF,并通过这一渠道进行了仲裁申请(申请编号 198),3 个月后的 10 月 5 日,ECAF 发布了这一资产被盗事件的紧急冻结令,骗子的钱包地址被冻结,小手的资产得到了暂时的保护。

然而,噩梦却在那意思小确幸后降临。11 月 12 日,这个被冻结EOS 地址居然执行了操作,骗子将 EOS RAM 卖掉,这仅剩的 552 个 EOS 被骗子转到币安交易所卖掉后提现走人。已经被各个节点加入黑名单冻结的账号是怎么进行操作的,小手大为不解。

原来,负责这次交易的出块节点 startEOS 并没有将这个黑客账号添加到黑名单中,导致黑客成功地「偷跑」。

2 月 22 日的 209 万个 EOS 被偷跑,也是使用的同样的手法。

于是有两种可能性摆在我们面前:这是黑客精心安排的一次独立高智商犯罪,亦或是与 games.EOS 节点串通,一同导演的一场黑客盗币的大戏。

区块律动 BlockBeats 把 games.EOS 这个节点的得票历史(统计超过 20 万票数)做了下面这张图。

可以看出,该节点账号于 10 月份创建后并没有立即开始获得投票,直到 11 月才获得大量选票,期间有三次大幅度的票数增长,分别在 11 月 4-5 日、12 月 23-25 日和 2 月 20-21 日。

在 20 日和 21 日这段时间里,games.EOS 得票量突然猛增,成为获票数前 21 的节点,成为了出块节点。在发现 209 万个 EOS 通过该节点偷跑后,排名 22 和 23 的节点迅速获得大量票数,将 games.EOS 挤出出块节点行列。大约 1 小时后,games.EOS 回到了排名 23 位,不再负责出块。

在区块链浏览器上,每个节点都有完整名称和国家所在地,可 games.EOS 什么介绍都没有,好像是凭空出来的,更令人生疑。

从投票历史上看,games.EOS 是从去年 10 月份才开始有得票的节点,在浏览器上也发现这个账号是一个 10 月份才开始建立的,出现了只有 4 个月。正常来说,节点申请提交是在去年 6 月前就截止了,不可能在有新的节点申请出现。其他的节点的主网账号都是去年 6 月份建立的,只有 games.EOS 比较特殊。

既然不可能有新的节点团队申请进来,那唯一的解释,这个节点是现有节点团队的小号。果然,有一个节点曾经公开表示,自己有两个节点账号,就是刚才提到的 startEOS 节点

在 startEOS 自己发表的这篇文章里(现已删除),他们承认,startEOS 建立了 games.EOS 这个节点,这两个节点都是一个团队在控制。并且还公开表示,games.EOS 会给投票用户分红。

上述文章还提到了与引导大家投票的有关的内容:节点 games.EOS 流畅运行后,节点收益将分给持币者,这也就是 EOS 节点圈内褒贬不一的「贿选」做法。

所以当你看到 startEOS 和偷跑有关的时候,关于 games.EOS 发生的一切似乎就可以解释了。

在区块律动 BlockBeats 的文章中曾提到,EOS 的部分节点存在一个节点联盟,节点之间会互相投票,以获得节点奖励。国内大多数节点(包括 startEOS)也在这个联盟中。

在最近的节点换票(相互投票以建立节点共识联盟)中,games.EOS 获得了大量的选票,直接升到了第 20 名,成为了出块节点startEOS 之前就因为没有设置冻结账户黑名单(即文章开头的「小手」真实故事),黑客在 startEOS 出块的那 6 秒钟里把盗窃的 EOS 转移了,但是该节点对外界的任何质疑不做任何形式的回应。

这次被转移的账户的冻结命令是 9 月 25 日下的,其他节点已经加入了黑名单,而 10 月份刚成立的 games.EOS 依然延续了自己团队的老问题,没有更新黑名单。

精心的谋划与耐心的等待

目前事态已经非常明朗,黑客已经成功作案并洗白了不少资金,我们现在可以回过头来分析发生的一切:

黑客在 games.EOS 当选出块节点的第二天发现了这个可以偷跑的事实漏洞,喜出望外的同时,迅速计划了这次转移 209 万个 EOS 的犯罪活动。

从黑客转移资产的路径,区块律动 BlockBeats 发现,除了一个混淆账号外,其他所有关联交易的 EOS 账号均创建于 9 月 27 日,即黑客账号被冻结后的 2 天,黑客早就做好了随时偷跑的准备。黑客被冻结账号第一个转出的账号为一个仿冒 Newdex 交易所的账号(newdexmobapp)

该混淆帐号创建于 2 月 18 日,创建之后就开始批量地向其他 EOS 账号发送虚假的广告来迷惑追踪者,让别人以为这是「Newdex 交易所的官方账号」。这种反侦察的行为甚至一度骗过了安全团队的追查,但最后还是因为交易量过少而被发现。值得注意的是这个时间「2 月 18 日」,也就是 games.EOS 节点大量获票的前 2 天,黑客已经预测到该节点很有可能会当选。

在成功偷跑后,黑客将所有资产走转移到了这个混淆帐号,随后混淆帐号又转到了十几个二级账号,二级账号又快速地转到了三级账号或交易所。目前已经有大量 EOS 赃款通过交易所进行洗白,包括火币、币安、Bitfinex 等交易所。据 PeckShield 提供的链上数据,目前黑客已向交易所成功汇入了了 35.5 万 EOS,即洗白的赃款可能高达 990 万元。

很显然,黑客准备的十分充分,从目前掌握的证据来看,这是一个精通 EOS 开发的黑客,他对链上的交易和记录查询非常熟悉。

创建混淆帐号的 EOS 账号(guagddoefdqu)甚至曾创建过一个 EOS DAPP 并发行过 mEOS 代币,这名开发者还发了一款名为 mEOS Folio 的 EOS 区块链交易追踪 App,可在美区 App Store 下载(请勿轻易尝试,该 App 可能存在盗取私钥的风险!)

此外,guagddoefdqu 账号曾在 1 月 30 日测试往火币交易所里进行过 6 次充值,备注的账号识别信息分别为 6 个不同的账号。也就是说,这位黑客已经在 1 个月前准备好了最少 6 个交易所洗白账号,只等 games.EOS 节点当选这一天的到来。

至此,我们已经了解了所有犯罪的准备条件:

1、一个新的可能没有黑名单的 EOS 节点即将上线;2、深谙 EOS 网络的运行规律,比节点更懂 EOS;3、准备好了多个交易所账号,准备洗白;4、准备好了混淆视听的账号来避免追踪,或者拖慢被冻结的进度;5、准备好大量可操控的账号进行转账交易。

在 games.EOS 当选后的十几个小时内,黑客得手了。

问题这么久了为什么还没解决?

作为一个曾经被认为区块链世界最安全的社区,EOS 已经不是第一次出现由于节点的问题导致用户资产损失的事情了。

在事情发生 24 小时后,其中一个 EOS 节点 EOS42 发文表示,这种事情不应该再次发生,他们认为可以用废除黑名单内账户私钥的方式来防止单一节点不更新黑名单的行为再造成损失。黑名单账户的私钥一旦被废除,就再也不能进行交易行为了。

这个办法的确可以用,但是这样一来,节点又可以对账户的私钥进行操作了。在之前 ECAF 的仲裁命令中,ECAF 就要求节点修改账户私钥,这一行为引发了社区很多讨论。不少人认为私钥是个自己财产的最后底线,如果私钥可以修改,那自己的财产根本谈不上安全了。而废除私钥的这个方法,从某种程度上说,跟修改私钥是一个意思,只能作为暂时性的方案。治标不治本。

我们承认 EOS 作为头部项目,正在身体力行的探索区块链世界的种种可能性,区块链就像一场大型社会实验,而 EOS 在其中做了很大的贡献。

但区块律动 Blockbeats 也要看到,作为 EOS 生态重要环节的 EOS 节点,本应该履行应尽的职责,但却一而再,再而三的出现同样的问题,让人不禁反思,这样的治理方法,真的有效么?

讽刺的是,基于 EOS 而诞生的 BOS 区块链,在事情发生后一天就在区块链上配置了 BP 多签黑名单机制,解决了节点因为懒惰或工作失误不作为而偷跑的高风险漏洞。BOS 上目前以中国的 EOS 节点为主,也就是说,同样一批人,在侧链上,解决了这个问题,这到底是节点的问题,还是制度的问题?

EOS 的每一个节点都能保证永远负责,永远认真为用户做事,让节点节点之间永远不存在利益共生体,让每一个节点都保持独立,这样的想法是不是太过于理想了。