月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 狗狗币 > 正文

EOS:星球干货 | 360是这样发现EOS节点远程执行代码漏洞的_区块链

作者:

时间:1900/1/1 0:00:00

奇虎360漏洞团队YukiChen和奇虎360核心安全团队ZhiniangPeng发现EOS节点在远程执行代码时存在漏洞,他们在360官方博客上发布了这一问题,以下为博客编译内容:漏洞描述在解析WASM文件时,我们发现、并成功利用了EOS缓冲区越界写入漏洞。通过这个漏洞,攻击者可以把一个恶意智能合约上传到节点服务器,之后节点服务器就会解析这个恶意合约,然后恶意合约就会在服务器上被执行,再控制该节点服务器。在控制了节点服务器之后,攻击者可以将恶意合约打包到新的区块中,继而进一步控制EOS网络内的所有节点。漏洞报告时间表2018-5-11发现EOS越界写入漏洞2018-5-28EOS超级节点完全利用演示完成2018-5-28漏洞详细信息报告给供应商2018-5-29供应商修复了GitHub上的漏洞,并解决了问题2018-5-29注意到供应商修复尚未完成下面是一些和DanielLarimer在Telegram上的聊天截图:

AAC今日上线“加密星球”:据官方消息,AAC今日正式上线AAC PASS“加密星球”,用户通过质押AAC即可获得加密星球上不同种族NFT(AAC PASS),目前包括恒星族、行星族和卫星族。

据悉,用户质押“加密星球”不同种族的NFT,可获得不同的权益奖励。此外,“火力值计划”也同步开启,持有任一种族NFT,即可邀请他人成为加密星球一员,并组建自己的联盟。[2022/10/11 10:31:10]

我们尝试将漏洞报告告诉他。

他表示,他们不会在没有修复漏洞的情况下发布EOS,并且要求我们私下发送报告,因为有些人正在使用公共测试网。DanielLarimer提供了他的电子邮件,我们将漏洞报告发送给了他。

EOS修复了这个漏洞,DanielLarimer将会给予确认。技术细节漏洞这是一个缓冲区越界写入漏洞。在“libraries/chain/webassembly/binaryen.cpp,Functionbinaryen_runtime::instantiate_module:”for(auto&segment:module->table.segments){Addressoffset=ConstantExpressionRunner<TrivialGlobalManager>(globals).visit(segment.offset).value.geti32();assert(offset+segment.data.size()<=module->table.initial);for(size_ti=0;i!=segment.data.size();++i){table=segment.data;<=OOBwritehere!}}这里表示的一个std::矢量包含了功能表的“Names”,当存储元素导入到表内,|offset|函数域将无法正确实施检查工作。请注意,在设置该值之前,有一个asset函数,它会检查|offset|函数,但不幸的是,assert函数只适用于Debug版本,而不适用于正式的发布版。在声明之前,该表将会进行初始化:table.resize(module->table.initial);这里“|module->table.initial|”将会从一个功能表的声明部分被被读取,该字段的有效值为0~1024.|offset|函数域还会从WASM文件被读取,在数据部分,它是一个符号型32位值。所以基本上,利用这个漏洞,我们可以在表矢量的内存之后写入相当广泛的range。如何重现该漏洞1、构建最新EOS代码发布版本./eosio-build.sh2、启动EOS节点,按照下面链接里的描述,完成所有必要的设置https://github.com/EOSIO/eos/wiki/Tutorial-Getting-Started-With-Contracts3、设置一个“脆弱”的节点我们提供了一个WASM概念证明来证明这个漏洞。在我们的概念证明中,我们只需设置|offset|函数域为0xffffffff,这样在越界写入发生时,就会立刻崩溃。测试概念证明:cdpoccleossetcontracteosio../poc-peosio如果一切都就绪,你就会看到nodeos进程发生段错误。崩溃信息:(gdb)cContinuing.ProgramreceivedsignalSIGSEGV,Segmentationfault.0x0000000000a32f7cineosio::chain::webassembly::binaryen::binaryen_runtime::instantiate_module(charconst*,unsignedlong,std::vector<unsignedchar,std::allocator<unsignedchar>>)()(gdb)x/i$pc=>0xa32f7c<_ZN5eosio5chain11webassembly8binaryen16binaryen_runtime18instantiate_moduleEPKcmSt6vectorIhSaIhEE+2972>:mov%rcx,(%rdx,%rax,1)(gdb)p$rdx$1=59699184(gdb)p$rax$2=34359738360Here|rdx|pointstothestartofthe|table|vector,And|rax|is0x7FFFFFFF8,whichholdsthevalueof|offset|*8.利用此漏洞实现远程代码执行攻击攻击者可以利用此漏洞在nodeos进程中实现远程代码执行,方法是将恶意合约上传到节点,并让节点解析恶意合约。在实际攻击中,攻击者可能会向EOS主网发布恶意合约。EOS超级节点会首先解析恶意合约,然后触发漏洞,之后攻击者回控制解析了恶意合约的EOS超级节点。接下来,攻击者可以窃取超级节点的私钥,或是控制新区块的内容。更重要的是,攻击者可以将恶意合约打包成一个新区块并发布。这样做的结果,就是让这个网络中的所有完整节点都被攻击者控制。我们完成了概念验证漏洞测试,并且在64位的Ubunt操作系统的nodeos进程中进行了测试,这个漏洞是这样工作的:攻击者将恶意合约上传到nodeos服务器上;服务器nodeos进程被解析能够触发漏洞的恶意合约;在越界写入漏洞下,我们可以重写WASM模块实例的WASM内存缓冲区。此外,在恶意WASM代码的帮助下,我们最终在nodeos进程中实现了内容内存读/写操作,并且绕过了64位操作系统上的DEP/ASLR等常见的防恶意攻击技术;一旦成功利用该漏洞,就会启动一个反向shell程序,并连接回攻击者;您可以参阅我们提供的视频,以了解该漏洞的具体情况,稍后我们还会提供完整的漏洞利用链。漏洞修复BM在EOS的GitHub第3498个开放问题上披露了正在处理我们报告的漏洞问题:

