Cointime

扫码下载App
iOS & Android

SharkTeam:Vyper漏洞导致Curve和JPEG'd等项目被攻击原理分析

7月30日,因为Vyper部分版本中的漏洞,导致Curve、JPEG'd等项目陆续受到攻击,损失总计超过5200万美元。

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、 事件分析

以JPEG'd被攻击为例:

攻击者地址:0x6ec21d1868743a44318c3c259a6d4953f9978538

攻击者合约:0x9420F8821aB4609Ad9FA514f8D2F5344C3c0A6Ab

攻击交易:0xa84aa065ce61dbb1eb50ab6ae67fc31a9da50dd2c74eefd561661bfce2f1620c

(1)攻击者(0x6ec21d18)创建0x466B85B4的合约,通过闪电贷向 [Balancer: Vault]借了80,000 枚WETH。

(2)攻击者(0x6ec21d18)向pETH-ETH-f(0x9848482d)流动性池中添加了40,000枚WETH,获得32,431枚pETH。

(3)随后攻击者(0x6ec21d18)从pETH-ETH-f(0x9848482d)流动性池中重复地移除流动性。

(4)最终,攻击者(0x6ec21d18)获得86,106枚WETH,归还闪电贷后,获利6,106枚WETH离场。

二、漏洞分析

(1)该攻击是典型的重入攻击。对遭受攻击的项目合约进行字节码反编译,我们从下图可以发现:add_liquidity 和 remove_liquidity 两个函数在进行校验存储槽值时,所要验证的存储槽是不一样的。使用不同的存储槽,重入锁可能会失效。此时,怀疑是Vyper底层设计漏洞。

(2)结合Curve官方的推文所说。最终,定位是Vyper 版本漏洞。该漏洞存在于0.2.15、0.2.16、0.3.0版本中,在重入锁设计方面存在缺陷。我们对比0.2.15之前的0.2.14以及0.3.0之后的0.3.1版本,发现这部分代码在不断更新中,老的0.2.14和交心的0.3.1版本没有这个问题。

(3)在Vyper对应的重入锁相关设置文件data_positions.py中,storage_slot的值会被覆盖。在ret中,第一次获取锁的slot为0,然后再次调用函数时会将锁的slot加1,此时的重入锁会失效。

漏洞总结:本次攻击事件根本原因是Vyper的0.2.15、0.2.16、0.3.0版本的重入锁相关设计不合理,并且没有进行足够全面的功能测试。导致后期使用这些版本的项目中重入锁失效,最终遭受了黑客攻击。

三、 安全建议

对于本次攻击事件,开发人员在日常开发中应当采取有以下的安全措施:

(1) 项目方需保障功能设计合理并对代码进行全面测试,防止遗漏某些功能的测试。

(2) 项目发版前,需要向第三方专业的审计团队寻求技术帮助。

About Us

SharkTeam的愿景是全面保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

评论

所有评论

推荐阅读

  • BTC跌破60000美元

    行情显示,BTC跌破60000美元,现报59954.84美元,24小时跌幅达到4.19%,行情波动较大,请做好风险控制。

  • ETH跌破1600美元

    行情显示,ETH跌破1600美元,现报1597.55美元,24小时跌幅达到3.81%,行情波动较大,请做好风险控制。

  • 亿万富翁菲利普·拉丰:相比于比特币,其更愿意投资太空

    Coatue Management 创始人兼投资组合经理菲利普·拉丰在 Squawk Box 节目中表示,其目前已无法确定对比特币的看法。 菲利普·拉丰表示,其正在重新思考比特币的定位,并称相比于比特币,其更愿意投资太空。(thestreet)

  • 科技巨头数据中心租赁承诺突破8500亿美元

    6月24日,据彭博对监管文件的分析,随着科技巨头竞相扩建服务器集群,大型云计算公司未来的数据中心租赁承诺总额在过去一年中持续攀升,至超过8500亿美元。上季Meta新增租赁承诺790亿美元,较上期增长76%;截至3月31日,总额达到1829亿美元。Meta CEO扎克伯格曾表示,公司到2030年前将在AI基础设施方面投入数千亿美元。微软紧随其后,新增租赁承诺超过410亿美元,总额达到1966亿美元。

  • 18倍杠杆做多2.1万枚ETH,某地址3461万美元多单浮亏169.6万美元

    据链上分析师 Ai 姨监测,某地址昨日以 18 倍杠杆做多 2.1 万枚 ETH,约 3461 万美元,目前浮亏 169.6 万美元,开仓价 1728.5 美元,清算价 1590.1 美元。

  • 过去1小时加密市场爆仓达1.34亿美元,其中多单爆仓1.25亿美元

    据 CoinGlass 数据,最近 1 小时全网爆仓金额达 1.34 亿美元,其中多单爆仓金额为 1.25 亿美元,空单爆仓金额为 853.9 万美元。

  • BTC跌破61000美元

    行情显示,BTC跌破61000美元,现报60986.03美元,24小时跌幅达到2.88%,行情波动较大,请做好风险控制。

  • 美国10年期国债收益率跌至4.4138%,为5月11日以来的最低水平

    6月24日,美国10年期国债收益率跌至4.4138%,为5月11日以来的最低水平。美国30年期国债收益率跌至4.8572%,为4月15日以来的最低水平。

  • Strategy股价跌破100美元,为2024年3月以来首次

    Strategy股价跌破100美元,为2024年3月以来首次。

  • 国际油价重挫 美油期货跌破70美元整数关口

    6月24日,国际原油价格持续下挫,美国WTI原油期货盘中跌破70美元/桶整数关口,日内大跌4.4%,创3月2日以来新低,回落至伊朗战事爆发前水平。布伦特原油期货8月合约价格跌4.5%,报73.6美元/桶。市场对中东局势缓和、伊朗原油供应恢复预期升温,以及美国通胀引发的加息预期,打压油价表现。