宇宙链 宇宙链
Ctrl+D收藏宇宙链

PeckShield 深入代码层面分析,黑客究竟如何盗走 1.7 亿 BTT?

作者:

时间:1900/1/1 0:00:00

04月11日凌晨00:17,PeckShield态势感知平台监测到TCX1Cay…开头的黑客,创建了名为BTTx,tokenid为1002278的TRC10token,并于凌晨00:25至01:00之间向多个地址转入4,000万个BTTx代币,这多个地址对TXHFhq…开头的BTTBank理财类合约实施攻击。

原文标题:《波场假币攻击全过程:BTTBank理财合约遭黑客假BTT攻击》

BTTBank项目介绍

BTTBank又名TronBankBTT,是属于TronBank旗下的一款专属于BitTorrent(BTT)-ThetokenthatwillenableblockchainmassadoptionBTTtoken的投资产品,根据官网TronBank介绍:

TronBankBTT的智能合约将为您产生每天3.6-6.6%的投资收益(取决于你购买的产品计划),自动发放到你的收益余额中。举例,购买4.6%收益计划,21天你即可获得超过100%收益。收益每秒都会计算,你甚至每秒都可以提取收益或重新投资。当您重新投资收益时,投资金额会增加,可以更快的获得更多收益。

ApeCoin社区已否决“推出两款新NFT系列”的提案:金色财经报道,据Snapshot投票页面信息,ApeCoin社区关于推出两款新NFT系列的AIP-206提案以86.75%的反对率未获得通过。该提案提议推出“Ape Coin Armory Club NFT”和“Ape Coin Pet Club NFT”,旨在激励APE持有者并拓展到更广泛的Yuga Labs生态中的元宇宙社区。[2023/3/30 13:34:53]

其产品界面如下:

其理财过程大致如下:

1、用户根据收益率和投资期限购买相应的理财产品;2、投资期限到期之后,用户提现理财产品到自己的钱包。

使用上,和当前的各类P2P理财产品类似,用户的使用门槛仅在于一个TRON钱包,但从产品收益率来看,这个资产回报率还是相当可观的。

攻击回溯

攻击事件简述

去年年底,波场孙宇晨发起12号提议,即符合波场TRC10规范的Nativetoken的名字将不再唯一,涉及到TRC10token的转账等操作将使用ID来代替。这使得波场创建token的流程变得简单易上手,然而却带来一个潜在的威胁,一旦合约疏于检查tokenid的匹配性,就会存在假币攻击的可能。简而言之,本次BTTBank遭受攻击正是因为缺乏tokenid的一致性验证造成的。

PeckShield:NFT 项目 Art Gobblers 出现假冒账号发布公共铸造抽奖活动:金色财经报道,据 PeckShield 预警监测,NFT 项目 Art Gobblers 出现假冒账号发布假的 Gobblers 公共铸造抽奖活动,PeckShield 已检测到假冒的推特账号 @artgobbbIers 使用伪造的 PNG 图像来冒充的@artgobblers,带有“?”的 artgobb?ers[.]com 是钓鱼网站。[2022/11/2 12:08:11]

背景知识

TRON中的token分为几种规范:

TRXTRC20TRC10其中,TRX为TRON的平台币,类似于Ethereum中的ETH。

而TRC20是与EthereumERC20兼容的token,实质是一种可编程的智能合约,由用户通过智能合约创建token之后,其token的转账、发送等操作均在智能合约内部完成,对于一般的小白用户来说,ERC20/TRC20使用过于复杂,不便于上手使用。

Flashbots工程师:所有共识客户端均实施、测试并确认builder-specs集成:9月6日消息,Flashbots工程师Chris Hager在社交媒体发文表示,Flashbots实现了MEV-Boost的另一个里程碑事件,所有共识客户端都实施、测试并确认了builder-specs的集成,现在可将MEV-Boost与任何客户端一起使用。MEV-Boost是由Flashbots构建的提议者-构建者分离(proposer-builderseparation,PBS)的实现,用于以太坊权益证明。MEV-Boost旨在与标准Ethereum Builder API兼容,这意味着它与所有共识和执行客户端兼容。运行MEV-Boost的验证者通过向开放的builder出售区块空间来最大化其质押奖励。[2022/9/6 13:11:45]

