监守自盗?Titano.Finance被黑事件分析

  • SharkTeam
  • 更新于 2022-03-08 14:55
  • 阅读 2514

监守自盗?Titano.Finance被黑事件分析

2022年2月14日,Defi借贷协议 Titano.Finance遭遇漏洞利用,损失超4800BNB(约190万美元)。

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

image.png

攻击交易为0x848280d0e054b0f1a04356bdf29cff390d9a982a6f709ae5df45a6f32f5bce6c,如下:

image.png

交易调用的函数如下: image.png

合约代码如下:

image.png

从代码中,我们发现函数award存在逻辑漏洞,在铸造controlledToken即TickTitano时,铸币数量amount不应该超过_currentAwardBalance的值,而实际上,当amount > currentAwardBalance时,合约只是将_currentAwardBalance设置为0,并没有先将amount设置为currentAwardBalance,造成铸币的时候可以铸造出任意数量的TickTitano。而函数award中是存在owner权限校验的,而这里的owner恰好是攻击者的账户地址。

攻击者利用合约漏洞以及owner账户铸造出了大量的TickTitato,凭此提取出了大量的Titato,然后分批次兑换为BNB,

image.png

最后将兑换的BNB转账给了多个账户地址。

image.png

另外,再看合约部署和发起攻击的时间,

image.png

合约部署的时间比攻击的时间要早3天多,而且部署的合约都是开源的业务合约。

综上所述,不排除项目方中有内部人员监守自盗,项目在3天前正常的部署了业务合约,这3天某内部人员发现了其中的漏洞,然后利用合约漏洞和owner账户发起了攻击,获取了大量的Titato,并将其兑换成了BNB。最后将BNB转账给了多个账户(可能属于同一个人,也可能属于多个人)进行分账。此次安全事件提醒各项目方,在合约开发过程中,要注意合约逻辑的严谨性以及特殊权限账户地址的安全性。

总结:本次攻击的根本原因在于,函数award存在逻辑漏洞,而函数award中是存在owner权限校验的,而这里的owner恰好是攻击者的账户地址,项目方中有内部人员监守自盗的可能性较大。

二、安全建议

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。

SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。 Twitter:https://twitter.com/sharkteamorg

Telegram:https://t.me/sharkteamorg

更多区块链安全资讯与行业分析,点击下方链接查看

D查查|链上风险核查

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
SharkTeam
SharkTeam
0xC0f5...8888
SharkTeam是领先的Web3安全服务提供商,提供智能合约审计、链上分析和应急响应服务。 Web: https://www.sharkteam.org Telegram: https://t.me/sharkteamorg Twitter:https://twitter.com/sharkteamorg