Creat future惨遭随意转移币,幕后黑手究竟是谁?_ANS:TRA

前言

CF代币合约被发现存在漏洞,它允许任何人转移他人的CF余额。到目前为止,损失约为190万美元,而pancakeswap上CF/USDT交易对已经受到影响。知道创宇区块链安全实验室第一时间对本次事件深入跟踪并进行分析。

事件详情

BKEX Global将于今日18:30上线NEC:据BKEX Global公告,BKEX Global将于2020年8月24日18:30(UTC+8)上线NEC(Nectar Token),开放交易对:NEC/USDT。

DeversiFi团队总部设在伦敦,最初名为Ethfinex;2017年由Bitfinex孵化,在2019年8月推出并更名。DeversiFi是非托管的,允许用户保持对其资金的控制;其重新推出的2.0版本,整合了Starkware的zkSTARK第二层扩展技术。[2020/8/24]

受影响的合约地址

BKEX Global将于今日16:30上线2KEY:据BKEX Global公告,BKEX Global将于2020年8月20日16:30(UTC+8)上线2KEY(2key.network),开放交易对:2KEY/USDT。

2key的区块链技术创造了突破性的链接,以跟踪和记录与他们交互的每一个人;通过这些链接构建创新的推介活动,可奖励推荐链中的每个人,并激励每人协作将您的广告系列投放到准确的受众群体中。[2020/8/20]

https://bscscan

BKEX Global超级合约即将上线BHD:据BKEX Global公告,BHD(BitcoinHD)将于2020年6月18日20:30(UTC+8)上线BKEX超级合约,上线后,BKEX超级合约将支持BKK、CSPC、BHD三大币种交易。

BKEX超级合约是以某个指数价格为标的,用更多其它数字货币作为保证金来交易结算盈亏的全新合约交易模式,具有公平公正、操作简便等优势。

BHD是基于Conditioned Proof Of Capacity的新型加密货币,其主要创新点是采用新型的条件化容量证明共识机制,使用硬盘作为共识的参与者,让人人都能开采加密货币。硬盘挖矿使得BHD更趋向去中心化,通过以数学算法和分布式开采由此产生信用和价值。BHD将致力于打造成改变加密货币生产方式的有价金融系统。[2020/6/15]

uint256fee=0;..

_transfer()函数是直接转移代币transfer()和授权转移代币transferFrom()的具体实现,但该函数的修饰器是public,因此任何人都可以不通过transfer()或transferFrom()函数直接调用它。而当变量useWhiteListSwith设置为False时,该函数不会检查调用地址和传输地址是否合规,直接将代币转移到指定地址。

在区块高度为16841993时,管理员就把useWhiteListSwith设置为False:

此时开始有攻击者利用_transfer()函数直接转移代币:

总结

经过完整分析,知道创宇区块链安全实验室明确了该次事件的源头由函数本身权限出现问题,而管理员同时操作不慎关闭了白名单检测,两方结合导致攻击者可以实现转移任意钱包代币的操作。

在核心函数上我们一直建议使用最小权限原则,像这次的_transfer()函数本不该用public修饰器,使得transferFrom()函数检查授权额度的功能形同虚设;而合约管理者也不该随意修改关键变量值,导致攻击者可以绕过白名单检查的最后一道防线。

合约不仅仅是代码层面的安全,不光需要白盒代码审计,更需要合约管理员共同合理维护。

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

金智博客

[0:31ms0-4:119ms