故此,TRON中引入了TRC10token,这是一种可以由用户直接操控的token,每一个自然用户支付1024TRX便可创建一个TRC10token,同时一个用户只能创建一个TRC10token。每一个TRC10token在创建之后,由系统分配一个唯一ID,这是一个从1,000,001开始往后自增的整数,一个tokenId标识一个唯一的token,当前TRON平台上共有1850个TRC10。

韩国加密交易所Upbit将于今日上线ApeCoin代币APE:5月17日消息,韩国加密交易所Upbit将于5月17日18:00上线ApeCoin代币APE,交易对为APE/BTC,APE存款将在公告发布后2小时内开始,仅支持来自ERC-20网络的存款。[2022/5/17 3:21:22]

为了提高TRC10的流动性和使用价值,TRON平台在Odyssey3.2版本之后,使能了在智能合约内部转账TRC10token的功能,参考TRC10TransferinSmartContracts,其示例代码如下所示:

上述代码简单解释如下:

1、transferTokenTest()接口内部用于转账TRC10token,接口调用方可以通过address.transferToken(uint256tokenValue,trcTokentokenId)往address转账数量为tokenValue的tokenid为tokenid的TRC10token;2、msgTokenValueAndTokenIdTest()接口表明,调用者可以直接在发送的message中加入tokenid和tokenvalue字段,这也说明了TRC10是TRON平台上的一等公民,属于内置类型,与TRC20通过函数参数的形式来表征token价值是完全不同的;3、getTokenBalanceTest()通过tokenid获取账号的余额。

Yat Siu:有人提议批准AIP-4但拒绝AIP-5,仅AIP-4无法运行Apecoin分配:3月29日消息,Animoca Brands联合创始人兼CEO Yat Siu今日在推特上表示:Apecoin论坛已上线,我鼓励大家阅读有关AIP-4和AIP-5的讨论。特别是Matt Galligan提出了一个有趣的提议,即批准AIP-4但拒绝AIP-5。 实现AIP-4的步骤之一要求‘通过ApeCoin DAO起草并批准一项提案,以便为AIP-4分配ApeCoin。’ 这本质上意味着,为了实现AIP-4,社区需要批准一个质押提案,它不需要是AIP-5。如果社区认为AIP-4的支撑机制是可以接受的,批准AIP-4将允许基金会立即开始工作,这可能需要3.5-4.5个月的时间来安全地构建。批准AIP-4并拒绝AIP-5允许现在构建质押基础设施,同时让社区有更多时间讨论质押池并增加NFT质押上限的提议。没有社区批准,仅AIP-4就无法运行Apecoin分配。[2022/3/29 14:24:23]

由此可知,TRC10token可以在智能合约内部通过tokenid完成转账,TRC10token作为价值承载者,在智能合约内部即反映在tokenid的差异上。

因此,合约开发者在处理TRC10转账相关逻辑时,需要特别注意tokenId的有效性和真实性。

攻击事件

PeckShield安全人员在分析BTTBank合约时,发现其合约源码实现中存在致命漏洞,可导致项目方资金受损。

下图为黑客攻击的原过程:

1、黑客先行创建一个名为BTTx的TRC10token;2、黑客往一批自己控制的账号中转入4,000万个BTTxtoken;3、通过控制的账号往BTTBank合约发起数次攻击;4、最后顺序将BTT提取到控制的账号中。

下文从BTTBank投资及赎回的过程还原本次BTT假币攻击的全过程。

投资

投资的核心代码如下:

public接口的invest()提取msg.tokenvalue,并调用private的invest()函数完成投资的过程,invest()内部计算并保存用户这一次的投资数量、时间等信息到合约的内部资产账单上。值得注意的是,这里invest()只提取了msg.tokenvalue,这里并没有提取msg.tokenid,也没有验证msg.tokenid是否属于BTTToken的tokenid(为1002000)。

