一年多来,攻击者已经能够崩溃 比特币无限 和 比特币经典 节点。昨天,有人确实做到了。根据喜欢的网站 投币舞, 数小时内,Bitcoin Unlimited节点的数量从近800个急剧下降到少于250个。比特币经典版不久后被击中.
一天前,发现漏洞的安全研究人员已经联系到 比特币杂志.
“对于旨在为一个价值200亿美元的网络提供支持的项目如何能犯这样的初学者错误,我非常不自在。”
漏洞
比特币无限和比特币经典是 比特币核心 打算增加比特币的块大小限制。两者均于2015年推出,自此以后一直由自己的开发团队维护。去年,虽然经典比特币是比特币核心的一个相对受欢迎的替代方案,但近来无限比特币吸引了人们的注意。世界上最大的矿池- 蚂蚁池 – 宣布 它会切换到Bitcoin Unlimited,因为有几个较小的池.
但并非所有人都认为这是一个好主意.
“我对比特币无限版中糟糕的代码质量感到沮丧,我怀疑还有很多其他问题,”一位安全研究人员仅以“夏洛特·加德纳”的身份告诉自己。 比特币杂志 周一.
通过电子邮件进行通信,加德纳说,她正在审核该软件供自己使用,但是很快得出结论,该软件非常不安全:“令我担心的是,该软件现在已被比特币采矿生态系统的很大一部分所使用。”
Gardner透露,她已经向Bitcoin Unlimited开发团队提交了两个漏洞-确切地说是“严重的远程崩溃漏洞”。.
第一个被称为“空指针取消引用,“第二个”可达断言.在这两种情况下,攻击者都可以将特制的消息发送到Bitcoin Unlimited或Bitcoin Classic节点,以使这些节点崩溃。在像比特币这样的开放式对等网络上,这意味着攻击者可以从诸如 位节点, 并简单地将每个人都脱机.
“我很惊讶还没有人注意到他们,”加德纳告诉 比特币杂志 袭击发生的前一天。 “我猜实际上没有多少人使用比特币无限软件。但是随着攻击者的“崛起”,攻击者可能会更加感兴趣。”
披露事项
联络时 比特币杂志 周一,加德纳(Gardner)不想立即公开这些漏洞。她解释说,这将是不负责任的,因为在Bitcoin Unlimited开发团队有机会对其进行修复之前,仍然可以利用这些漏洞.
但是她也确实将漏洞提交给了 Mitre的常见漏洞和披露(CVE)数据库. 这样可以确保Mitre从现在开始的一个月内即可发现这些错误,这迫使开发人员及时切实地解决问题。.
但是,即使遵循了这一负责任的披露,加德纳也认为存在漏洞一旦在比特币无限代码存储库中修复后即会被滥用的风险。毕竟,到那时,问题还没有得到真正解决:运行已发布的Bitcoin Unlimited软件的任何人仍然容易受到攻击,直到他们下载并运行新的修订版。这为攻击者打开了一个窗口.
她说:“问题是,这些缺陷非常明显,以至于在修复它时,任何人都可以很容易地注意到他们的开发过程,”.
现在看来,这确实是发生了什么。尽管比特币无限开发人员确实在向他们指出后不久确实解决了该问题,但他们这样做的原因太明显了GitHub 提交信息, 加德纳告诉 比特币杂志 一旦出现错误,这些错误似乎已经修复,并且在攻击开始之前.
“他们的提交消息确实敲响了警钟。我不确定是否有人会注意到,但他们可能应该对消息进一步混淆。该措词可能会引起更严格的审查。但是,如果它被忽视了这么长时间,也许它会被忽视。”
显然,它没有.
正如Gardner警告的那样,攻击者很快就可以利用其中一个漏洞:第一次攻击 发生了 错误修复后不久。不久之后,用户“ shinobimonkey”将问题发送到 Reddit, 比特币核心开发人员Peter Todd 发推文 有关该错误和社交媒体的报道.
然后有人甚至发表了 利用代码 供任何人使用,不久之后,大多数“比特币无限”节点关闭,之后又出现了许多“比特币经典”节点.
Gardner表示:“这就是为什么应该有一个“负责任的披露”协议的原因。 比特币杂志 袭击发生后。 “但是,如果软件项目不谨慎解决诸如此类的关键问题,那将无济于事。”
代码质量
这不是第一次检查比特币无限制或比特币经典的代码质量.
作为最著名的例子, bitcoin.com 运行Bitcoin Unlimited的矿池开采了一个 无效块 由去年1月的错误引起。生产该区块所投入的所有能源都被浪费了,而在无效区块上方进行间谍开采的矿池也浪费了一些能源。.
在此之前,比特币核心开发人员已经多次警告过错误的代码。在比特币开发邮件列表中,Matt Corallo 说 他发现Bitcoin Classic的灵活交易代码库“充斥着公然而庞大的安全漏洞。”在Reddit上,格雷戈里·麦克斯韦(Gregory Maxwell) 指出 比特币无限节点崩溃的原因是开发团队删除了不应删除的代码.
在回应昨天的活动Maxwell时,向Bitcoin Unlimited首席开发商Andrew Stone致辞 建议的 Bitcoin Unlimited的代码库还有更多尚未被滥用的问题:
“ Bitcoin Core的一些人在Unlimited中私下向您报告了Unlimited中的漏洞,可悲的是您没有采取行动。实际上比这严重得多。”
也许比特币无限的主要问题是 指出 信息安全专家Andreas Antonopoulos的观点是,它缺乏重要的开发社区来进行适当的质量分析。从事Bitcoin Unlimited和Bitcoin Classic的开发人员数量相对较少,并且包含漏洞利用代码的代码仅在经过一个人的审查后才被合并—对于保护人们钱财的安全性至关重要的代码而言,这并不是很多.
Gardner同意以下评估:
她说:“在这种情况下,这些漏洞非常明显,很明显没有人审核过他们的代码,因为这些代码像拇指一样疼。” “我很惊讶采矿业正在运行此软件。但是既然这样,而且很多人都可能受到伤害,除了建议他们不要使用Bitcoin Unlimited之外,我能做的最好的事情就是披露问题并希望他们有足够的能力加以解决。”
比特币杂志 与Bitcoin Unlimited开发人员Andrew Stone和Andrea Suisani进行了联系,但在发布时未得到任何回应.