波场假币攻击全过程:BTTBank理财合约遭黑客假BTT攻击
04月11日凌晨00:17,PeckShield态势感知平台监测到TCX1Cay… 开头的黑客,创建了名为 BTTx, token id 为 1002278 的 TRC10 token,并于凌晨 00:25 至 01:00 之间向多个地址转入 4,000 万个 BTTx 代币,这多个地址对 TXHFhq… 开头的 BTTBank 理财类合约实施攻击。
BTTBank 项目介绍
BTTBank 又名 TronBank BTT, 是属于 TronBank 旗下的一款专属于 BitTorrent (BTT) - The token that will enable blockchain mass adoption BTT token 的投资产品,根据官网 TronBank 介绍:
TronBank BTT 的智能合约将为您产生每天 3.6 - 6.6%的投资收益(取决于你购买的产品计划),自动发放到你的收益余额中。举例,购买 4.6% 收益计划,21 天你即可获得超过 100% 收益。收益每秒都会计算,你甚至每秒都可以提取收益或重新投资。当您重新投资收益时,投资金额会增加,可以更快的获得更多收益。
其产品界面如下(由于当前 BTTBank 在维护中,主站无法打开,援引 TronBank 明星产品 TRX 的投资图片,详见 TronBank):
其理财过程大致如下:
- 用户根据收益率和投资期限购买相应的理财产品;
- 投资期限到期之后,用户提现理财产品到自己的钱包
攻击回溯
攻击事件简述
去年年底,波场孙老板发起 12 号提议,即符合波场 TRC10 规范的 Native token 的名字将不再唯一,涉及到 TRC10 token 的转账等操作将使用 ID 来代替。这使得波场创建 token 的流程变得简单易上手,然而却带来一个潜在的威胁,一旦合约疏于检查 token id 的匹配性,就会存在假币攻击的可能。简而言之,本次 BTTBank 遭受攻击正是因为缺乏 token id 的一致性验证造成的。
背景知识
TRON 中的 token 分为几种规范:- TRX
- TRC20
- TRC10
而 TRC20 是与 Ethereum ERC20 兼容的 token,实质是一种可编程的智能合约,由用户通过智能合约创建 token 之后,其 token 的转账、发送等操作均在智能合约内部完成,对于一般的小白用户来说,ERC20/TRC20 使用过于复杂,不便于上手使用。
故此,TRON 中引入了 TRC10 token, 这是一种可以由用户直接操控的 token,每一个自然用户支付 1024 TRX 便可创建一个 TRC10 token,同时一个用户只能创建一个 TRC10 token。每一个 TRC10 token 在创建之后,由系统分配一个唯一 ID(即 token id),这是一个从 1,000,001 开始往后自增的整数,一个 tokenId 标识一个唯一的 token,当前 TRON 平台上共有 1850+(2019-04-12)个 TRC10。
【马丽大咖谈版权及免责声明】本文仅代表作者本人观点,与马丽大咖谈立场无关。本站所有内容不构成投资建议,币市有风险、投资请慎重。如需转载文章,请注明来源马丽大咖谈(www.mldkt.com)及作者姓名,违者必究。