互联网|高智商犯罪:价值4000万人民币的3行代码( 二 )


没想到 , 平日低调的乌鸦币竟然被黑客盯上了 。
黑客的方法
一位微信名为「奋斗的 M4ster」的社区成员提供了他的分析思路 , 发现这名黑客只用了 3 行代码就成功「生成」了价值 4000 万人民币的财富 。
互联网|高智商犯罪:价值4000万人民币的3行代码
本文插图

问题出在上面这段代码 , 从代码表达上看 , 这部分与铸币有关 , 但这段代码只有一个 else if 。
在代码语言中 , else if 是「否则如果」的意思 , 是一种判定条件 , 很显然 , 这段代码里只判定了一个条件 , 没有继续判定其他条件 。
于是 , 黑客只要发送一笔交易 , 就可以凭空铸出一笔新币 , 即便这笔新币不在正常的 RVN 总量范围内 , 而是超出总量之外的数量 , 一笔交易就可以凭空造成 50 万枚 RVN 。
RVN 总量有 210 亿枚 , 几十万的新增几乎就是九牛一毛 , 谁都发现不了 。 黑客笑了 。

从 5 月 9 日 , 黑客发起第一笔攻击开始 , 他用了近两个月时间 , 总共发送了 5000 笔交易 , 慢慢造出了约 3 亿枚 RVN , 占总量的 1.4% , 总价值 4000 万人民币 。
黑客的最后一次攻击发生在 6 月 29 日 。 当时 CryptoScope 团队正在解 bug , 顺便看了一眼浏览器 , 突然就觉得 RVN 的总量有点问题 。 在黑客持续攻击了 2 个月后 , 这一行为最终被发现了 。
一般来说 , 代码上的漏洞都是黑客仔细研究代码发现的 , 需要付出极大成本才能发现一个有价值的漏洞 , 而 RVN 的这段代码 , 是黑客自己写的 。
Ravencoin 作为一个开源项目 , 所有人都可以在 Github 上为该项目提供代码 。 因为开源项目的初衷就是让所有开发者齐心协力 , 为项目优化做贡献 , 每个人都可以把自己的想法写成代码 , 放在 Github 上 。 代码会由项目方审核 , 决定用不用这段代码 。
黑客在 1 月提交了这段代码 , 项目方没有发现问题 , 直接整合进了项目里面 , 这才给了黑客机会 。 而黑客整整潜伏了 4 个月 , 才开始攻击 。
谁受到了损失
这并不是一次普通概念的黑客攻击 。 一般的黑客攻击 , 是需要黑客攻击账户 , 从账户中盗走用户资产 。 所以黑客攻击中大部分损失的是用户 , 但这次的另类黑客攻击 , 损失的是谁?

用户并没有受到损失 , 因为资产价格没有波动 , 项目方也几乎没有损失 , 他们自己也无需补偿任何人 。
真正损失的是矿工 。
看了项目方提供的增发解决方案 , 基本上都是从挖矿角度解决 , 比如提前产量减半、强制总量达到上限后停止挖矿等 。 按照这样的逻辑 , 这场黑客攻击的损失方只能是矿工 。 矿工靠挖矿生存 , 这 3 亿枚 RVN 本应是矿工的奖励 , 现在他们拿不到了 。
如果这一切都是黑客从头计划好的 , 那么这就是一场完美的攻击 , 1 月布局 , 5 月攻击 , 7 月收尾 , 如果不是意外被发现 , 整个过程可能还会持续更长时间 。 用户不会报警 , 因为没有损失 , 项目方不会报警 , 因为是自己审核问题 , 矿工也无法报警 , 他们损失的是若干年以后的奖励 , 而且 , 谁会去受理这样的报案呢?
【互联网|高智商犯罪:价值4000万人民币的3行代码】


推荐阅读