网安信:基于以太坊公链的Swarm(bzz)有哪些值得注意的安全风险 – 作者:网安信科技wax

在《网安信:都是分布式存储,IPFS(fil)与Swarm(bzz)有什么区别?》这篇文章中,网安信安全团队为大家阐明了Swarm(bzz)与IPFS(FIL)两种分布式存储项目之间的区别,让大家了解到两者在基础层面、激励层面、技术层面、安全层面等几个层面都存在较大差异。

它们一个是区块链“后起之秀”,底层技术是IPFS星际文件访问传输协议,具有极大的商用价值,甚至可以取代目前被广泛使用的http访问传输协议;另一个是由以太坊官方推出的基于以太坊生态的去中心化存储项目,商用价值不明显,但以太坊稳坐加密货币第二把交易,关注度肯定会越来越高。也就是说,两者各有各的优势,没有好坏之分。

当然,既然同属区块链技术,并涉及到到加密货币,两者的安全问题肯定也是大家最关心的问题之一。之前网安信安全团队已经总结发不过IPFS领域的十大安全威胁,今天网安信安全团队就向大家分享一下Swarm(bzz)有哪些值得注意的安全风险。

1.jpg

八大安全漏洞可能对Swarm(bzz)造成影响

理论上来讲,Swarm(bzz)既然属于以太坊生态的一部分,以太坊目前存在的所有安全风险和漏洞都将对Swarm(bzz)产生影响。事实上,在Swarm(bzz)刚刚流行起来的时候,网安信安全团队第一时间进行了节点测试与安全研究,经过与达尔文威胁情报库进行比对后,发现近段时间在以太坊公链上共产生了8个可能对Swarm(bzz)安全造成严重威胁的高、中危漏洞。

1Ethereum Aleth拒绝服务漏洞

CVE ID

CVE-2020-26800

公开日期

2021-01-14

危害级别

漏洞描述

Ethereum Aleth是以太坊(Ethereum)社区的一个基于C++语言实现的可支持以太坊协议的客户端应用。

Aleth Ethereum C++ client version   <=1.8.0版本存在拒绝服务漏洞,该漏洞源于config.json文件可能会导致服务被拒绝。目前没有详细的漏洞细节提供。

解决方案

厂商尚未提供漏洞修复方案,请关注厂商主页更新:https://github.com/ethereum/aleth/issues/5917

2Ethereum Go-ethereum资源管理错误漏洞

CVE ID

CVE-2020-26264

公开日期

2021-1-26

危害级别

漏洞描述

ethereum go-ethereum是ethereum社区的一个用go语言实现以太坊协议的代码库。
ethereum go-ethereum 1.9.25之前版本存在安全漏洞,该漏洞源于拒绝服务漏洞可以通过来自已连接les客户端的恶意getproofsv2请求使les服务器崩溃。此漏洞只涉及显式启用les server的用户;禁用les可以防止攻击。目前没有详细漏洞细节提供。

解决方案

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:https://github.com/ethereum/go-ethereum/commit/bddd103a9f0af27ef533f04e06ea429cf76b6d46

3Ethereum Go-ethereum共识漏洞

CVE ID

CVE-2020-26265

公开日期

2020-12-11

危害级别

漏洞描述

ethereum go-ethereum是ethereum社区的一个用go语言实现以太坊协议的代码库。

ethereum go-ethereum 1.9.4和1.9.20之前版本中存在共识漏洞,该漏洞可能导致链分裂,其中易受攻击的版本拒绝接受规范链。目前没有详细的漏洞细节提供。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

4Ethereum Go-ethereum拒绝服务漏洞

CVE ID

CVE-2020-26242

公开日期

2020-11-25

危害级别

漏洞描述

ethereum go-ethereum是ethereum社区的一个用go语言实现以太坊协议的代码库。
ethereum go-ethereum 1.9.18之前的版本中存在拒绝服务漏洞,该漏洞可能导致在块处理期间出现拒绝服务(崩溃)。目前没有详细漏洞细节提供。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

2.jpg

5Ethereum Go-ethereum共识漏洞

CVE ID

CVE-2020-26241

公开日期

2020-11-25

危害级别

漏洞描述

