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

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

多链钱包 Go Pocket 正式开源,已实现多项安全监测识别功能:3月4日消息,据官方推特,多链钱包 Go Pocket 在 GitHub 上正式开源,目前已实现面向用户的一键式安全检测、风险代币识别、实时风险监控与管理等功能。

据悉,Go Pocket 是一款为 Crypto 用户提供全面、实时、个性化安全服务的多链钱包,通过实时动态的安全服务、主动全面的风险管理策略阻断 Crypto 世界中针对用户的恶意攻击,有效保护用户资产。[2022/3/4 13:38:12]

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

去中心化多链钱包TokenPocket获得美FinCEN颁发的MSB牌照:10月26日消息,去中心化多链钱包TokenPocket表示已获得由美国金融犯罪执法网络(FinCEN)颁发的MSB(Money Services Business)牌照,将全面拓展海外运营,接下来还计划在更多国家和地区申请合规牌照。[2021/10/26 20:58:26]

攻击流程

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

TokenPocket将于新加坡时间4月2日上线聚合闪兑平台:据官方消息,多链去中心化钱包TokenPocket将于新加坡时间4月2日上线聚合闪兑平台。

TokenPocket多链数字货币钱包,自2018年上线以来,已为全球近千万用户提供数字资产管理服务。用户遍布全球两百多个国家和地区,日活用户超过30万。TokenPocket已成为BTC、ETH、BSC、HECO、TRON 、Polkadot、EOS 等公链上最具竞争力的钱包,同时也是当前DeFi用户必备的工具钱包。

TokenPocket旗下的跨链聚合闪兑平台,将集去中心化闪兑、聚合交易、一站式跨链等功能于一身,用户无需经过认证,即可完成去中心化的即时交易,并完成TokenPocket支持的多链百余种数字资产的即时兑换。[2021/4/1 19:36:31]

合约漏洞分析

动态 | 比特大陆起诉黑客窃取其币安账户比特币:据CCN报道,比特大陆11月7日在华盛顿西区美国地方法院对一名神秘黑客提起诉讼,该黑客据称在4月份从该公司的币安账户中偷走了比特币。也许为了更好地隐瞒自己的身份,黑客并未将比特大陆的资金直接撤回到他们自己的比特币钱包中。相反却使用比特币人为地夸大了MANA代币的价格,使MANA的价格在不到一个小时的时间内从0.12美元飙升至0.34美元,将其市值提升8000万美元。诉讼声称,黑客从Bittrex向币安转移了大约230万枚MANA,并将通过清洗交易获得的比特币发回给Bittrex。比特大陆声称,他们在黑客攻击中损失了大约617枚BTC,价值约550万美元。[2018/11/10]

此次漏洞发生的根本原因是: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亿美元的数字资产免受损失。

欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!

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

金宝趣谈

[0:15ms0-3:426ms