EFI:DeFi安全篇:合约留后门,无脑授权有风险|烤仔星选

很多用户在参与DeFi流动性挖矿的过程中,需要授权合约,但大家可能有所不知,如果你不小心授权了某些不靠谱的合约,钱包里的币就危险了。

之前就有人在Twitter上讨论过授权合约被钓鱼的案例,因不小心授权某些开了后门的合约,有人一夜之间被盗走价值14万美金的UNI。这个故事的主人公名叫JhonDoe,去年九月,他参与了Unicats收益农场,当时他对这个项目还蛮看好的,觉得它可能会成为下一个YFI。

接下来,Jhon打算质押UNI,然后收到了MetaMask钱包的提示,“需要授权合约无限使用UNI”。授权是在DeFi挖矿中是很常见的一个操作,所以他就没细看。

Ankr Network联合创始人:多链是DeFi产品的新必需品:11月20日消息,位于旧金山Web 3.0的基础设施公司Ankr Network,其联合创始人兼首席执行官Chandler Song表示,Web3.0将是一个多链世界,获胜的DeFi项目将是那些连接尽可能多的区块链的项目。尽管构建多链存在障碍和额外困难,但它对DeFi产品未来的成功至关重要。Web 3.0上不可能有孤立的产品,项目需要强大且相互关联的基础设施,才能在当前经济环境中有效地宣传自己。(cointelegraph)[2021/11/20 7:01:22]

质押UNI之后,挖出来一些MEOW,他觉得赚的差不多了,可以收菜收工了,就把资金都撤回了自己的钱包。撤走资金以后,Jhon以为钱都放在自己钱包里就可以高枕无忧了。殊不知,这个合约留了后门,一旦他授权了这个合约使用自己的token,即使他从挖矿池子中撤走资金,这个合约任何时候都能调用他的token。第二天醒来以后,Jhon发现自己一半的UNI都在未通过自己授权和签署交易的情况下被转走了。Jhon一下子就懵了,他钱包的私钥从没有泄露过,钱包也没有漏洞,自己并没有操作过转账,钱好好放在钱包里还能被转走?排除了种种因素,推测出最有可能导致丢币的原因是:以太坊网络上最流行的token使用的ERC20标准设计中的一个已知但经常被忽略的漏洞。这个UniCats是个什么项目?为什么就能轻轻松松盗走别人钱包里的币?这让以后我们DeFi挖矿还敢挖吗?“小猫钓鱼”

基于Solana的DeFi衍生品交易平台Drift Protocol融资 380 万美元:金色财经报道,基于Solana的DeFi衍生品交易平台Drift Protocol种子轮融资 380 万美元。Multicoin Capital 领导了这家去中心化交易所的融资轮,Jump 和 Alameda 也参与其中。Drift专注于永续掉期或无到期日的期货合约。根据 CoinGecko 的数据,在所有加密货币中,该市场在过去 24 小时内的交易量达到 1700 亿美元,其中最大份额位于以太坊之上。(CoinDesk)[2021/10/26 20:59:35]

UniCats是一个类似Yam和Sushiswap的DeFi衍生品项目,抄袭抄的赤裸裸的,连前端界面都和Sushiswap完全一样,除了可以挖平台代币MEOW之外,还可以挖UNI等其它代币,在2池中还可以质押UNIOW和UNI的LP代获得MEOW代币。为什么这个项目会选择UNI呢,因为当时Uniswap发币,很多Uniswap的老用户都免费领到了一堆UNI空投,大家不用专门买UNI,会有比较低的参与门槛。JhonDoe是参加这个协议的用户之一,当时DeFi的fomo情绪很浓,很多人都说“审计是为新手准备的”,所以进了这个坑也很难怪他。JHON先后在UniCats合约中质押了两笔UNI,价值分别为$17K、$15K,质押的操作要求他准许UniCat合约对钱包里UNI代币的无限制访问。可能是因为Jhon看到大家都这么做,每个人都要一开始点击授权合约,所以没有对此有任何疑虑。一开始还挺好的,收成不错,赚了一些MEOW。耕种一天之后,Jhon开始从Unicats合约中解押自己的UNI。链上记录:https://etherscan.io/tx/0xaf90d9ff2e9dc63ef6c6082a18214f991cc52493b0cc5c47d84590faac798f42https://etherscan.io/tx/0x751ae0fba597496f057426672fb736efdc837aa0860f1d626b4e7dd6e9052c80收获颇丰,又入袋为安,是一次很成功的经历,他就放心地睡觉去了。之后的事情,我们在上文也提到了。之后项目方表示:“出了bug”、“被黑客入侵”、“项目方非常努力”...换句话说就是,他们希望这个项目有成功的未来,现在正在“把这个美好的项目留给社区”,然后就卷款删号跑路了。除了Jhon还有一些用户也被坑了,甚至有的人还没来得及撤出资金。

