okx

TransitSwap攻击事件:SharkTeam独家分析校验漏洞并批准

时间:2023-06-11|浏览:176

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

一、事件描述:

2022年10月2日,TransitSwap项目在Twitter上发布消息称项目遭受到黑客的攻击,被盗取了约2100万美金。SharkTeam对此展开了技术指标分析,并归纳了安全防护方式,期待该事件能为区块链行业安全防线共铸一份力。

二、事件分析:

攻击者使用了以下地址:

•攻击者账户详细地址:0x5f0b31aa37bce387a8b21554a8360c6b8698fbef,简称为0x5f0b。

•货币接受详细地址:0x75f2aba6a44580d7be2c4e42885d4a1917bffd46,简称为0x75f2。

•Ethereum攻击合同:0x17ff6c94ba3a49c72ef2f10782de8a6152f204ea,简称为0x17ff。

•BSC攻击合同:0x8ca8fd9c7641849a14cbf72faf05c305b0c68a34,简称为0x8ca8。

事件以BSC里的第一笔攻击买卖为例进行分析。该买卖包括了四笔转账,从四个帐户里将不同数量的WBNB转到帐户0x75f2中。攻击过程中每一笔转账执行的过程都包含了以下四个部分:

1.调用allowance函数查看货币准许。

2.调用balanceOf函数查余额。

3.第二次调用balanceOf函数查余额。

4.浏览合同0x8785bb8deae13783b24d7afe250d42ea7d7e9d72(简称为0x8785)。

合同0x8ca8启用了合同0x8785中签字数值为0x006de4df的函数公式。随后,由合同0x8785启用合同0x0b47中签字数值为0xd9c45357的函数公式。最终,由合同0x0b47启用合同0xed1a中签字数值为0x0a5ea466的函数公式,即claimTokens函数。

在其中,输入数据如下:

最终,合同0xed1a中的claimTokens函数会启用WBNB合同里的transferFrom函数,将帐户0xcfbc所持有的每一个18.7WBNB迁移给帐户0x75f2,即攻击交易过程中第一笔转账。

通过上述全过程,攻击者利用合同系统漏洞及其帐户0xcfbc的准许,自定义输入数据,调用transferFrom函数将帐户0xcfbc的全部WBNB转移至攻击者自己的账户上。攻击者之所以能够转出客户核准的货币,是因为攻击合同浏览了三个合同(0x8785、0x0b47和0xed1a),但这些合同缺乏对网站访问、启用的函数公式、以及相关的主要参数等方面的校检。因此,攻击者可以运用消费者对合同的货币转移启用货币的转账函数公式(transferFrom)启用客户的货币。

三、安全建议:

攻击者利用了合同校检系统漏洞将客户核准的货币转移到自己的账户上。这次攻击的主要原因是被攻击合同本身存在校检系统漏洞。针对Solidity中的call函数,尤其是在具体业务应用中,建议按照实际业务流程限制启用的协议及其函数公式,并使用授权管理体制。

其次,消费者对合同无额度货币的审批也是引发攻击的原因之一。若每一次准许全是限定的,则至少可以确保未批准的货币十分安全。因此,建议当项目获得客户准许时,可以定量分析准许。尽管这种行为可能会影响到一些客户体验,但是对于更好地保障区块链的安全性来说,这无疑是需要承受的代价。

最后,对于消费者来说,必须谨慎地审批买卖,特别是所有准许的现象。SharkTeam的发展目标是全方位维护Web3全球的安全性,是由全球各地资深的安全性专业人员和高级科学研究人员构成的,并提供专业的区块链智能合约财务审计、链上剖析、应急处置等工作。建议广大用户对区块链安全进行更深入的研究和了解,从而更好地保护自己的资产安全。

« 上一条| 下一条 »
区块链交流群
数藏交流群
区块链币圈-全球区块链数字货币行情、比特币虚拟货币资讯,狗狗币以太坊环保币柚子币莱特币瑞波币等加密数字货币价格非交易行情查询,金色财经巴比特范非小号快讯平台。
趣开心资讯 Qukaixin.cn ©2020-2024版权所有 桂ICP备19010284号-1