火星链 火星链
Ctrl+D收藏火星链
首页 > DOT > 正文

TOKEN:波场假币攻击全过程: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%的投资收益:

BTCST成为波场TRON世纪挖矿首个入选项目:据最新消息,BTCST(Bitcoin Standard Hashrate Token)成为波场TRON世纪挖矿首个入选项目。波场TRON创始人兼BitTorrent?CEO孙宇晨将提供50%包含:TRX、BTT、JST、SUN、WIN在内的五币礼包补贴,全部回馈挖矿用户!矿池即将开启,敬请期待。

据悉,BTCST?作为首个区块链行业类似于灰度基金的比特币算力基金,是至今?Binance?LaunchPool?的首个唯一算力币,BTCST自上线以来,就创下Binance?LaunchPool?TVL第一的记录,?项目零私募,零?VC,零团队预留,完全依靠社区自治的基于?BSC?的智能合约。

目前,Launchpool?上首个算力币BTCST?已经上线?Binance、VCC?Exchange、PancakeSwap?交易所。BTCST?已与?BTC.TOP、Easy2Mine、Genesis?Mining、Atlas?Mining、Hengjia?Group?五大矿场合作,同时得到?MathWallet?麦子钱包、TokenPocket、SafePal?等钱包的支持。[2021/3/18 18:58:20]

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

昨日波场TRON上的USDT交易量比以太坊多59%:据CoinMetrics网站最新数据显示,昨日波场TRON上的USDT交易量比以太坊多59%,更多用户选择了波场TRON网络。

据悉,波场 TRON 以推动互联网去中心化为己任,致力于为去中心化互联网搭建基础设施。旗下的 TRON 协议是全球最大的基于区块链的去中心化应用操作系统协议之一,为协议上的去中心化应用运行提供高吞吐,高扩展,高可靠性的底层公链支持。波场 TRON 还通过创新的可插拔智能合约平台为以太坊智能合约提供更好的兼容性。[2021/2/3 18:47:41]

攻击事件简述

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

孙宇晨:波场已发行了500枚BTC:据最新消息显示,波场TRON创始人兼BitTorrent CEO孙宇晨在微博公布:“波场的BTC正式来袭啦!今天发行了500枚BTC,波场的USDT铸就40亿美元的奇迹,首批支持交易所征集中,P网已经同意,交易所需要支持的,请第一时间联系我!”[2020/10/1]

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,其示例代码如下所示:

动态 | BitTorrent(BTT) 针对持有波场TRX用户1月份空投已发放完毕:据官方最新消息,BitTorrent(BTT)针对持有波场TRON(TRX)用户1月份空投已经发放完毕,所有波场TRON主网以及SUN Network主网中拥有TRX的地址均可获得对应比例空投的BTT,无需进行任何操作,无论冻结与非冻结皆可获得空投。按照计划,快照于UTC2020年1月11号凌晨0点0分0秒完成。区块高度#16148468的时间戳为1578700800000, 正好为计划时间点。在快照时,TRX总量为99758438039.10713。因此最终的空投比例为 TRX/BTT=100.76609902940115。从TRX阈值来看,只有账户余额大于等于100TRX的账户在此次空投获得BTT。[2020/1/11]

上述代码简单解释如下: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的有效性和真实性。攻击事件

公告 | 波场TRON公示超级代表5000万TRX激励计划第二轮名单:随着波场TRON第22号、27号提案顺利通过,波场TRON新的激励机制已正式生效。为表达波场TRON超级代表对波场TRON生态建设所做出的杰出贡献,波场TRON基金会已于2019年11月推出5000万TRX激励计划奖励超级代表,目前5000万TRX激励计划第二轮名单已公示,可点击原文链接进行查看。[2020/1/3]

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

黑客先行创建一个名为BTTx的TRC10token;黑客往一批自己控制的账号中转入4,000万个BTTxtoken;通过控制的账号往BTTBank合约发起数次攻击;最后顺序将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安全人员提醒在进行智能合约开发的时候,虽然复用现有代码可能会带来开发功能上面的便利,但也须注意可能带来的安全风险。

标签:TOKENTOKKENTOKEPhunTokenFlamengo Fan TokenEvident Proof Transaction TokenPassive Token

DOT热门资讯
区块链:海外周报 | 值得关注的三个新项目;支付巨头 PayPal首涉区块链投资;比特币闪电火炬即将“熄灭”(4.1-4.7)

海外重磅播报比特币闪电火炬即将“熄灭”,仅剩余约10次的传递次数比特币闪电火炬似乎很快就要“熄灭了”。到目前为止,闪电火炬已经覆盖到了全球54个国家.

1900/1/1 0:00:00
比特币:科普园地16 | 识别山寨币、空气币、币

自从莱特币出现之后呢,涌现了大量的山寨币,林子大了什么鸟都有,这里面鱼龙混杂,掺杂了一些空气币和币,让人猝不及防。其实,山寨币、空气币、币,虽然他们的界限是很模糊的,但是各有各的特点.

1900/1/1 0:00:00
LOCK:EKT多链技术是如何解决智能合约数据的存储与设计问题的

自从去年以太坊上的游戏CtyptoKitties流行起来以后,很多人发现了智能合约的新玩法——做游戏!在手机游戏市场中,棋牌类的游戏占领了很大的市场,比如斗地主、德州扑克等.

1900/1/1 0:00:00
ONO:Staking Economy会为PoS生态带来什么?

导读本月29日CoinbaseCustody宣布开始对TezosStaking提供支持,由此也将StakingEconomy从幕后推至前台.

1900/1/1 0:00:00
比特币:“闪电火炬”即将落幕,背后是李嘉诚投的这家公司

再有大约一周的时间,名为“闪电火炬”的闪电网络支付活动即将落幕。这是一场由全职比特币爱好者hodlonaut在1月19日无意中发起的社会实验活动.

1900/1/1 0:00:00
DATA:BaaS厂商竞备赛:赛道不同,姿势各异

!webp\"data-img-size-val=\"1080,595\"\u002F\\>文:陈海宁编辑:王巧近年来,各大企业竞相布局BaaS领域,而BaaS的现状与云计算的初期有些类似.

1900/1/1 0:00:00