SharkTeam独家分析 | 恶意初始化:Punk Protocol被黑事件分析
source link: https://www.tuoniaox.com/news/p-512608.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
SharkTeam独家分析 | 恶意初始化:Punk Protocol被黑事件分析
恶意初始化:Punk Protocol被黑事件分析
8月10日,去中心化年金协议 Punk Protocol遭到攻击,损失 890 万美元,后来团队又找回了 495 万美元(向黑客2提供了 100 万美元作为漏洞发现费,黑客2归还495万美金)。
SharkTeam第一时间对此事件进行了攻击分析和技术分析,攻击原因在于投资策略中找到了一个关键漏洞:CompoundModel 代码中缺少初始化函数的修饰符的问题,可以被重复初始化。希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。
一、事件分析
黑客1的两笔攻击交易:
0x7604c7dd6e9bcdba8bac277f1f8e7c1e4c6bb57afd4ddf6a16f629e8495a0281
(试探攻击)
0xa76cd31bcd48869621e7f2698ac8754699026acd0655a6d33280224dabed4cfa
(正式攻击)
黑客2的两笔攻击交易
0x597d11c05563611cb4ad4ed4c57ca53bbe3b7d3fefc37d1ef0724ad58904742b
0x4c8072a57869a908688795356777270a77f56ae47d8f1d869be0d25e807e03b1
(通知项目方,见下图)
黑客2的攻击合约地址:
0x00000000b2ff98680adaf8a3e382176bbfc34c8f
黑客2的地址:
0x3aa27ab297a3a753f79c5497569ba2dacc2bc35a
0xe36cc0432619247ab12f1cdd19bb3e7a24a7f47c
黑客2退回的两笔交易地址:
0xc977ea434d083ac52f9cad00417bcffb866b894a5cbabf1cc7af9c00e78b8198
(从0x3aa2转出DAI给0xe36c,再通过0xe36c转出DAI至项目方)
0xa85ce7d9d0882b858bf3dbc8f64b72ff05f5399ec3d78d32cea82e6795ccc7ce
(从0x3aa2转出USDT至项目方)
下面以黑客1正式攻击交易为例
黑客的攻击执行了delegateCall,将攻击者的合约地址写入到compoundModel中initialize函的forge_参数。setForge(address) 函数在初始化函数中执行。这是一个修改Forge地址的功能。
然后,它执行withdrawToForge函数并将所有资金发送到攻击者的合约。
随后在调用initialize函数发现forge_参数已经被替换成攻击者合约的地址。
链接到forge_的所有CompoundModel都使用相同的代码,因此所有资产都转移到攻击者的合约中。目前,导致黑客入侵的代码已被项目方修补。添加了两个Modifiers(仅Creator,initializer),这样只有Contract Creator可以调用Initialize函数并控制它只被调用一次。
二、安全建议
本次攻击的根本原因在于 CompoundModel 合约中缺少对初始化函数的安全控制,可以被重复初始化。初始化函数应只能调用一次,而且需要进行调用者权限鉴别;如果合约是使用初始化函数,而不是在构造函数中进行初始化,则应使用安全合约库中的初始化器来进行初始化。避免合约被恶意操纵,造成合约关键参数和逻辑的错误。
SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。而作为项目方,智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,进行多轮审计,避免合约中的状态和计算错误,为用户的数字资产安全和项目本身安全提供保障。
SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。
和2万人一起加入鸵鸟社群
添加QQ群:645991580
添加TG群:鸵鸟中文社区 https://t.me/tuoniaox
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK