波场DApptronbank于4月11日凌晨1点遭受假币攻击。11日上午Beosin成都链安技术团队作出初步分析,判断该次假币攻击事件主要原因在于合约没有严格验证代币的唯一标识符代币ID,错误的将攻击者自己发行的无价值代币识别为价值85万元的BTT代币,从而造成了损失。同时及时发出预警,预判黑客团队未来可能将攻击重点转向波场。
原文标题:《BTT假币攻击事件细节披露及修复方案》
现针对此次事件,成都链安技术团队进一步作出深度分析。
首先,我们先看此次BTT假币攻击事件中的漏洞源码,如下图:
成都链安技术团队分析发现,该假币漏洞是由于invest函数只判断了msg.tokenvalue,而没有判断msg.tokenid是否为真实BTT代币的ID:1002000所导致。
数据:BUSD市值跌破50亿美元,三个月缩水50%:6月7日消息,据 CoinGecko 最新数据显示,Paxos 发行的美元稳定币 Binance USD(BUSD) 市值已跌破 50 亿美元关口,截止发稿为 4,990,902,406 美元。
历史数据显示,BUSD 市值在三个月左右的时间内已缩水 50%:BUSD 市值于 2023 年 3 月 3 日跌破 100 亿美元,3 月 5 日跌破 90 亿美元,3 月 27 日跌破 80 亿美元,4 月 11 日跌破 70 亿美元,5 月 10 日跌破 60 亿美元。[2023/6/7 21:21:02]
TRC10标准是波场本身支持的技术代币标准,标准规定了两个重要参数:msg.tokenvalue和msg.tokenid。其中msg.tokenvalue表示当前msg调用的代币数量,而msg.tokenid表示当前调用者使用的代币种类标记ID。每种TRC10标准的代币都有一个独一无二的标记ID作为代币种类证明。
Celsius在Lido V2上线前转移价值7.81亿美元的stETH:5月16日消息,加密借贷公司Celsius在刚启用提现功能的Lido V2上线前,将其持有的428,015枚stETH(价值为7.81亿美元)转移到Lido staked Ethereum钱包地址。链上数据表明Celsius在几小时后执行了0.1stETH的测试提取。(Cointelegraph)[2023/5/16 15:05:37]
BTTBank合约在收取代币时没有对收到代币的tokenid做任何判断,合约中仅仅判断了msg发送代币的数量msg.tokenvalue。当合约收到调用者发送的代币数量msg.tokenvalue时,合约错误的认为该代币数量是BTT的数量。但实际上调用者使用的是假币tokenid为1002278的代币数量。BTTBank将假币视同于真币记录到投资者账号。
欧洲证券和市场管理局 (ESMA) 为DLT试点推荐ISO标准DTI代码:1月11日消息,欧洲证券和市场管理局 (ESMA) 已推荐 ISO 标准数字令牌标识符 (DTI) 代码用于其分布式账本技术 (DLT) 试点监管制度,该制度将于 2023 年 3 月 23 日生效。该试点建立在现有的 MiFIR 基础上包括代币化金融工具的法规。ESMA 声称,这将提高交易前和交易后的透明度,同时使基于 DLT 的证券受到更严格的市场滥用审查。
DTI基金会是Etrading Software 的贸易部门,为数字资产和 DLT 提供 ISO 标准识别码。它声称,这允许加强欧盟监管,同时更有效地监控稳定币和数字资产系统性风险。目前,可用于常用交易数字资产的 ISO 标识代码超过 1000 个。[2023/1/11 11:06:33]
而攻击者账号TRC10代币中存在BTT和BTTx两种代币,可见两种代币的ID差异,BTT代币ID:1002000,BTTx代币ID:1002278。
Bakkt第三季度净亏损15亿美元:金色财经报道,Bakkt报告第三季度净亏损15亿美元,主要是由于其先前宣布的商誉减值费用。Bakkt第三季度的收入为1290万美元,比去年同期增长 41%,但低于分析师估计的1410万美元。?报告显示,不包括减值费用在内的运营费用为 6000 万美元,是去年同期报告的近 3000 万美元的两倍。?[2022/11/10 12:44:54]
攻击者于4月11日凌晨创建发行990,000,000,000,000,000个名为BTTx的假币
接着在假币创建完成后,攻击者将四千万创建的假币BTTx发送给四个攻击小号TB9jB76Bk4tk2VhzGAb6t1aCYgW7Z4iicY,TQM4uEWPQvVe2kGbWPZtVLMDFrTLERfmp4,TKp1stjapNqr4pkDQjU9GTitsYBUrKAGkh,TF2EWZJZSokGdtk4fj7PqCmuGpJasVXJ3K
布伦特原油跌破100美元/桶,日内跌6.03%:7月12日消息,布伦特原油跌破100美元/桶,日内跌6.03%。WTI原油日内跌超6.3%。(金十)[2022/7/13 2:08:48]
当攻击小号收到假币后,攻击者又调用BTTBank合约有缺陷的invest函数。
接下来在触发invest函数后,BTTBank项目方将大量BTT转入了预先设置的投资账号TPk,TT4,TGD,这笔资金实际上未被黑客获得,但项目方在没有收到BTT的情况下进行了真实的投资。
下图为源码中对三个投资地址的具体设置代码:
BTTBank投资的三个投资账号中都收到了大量BTT代币,如下图所示。
黑客触发invest函数后通过withdraw函数取到了BTTBank奖励池的真正的BTT代币,最终四个小号将赃款集中转向黑客主账号TCX1Cay4T3eDC88LWL7vvvLBGvBcE7GAMW
攻击者账户中的BTT赃款和攻击使用的假币BTTx如下:
此外,成都链安技术团队对在Github上开源的其他项目方代码进行检查,发现还有其他项目方存在此安全问题:如下为有问题的合约地址:TF3YXXXXXXXXXXXXXXXXXXXXXXXWt3hx
TKHNXXXXXXXXXXXXXXXXXXXXXXXAEzx5
TK8NXXXXXXXXXXXXXXXXXXXXXXXZkQy
TUvUXXXXXXXXXXXXXXXXXXXXXXXxLETV
TG17XXXXXXXXXXXXXXXXXXXXXXXkQ9i
因此Beosin成都链安呼吁广大项目方提高警惕予以重视,检查自己的合约是否存在上述安全漏洞,并及时进行更新。
发生原因:
据Beosin成都链安技术团队分析,上述问题的发生存在两个方面的原因:1)开发者对波场代币的使用机制研究不足,可能套用了以太坊的代币使用方法;2)攻击者在迁移其它公链上存在的攻击方式,如EOS已经存在的假币攻击方式。
修复意见:对此,Beosin成都链安技术团队建议:项目方在收取代币时应同时判断msg.tokenvalue和msg.tokenid是否符合预期。并给出该漏洞代码修复方式,如下:
Invest函数增加代码:require(msg.tokenid==1002000);require(msg.tokenvalue>=minimum);minimum是最小投资额
同时,Beosin成都链安提示:黑客团队未来可能将攻击重点转向波场,波场公链的DApp市场高度繁荣但一直未曾遭到过eos公链级别的高强度攻击,攻击者目前主要是将其他公链上已成熟的攻击方式迁移到波场并进行大范围攻击测试,寻找安全防护较为薄弱的合约,此阶段后,攻击者可能更进一步深度挖掘波场本身可能被利用的机制,进行更高强度和威胁的攻击。
并且Beosin成都链安也建议各大项目方加强合约的安全防护级别和安全运维强度,尽量防范未然,避免不必要的损失,必要时可联系第三方专业审计团队,在上链前进行完善的代码安全审计,共同维护公链安全生态。
本文来源于非小号媒体平台:
Beosin成都链安
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/3627175.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
PeckShield深入代码层面分析,黑客究竟如何盗走1.7亿BTT?
下一篇:
上线3小时即被盗走1.7亿BTT:TronBank未审计代码致假币攻击
火星财经APP一线报道,5月22日晚,火币Prime三期项目Reserve完成限价交易阶段交易撮合.
1900/1/1 0:00:002018年9月17日,第五届国家网络安全宣传周如期举行,直到当月23日,全国范围内将迎来为期一周的网络安全盛会,围绕「网络安全为人民网络安全靠人民」这一主题.
1900/1/1 0:00:00侧链这个概念,最早是在2014年,Blockstream的CEOAdamBack首次提出的。区别于主链,发展侧链最主要的目的,就是解决主链上的问题,比如主链的扩展性,或者主链上的资源紧张.
1900/1/1 0:00:00出品/CoinVoice文/霆钧Ethan起诉VC巨头“禁令对我造成了损失,我有权获得红杉资本的合理赔偿.
1900/1/1 0:00:005月21日,有外媒称,Tether承认曾使用部分储备投资比特币。对此,Bitfinex首席技术官PaoloArdoino发推表示质疑,其称:“在2019年5月16日,Tether在地址1NTMa.
1900/1/1 0:00:00亲爱的KuCoin用户:KuCoin现在已上线Cosmos(ATOM)并支持交易对:ATOM/BTC、ATOM/ETH、ATOM/USDT.
1900/1/1 0:00:00