EOS:细节!EOS抵押漏洞分析

编者按:本文来自数字彗星科技,星球日报经授权发布。针对前段时间EOS漏洞问题,本文将进行整体细节的回顾,希望大家提起安全意识,但也不要过度恐慌,正确看待安全问题。一、事件概述6月22日凌晨,EOS官方社区发布消息称:发现EOS漏洞,用户抵押投票的代币在漏洞修复之前都无法赎回。随后我们根据相关消息对该漏洞进行验证确认该漏洞确实存在,且在漏洞修复前,通过精心构造的攻击使得特定用户资产进行无限期抵押,无法赎回。我们知道EOS采用DPoS共识机制,该机制通过社区投票选举21个超级节点来维护EOS网络,为EOS网络提供算力、带宽以及存储支持。用户投票不需消耗EOS,但EOS会被锁定。用户可以随时申请赎回抵押的EOS,申请赎回后72小时后到账,同时,投票将被扣减。此次漏洞事件发生在EOS赎回过程中,如果其他用户抵押EOS给赎回用户,系统首先将赎回用户赎回过程中的EOS进行再次抵押。我们已经知道申请赎回的EOS需要72小时才能到账,如前所诉,通过精心构造的攻击理论上使得指定用户资产进行无限期抵押,对用户造成严重危害。二、漏洞攻击流程1.假设被攻击用户拥有0.0005个正在赎回途中EOS。

链游社区ParagonsDAO公布首发PDT细节:1月17日,链游社区 ParagonsDAO 公布社区首发 PDT 细节。社区将于北京时间 1 月 18 日 0 点起同时开启 Initial Bonding Event 和 Copper Launch LBP。其中 Initial Bonding Event 允许用户出售可用的 Parallel 卡来交易获取 PDT,该活动将分发 810 万枚 PDT,售完为止。Copper Launch LBP 将持续 72 小时,该活动将分发 3750 万枚 PDT,拍卖初始价格为 0.34 DAI/PDT。

此前,团队宣布将原定于 15 日的首发活动推迟三天,为将社区的一些优秀反馈和建议反映到发布体验中[2022/1/17 8:53:35]

2.此时攻击者向赎回用户抵押0.0001个EOS。

IBM区块链市场开发和加密货币战略负责人透露与Stellar合作细节:据ambcrypto,IBM区块链市场开发和加密货币战略负责人Jesse Lund曾表示,Stellar是IBM Blockchain平台战略的一部分。在最近的Reddit AMA中,Lund给出了关于IBM如何与Stellar Lumens合作的大量细节。其中包括:1. Stellar已经在IBM被采用,为跨国界提供更便宜,更快速的支付;2. Stellar网络很有可能见证第一个央行发行的加密货币;3. XLM旨在成为IBM全能支付解决方案中的主要桥梁资产;4. IBM没有计划立刻发放自己的代币,而会将XLM推向客户;5. IBM正在将自己的解决方案构建为Stellar系统之上的额外一层,而Stellar则是IBM未来战略的组成部分;6. IBM计划使用Stellar与Ripple直接竞争来接管跨境交易;7. IBM已经有很多客户准备在2018年第二季度与XLM国际交易进行合作。[2018/3/27]

3.交易生效后,我们看到攻击者的余额没有发生变化,而赎回用户正在赎回途中的0.0001个EOS被迫再次进行抵押。

日本金融厅对Coincheck交易所下达的业务改善命令细节:日本金融厅今日对Coincheck交易所下达的业务改善命令细节包括:

1.从根本改变经营体制;彻底改变经营战略,贯彻保护顾客资产;整顿董事会的各种形式;仔细检查各类加密货币的风险;以及恐怖主义融资对策;首先针对交易再开以及新注册顾客的开户活动,确保时效性。

2.针对顾客的补偿以及交易,要对金融厅进行切实报告;

3.上记1.里提到的业务改善计划必须在2018年3月22日之前书面提出;

4.直到业务改善计划全面实施完成,每一个月的实施情况以及进展必须在下一个月10日之前书面向金融厅汇报。[2018/3/8]

三、漏洞原理解析攻击流程图中的攻击命令如下:cleos--wallet-urlhttp://localhost:6666--urlhttp://mainnet.genereos.io:80systemdelegatebw(attacker)(victim)"0.0001EOS""0.0000EOS"--transfer由于攻击者在调用命令时加入了--transfer参数,在调用到抵押函数delegatebw时会调用changbw函数,此时transfer为true

当transfer变量为true时,from地址变成被攻击对象的地址,

接下来被攻击对象的数据被修改,EOS再次抵押,

四、漏洞缓解方案综合以上分析,本文建议修改部分业务逻辑缓解和修复该抵押漏洞。1.transfer参数不管是否为true,都应该直接在抵押发起方余额中扣除;2.梳理相关业务逻辑,审查是否存在类似漏洞。五、漏洞分析总结通过以上分析,通过精心构造的攻击使得特定用户资产进行无限期抵押,无法赎回。利用缓解方案的措施修补代码能够有效缓解和修复该漏洞。

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

地球链

[0:15ms0-0:918ms