北京时间4月8日凌晨01:43:36,CertiK安全技术团队监测到收益聚合平台Starstream因其合约中的一个执行函数漏洞被恶意利用,致使约1500万美元的资产受到损失。
黑客随后将盗取的STARS代币存入AgoraDeFi的借贷合约,并向其借入了包括Metis、WETH和m.USDC在内的多种资产。
Starstream是基于MetisLayer-2rollup的一个可提供及产生聚合收益的产品。该协议由不同的开发者维护,由STARS进行维护并治理。
时间线
北京时间4月8日凌晨02:47,一位用户担心Starstream的风险,于是在推特上发布了相关截图。随后,凌晨03:11,有人在StarstreamDiscord社群宣布资金库已被耗尽,并建议用户们尽快将自己的资产于Agora中提出。
ZigZag:Discord已被黑客入侵,请勿点击网络钓鱼链接:6月27日消息,ZK Rollup订单簿DEX协议ZigZag在推特上表示,我们的Discord已被黑客入侵,请注意,ZigZag目前没有空投活动,请勿点击网络钓鱼链接。我们正在努力解决这个问题,当重新获得控制权时将提供更新。[2023/6/27 22:02:29]
凌晨04:36,另一位发言者于StarstreamDiscord社群的GeneralStarstreamDiscord聊天区中表示"ExecuteFunction"函数存在漏洞风险。
攻击流程
攻击者调用合约并调用了Distributortreasury合约中的外部函数`execute()`。由于该函数为外部函数,可以被任何人调用,因此攻击者顺利将STARS代币从Starstream转移到自己账户。
波卡预测协议OptionRoom:ChainSwap黑客共窃取1230万ROOM代币:官方消息,波卡生态预言机和预测协议OptionRoom表示,受到“跨链资产桥ChainSwap遭到攻击”影响,包括OptionRoom在内的多个项目都受到了此次黑客攻击的影响。黑客能够获得以太坊上的230万枚ROOM代币,以及1000万枚BSC上的ROOM代币。OptionRoom在黑客出售任何代币之前就注意到了黑客行为,决定从Uniswap和Pancakeswap中移除流动性,以保护代币持有者和流动性提供者免受黑客出售到流动性池的影响。通过将部署者的代币出售到Uniswap池中,OptionRoom能够收回342,117美元。通过这种方式,OptionRoom成功地代表项目的流动性提供者提取了流动性。回收的金额将根据流动性提供者的份额分配。OptionRoom目前正在处理以太坊和BSC日志,以了解每个持有者在黑客攻击时持有的确切数量,以便能够将新代币空投给ROOM/COURT代币持有者。此过程最多需要2周才能完成。[2021/7/11 0:42:44]
合约漏洞分析
Chainlink线上黑客马拉松正式启动:官方消息,2021年春季Chainlink线上黑客松的注册现已开放。为了加速智能合约生态中的持续创新浪潮,春季黑客松将为全球的开发者提供一个与其他社区成员合作的机会,并能通过此机会向该领域中的顶级项目和工程师学习,使用Chainlink预言机网络构建下一代dApps,同时还有机会从超过8万美元的奖池中赢得奖励。
2021年春季黑客松面向这些准备启动新的项目,并使用被业界广泛采用的Chainlink预言机解决方案将其合约连接到现实世界的数据和系统的各类经验水平的智能合约开发者们。
全球线上黑客松将于2021年3月15日至4月11日举行,且免费参加。[2021/3/1 18:03:28]
此次漏洞发生的根本原因是:Distributorytreasury合约中的execute函数没有任何的权限控制,因此可以被任何人调用。这个execute函数其实是一个底层调用,通过这个底层调用,攻击者能够以Distributorytreasury合约身份调用Starstreamtreasury合约的特权函数。
动态 | 黑客冒充加密货币聊天小组成员,窃取用户密码:据英国SC媒体报道称,安全研究人员发现了MacOS恶意软件攻击,目标是谈论加密货币的Slack和Discord用户。这些攻击通过模仿加密货币相关聊天工具中的管理员或“关键人物”,然后分享给用户下载并执行恶意二进制文件的“小片段”。英国SC媒体公司指出,这些恶意软件可以窃取用户的密码。[2018/7/3]
在这次攻击中,攻击者通过execute函数以Distributorytreasury的身份取走了在Starstreamtreasury中的所有STARS代币。
资产追踪
据CertiKSkyTrace显示,4月8日凌晨5点,黑客已顺利将所盗资金转移至TornadoCash。
其他细节
漏洞交易:
https://andromeda-explorer.metis.io/tx/0xb1795ca2e77954007af14d89814c83b2d4f05d1834948f304fd9d731db875435/token-transfers
攻击者地址:
https://andromeda-explorer.metis.io/address/0xFFD90C77eaBa8c9F24580a2E0088C0C940ac9C48/transactions
攻击地址合约:https://andromeda-explorer.metis.io/address/0x75381c1F12733FFf9976525db747ef525646677d/contracts
DistributorTreasury合约:https://andromeda-explorer.metis.io/address/0x6f99b960450662d67bA7DCf78ac959dBF9050725/contracts
StarstreamTreasury合约:
https://andromeda-explorer.metis.io/address/0x1075daD8CFd8bCbCfc7bEB234e23D507990C90e9/contracts
Starstream(STARS)代币合约https://andromeda-explorer.metis.io/address/0xb26F58f0b301a077cFA779c0B0f8281C7f936Ac0/contracts
写在最后
此次事件可通过安全审计发现相关风险。通过审计,可以查出这个函数是所有人都可以调用的,并且是一个底层调用。在此,CertiK的安全专家建议:
在开发过程中,应该注意函数的Visibility。如果函数中有特殊的调用或逻辑,需要确认函数是否需要相应的权限控制。
前段时间有大量的项目因publicburn()函数而被黑,其根本原因和这次攻击一样,都是由于缺乏必要的权限控制所导致。
作为区块链安全领域的领军者,CertiK致力于提高加密货币及DeFi的安全和透明等级。迄今为止,CertiK已获得了3200家企业客户的认可,保护了超过3110亿美元的数字资产免受损失。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。