宇宙链 宇宙链
Ctrl+D收藏宇宙链

成都链安:Bancor Network漏洞事件分析

作者:

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

一、事件简述

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已经将存在此漏洞的合约进行标注,如下图所示

成都链安:bDollar项目遭受价格操控攻击,目前攻击者获利2381BNB存放于攻击合约中:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,bDollar项目遭受价格操控攻击。攻击者地址:0x9dadbd8c507c6acbf1c555ff270d8d6ea855178e

攻击交易eth:0x9b16b1b3bf587db1257c06bebd810b4ae364aab42510d0d2eb560c2565bbe7b4

攻击合约:0x6877f0d7815b0389396454c58b2118acd0abb79a

目前攻击者获利2381BNB,存放于攻击合约中。[2022/5/21 3:32:53]

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

详情见,并于UTC时间2020-06-1721:35:53部署了新的BancorNetwork合约,合约地址为0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0二、原理分析

成都链安:Feminist Metaverse项目遭受攻击,攻击者已将1838BNB转入tornado.cash:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,BNB Chain上Feminist Metaverse(FM_Token)项目遭受攻击。

攻击者地址:

0xaaA1634D669dd8aa275BAD6FdF19c7E3B2f1eF50

攻击交易bsc:0xfdc90e060004dd902204673831dce466dcf7e8519a79ccf76b90cd6c1c8b320d

目前攻击者已将1838BNB转入tornado.cash,约54万美元。[2022/5/19 3:26:26]

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

成都链安:Visor Finance遭受攻击事件分析:据成都链安监测显示,Visor Finance于北京时间2021年12月21日晚上10点18分遭受攻击。经成都链安技术团队分析,本次攻击利用了Visor Finance项目抵押挖矿合约RewardsHypervisor的两个漏洞:

1.call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;<- 主要漏洞,造成本次攻击的根本原因。2.函数未做防重入攻击;<- 次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。针对这两个问题,成都链安在此建议项目方应做好下面两方面:1.进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;2.函数做好防重入,推荐使用openzeppelin的ReentrancyGuard合约。[2021/12/22 7:55:18]

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

成都链安:8ight Finance项目疑似私钥泄露,资金总损失接近100万美元:据成都链安链必应-区块链安全态势感知平台舆情监测显示,8ight Finance项目方疑似私钥泄露导致被攻击,资金已从tornado转移出去,资金总损失:868587 DAI,123621 1USDT,10843 EIGHT,80 ONE.[2021/12/8 12:58:37]

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

图四以上就是本次事件漏洞的原理分析,该漏洞的原理十分简单,是因为函数的调用权限设置错误,将本应该只有合约本身调用的函数,设置成了任何人都可以调用。而当BancorNetwork拥有用户的授权额度时,任何人都可以通过调用safeTransferFrom函数,以BancorNetwork的身份对用户的资金进行代理转账。针对该漏洞,有两点值得我们进行深入分析:1.为什么BancorNetwork合约的safeTransferFrom函数会将权限设置成public。2.BancorNetwork合约的主要功能是代币转换,并非一个钱包,为什么用户会有未使用的授权。对于第一个问题,我们追踪了safeTransferFrom函数的调用情况,发现safeTransferFrom函数只在handleSourceToken函数中被调用,用于将用户的代币转移到本合约中。handleSourceToken函数源码如下图所示:

LLE智能合约已通过Beosin(成都链安)的安全审计:据官方消息,Beosin(成都链安)今日已完成LLE智能合约项目的安全审计服务。

猎豹金融生态系统(Leopard lending ecology)是在以太坊区块链上的智能协议,以该协议为中心建立货币服务市场,服务市场是基于资产借贷需求,以计算得出利率。资产的供应商直接与协议进行交互,从而赚取浮动利率,而无需等待协商利率或抵押品等条款。

创始人Willians表示:我们LLE智能合约的整体设计清晰,逻辑缜密,代码安全可靠,具备了区块链上顶级去中心化金融项目条件之一。

合约地址:0xa1521aA6FE752195418ddbADB5A0c331608416B1;

审计报告编号:202009222010。[2020/9/24]

图五既然只是在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团队产品的安全性产生质疑。另外也提醒广大用户和运营商,在授权资金给第三方合约时,都应保持谨慎,切不可盲目相信“大公司”,对任何合约的授权都应当秉承最小原则,不要使自己的资金安全掌握在他人手中。

标签:ANCORNBancorNETScifi Financetorn币价格Bancor Governance TokenIENETChain

火币网下载官方app热门资讯
从0.06%飙涨到30%,BAT的高收益背后实际危机四伏?

编者按:本文来自巴比特资讯,作者:Kyle,星球日报经授权发布。Compound凭借着COMP分配的开始已经成为整个加密货币领域最亮眼的新兴,即使是比特币、ETH2.0这些以往最受关注的热点也要黯然失色.

1900/1/1 0:00:00
PoS和DeFi可以从房贷支持型证券中学到什么?

编者按:本文来自以太坊爱好者,作者:Tarun&Alex,翻译&校对:闵敏、曾汨&阿剑,Odaily星球日报经授权转载.

1900/1/1 0:00:00
COMP挖矿全解答

本文为币乎直播《COMP挖矿全解答》实录嘉宾:链闻研究总监潘致雄随着DeFi明星项目Compound正式启动治理代币COMP的分发,如何参与COMP挖矿已经成为了这几天最火热的话题.

1900/1/1 0:00:00
ETH 2.0的升级会对整个生态带来哪些变化

编者按:本文来自LLab,Odaily星球日报经授权转载。LLab:非常感谢大家参与本次LLab的AMA直播,首先介绍一下我们自己,我们叫LLab,是一档专注区块链深度内容传播的栏目.

1900/1/1 0:00:00
一文了解比特币挖矿产业

挖矿,也许是比特币生态系统最重要的组成部分之一。矿工需要解决复杂的数学计算问题,从而保障交易的顺利执行。这些问题如此复杂,即使对于功能极其强大的计算机而言,这些问题也很难解决.

1900/1/1 0:00:00
成都链安:VETH智能合约被攻击事件分析

2020年6月30日下午5:46,Beosin-OSINT威胁情报系统发现VETH智能合约遭受攻击,被盗919299个VETH。成都链安-安全研究团队第一时间对本次事件进行跟踪分析.

1900/1/1 0:00:00