动态 | 星球领主APP今日正式上线:星球领主APP于2019年3月29日14:00正式上线,用户可在星球初始场景中体验探索、互动、竞技并参与平台生态的建设来获得Token奖励。星球领主是一款基于区块链的互动娱乐APP,旨在通过不同场景体验,帮助用户更好的学习区块链知识。[2019/3/29]

修复的相关代码

但是,正如Yuki对所提交修复内容做出的评论,在处理32位进程的时候仍然存在问题,因此问题还没有被得到完美解决。

声音 | 二三四五:“2345章鱼星球”是基于区块链技术的高性能云盘:二三四五28日在互动平台上回复投资者提问时介绍,“2345章鱼星球”是基于区块链技术的高性能云盘,能够接收用户行为数据、发布生态任务,具有CDN加速、云存储、分布式处理、分布式数据挖掘等云计算功能。[2018/9/28]

天涯社区现“区块链星球”:据天涯社区官方消息,因社区运营需要,原“金融先锋”版面更名为“区块链星球”。据“区块链星球”页面显示,“区块链星球”将举办区块链知识问答大赛,用户分享对区块链的疑问或理解,将会有机会抢得天涯钻。[2018/3/14]

网易星球黑钻合约10分钟涨幅600%:根据玩家网交易数据显示,网易星钻合约最新成交价格为人民币30元,24小时最高价达人民币30元,最低价格为人民币5.03元,涨幅达600%,1小时成交额为499.35万。[2018/2/9]

标签:EOS区块链SETSEGNEOS价格区块链存证平台法院TensetSEG币

狗狗币热门资讯
区块链:肖磊:区块链领域大部分商业模式会死得很惨_数字货币

本文来自:肖磊看市,作者:肖磊,星球日报经授权转发。关于思考商业模式的问题,对投资是有很大帮助的,一个不愿意去思考商业模式的投资者,实际上可能连合格都算不上,更不要说去赚超额利润.

1900/1/1 0:00:00
WEI:美联储考虑放宽“沃尔克规则”,更多美国人将会加入加密市场_Weird Dao

据Cointelegraph报道,美联储将于5月30日召开会议,考虑放宽“沃尔克规则”(VolckerRule).

1900/1/1 0:00:00
EOS:星球独家 | EOS主网上线前夜,分叉已注定?_SGO

黎明前总是最黑暗的。EOS这个黎明到来前亦是如此。离主网上线不到24小时之际。今日,EOS原力投放在媒体的声明,再次搅动了整个EOS社区.

1900/1/1 0:00:00
CONI:不拘泥于个人用户,意大利数字资产管理初创公司Conio完成300万美元A2轮融资_Fortem Capital

意大利加密货币及区块链服务初创公司Conio已经宣布完成了一笔300万美元A2轮融资,公司估值超过4000万美元。不过,该公司并未披露本轮融资的投资方信息.

1900/1/1 0:00:00
区块链:火币中国合作京东云,目的是研究区块链技术与应用_Huobi

6月28日,京东云与火币中国于北京国家会议中心签署战略合作协议,双方就区块链技术和应用的研发达成战略合作.

1900/1/1 0:00:00
区块链:区块链+艺术:安迪沃霍尔作品将走进“全球首个加密艺术拍卖会”_NAS

14张小电椅据cointelegraph报道,区块链平台Maecenas今日宣布,将于6月20日,在英国美术馆DadianiSyndicate举办全球首个加密货币艺术品拍卖会.

1900/1/1 0:00:00