前面我们提到BTTBank是一款投资理财类DApp,用户存入BTTtoken,资产到期之后,再赎回投资的BTT和对应的利息,在这里并没有检查是否是真正的BTT,也就是不论你投资的阿猫阿狗币,都被认为是BTTtoken。

提现

提现的核心代码如下:

赎回的过程比较简单,先从合约的内部投资账单上计算用户已经到期的投资金额,并将这一部分投资金额转回给用户,注意:msg.sender.transferToken(withdrawalAmount,BTT_ID)中是固定的BTT_ID即1002000.

至此,用户投入BTT,收获BTT;而黑客投入BTTx,收获BTT,一个完美的『狸猫换太子』过程。

防御策略

PeckShield安全人员在此提醒广大开发者,虽然TRC10/TRC20都是token,但两者在TRON平台上有着本质的差异性,若要在智能合约内部转账TRC10,一定要检查所转移的TRC10对应的tokenid是否为预期值。针对上例,可将投资代码增强如下:

另外,PeckShield安全人员根据上述的代码样式分析TRON平台上其它类BTTBank合约时,也发现了相似的问题。在此,PeckShield安全人员提醒在进行智能合约开发的时候,虽然复用现有代码可能会带来开发功能上面的便利,但也须注意可能带来的安全风险。

来源链接:mp.weixin.qq.com

本文来源于非小号媒体平台:

PeckShield

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3627176.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

波场DApp再遭手!游戏TronWow变提款机,Peckshield深度讲解黑客手法

下一篇:

少写一行代码的教训:TronBank1.7亿BTT仅3小时就被洗劫一空

标签:TOKTOKEKENTOKENNothing TokenLAW TOKENimtoken钱包官方版下载苹果itoken钱包官网

芝麻开门交易所热门资讯
冷钱包 LeiterWallet 开放充币、提币通道

2018年1月28日,由MGCGroup区块链技术团队精心研发的冷钱包LeiterWallet上线公测。一经推出,便受到了市场的广泛认可。目前,LeiterWallet已开通收入、转出功能,同时对接MGCEX交易所.

1900/1/1 0:00:00
盘点 Fomo3D 狼人杀、EOSBet 、EOSDice 等十八个安全漏洞事件始末

EOS区块链在主网上线后一跃成为了活跃度排名第二的公链,据统计,EOS上线至今的DApp交易额达140亿流水,新进场用户携大量资金助推了DApp的大火,但随之而来也暴露出了EOS竞猜类智能合约安全的严峻问题.

1900/1/1 0:00:00
数据显示:以太坊多空势力仍失衡 资金逐渐逃离核心DeFi应用

据TokenGazer数据显示,截止至5月22日11时,期货方面,目前目前Bitfinex和BitMEX总多单量统计数据为$142.8M,总空单量数据为$43.6M,总多单比总空单多53.24%.

1900/1/1 0:00:00
起底「黑暗幽灵」战队:做空币价,打劫过所有头部交易所,除了币安

7月21日开始,FCoin的平台币FT价格大跌,一日跌幅超过14%。而FCoin的安全团队监测发现,有一批僵尸账户突然激活,出现「均匀交易」,每5秒钟进行一次抛单、吃单的操作,拼命打压价格.

1900/1/1 0:00:00
教育机构成为黑客的主要目标:土耳其大学计算机系统受到黑客攻击用于窃取加密货币

土耳其公共研究机构萨卡里亚大学的计算机系统受到黑客攻击以窃取加密货币。大学和学校是黑客的主要目标,因为他们的系统安全控制相对较差。此外,教育机构的多个计算机系统可以产生大量的计算能力.

1900/1/1 0:00:00
DragonEx 开放 LEO 充提业务公告

DragonEx开放LEO充提业务公告 2019-05-23 亲爱的用户: DragonEx现已开放LEO充提币功能.

1900/1/1 0:00:00