恶意初始化:Punk Protocol被黑事件分析_ETH:ORG

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

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

一、事件分析

黑客1的两笔攻击交易:

0x7604c7dd6e9bcdba8bac277f1f8e7c1e4c6bb57afd4ddf6a16f629e8495a0281

慢雾:警惕 Terra 链上项目被恶意广告投放钓鱼风险:据慢雾区情报,近期 Terra 链上部分用户的资产被恶意转出。慢雾安全团队发现从 4 月 12 日开始至 4 月 21 日约有 52 个地址中的资金被恶意转出至 terra1fz57nt6t3nnxel6q77wsmxxdesn7rgy0h27x30 中,当前总损失约 431 万美金。

经过慢雾安全追踪分析确认,此次攻击为批量谷歌关键词广告投放钓鱼,用户在谷歌搜索如:astroport,nexus protocol,anchor protocol 等这些知名的 Terra 项目,谷歌结果页第一条看似正常的广告链接(显示的域名甚至是一样的)实为钓鱼网站。 一旦用户不注意访问此钓鱼网站,点击连接钱包时,钓鱼网站会提醒直接输入助记词,一旦用户输入并点击提交,资产将会被攻击者盗取。

慢雾安全团队建议 Terra 链上用户保持警惕不要随便点击谷歌搜索出来的链接或点击来历不明的链接,减少使用常用钱包进行非必要的操作,避免不必要的资损。[2022/4/21 14:37:55]

0xa76cd31bcd48869621e7f2698ac8754699026acd0655a6d33280224dabed4cfa

声音 | 分析师:有人两次尝试广播恶意区块,均告失败:今日,加密分析师PlanB发消息称,比特币受到攻击,有人两次尝试广播恶意区块,均告失败。[2019/10/14]

黑客2的两笔攻击交易

0x597d11c05563611cb4ad4ed4c57ca53bbe3b7d3fefc37d1ef0724ad58904742b

0x4c8072a57869a908688795356777270a77f56ae47d8f1d869be0d25e807e03b1

动态 | 可筛选出受害者加密资产的恶意广告软件已影响200个安卓应用程序:据bitcoinexchangeguide报道,许多安全专家最近发现了一种新型广告软件,被安全公司Check Point称为“SimBad”。到目前为止,该恶意软件似乎已经影响了可在谷歌Play Store下载的200个安卓应用程序。一旦被下载到智能手机上,该恶意软件就会退回到后台并在手机开机状态时正常运行。该恶意软件会“在后台运行网址列表”,甚至可以逐步筛选出受害者的加密资产。谷歌尚未就此事发布声明。[2019/3/16]

黑客2的攻击合约地址:

0x00000000b2ff98680adaf8a3e382176bbfc34c8f

黑客2的地址:

0x3aa27ab297a3a753f79c5497569ba2dacc2bc35a

MyEtherWallet事件官方更新:并非因为平台缺乏安全性 亚马逊的DNS服务器也被恶意攻击:据MyEtherWallet官方消息,此次事件并非因为MEW平台缺乏安全性,而是由于黑客发现了面向公众的DNS服务器中的漏洞。用户的安全和隐私永远是重中之重,MyEtherWallet不存储用户的任何个人信息,包括密钥。受影响的大多为使用Google DNS服务器的用户。同时,亚马逊的DNS服务器也被恶意攻击劫持,唯一已知的将流量重定向的网站是MyEtherWallet.com。受影响的用户可能是在访问假冒MEW的恶意网站时弹出的SSL警告上点击了“忽略”按钮。用户应当确认访问该网站是有一个绿色条形SSL证书,上面写着“MyEtherWallet Inc [US]。MEW对用户提供的建议包括:运行MEW平台的本地(离线)副本;使用硬件钱包存储加密货币;忽略任何声称代表MEW的推文,Reddit帖子或任何声称发放或报销ETH的消息。MEW团队表示将继续打击此次钓鱼攻击,MEW需要其社区来支持和教育彼此。[2018/4/25]

0xe36cc0432619247ab12f1cdd19bb3e7a24a7f47c

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

0xc977ea434d083ac52f9cad00417bcffb866b894a5cbabf1cc7af9c00e78b8198

0xa85ce7d9d0882b858bf3dbc8f64b72ff05f5399ec3d78d32cea82e6795ccc7ce

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

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

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

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

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

二、安全建议

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

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

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

金智博客

[0:0ms0-8:531ms