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

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

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

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

BIS:如果广泛用于支付,包括稳定币在内的加密资产可能会对金融稳定构成威胁:金色财经报道,国际清算银行(BIS)的一项新调查显示,如果广泛用于支付,包括稳定币在内的加密资产可能会对金融稳定构成威胁。为了加强和协调监管方法,以遏制金融体系面临的风险,CPMI、IOSCO、FSB和BCBS发布了针对稳定币或加密货币活动和更广泛市场的更新或新指南和标准。[2023/7/10 10:46:26]

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

Peter Schiff:如果我买了比特币,现在就可以购买私人飞机:黄金支持者、比特币反对人士Peter Schiff发推表示,他与家人搭乘他邻居Brock Pierce(一位著名美国企业家,比特币亿万富翁,参加了2020年美国总统大选)的私人飞机, 他表示要是他买了比特币,就可以自己购买私人飞机。[2021/8/8 1:41:11]

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还有一些用户也被坑了,甚至有的人还没来得及撤出资金。

日本政党:如果日本央行发行CBDC,将使金融业发生巨大变化:7月5日消息,日本自民党数字货币小组的村井秀树表示,到2022年底,日本对数字日元有更好的预期。只要数字日元设计得当,不会对私营企业产生不利影响,如果日本央行发行CBDC,有可能彻底重塑日本金融业正在发生的变化。(路透社)[2021/7/5 0:28:02]

开发人员跑路前在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中的资金全被删除了,根本无法提现。

德国央行行长:稳定币如果被广泛使用,可能会削弱银行:据Hellenic Shipping News报道,德国央行行长Jens Weidmann周五表示,与法定货币挂钩的虚拟货币,即稳定币,如果被广泛使用,可能会逐渐削弱银行。Weidmann是在德国央行的一次会议上发表了上述言论,他表示:“它们(稳定币)几乎肯定会影响整个系统,这不仅是因为它们的操作风险,也是从更根本的方面来说,它们可能破坏银行的存款吸收及其商业模式。也可能会破坏交易银行和金融市场的中介。”[2019/6/22]

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

在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,黑客就是从中利用了这些因素以及这些系统经常试图隐藏的复杂性达到目的。如何保护自己免受攻击

分析 | 金色盘面:ETH如果降低发行量 能否带来牛市:金色盘面综合分析: ETH奖励水平投票结果显示,99.7%赞成降低奖励条件至2EHT以下,此举旨在降低ETH发行数量,稳定ETH价格。截至发稿,ETH随市场调整,报278.99美元,跌幅3.46%,我们密切关注该投票结果的后续行动。[2018/8/31]

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

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

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

大币网

[0:15ms0-9:286ms