区块链:EOS 漏洞的简单复盘和原因探讨

360报的EOS漏洞,技术层面并不复杂,很容易懂它的攻击逻辑。但是这个漏洞背后却显现了EOS设计理念有着一些深层次的安全隐患。

先简单复盘下漏洞本身:根源是在这行代码,有个数组越界的内存漏洞:

因为binaryen.cpp这个代码是负责解析EOS智能合约的,所以攻击者可以:1.先创建一个「恶意」的智能合约;2.把「恶意」的合约上传到EOS网络让超级节点来解析,进而触发越界,形成EOSWASM虚拟机进程的内存漏洞;3.由于EOS为了性能的考虑,常用的内存缓解技术没有做到位,攻击者可以进一步在虚拟机进程里控制整个超级节点的机器,达到远程代码执行的效果。漏洞发现者的解释

EOS生态二次众筹平台Pomelo已正式上线,申请50万美元生态扶持资金:11月7日,EOS生态二次众筹平台Pomelo正式上线。作为EOS网络基金会资金申请正式渠道,Pomelo平台细分的生态扶持项目包括基础设施、开发工具、艺术与媒体、社区、教育、安全、生态系统增长、DeFi、治理、隐私等多个类别,用户可通过Pomelo.io官网申请第一批价值50万美元的生态基础设施建设项目扶持资金。Pomelo将通过二次方筹资的方式进行资金分配。[2021/11/8 6:37:25]

而EOS官方的漏洞修复也是很奇葩的,BM在GitHub上创建了这样一个bugissue:根据标题,就不难发现,BM根本没修复根源的漏洞本身,却只是改了assert在release版的触发

EOS在2分钟内涨幅超过1.00%:据火币全球站数据显示,EOS/USDT在2分钟内出现剧烈波动,涨超1.00%,达到1.20%。当前报价为 1.84 美元,行情波动较大,请注意风险控制。[2020/3/13]

漏洞发现者说,这种修复没有本质上解决问题:

说完漏洞本身,再来探讨下深层次的原因

一、这个攻击的一大亮点是,合约本身可以是「恶意」的,是用来攻击节点的。那为什么「恶意合约」这个威胁会对EOS特别显著?因为EOS部署合约是零成本的,任何人只要锁定一定量的EOS都可以免费发布合约来让超级节点解析。这样攻击者几乎是零成本。所以这个threatmodel对EOS“特别”适用。

动态 | Block.one发布EOSIO 1.5.0版本:据引力观察消息,今天Block.one发布了EOSIO 1.5.0版本。此版本除了针对1.4版本所做的累积补丁之外,还包含一些其他特性和修复,涉及RAM,状态历史插件等。[2018/12/5]

二、EOS的21个超级节点的设计,会让这种攻击在现实世界里更容易实行。EOS超级节点的本质,就是用中心化来提高性能。可是无论每个超级节点背后有多少机群,一定有个主控端的机器。这样,攻击者只需要知道怎么破解每个主控机器的内存保护措施就可以了,反正最差情况也就适配21种。而相对地,拿ETH举例:ETH区块链网络现在有18266个节点,而这些节点又有很多不同的客户端版本和机器版本,光适配这些不同配置的exploit就够黑客头疼的,写PoC是相对简单的,现实运行是麻烦的,所以安全问题有时候是被一定程度地夸大了的。而且,由于EOS的中心化,超级节点会保存一般区块链节点不会有的太多的重要信息,一旦攻破,后果比攻破一个或多个普通区块链节点问题严重的多。

三、EOS为啥不用更严格的沙盒来限制内存漏洞呢?因为EOS的智能合约功能太多了,除了跟操作系统层有很多交互,合约本身还支持异步执行,「并发漏洞」也是个头疼的事情。

想做的功能越多,被攻击的危险就越大。有时候,设计越是简单,往往越有力量。

链闻ChainNews:提供每日不可或缺的区块链新闻。

原文作者:道链闻编译:YY版权声明:文章为作者独立观点,不代表链闻ChainNews立场。

来源链接:mp.weixin.qq.com

本文来源于非小号媒体平台:

链闻速递

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3626834.html

EOS柚子漏洞风险安全

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

直指本质,EOS漏洞的复盘和深层次原因探讨

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

以太坊价格USD:强平制度

强平的目的和意义 强平是在风险实际发生的情况下,对客户和交易所的一种保护。我们尽量避免发生强平事件,一旦发生我们也尽量将损失降低到最低.

[0:0ms0-0:806ms