LAYER:黑客能调用,你和我也可以?Starstream被盗1500万美元事件分析

北京时间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中提出。

CZ:黑客合约不是“Binance”智能合约,会与执法部门密切合作冻结黑客资金:金色财经报道,Binance创始人CZ在社交媒体上表示,加密行业里的开发人员越来越多,出现开发者私钥被盗的可能性就越大,有好有坏。在决定冻结黑客地址之前,Binance需要时间验证,否则任何人都会要求Binance将其他人的地址列入黑名单,这与生活中的大多数事情一样,需要一种平衡。在冻结黑客资金这类情况下,Binance团队一直与执法部门密切合作。在回应Binance是否实在测试如何处理黑客合约问题时,CZ表示并不是“Binance”智能合约,而Ankr是DeFi生态系统中的独立项目团队。[2022/12/3 21:19:01]

凌晨04:36,另一位发言者于StarstreamDiscord社群的GeneralStarstreamDiscord聊天区中表示"ExecuteFunction"函数存在漏洞风险。

巴克莱金融科技中心Rise举行CBDC黑客马拉松:金色财经报道,巴克莱银行的金融科技中心Rise举行了为期两天的CBDC黑客马拉松比赛,9个团队尝试了6项关键挑战。欧洲中央银行(ECB)和英格兰银行(BoE)有专门的工作小组探索其中的机会和风险,并起草和公布了一些设计选择。

黑客马拉松要求参与者连接到巴克莱银行的中央银行、支付接口供应商(PIPs)、商业银行和其他生态系统服务的模拟。这个模拟是基于英格兰银行(BoE)为英国零售CBDC提供的平台模型。这些团队代表了一系列的参与者,包括IBM、劳埃德银行集团、万事达卡、Industria、REGnosys、Rethink Ledgers、UST、SDK.finance和巴克莱银行(巴克莱银行没有资格获得名额)。

这些团队利用各种技术将他们的解决方案变为现实,如Corda、Ethereum、Java、数字资产建模语言(DAML)和其他技术。(finextra)[2022/10/1 18:36:37]

攻击流程

Klaytn基金会创始人:减少人为因素可防止黑客入侵:8月11日消息,韩国公链项目Klaytn基金会创始人Sam Sangmin Seo接受采访时表示,鉴于去中心化应用频繁遭遇高调攻击,区块链行业安全性急需得到提高,而最大限度地减少人为错误可能是关键。

Sam Sangmin Seo表示,这些跨链桥在安全方面面临两个问题,“实施中的缺陷”或者“运营商的问题”,例如运营商的私钥被盗。Klaytn已经意识到这些风险,并且正在研究基于零知识证明技术的跨链桥,它可以在没有操作员的情况下提供证明。事实上,很多黑客攻击都是由人为错误引起的。如果能减少这种情况,减少协议层面的人为干预,就有可能建造一座更安全的跨链桥。(Forkast)[2022/8/11 12:18:02]

攻击者调用合约并调用了Distributortreasury合约中的外部函数`execute()`。由于该函数为外部函数,可以被任何人调用,因此攻击者顺利将STARS代币从Starstream转移到自己账户。

动态 | “Cryptopia黑客”地址转出的3万多枚ETH可能被转入火币钱包并换成其他币种:据whale alert推特消息,被标记为“Cryptopia黑客”的账户地址转出超3万枚ETH很可能被转入火币钱包,并被卖出换成其他币种。[2019/5/20]

合约漏洞分析

此次漏洞发生的根本原因是:Distributorytreasury合约中的execute函数没有任何的权限控制,因此可以被任何人调用。这个execute函数其实是一个底层调用,通过这个底层调用,攻击者能够以Distributorytreasury合约身份调用Starstreamtreasury合约的特权函数。

在这次攻击中,攻击者通过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亿美元的数字资产免受损失。

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

链链资讯

[0:0ms0-7:222ms