:Bancor智能合约安全防范策略

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

6.18期间产生了令人头疼的事情。当你醒来时,你忽然发现父母的账户能够随便运用,前男友的钱因为权限设置错误而被他以及他的前女友们同享。这不是意外之财,而是可能是老天犯了个错误。

这个缝隙恰好产生在6月18日Bancor布置的智能合约上。

Bancor在6月16日布置了他们的BancorNetworkv0.6智能合约,然后两天后发现合约存在严峻的安全缝隙。进犯者能够运用这个缝隙转走合约里的钱。

智能合约可能会有许多缝隙,而这次Bancor智能合约的缝隙与函数权限有关。

在智能合约中,函数有4种拜访权限,分别是Public(可被所有人调用)、External(只可被外部调用)、Internal(只可被合约自身及承继合约调用)和Private(只可被合约自身调用)。

需求强调的是,当函数权限设置为public时,任何人都能够调用这个函数,将合约中的钱转走。也就是说,假如你的前男友不小心将他的钱包权限设置为公开,那么包含他的现任、上一任和前上一任在内的任何人,都能够轻易地把他的钱转走。这对他来说肯定很抑郁。

接下来咱们来看一下Bancor缝隙的代码。

在缝隙合约的第45行,咱们看到了safeTransferFrom函数,它的功用是将钱从一个地址转到另一个地址,留意到该函数的权限被设置为public。

风趣的是,CertiK团队经过进一步查询发现,在有缝隙的合约布置两天后,Bancor团队用两个钱包地址来提取合约中的资金,以防止被黑客盗取。同时,两个第三方人员也开端运用这个缝隙提取资金。其间一位运用缝隙进行了16次取款买卖,一共取出了131,889.34美元。这个第三方人员的ETH地址和邮箱分别是0x052ede4c2a04670be329db369c4563283391a3ea和arden43y@gmail.com。他宣称这个地址背后是一个主动运行的买卖系统,可能会无意运用人为失误和合约的缝隙获取资金。假如能够证明这个地址经过缝隙获取了钱,他能够将资金归还。而另一位的地址是0x854B21385544c44121f912AEdF4419335004F8ec和0x1ad1099487b11879e6116ca1ceee486d1efa7b00,他一共进行了四笔取款买卖,共提取了3340美元。

Bancor对此事情进行了官方回应,其间说到他们运用缝隙将合约中的455,349美元转移到另一个钱包。他们还联系了两位第三方人员,请求他们退还运用合约缝隙转走的资金。随后,Bancor更新了有缝隙的合约,将public修改为internal。

这次严峻缝隙产生的原因是开发人员在设置函数权限时犯了错误。在智能合约中,只要一个参数运用错误,就会导致合约中所有人的资金处于风险中。

走运的是,这次缝隙没有被黑客运用,否则用户的资金将永远无法追回。

智能合约可能存在许多缝隙,包含但不限于DOS、逻辑错误、越权拜访、重入和整数溢出等。这些缝隙中的任何一个都会给公司和用户带来巨大的财产损失,并且合约一旦布置就无法更改。

因此,保证智能合约没有缝隙非常重要。在布置合约之前,将其交给专业的安全公司进行安全审计是必不可少的环节。

CertiK经过数学验证在方式层面上证明智能合约的正确性,他们的方针是消除即使是0.00000001%被进犯的可能性。他们不仅仅寻觅缝隙,而是要让缝隙不存在。

以上是CertiK安全审计的部分内容。

需求留意的是,程序测验只能证明缝隙的存在,而不能证明缝隙不存在。

文中说到的智能合约和地址链接能够在以下链接找到:

存在缝隙的智能合约:
https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TOKenHandler.sol

缝隙合约布置的地址:
0x8dFEB86C7C962577deD19AB2050AC78654feA9F7
0x5f58058C0eC971492166763c8C22632B583F667f
0x923cAb01E6a4639664aa64B76396Eec0ea7d3a5f

修改后的智能合约:
https://github.com/bancorprotocol/contracts-solidity/blob/master/solidity/contracts/utility/TokenHandler.sol

其他参阅链接:
https://blog.bancor.network/bancors-response-to-today-s-smart-contract-vulnerability-dc888c589fe4
https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TokenHandler.sol#L45
https://explore.duneanalytics.com/public/dashboards/mEUEd9rQCPjeMkryEIgbtC0YUZwOXESQPTkkqdPX
https://explore.duneanalytics.com/public/dashboards/mEUEd9rQCPjeMkryEIgbtC0YUZwOXESQPTkkqdPX

此时快讯

【Nansen:币安提款潮已结束,以太坊链7天净流入8670万美元】金色财经报道,据Nansen监控的数据,继上周因CZ离职和法律挑战的消息而出现最初的币安提款潮之后,该交易所的资金外流已经结束。以太坊链7天内净流量增加8670万美元,多链代币7天净流出6800万美元。
截至目前币安交易所持有量为651亿美元,较预先公告的658亿美元略有下降,不过这包括价格波动的调整。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明::Bancor智能合约安全防范策略 | 币百度

相关文章