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

ANC:首发 | Bancor智能合约为何会出现漏洞?该如何避免?_SOL

作者:

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

6.18期间正愁”千手观音“还不够剁,如果一觉醒来,突然发现爸妈的账户可以随便用了,前男友的钱因为权限设置错误而对你以及他所有前女友开放了。不是天上掉馅饼,而是老天可能漏了个洞。

我的是我的,你的还是我的。

这种漏洞恰好于6月18日发生在了Bancor部署的智能合约上。

Bancor 在6月16号部署了他们的 BancorNetwork v0.6的智能合约, 紧接着两天后合约被发现存在严重的安全漏洞。攻击者可利用此漏洞转走合约里的钱。

智能合约可能产生的漏洞有很多种,而本次Bancor智能合约所产生的漏洞与函数有关。

先科普一下,在智能合约里,函数有4种访问权限:

Public - 可被所有人调用

首发 | 百度财报体现区块链 BaaS平台成为新战略重点:金色财经报道,2020年2月28日,百度(股票代码BAIDU)公布财报,其中将区块链BaaS平台相关的进展进行了单独叙述,依托于百度智能云的区块链平台有望成为技术创新方向的新增长引擎。在AI服务上,百度与上海浦东发展银行达成合作,共建区块链联盟,在百度区块链服务(BaaS)平台上实现跨行信息验证。[2020/2/28]

External - 只可被外部所调用

Internal - 只可被合约本身以及继承合约调用

Private - 只可被合约本身调用

这里强调一下,当函数权限被设置为public时,任何人都可以调用这个函数,从而把合约里的钱转走。也就是说,当你的前男友不小心把他的钱包权限设置成了公开,那么包括他的现任、前任、前前任在内的世界上的任何人,都可以轻而易举地把他的钱转移走。此刻他一定非常心塞。

首发 | Bithumb将推出与Bithumb Global之间的加密资产转账服务:Bithumb内部人士对金色财经透露,Bithumb推出和Bithumb Global之间的加密货币资产免手续费快速转账服务,每日加密货币资产转账限额为2枚BTC。此消息将于今日晚间对外公布。据悉,目前仅支持BTC和ETH资产转账。[2020/2/26]

下面我们来看一下此次Bancor漏洞的代码:

在漏洞合约的第45行我们看到safeTransferFrom函数,这个函数的功能是从一个地址往另一个地址转账,注意到此函数的权限被设置为public。

有趣的是,CertiK团队通过进一步的调查发现,在有漏洞的合约部署的两天后,Bancor团队用了以下两个钱包地址去通过漏洞提取合约中的资金,来清空合约里的资金,防止被黑客盗取,也算是弥补漏洞的精明之举: 

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

动态 | 可信教育数字身份在广州白云区首发 采用区块链等技术:12月25日,可信教育数字身份(教育卡)广东省应用试点首发仪式与应用研讨在广州市白云区举行。

据介绍,可信教育数字身份融合采用国产密码、区块链等核心技术,创新签发“云计算、边缘计算、移动计算”网络环境下的一体化数字身份,实现一体化密钥管理,构建“可信教育身份链”。(中国新闻网)[2019/12/25]

0x14fa61fd261ab950b9ce07685180a9555ab5d665

几乎同时,两个第三方人员也开始利用这个漏洞提取资金,其中一位利用漏洞进行了16次取款交易,总共取出了131,889.34美元。这个第三方人员的ETH地址和邮箱分别是:

0x052ede4c2a04670be329db369c4563283391a3ea

arden43y/img/2022811213429/4.jpg" />

而另一位的地址是以下两个: 

0x854B21385544c44121f912AEdF4419335004F8ec,

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

IMEOS首发 BM表示EOS合约具有整数溢出保护:据金色财经合作媒体IMEOS报道:近日ETH出现多个ERC20智能合约的处理溢出错误,BM在推特上发表评论:新的ETH契约Bug可能会破坏整个Token的供应,让持有者留下无价值Token.这就算为什么代码不能成为法律,随即表示EOS erc合约不容易受到这种攻击。而EOS官方群也有人表示担忧EOS是否具有整数溢出保护?BM回应:有很多C ++模板类可以封装类型并检查溢出。[2018/4/25]

