一、事件简述
2020-06-18(文中所提及时间均为UTC时间),以太坊上的智能合约BancorNetwork被爆出存在严重漏洞。该漏洞由BancorNetwork团队和白帽最先发现,并第一时间对存在被盗风险的资金进行了转移,涉及资金50W余美元。此次事件中,存在漏洞的合约地址主要有如下三个:0x923cab01e6a4639664aa64b76396eec0ea7d3a5f0x8dfeb86c7c962577ded19ab2050ac78654fea9f70x5f58058c0ec971492166763c8c22632b583f667f2020-06-183:06:48,BancorNetwork团队利用此漏洞对存在被盗风险的用户资金进行转移,截至2020-06-186:56,BancorNetwork团队共计转移资金约合$409,656。另外两个公开邮箱信息的地址:0x052ede4c2a04670be329db369c4563283391a3ea0x1ad1099487b11879e6116ca1ceee486d1efa7b00也于同一时间利用此漏洞对用户资金进行转移,分别转出资金$131,889和$2346。到目前为止:EtherScan已经将存在此漏洞的合约进行标注,如下图所示
成都链安:Wuliangye NFT项目疑似Rug Pull,共获利70.5个ETH:8月11日,成都链安鹰眼监测显示,Wuliangye NFT项目疑似Rug Pull,官网和社群已关闭。成都链安安全团队通过链必追-虚拟货币智能研判平台追踪发现,有595个地址购买了705个WLY NFT,项目方共获利70.5个ETH,接着将ETH交换为111316.22个USDT,最终转入0x28C6c06298d514Db089934071355E5743bf21d60地址(标记为Binance 14)。[2022/8/11 12:18:18]
图一BancorNetwork团队也已对此次事件做出了回应,
成都链安:BaconProtocol遭受攻击事件分析:据成都链安链必应-区块链安全态势感知平台舆情监测显示,BaconProtocol遭受黑客攻击损失约958,166 美元,关于本次攻击,成都链安团队第一时间进行了分析:1. 本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。2:目前攻击者地址还没有被加入USDC的黑名单中。[2022/3/6 13:40:01]
详情见,并于UTC时间2020-06-1721:35:53部署了新的BancorNetwork合约,合约地址为0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0二、原理分析
漏洞爆出后,成都链安安全团队第一时间对本次事件进行跟踪分析,根据链上分析结果发现,此次事件中漏洞产生的主要原因是智能合约BancorNetwork存在一个调用权限为public的函数safeTransferFrom,通过调用此函数,可以将用户授权给智能合约BancorNetwork的资金转出到任意地址。由源码可以知,该函数为一个public函数,详细代码如下图所示:
成都链安CEO杨霞:DeFi项目方应重视合约安全问题:据官方消息,在由OKEx主办的“后疫情时代:DeFi的机遇与挑战”社群活动上,成都链安创始人兼CEO杨霞谈到最近dForce攻击事件,她表示,DeFi项目正在快速发展壮大,据我们统计截止2020年,锁定在以太坊DeFi应用中资产已达到10亿美元。DeFi项目火爆主要来源它的高收益。DeFi又被称为“去中心化金融”,开放式金融基础,则是高达8%-10%收益率必然会伴随巨大风险。各方DeFi团队开发自己合约产品也是自由发挥;但并没有一个统一的、标准的安全方案去遵守,或者说是必须通过严格安全审计,这就导致各种合约漏洞与相关安全问题层出不穷,此次事件项目方就应该进行重入防护:比如使用OpenZeppelin的ReentrancyGuard,另一方面先修改本合约状态变量,再进行外部调用。任何Defi项目方在开发合约时应重视合约安全问题,以应对各种突发情况和各种非正常使用合约情况,从而避免造成损失;同时建议做好相关安全审计工作,借助专业的区块链安全公司的力量,避免潜在的安全隐患。[2020/4/30]
动态 | 成都链安再获联想创投、复星高科领投多轮数千万元融资:区块链安全公司成都链安科技有限公司继2018年5月分布式资本种子轮投资,2018年11月界石资本、盘古创富天使轮投资后,近期连获多轮融资,共计数千万人民币,由联想创投、复星高科领投,成创投、任子行战略投资,分布式资本、界石资本、盘古创富等老股东均跟投。
此次融资将用于持续深化区块链全生态安全布局、研发“一站式”区块链安全服务平台、开展自主可控的区块链安全技术研究、提升用户全新体验及全球化市场的拓展,助力成都链安成为全球区块链安全领域的行业标杆。在当前区块链新时代风口下,一方面成都链安将利用“一站式”区块链安全平台和服务,协助相关企业做好安全防护工作,提升安全防护能力,减少安全损失;另一方面将继续大力协助政府监管机构做好调查取证等工作,以切实加强安全监管;同时多为行业发展发出正能量的声音,带头建立起有序的行业规范,并促进安全标准建设。[2020/1/16]
图二safeTransferFrom函数内部调用了execute函数。而execute函数的功能是调用safeTransferFrom参数中的_token代币智能合约的transferFrom函数进行代理转账。execute函数源码如下图所示:
声音 | 成都链安:用户安全意识不足、交易所安全体系不够完善等因素造成交易所安全事件频发:成都链安统计数据显示,近期交易所安全问题时有发生。通过总结近期各种交易所安全事件和用户丢币事件,成都链安分析认为,交易所安全事件的问题来源主要有三点:1、用户安全意识不足,导致误入钓鱼网站等进而私密信息被盗。2、交易所安全体系不够完善,平台自身存在安全漏洞。3.交易所外接数据服务或其他服务后,未针对不可控因素建立应急机制。[2019/8/26]
图三我们通过一笔链上交易可以清晰的看到调用此函数的具体作用。如地址“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团队产品的安全性产生质疑。另外也提醒广大用户和运营商,在授权资金给第三方合约时,都应保持谨慎,切不可盲目相信“大公司”,对任何合约的授权都应当秉承最小原则,不要使自己的资金安全掌握在他人手中。
标签:ANCNETBANORNALLDEX AllianceArkane NetworkOneFinBank CoinYESorNO
随着全球贸易额不断增长,贸易融资市场实现了迅速发展的同时,痛点也逐渐显露,核验成本高、融资信息不完整、虚假融资、重复融资、监管难度大等问题凸显,企业融资成本显著提升.
1900/1/1 0:00:00编者按:本文来自白话区块链,作者:阿华,Odaily星球日报经授权转载。谈起区块链数字资产,就离不开数字钱包,随着区块链技术的不断发展,数字钱包在区块链生态中起着越来越重要的作用,早期只有转账、.
1900/1/1 0:00:00编者按:本文来自小吒闲谈,Odaily星球日报经授权转载。长铗说:如果把过去区块链总结为三个浪潮:2009-2014是数字货币,2014-2019是数字资产ICO,2020-未来则是DeFi.
1900/1/1 0:00:00嘉宾:NFT收藏家WhaleShark主持人:小喵Beep币扑创始人/喵懂区块链发起人时间:6.2915:00pm主题:NFT巨鲸——WhaleShark的加密逐梦路导语:区块链混沌阶段.
1900/1/1 0:00:00纵观人类世界发展,基本都为从点到线,由线到面,由面到体。也就是说不管什么事都需要由一个点到整体的把控。供应链金融的作用就是如此,让人们从根本上把控金融风险发展.
1900/1/1 0:00:00文|黄雪姣编辑|Mandy王梦蝶出品|Odaily星球日报 6月26日晚9点半,亿邦国际在杭州“云敲钟”,正式登陆纳斯达克,成为继嘉楠耘智后的“矿机第二股”.
1900/1/1 0:00:00