链资讯 链资讯
Ctrl+D收藏链资讯
首页 > MANA > 正文

TWO:Bancor安全事件分析:简单漏洞引发50万美元损失_NET

作者:

时间:

一、事件简述

2020-06-18(文中所提及时间均为UTC时间),以太坊上的智能合约BancorNetwork被爆出存在严重漏洞。该漏洞由BancorNetwork团队和白帽最先发现,并第一时间对存在被盗风险的资金进行了转移,涉及资金50W余美元。

此次事件中,存在漏洞的合约地址主要有如下三个:

0x923cab01e6a4639664aa64b76396eec0ea7d3a5f

0x8dfeb86c7c962577ded19ab2050ac78654fea9f7

0x5f58058c0ec971492166763c8c22632b583f667f

2020-06-183:06:48,BancorNetwork团队利用此漏洞对存在被盗风险的用户资金进行转移,截至2020-06-18?6:56,BancorNetwork团队共计转移资金约合$409,656。

另外两个公开邮箱信息的地址:

0x052ede4c2a04670be329db369c4563283391a3ea

Signature Bank未证实LedgerX使用其服务:金色财经报道,此前雅虎和彭博社均披露LedgerX为了与Silvergate Bank保持距离已选择改用Signature Bank作为其电汇资金接收方,但到目前为止Signature并未证实这一消息,该金融机构在一份声明中表示:“虽然我们不能对特定客户发表评论,但我们仍在为数字资产客户提供持有部分美元存款的业务。”由于Silvergate Bank陷入困境,目前已有多家加密公司表示不再使用其服务而转向Signature Bank,包括Coinbase等。(cryptoslate)[2023/3/3 12:40:35]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

也于同一时间利用此漏洞对用户资金进行转移,分别转出资金$131,889和$2346。

到目前为止:

EtherScan已经将存在此漏洞的合约进行标注,如下图所示

欧洲区块链银行Bank Frick为客户推出数字资产质押服务:金色财经报道,欧洲区块链银行Bank Frick为客户推出数字资产质押服务。Bank Frick 区块链银行业务高级关系经理 Jonas Gantenbein 表示,质押涉及将一定数量的数字资产作为证券持有,以验证区块链网络中的交易。因此,质押通过提供更多验证器来验证交易并保证网络的完整性,有助于区块链网络的安全性。Bank Frick保持对委托加密货币的完全控制,所有质押活动都是自我托管(非托管)的,这意味着Bank Frick保持对委托加密货币的唯一和完全控制。[2023/2/15 12:08:48]

图一

BancorNetwork团队也已对此次事件做出了回应,

详情见

并于UTC时间2020-06-1721:35:53部署了新的BancorNetwork合约,合约地址为

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

Moonriver宣布集成跨链数据预言机平台Band Protocol:10月7日消息,波卡生态智能合约平台Moonbeam的Kusama平行链Moonriver宣布已集成Band Protocol。Band Protocol是一个跨链数据预言机平台,聚合现实世界的数据和API,将它们连接到智能合约。该集成允许Band Protocol的价格预言机基础设施Moonriver生态系统中DeFi协议上的现有部署提供无需许可且安全的数据馈送,这些部署包括稳定币掉期、去中心化交易所、游戏、借贷协议以及NFT项目。(CryptoDaily)[2021/10/7 20:11:05]

二、原理分析

漏洞爆出后,成都链安安全团队第一时间对本次事件进行跟踪分析,根据链上分析结果发现,此次事件中漏洞产生的主要原因是智能合约BancorNetwork存在一个调用权限为public的函数safeTransferFrom,通过调用此函数,可以将用户授权给智能合约BancorNetwork的资金转出到任意地址。

由源码可以知,该函数为一个public函数,详细代码如下图所示:

LBANK蓝贝壳于3月22日18:00首发 DORA,开放USDT交易:据官方公告,3月22日18:00,LBANK蓝贝壳首发DORA(Dora Factory),开放USDT交易,现已开放充值。

资料显示,Dora Factory 是基于波卡的 DAO 即服务基础设施,基于 Substrate 的开放、可编程的链上治理协议平台,为新一代去中心化组织和开发者提供二次方投票、曲线拍卖、Bounty 激励、跨链资产管理等可插拔的治理功能。同时,开发者可以向这个 DAO 即服务平台提交新的治理模块,并获得持续的激励。[2021/3/22 19:07:06]

图二

safeTransferFrom函数内部调用了execute函数。而execute函数的功能是调用safeTransferFrom参数中的_token代币智能合约的transferFrom函数进行代理转账。execute函数源码如下图所示:

Bancor公布流动性挖矿计划 首批将支持8个资金池:去中心化交易协议Bancor(BNT)公布流动性挖矿计划,以吸引新的流动性。BNT流动性挖矿首批将支持6个大型资金池ETH、WBTC、USDT、USDC、DAI、LINK以及2个中型资金池OCEAN和renBTC,其中,将每周向大型资金池分配10万到20万枚BNT,向中型资金池分配1万到2万枚BNT。每隔两周,Bancor会通过治理将新的代币增加至该流动性挖矿计划,激活之后,可连续12周获得BNT奖励。整个流动性挖矿计划将持续72周。Bancor表示,从11月16日开始到该计划最终启动时,将为拟议的8个资金池提供流动性的用户都将获得BNT奖励。[2020/11/17 21:01:40]

图三

我们通过一笔链上交易可以清晰的看到调用此函数的具体作用。如地址“0xc802”发起一笔交易,调用了智能合约“0x5f58”的safeTransferFrom函数,使地址”0x8a39”中的0.000000000000000003代币MFG发送到”0x2955”,具体如下图所示:

