继6月29日凌晨2点CertiK捕获Balancer攻击事件后《空手套以太:Balancer攻击解析》, 北京时间6月29日下午8点整与11点23分,CertiK天网系统(Skynet) 再次检查到两起类似原理的Balancer DeFi合约异常,两起异常分别发生在区块数10360609与区块数10361515。与29日单纯利用合约漏洞的攻击不同,这次黑客巧妙利用了Compund金融模型,无中生有了大量COMP代币。明星DeFi项目,一日内连遭三次攻击,让支持者不禁担忧起整个DeFi市场的未来。
天网扫描
事件概述
6月29日,攻击者从dYdX闪电贷中借到代币并铸币后,通过uniswap闪贷获得cWBTC和cBAT代币,然后将借得的代币在Balancer代币池中大量交易,从而触发Compound协议的空投机制,获得空投的COMP代币,再使用Balancer有漏洞的gulp()函数更新代币池数量后,取走所有代币并归还闪电贷。攻击者相当于利用了Compound协议的金融模型、闪电贷和Balancer代码漏洞,无中生有了COMP,总获利约为11.5ETH。
CertiK攻击者心理画像
6月29日下午8点与11点的两起攻击使用了相同的手法并且使用了同一个收款地址,确认为一个团队。虽然这两次攻击与29日凌晨2点的攻击均利用了Balancer合约的gulp(),但是攻击手段不同,后两次攻击利用了Compound的金融模型的漏洞而不是单纯的代码漏洞。另外,后两次攻击的获利远小于首次攻击获利,实施首次攻击的黑客没有再次攻击的动机。
CNBC:由于加密友好政策和税收优惠,加密富豪们纷纷涌向波多黎各:据CNBC报道,由于波多黎各的加密友好政策,包括对每年至少在岛上居住183天的居民的巨大税收优惠,加密富豪正蜂拥至该岛。此地居民可以继续持有美国护照,还可以避免缴纳资本利得税。
自2012年以来一直从事加密货币业务的David Johnston于2021年3月举家从奥斯汀搬到了波多黎各。Johnston声称,他的大多数朋友都做出了类似的决定。
尽管当局对加密货币创业者的涌入感到兴奋,但一些当地人似乎对此不太满意。波多黎各人尤其对资本利得税的免税感到不满,因为这种免税只适用于外来者。高净值外来者的激增也导致了房地产价格的上涨,当地房价已经超过了生活成本,引发了人们的不满。(Crypto Globe)[2022/1/23 9:07:44]
CertiK判断后两次攻击是在首次攻击14小时后,利用类似原理实施的模仿攻击。
DeFi安全新挑战
这次的攻击事件主要利用了金融模型设计上的漏洞,而不是代码层面的漏洞。这种由DeFi市场孕育出的新型攻击模式,让大部分区块链安全公司仅有的“代码审计”服务变得毫无用处。
只针对代码层面而不能对抽象模型进行分析的、传统的安全技术完全应对不了DeFi带来的新挑战。而没有模型层面保护的DeFi,只能沦为熟知DeFi金融模型的黑客的提款机。
DeFi安全预警是弊大于利吗?
这次的模仿攻击,让很多人对区块链安全公司产生了质疑:安全公司的分析文章会不会教会更多人攻击的方法?为什么各种安全预警没有改善安全环境?我们真的还需要安全预警吗?
CertiK的观点是,不仅需要安全预警,还要做到更快更深入!
济宁市发布“济时通”APP区块链电子卡证平台:“济时通”APP区块链电子卡证平台已正式上线发布。济宁市大数据中心基于区块链技术打造区块链电子卡证平台,实现身份证、结婚证、医师证、护士证等15类常用电子证照上链。联合曲阜市大数据中心推广电子证照应用,秒享“三孔景区”通行,助力企业复工复产、拉动文旅消费。(济宁新闻网)[2020/10/1]
不同于传统软件系统,区块链所有的交易、所有的合约调用都是公开透明的。攻击事件发生后,区块链上的交易记录对于黑客而言就是最直白的教科书,区块链安全公司要抢在模仿攻击之前发布预警,保护相关公司。但是最近频繁的攻击事件,再一次证明安全预警是远远不够的,并不能改变当前DeFi乃至整个区块链的安全现状。
DeFi安全还有机会吗?
为了根本性改变DeFi的安全现状,我们必须针对新型智能合约(比如DeFi、IoT) 引入全新的安全机制。
这种安全机制必须要能进行模型层的分析,必须能够适应新型合约的发展,尽量做到在攻击时拦截,而非在攻击后预警。CertiK团队正在研发基于CertiK Chain的新型安全DeFi机制 —— CeDeFi (Certified DeFi)—— 即可信DeFi,相信可以在未来彻底改变当前被动的安全现状。
攻击还原
以下午11点对Balancer的攻击为例:
步骤1:从dYdX处通过闪电贷形式借得WETH、DAI和USDC三种代币,数额分别是103067.20640667767、5410318.972365872和5737595.813492。
步骤2:使用步骤1中得到的代币,对三种代币 (cETH、cDAI和cUSDC) 进行铸币操作 (mint)。
步骤3:使用uniswap通过闪电贷形式,借得 (borrow) 并铸造 (mint) cWBTC,cBAT代币。
步骤4:携带获得的cWBTC与cBAT加入代币池,此时攻击者拥有的cWBTC和cBAT的数目分别为4955.85562685和55144155.96523628。
步骤5:分别用cWBTC和cBAT在该代币池中进行大量的交易,从而触发Airdrop操作,将无归属的COMP分发到该代币池中。
步骤6:调用gulp()函数将当前的COMP数目同步到Balancer智能合约中,并将cWBTC、cBAT以及额外被加入代币池中的COMP取出。退出代币池时,攻击者拥有的cWBTC和cBAT的数目同样为4955.85562685和55144155.96523628。但是由于在代币池中通过大量交易产生的额外COMP,攻击者获得了额外的COMP代币。 此处攻击者还可以选择直接进入其他代币池中,复用步骤1到步骤6的攻击方法,获得额外COMP代币。
步骤7:偿还uniswap和dYdX的闪电贷,离场。
步骤8:攻击者仍旧可以采用同样的方法(步骤1到步骤7),对其他代币池发动攻击。攻击的机制类似,但是通过闪电贷借得和用来进行攻击的代币种类略有不同。
参考链接:
新闻:
https://cointelegraph.com/news/hacker-steals-balancers-comp-allowance-in-second-attack-within-24-hours
中文新闻:
https://www.chaindd.com/3330102.html
原始分析:
https://twitter.com/frenzy_hao/status/1277597671847411712
29日下午8点攻击交易历史记录:
https://ethtx.info/mainnet/0xa519835c366bc77d93c9d3e433e653bfc46120688ad146b383f4dd93342cad29
29日下午11点攻击交易历史记录:
https://ethtx.info/mainnet/0x70959fef9d7cc4643a0e885f66ec21732e9243ffd3773e4a9ea9b5ab669bab4d
了解更多
General Information: info@certik.org
Audit & Partnerships: bd@certik.org
Website: certik.org
Twitter: @certik.org
Telegram: t.me/certik.org
Medium:medium.com/certik
币乎:bihu.com/people/1093109
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。