他总共进行了四笔取款交易,共提取了3340美元。(折合人民币2万3千元左右,可以足足吃上2000多顿小龙虾。)

Bancor对此事件进行了官方回应(详情请见文末“其他参考链接”第一条): 

其中有一段提到他们利用这个漏洞把合约里的$455,349的余额转移到另一个钱包里了。

另一段称已与两位第三方人员取得联系,请求他们退回利用合约漏洞而转走的资金。

Bancor随后更新了有漏洞的合约。

可以明显看出public被改为了internal。

造成此严重漏洞的原因是开发人员在设置函数权限的时候犯了错误。在智能合约里,仅仅一个参数使用错误,就可导致合约里所有人的钱都处于危险之中。

值得庆幸的是,此次漏洞并没有被黑客利用,不然用户的钱将永远无法追溯。

智能合约类似于函数调用错误的漏洞还包括但不限于DOS、逻辑错误、越权访问、重入及整数溢出等一千种可能。这一千种可能里面任意的一种可能,都会给公司及用户带来巨大的财产损失,而且合约具有一旦部署就不可更改的属性。

因此,保证智能合约没有漏洞,是非常重要的。合约在部署前,交给专业的安全公司进行安全审计是不可或缺的环节。

CertiK会使用形式化通过数学层面的验证去证明智能合约的正确性。以上则是CertiK安全审计的部分内容。

程序测试可以证明漏洞的存在,但永远不能说明漏洞不存在。

而CertiK的存在,就是为了让漏洞不存在。

我们绝不仅仅是寻找漏洞,而是要消除哪怕只有0.00000001%被攻击的可能性。

文中所提及智能合约及地址链接如下:

存在漏洞的智能合约: 

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

标签:ANCBANBancorSOLKush Finance优贝币ubank是什么Bancor Governance TokenSOLID

瑞波币热门资讯
区块链:嘉楠股票获富达、文艺复兴增持 看好加密行业_SHA

吴说区块链独家获悉,世界最大的投资管理公司之一富达正在增持嘉楠科技的股票。截止到3月31日,富达增持了2338558股嘉楠科技的股票,持有嘉楠1.49%的股票,并且很有可能还在继续增持中.

1900/1/1 0:00:00
比特币:金色观察丨如果BTC四年一轮回 我们离牛市还有多远?_比特币价格

金色财经 区块链6月15日讯  从历史数据来看,比特币确实有着每四年一个周期的大循环价格螺旋上升波动,这个周期和区块奖励减半紧密相关,期间我们可以看到牛市的景气和熊市的萧条.

1900/1/1 0:00:00
区块链:金色趋势丨BTC单边行情即将开启?_secret币现怎么样

金色相对论|比特币减半特辑之矿业篇:减半之后矿工还好吗,矿业又该怎么走?今晚19:00,金色财经邀请到F2pool联合创始人&Cobo联合创始人兼CEO神鱼、币印矿池创始人&CEO潘志彪、多挖矿.

1900/1/1 0:00:00
区块链:首发 | OKEx投研:BTC虚晃一继续震荡 多空双方依然胜负难分_HUM价格

BTC季度合约 各级别性质:日线-盘整,4小时-盘整(偏多格局),1小时-盘整(偏多格局)截图来自OKEX比特币季度合约4小时图:对于行情从两个角度来说.

1900/1/1 0:00:00
区块链:云南水电站发生大爆炸 当地矿场面临严格安全检查_比特币

5月29日上午,普洱市墨江县国家电力投资集团云南滇能泗南江水电站左岸泄洪冲沙洞发生疑似爆炸事故,共造成6人死亡、5人受伤。吴说区块链获悉,当地有不少加密货币矿场,但网传矿场爆炸所致应不属实.

1900/1/1 0:00:00
USD:2020年稳定币何以崛起?看看六大稳定币的运营情况就知道了_USDT

截至6月4日,六种稳定币-Tether(USDT)、Gemini Dollar(GUSD)、HUSD(HUSD)、PAX Gold(PAXG)TrueUSD (TUSD)和USD Coin(US.

1900/1/1 0:00:00