ethereum go-ethereum是ethereum社区的一个用go语言实现以太坊协议的代码库。

ethereum go-ethereum 1.9.18之前的版本中的存在共识漏洞,该漏洞可能导致规范链的节点易受攻击从而发生链裂。因Geth的预编译dataCopy(在0x00…04处)协定在调用时做了浅表复制,让攻击者可以部署一个合约,将X写入EVM内存区域R,然后使用R作为参数调用0x00…04,然后将R覆盖为Y,最后调用RETURNDATACOPY操作码。调用此合约时,符合共识的节点会将X推入EVM堆栈,而Geth会将被覆盖后的Y推入Y。目前没有详细漏洞细节提供。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

6Ethereum Go-ethereum挖掘DAG生成漏洞

CVE ID

CVE-2020-26240

公开日期

2021-11-25

危害级别

漏洞描述

ethereum go-ethereum是ethereum社区的一个用go语言实现以太坊协议的代码库。
ethereum go-ethereum 1.9.24之前的版本中的ethash存在挖掘DAG生成漏洞,该漏洞可能导致ETH矿工在将来的某个时间(预计2021年1月初)错误地计算PoW。这个漏洞发生在2020-11-06的ETC公链上。此问题仅与矿工有关,非矿工节点不受影响。目前没有详细漏洞细节提供。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

7EthereumJ代码问题

CVE ID

CVE-2018-15890

公开日期

2019-6-20

危害级别

漏洞描述

EthereumJ是一款以太坊协议的Java语言实现。

EthereumJ 1.8.2版本中的crypto/ECKey.java文件的decoder.readObject和mine/Ethash.java文件的ois.readObject存在代码问题漏洞。

攻击者可利用该漏洞执行任意的操作系统命令。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

8CPP-Ethereum越界读取漏洞

CVE ID

CVE-2017-14451

公开日期

2020-12-2

危害级别

漏洞描述

CPP-Ethereum的libevm(以太坊虚拟机)中存在一个可利用的越界读取漏洞。该漏洞存在于特制的智能合约代码中,可能导致越界读取,从而触发越界写入,最终导致远程代码执行。攻击者可以创建/发送恶意智能合约来触发此漏洞。目前没有详细漏洞细节提供。

解决方案

厂商尚未提供独立的漏洞修复方案,建议更新到最新版本

此外,bee 5.3之前的版本中存在索引越界的高危漏洞,该漏洞导致黑客拒绝服务攻击,让bee服务器全线崩溃,长时间无法正常挖矿。

3.jpg

安全漏洞具体对Swarm(bzz)造成什么影响

事实上,作为一个开源的公共区块链平台,平台上的开源软件都是由社区极客共同编写完成,如果某个社区极客疏忽或者测试不充分,就很容易造成软件的代码存在漏洞,而且越是功能强大的软件,就越是逻辑复杂,也越容易出现逻辑上的漏洞。上述8个漏洞目前已经广泛存在于以太坊网络中,且高、中危漏洞都非常容易被黑客利用并攻击,从而导致Swarm(bzz)挖矿流产,造成严重经济损失。

拒绝服务漏洞会导致Swarm(bzz)不能正常同步,无法正常挖矿;共识漏洞会导致Swarm(bzz)异常分叉,很容易被黑客利用去攻击别人;生成缺陷漏洞会导致Swarm(bzz)智能合约的双提情况;代码错误漏洞会导致Swarm(bzz)工作量证明失效,致使挖矿流产;而越界读取漏洞直接导致远程命令注入,通过该漏洞,黑客可以轻松进入 Swarm(bzz)服务器进行任何操作,非常危险。

当然,上述8个漏洞在以太坊最新的版本中已经得以修复,如果使用以太坊最新的版本进行Swarm(bzz)挖矿将不会受到上述安全漏洞的威胁,但据业内人士透露,Swarm(bzz)挖矿使用最新版本的以太坊出块率并不理想,必须采用比较老的版本才能保证出块率,如果消息属实,上述8个漏洞很有可能让Swarm(bzz)“中招”,网安信安全团队提醒广大Swarm(bzz)矿工请务必提高警惕,做好相关防护工作。

来源:freebuf.com 2021-05-31 11:06:10 by: 网安信科技wax

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论