手机版

当前位置:数字货币交易所 > 焦点 >

一文了解柚子币抵押漏洞细则

时间:2021-07-06 07:21:11|浏览:

4、漏洞缓解策略

综合以上剖析,本文建议修改部分业务逻辑缓解和修复该抵押漏洞。

1.transfer参数无论是否为true,都要直接在抵押发起方余额中扣除(赎回过程不受此限制);

2.梳理有关业务逻辑,审查是不是存在类似漏洞。

2、漏洞攻击步骤

1.假设被攻击用户拥有0.0005个正在赎回途中柚子币。

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

3.买卖生效后,大家看到攻击者的余额没发生变化,而赎回用户正在赎回途中的0.0001个柚子币被迫第三进行抵押。

针对之前柚子币漏洞问题,本文将进行整体细则的回顾,期望大伙提起安全意识,但也不要过度恐慌,正确看待安全问题。

5、漏洞剖析概要

通过以上剖析,通过精心架构的攻击使得特定用户资产进行无限时抵押,没办法赎回。借助缓解策略的手段修补代码可以有效缓解和修复该漏洞。


1、事件概述

6月22日凌晨,柚子币官方社区发布消息称:发现柚子币漏洞,用户抵押投票的代币在漏洞修复之前都没办法赎回。随后大家依据有关消息对该漏洞进行验证确认该漏洞确实存在,且在漏洞修复前,通过精心架构的攻击使得特定用户资产进行无限时抵押,没办法赎回。

大家知晓柚子币使用DPoS共识机制,该机制通过社区投票选举21个超级节点来维护柚子币互联网,为柚子币互联网提供算力、带宽与存储支持。用户投票不需消耗柚子币,但柚子币会被锁定。用户可以随时申请赎回抵押的柚子币,申请赎回后 72小时后到账,同时,投票将被扣减。

此次漏洞事件发生在柚子币赎回过程中,假如其他用户抵押柚子币给赎回用户,系统第一将赎回用户赎回过程中的柚子币进行第三抵押。大家已经知晓申请赎回的柚子币需要72小时才能到账,如前所诉,通过精心架构的攻击理论上使得指定用户资产进行无限时抵押,对用户导致紧急风险。

3、漏洞原理分析

攻击步骤图中的攻击命令如下:

cl柚子币 --wallet-url http://localhost:6666 --url http://mainnet.gener柚子币.io:80 system delegatebw "0.0001 柚子币" "0.0000 柚子币" --transfer

因为攻击者在调用命令时加入了--transfer参数,在调用到抵押函数delegatebw时会调用changbw函数,此时transfer为true

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

下面被攻击对象的数据被修改,柚子币第三抵押,

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

上一篇:莱特币突破200USD关口 日内涨幅为12.62% 下一篇:没有了

Copyright © 2002-2021 数字货币交易所 (http://www.bjfdjx.com) 网站地图 TAG标签