宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 加密货币 > 正文

波场假币攻击全过程:BTTBank理财合约遭黑客假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项目介绍

BTTBank又名TronBankBTT,是属于TronBank旗下的一款专属于BitTorrent(BTT)-ThetokenthatwillenableblockchainmassadoptionBTTtoken的投资产品,根据官网TronBank介绍:TronBankBTT的智能合约将为您产生每天3.6-6.6%的投资收益:

波场TRON账户总数突破1.4亿:据官方消息,2023年2月2日,TRONSCAN最新数据显示,波场TRON账户总数达到140,006,088,正式突破1.4亿。波场TRON各项数据稳中前进,波场生态逐渐强大的同时,也将迎来更多交易量。[2023/2/2 11:42:45]

其理财过程大致如下:用户根据收益率和投资期限购买相应的理财产品;投资期限到期之后,用户提现理财产品到自己的钱包使用上,和当前的各类P2P理财产品类似,用户的使用门槛仅在于一个TRON钱包,但从产品收益率来看,这个资产回报率还是相当可观的。攻击回溯

攻击事件简述

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

波场TRON用户数突破7900万:2022年2月28日,根据TRONSCAN最新数据显示,波场TRON账户总数达到79,202,083,正式突破7900万。波场TRON各项数据稳中前进, 波场TRON生态逐渐强大的同时,也将迎来更多交易量。[2022/2/28 10:20:32]

TRON中的token分为几种规范:TRXTRC20TRC10其中,TRX为TRON的平台币,类似于Ethereum中的ETH。而TRC20是与EthereumERC20兼容的token,实质是一种可编程的智能合约,由用户通过智能合约创建token之后,其token的转账、发送等操作均在智能合约内部完成,对于一般的小白用户来说,ERC20/TRC20使用过于复杂,不便于上手使用。故此,TRON中引入了TRC10token,这是一种可以由用户直接操控的token,每一个自然用户支付1024TRX便可创建一个TRC10token,同时一个用户只能创建一个TRC10token。每一个TRC10token在创建之后,由系统分配一个唯一ID,这是一个从1,000,001开始往后自增的整数,一个tokenId标识一个唯一的token,当前TRON平台上共有1850+个TRC10。为了提高TRC10的流动性和使用价值,TRON平台在Odyssey3.2版本之后,使能了在智能合约内部转账TRC10token的功能,参考TRC10TransferinSmartContracts,其示例代码如下所示:

基于波场的去中心化闪兑产品 JustSwap 出现宕机情况:推特用户 CRY?TO OWΞN WI?SON 称,波场 TRON 去中心化闪兑产品 JustSwap 出现宕机情况,不知道原因为何。目前 Justswap 官方尚未给出任何答复。[2020/9/4]

上述代码简单解释如下:transferTokenTest()接口内部用于转账TRC10token,接口调用方可以通过address.transferToken(uint256tokenValue,trcTokentokenId)往address转账数量为tokenValue的tokenid为tokenid的TRC10token;msgTokenValueAndTokenIdTest()接口表明,调用者可以直接在发送的message中加入tokenid和tokenvalue字段,这也说明了TRC10是TRON平台上的一等公民,属于内置类型,与TRC20通过函数参数的形式来表征token价值是完全不同的;getTokenBalanceTest()通过tokenid获取账号的余额。由此可知,TRC10token可以在智能合约内部通过tokenid完成转账,TRC10token作为价值承载者,在智能合约内部即反映在tokenid的差异上。因此,合约开发者在处理TRC10转账相关逻辑时,需要特别注意tokenId的有效性和真实性。攻击事件

Tether在波场网络增发1亿枚USDT:据DAppTotal稳定币专题页面数据显示:05月13日23时16分,USDT发行方Tether在波场网络增发1笔价值100,000,000美元的TRC20 USDT,块高度为:19706153,交易哈希值为:8215696120f3199afa69f607e2f94b0980f2295282ef9131fed184c3aef2fd62。截至目前,Tether在波场网络上的TRC20 USDT总发行量已达1,983,395,020枚。[2020/5/14]

PeckShield安全人员在分析BTTBank合约时,发现其合约源码实现中存在致命漏洞,可导致项目方资金受损。下图为黑客攻击的原过程:

黑客先行创建一个名为BTTx的TRC10token;黑客往一批自己控制的账号中转入4,000万个BTTxtoken;通过控制的账号往BTTBank合约发起数次攻击;最后顺序将BTT提取到控制的账号中。下文从BTTBank投资及赎回的过程还原本次BTT假币攻击的全过程。投资投资的核心代码如下:

动态 | 成人网站Pornhub宣布支持USDT 可用波场钱包TronLink完成:成人网站Pornhub今日在官网发布消息,宣布已支持USDT 支付。此前,波场TRON已和泰达公司达成合作,用户现可通过波场生态钱包TronLink进行支付。TronLink波宝钱包是一款安全、全面、专业的波场钱包,致力于为用户提供最安全的资金选择、最全面的波场功能、最便捷的使用体验、以及最丰富的应用选择。波宝钱包是目前波场TRON生态中用户量最大的去中心化钱包,同时也是唯一一个PC端及移动端均支持的钱包,其产品已经累计为超过30万的波场用户提供服务。[2020/1/23]

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安全人员提醒在进行智能合约开发的时候,虽然复用现有代码可能会带来开发功能上面的便利,但也须注意可能带来的安全风险。

标签:KENTOKENTOKTOKEFK tokenUBGTokenDP TokenLeagueDAO Governance Token

加密货币热门资讯
「互联网vs区块链革命」系列之四:新概念,估值和时机

《互联网vs区块链革命》系列之四:新概念,估值和时机八维研究院八维区块链互联网革命vs区块链革命系列前言马克吐温曾经说过:“历史不会重演,但它确实会押韵”.

1900/1/1 0:00:00
TUSD 说新功能可让用户实时查核锚定美元数量

作者|秦晓峰芦荟Odaily星球日报此前报道,稳定币TrueUSD在本周二发布两项声明:一是为用户提供实时资金确认服务,用户可以查看TUSD锚定美元资产;二是实施自动即时赎回,美元与TUSD可以迅速兑换。推荐阅读《稳定币风云再起》.

1900/1/1 0:00:00
Polychain管理资产规模几近腰斩,此前曾押宝以太坊

一度掌管10亿美元的加密货币基金Polychain,管理资产的规模如今缩水不少。据Polychain提交给美国证券交易委员会的一份新文件显示,Polychain在今年3月底管理的资产为5.91亿美元,这个数字在去年8月还是9.678亿.

1900/1/1 0:00:00
“打新”大战:各家套路有何异同? ——区块链周报

导读“打新”大战正式开启,各交易所“打新”模式究竟有何异同?IEO将如何发展?摘要专题:通过对比可以发现,在BinanceLaunchpad之后推出的“打新”产品相对更加强调合规,HuobiPrime与IEO区别相对较为明显.

1900/1/1 0:00:00
为加强企业区块链技术安全,IBM推出新的区块链安全测试服务

IBM安全团队宣布推出新的区块链安全测试服务X-ForceRed,以帮助企业识别采用区块链技术的解决方案中的弱点.

1900/1/1 0:00:00
师太说区块链|1.9 尾声,挖矿时代已经过去

无论是从节约资源爱护环境的道德层面,还是各种更科学的共识算法推陈出新的技术层面,或者是中小矿工挖矿入不敷出的市场经济学层面,“挖矿”这种第一代区块链共识算法,已经成为特定历史时期的产物。我们感谢它、尊重它、但是未来不得不放弃它.

1900/1/1 0:00:00