恶意初始化:Punk Protocol被黑事件分析_FORGE:Vulcan Forged

8月10日,去中心化年金协议?PunkProtocol遭到攻击,损失890万美元,后来团队又找回了495万美元。

SharkTeam第一时间对此事件进行了攻击分析和技术分析,攻击原因在于投资策略中找到了一个关键漏洞:CompoundModel代码中缺少初始化函数的修饰符的问题,可以被重复初始化。希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

黑客1的两笔攻击交易:

0x7604c7dd6e9bcdba8bac277f1f8e7c1e4c6bb57afd4ddf6a16f629e8495a0281

慢雾:警惕 Honeyswap 前端被篡改导致 approvals 到恶意地址风险:据慢雾区消息,Honeyswap官方推特发文,Honeyswap 前端错误导致交易到恶意地址 “0xD3888a7E6D6A05c6b031F05DdAF3D3dCaB92FC5B” ,目前官网仍未删除该恶意地址,请立即停止使用Honeyswap进行交易,到revoke.cash排查是否有approvals 交易到恶意地址,避免不必要的损失。[2022/5/10 3:03:22]

0xa76cd31bcd48869621e7f2698ac8754699026acd0655a6d33280224dabed4cfa

报告:黑客组织利用加密恶意软件掩饰攻击行为和创收:12月1日消息,微软在周一晚间发布的一份报告中称,越南政府支持的代号为APT32和OceanLotus黑客组织最近被发现在他们的常规网络间谍工具包之外,还部署了加密货币挖矿恶意软件。在2020年7月至8月的行动中,该组织部署了Monero矿工,对法国和越南的私营部门以及政府机构的进行攻击。微软称,该组织利用这种通常与网络犯罪活动有关的加密恶意软件,对事件响应者进行伪装,使他们相信自己的攻击是低优先级的随机入侵。其次,该组织正在试验创收新方法。(zdnet)[2020/12/1 22:41:08]

黑客2的两笔攻击交易

0x597d11c05563611cb4ad4ed4c57ca53bbe3b7d3fefc37d1ef0724ad58904742b

0x4c8072a57869a908688795356777270a77f56ae47d8f1d869be0d25e807e03b1

声音 | 慢雾科技联合创始人:如果算上恶意挖矿 门罗币是暗网第一币王:慢雾科技联合创始人余弦发微博表示:如果只是支付和结算,门罗币是暗网第二大数字货币,如果加上恶意挖矿这类黑暗生态,门罗币是暗网第一币王。 ????之后有网友评论称,“门罗社区也在努力区分恶意的僵尸挖矿。前一阵好像有做过一个帮助用户区别自己是否被木马程序植入挖矿的软件。注重隐私并不代表门罗币社区鼓励你使用门罗币进行违法活动。”余弦回复表示同意。[2018/12/9]

黑客2的攻击合约地址:

0x00000000b2ff98680adaf8a3e382176bbfc34c8f

黑客2的地址:

0x3aa27ab297a3a753f79c5497569ba2dacc2bc35a

0xe36cc0432619247ab12f1cdd19bb3e7a24a7f47c

黑客2退回的两笔交易地址:

0xc977ea434d083ac52f9cad00417bcffb866b894a5cbabf1cc7af9c00e78b8198

动态 | 谷歌商店出现数币相关恶意应用程序:据thenextweb报道,Google Play商店中出现了名为Easy Rates Converter的数字货币相关恶意应用程序。该软件伪装成货币转换工具,实际上是为了窃取许多合法应用程序的用户个人数据。[2018/11/2]

0xa85ce7d9d0882b858bf3dbc8f64b72ff05f5399ec3d78d32cea82e6795ccc7ce

动态 | 网络不法分子在网站中隐藏挖矿恶意软件侵占受害者计算资源:据securityintelligence消息,Sucuri的研究人员最近发现,有网络不法分子将加密挖矿恶意软件隐藏在被入侵的网站中,从而占用受害者的计算资源。据悉,用户在访问被恶意JavaScript代码感染的网站时会在无意中释放了一个负载,这个负载隐藏在WordPress主题的头文件中。[2018/10/18]

下面以黑客1正式攻击交易为例

黑客的攻击执行了delegateCall,将攻击者的合约地址写入到compoundModel中initialize函的forge_参数。setForge(address)函数在初始化函数中执行。这是一个修改Forge地址的功能。

然后,它执行withdrawToForge函数并将所有资金发送到攻击者的合约。

随后在调用initialize函数发现forge_参数已经被替换成攻击者合约的地址。

链接到forge_的所有CompoundModel都使用相同的代码,因此所有资产都转移到攻击者的合约中。目前,导致黑客入侵的代码已被项目方修补。添加了两个Modifiers,这样只有ContractCreator可以调用Initialize函数并控制它只被调用一次。

二、安全建议

本次攻击的根本原因在于CompoundModel合约中缺少对初始化函数的安全控制,可以被重复初始化。初始化函数应只能调用一次,而且需要进行调用者权限鉴别;如果合约是使用初始化函数,而不是在构造函数中进行初始化,则应使用安全合约库中的初始化器来进行初始化。避免合约被恶意操纵,造成合约关键参数和逻辑的错误。

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。而作为项目方,智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,进行多轮审计,避免合约中的状态和计算错误,为用户的数字资产安全和项目本身安全提供保障。

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

水星链

[0:15ms0-0:939ms