观点:DEX交易量下降表明DeFi投资者正转向比特币:Cointelegraph发文称,随着比特币持续攀升至2020年的新高,围绕去中心化金融(DeFi)项目的炒作继续减弱。数据显示,去中心化交易所(DEX)的交易量正在迅速下降,这进一步表明DeFi行业的下滑。DEX每周交易量已从9月第一周的80亿美元下降至10月19日至25日期间的30亿美元,其中Uniswap仍以56%的市场份额领先。[2020/10/30]

开发人员跑路前在Tg群发的消息贪婪的“猫”

UniCats合约的有一个功能:setGovernance,有人读的未经审核合同可能掠过这部分,因为它是相当流行的有智能的管理重点和管理地址合同。

setGovernance是开发者Whiskers用来直接从用户帐户中提取资金的功能。函数接收两个参数:一个地址、一些数据,需要将_governance设置为UNItoken地址,并为数据传递函数transferFrom,然后会触发UNI合约,要求它代表用户将资金转移到UniCats合约。实际上,transferFrom的调用者是UniCats合约,像刚才我们提到的Jhon,他已经批准合约随意使用自己所有的UNI资产,合约会将Jhon的UNI资产转移到合约中相同的trasnferFrom,然后从他的钱包中盗取资金。当UNI合约收到此项调用时,会尝试这项请求不会遇到任何错误。所有的转账都会通过,因为Jhon确实授权了合约来处理他的资金。资金从Jhon的帐户中转到UniCats合约中,然后再转给Whisker。所以关键点就在于Jhon对UniCats合约的授权。除了Jhon之外,这个合约也有其他一些受害者,比如另一位用户也是通过完全相同的过程损失了1万个的UNI,他质押在UniCats中的资金全被删除了,根本无法提现。

过去两周DeFi中锁定的BTC总价值翻了一番,总量接近1万:在过去的一个月里,DeFi的繁荣不仅吸引了以太坊加入到这个生态系统中,而且在各种协议中锁定的比特币数量也在飙升。在过去的两周里,在DeFi中锁定的BTC总价值翻了一番。目前锁定的比特币数量接近1万枚,较年初增长575%。相比之下,锁定在DeFi中的ETH数量已回到300万枚,与2020年初的数据持平。

行业专家Camila Russo在最新的Defiant newsletter对比特币与ERC-20代币之间联系逐渐凸显的趋势进行了深入研究。随着超过1亿美元的比特币在以太坊网络上流通,这两种资产从未如此紧密地联系在一起。尽管在加密世界中仍然存在着大量的部落主义,但Russo作出了这样的比喻:“以太坊成为全球金融资产的一个重力井。比特币是第一个受害者。”(BeInCrypto)[2020/7/2]

有一个信息大家需要知道,即使你地址余额为0,这个无限批准的风险都还在,也就是说UniCats随时都能把你的钱拿走。只要你没有撤消批准,或者这个账户/地址之后完全废弃再也不用了,就会随时会被攻击。在盗取了用户的资金之后,UniCats项目方将UNI换成ETH,然后将ETH被转移到Whiskers控制的帐户中,接着又以每次100ETH的方式存入TornadoCash。练习钓鱼