图四

以上就是本次事件漏洞的原理分析,该漏洞的原理十分简单,是因为函数的调用权限设置错误,将本应该只有合约本身调用的函数,设置成了任何人都可以调用。而当BancorNetwork拥有用户的授权额度时,任何人都可以通过调用safeTransferFrom函数,以BancorNetwork的身份对用户的资金进行代理转账。

针对该漏洞,有两点值得我们进行深入分析:

1.?为什么BancorNetwork合约的safeTransferFrom函数会将权限设置成public。

2.?BancorNetwork合约的主要功能是代币转换,并非一个钱包,为什么用户会有未使用的授权。

对于第一个问题,我们追踪了safeTransferFrom函数的调用情况,发现safeTransferFrom函数只在handleSourceToken函数中被调用,用于将用户的代币转移到本合约中。handleSourceToken函数源码如下图所示:

图五

既然只是在handleSourceToken函数中调用,那么显然是没有必要设置成public权限,且根据业务来看,BancorNetwork的主要作用是用于代币交换,并不需要用户主动调用safeTransferFrom,也就没有必要将safetransferFrom设置为public权限。于是我们对比了合约中其他的几个函数,这几个函数均被设置成了public权限。如下图所示:

图六

由此,针对第一个问题,我们推测将这些函数设置为public权限可能是因为合约开发人员的疏忽。而目前来看,BancorNetwork团队新部署的合约也验证了这个推测。根据链上代码显示,官方部署的新合约已经将相关函数权限全部进行了更改。具体代码如下图所示:

图七

针对第二个问题,我们跟踪了漏洞爆出后被转移资金的地址,发现这些地址在对BancorNetwork授权额度时,往往超过了所需要兑换代币的数量,且在兑换完成后,并没有收回额度。如下图所示:

图八

“0x624f”开头的地址对BancorNetwork合约授权了900000000000000个ONG代币,此额度已经超过了ONG的发行量,相当于将“0x624f”所拥有的ONG代币全部授权给BancorNetwork合约。而跟踪“0x624f”开头地址的交易我们发现,在进行完代币兑换后,未使用完所有授权额度,但并未将授权额度收回。

综上所述,我们推测可能是用户考虑到要随时使用,为了方便,一次性将所有代币都授权给了BancorNetwork合约。也可能是BancorNetwork的前端对授权金额设定了默认值。但这种行为存在巨大的风险,一旦智能合约爆发漏洞,资金极易被攻击者窃取。而在对后续新的BancorNetwork合约进行分析时发现,BancorNetwork团队和用户似乎也意识到了此问题存在的巨大风险,并做出了相应的安全防护。如下图九、十为用户对新合约的授权情况,对比两笔线上交易不难看出,两次授权的时间间隔很短,当用户成功兑换完代币后,剩余授权即被收回。

图九

图十

三、结语

BancorNetwork本次爆出的漏洞,是一个较为简单的漏洞,此类漏洞在代码审计过程中十分容易被发现,但此次漏洞的影响却很大,上线仅两天,涉及的资金就已经超过50w美元。幸而BancorNetwork团队及时发现并修复了漏洞,否则后果不堪设想。成都链安-安全研究团队在此提醒各大智能合约运营商,因区块链合约部署后不可更改的特性,对比传统软件,上线前做好充分的代码审计十分重要,此次事件虽未造成太大的经济损失,但势必会让用户对BancorNetwork团队产品的安全性产生质疑。另外也提醒广大用户和运营商,在授权资金给第三方合约时,都应保持谨慎,切不可盲目相信“大公司”,对任何合约的授权都应当秉承最小原则,不要使自己的资金安全掌握在他人手中。

标签:TWOCORNORNNETDebitum NetworkAqua Unicorntorn币最新消息KIRA Network

MANA热门资讯
DMG:亿邦国际赴美上市,后市如何?中概股在美上市环境分析_STO

本文来源:?彩云区块链 作者:cncoin 上周虽然矿圈表面风平浪静,但是暗地里也是风起云涌,一方面四川打击违规矿场直供电,另一方面挖矿难度飙升,使得很多矿工收益骤然降低.

区块链:海外挖矿崛起:美国批量建厂,马来西亚成偷电天堂_Over Powered Coin

文|棘轮、比萨 进入2020年,中国在比特币挖矿业的霸主地位,正在遭遇挑战。剑桥大学数据显示,从2019年9月到2020年4月,中国比特币算力占比,从75.62%跌至65.08%.

MOV:杭州区块链国际周丨朗豫:储备池和借贷是MOV重点发力的方向_DEF

7月5日下午,在“2020杭州区块链国际周比原链专场—MOVtoANewStableFinancialWorld”活动现场.

Bancor:A股大涨,加密货币还有机会么?_ANC

来源:加密谷Live,作者:TonyToro,翻译:Liam周一的时候,沪综指出现了五年来最大幅度的单日上涨。收盘上涨5.7%,为2015年上一轮牛市以来的最大涨幅.

ORN:期货横行,交易所上演Filecoin单机游戏_torn币最新利好消息

作者|问道 编辑|文刀 没有上线主网的Filecoin,在FIL代币?0流通的情况下创造出日交易额3亿元的炒作市场.

比特币:第二个比特大陆?嘉楠科技多位高管退出,知情人称管理层夺权内斗_pros币是不是正规币

文章来源:科创板日报 《科创板日报》讯,作为曾经的第二大比特币矿机厂商,连管理层内斗也向“大哥”比特大陆学习?近日,杭州嘉楠耘智信息科技有限公司发生工商变更,原董事孔剑平、孙奇峰、李佳轩.