火币公链汪毅江:CeFi相比于DeFi有两大问题:4月21日晚间,在主题为“繁荣与契机,技术与机制构建DeFi未来”的线上论坛活动中,火币公链技术专家汪毅江表示,CeFi是通过把自己藏起来,让别人找不到弱点的隐私保护系统安全,这是非常传统的解决方案,并有两个重大问题。第一,数据不透明,不公开,用户既不能对公平性做出判断,也不能对系统风险性做出判断;第二,从长期看CeFi相比于DeFi不利于市场的繁荣,CeFi是通过长期品牌经营,资产规模建立和维护长期信誉。而DeFi通过智能合约代码,建立信誉,更鼓励产品创新,并降低中介费用,由技术驱动的行业发展,更具有发展前景。DeFi目前处于早期阶段,但随着时间的推移,DeFi会在困难和问题中成长,并逐渐走向成熟。[2020/4/21]

在UniCats项目方发起攻击之前,Whiskers还做过一些链上的练习,创建了一个单独的合约和管理员帐户,以确保黑客攻击能够正常工作。在此交易中,Whiskers尝试使用相同的setGovernance调用,直接从合约中提走少量UNI,从合约中获取2.75UNI。这个是第一阶段,UniCats合同本身的资金被耗尽。后来,该帐户执行另一种转账练习,它滥用了baDAPProve漏洞,由Tornado现金资助的帐户将少额UNI直接转换为ETH。这些练习运行了几个小时之后,才发起了正式的攻击。正式攻击的方式和练习的方式基本上是差不多的,都是分两个阶段。练习攻击的记录:https://etherscan.io/address/0xcdd37ada79f589c15bd4f8fd2083dc88e34a2af2回顾曾经与Unicats进行过互动但尚未拒绝UniCats使用其令牌的每个帐户,在它们这样做之前都仍然很脆弱。即使是那些只批准了令牌但从未实际发送过任何资金的人。在直接抽走UniComp合约的同时,whiskers能够在Uniswap、SushiSwap和Balancer上获取17KUNI以及押注LP代币的UNI/ETH。。在第二阶段,使用baDAPProve漏洞,Whiskers总共捞了6万UNI。这些钱是从大概30个账户中取出来的,损失最大的是JhonDoe,总共损失了37KUNI,当时价值约12万美元。从他们账户中拿走的资产比他们原本在协议中质押要多,因为Jhon的UNI并不是全部质押进合约中挖矿了。每一个曾经和Unicats交互过,并且授权UniCats使用自己代币的账户都随时有被攻击的风险,哪怕仅仅只是授权过但从没有转过资金。你可能会觉得这个故事中的JhonDoe很笨,但其实他在DeFi领域还挺有经验的,他的地址有超过1600笔交易。这是一场很“完美”的攻击,需要无限使用的授权,很少有人真正了解其中的含义。在大环境的fomo情绪下,每一个投资者都梦想暴富,渴望自己找到下一个YFI,黑客就是从中利用了这些因素以及这些系统经常试图隐藏的复杂性达到目的。如何保护自己免受攻击

我建议,参与DeFi时,只授权可信任的合约,如果是去体验新项目,用的资金要控制在自己能承受的最大损失之内,以将风险最小化。这次攻击的根源在于ERC20的工作方式以及它的一些限制,这个限制仅存在于ERC20协议中,其它的协议标准还没有这个问题,但是由于ERC20仍然是最受欢迎的token标准,所以大家有必要了解一些策略来避坑:首次与未知的DeFi合约交互时,要先做研究。诸如MetaMask这样的钱包有一个功能是,可以自己设置最大批准的金额。如果你不完全信任一个DeFi合约时,就可以提前进行设置,把风险控制在自己能够承担的范围之内。

如果你已经授权了一些DeFi合约,而且有一些顾虑,不太确定会不会有风险,就可以用工具撤销授权,我给大家介绍几个工具:https://approved.zonehttps://revoke.cashhttps://tac.dappstar.io/#/未来DeFi和ERC20都会继续发展壮大,建议大家好好学习,了解清楚这些复杂的金融系统,保护好自己的钱袋子,注意安全!Reference:zengo.com

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:31ms0-0:798ms