三千多万美元不翼而飞?USDT被盗事件全揭秘
去年11月19日,价值3095万美元的USDT被从Tether Treasury钱包中取出,并被发送到未经授权的比特币地址,发起攻击的地址为16tg2RJuEPtZooy18Wxn2me2RhUdC94N7r。
事件爆发后,各数字货币突然开始暴跌,BTC短时间内下跌超过500美金。其他币种也有不小跌幅。
当时Tether公司声称所有被盗走的USDT都已被标记,呼吁用户在使用USDT收款时要注意货币来源是否与黑客使用的比特币地址有关联,因为被盗的USDT将无法在Tether官网赎回成美元。
Tether表示:作为USDT管理资产的发行人,不会赎回任何被盗的代币。目前正在恢复漏洞的过程,以防止它们进入更广泛的生态系统。
他们还表示,公司也正在发布新版本的Omni Core软件,以有效锁定它所称被盗的USDT。
祸不单行,当USDT还焦头烂额地忙着进行危机公关时,过去支持USDT的交易平台也纷纷以Tether官方需要升级USDT钱包为由暂停了USDT的充提币。OKEX、火币Pro等都发布公告暂停USDT充值等消息。
据火币pro行情显示,现BTC跌幅3.04%,暴跌500美元,ETH跌幅1.14%,BCH跌幅2.51%,LTC跌幅3.66%。
由于被盗3000万美金,USDT开始被抛售,K网(Kraken)的价格已经跌倒和美元兑换比例为0.91:1。USDT 发行总量约为6.75亿美元,此次被盗数量占比4%。当时USDT的全球均价为6.59,低于美元兑换人民币汇率的6.635。用人民币买USDT已经不划算。一度造成市场恐慌,币价大跌。
这已经不是币圈第一次遭遇这么大规模的恐慌了。从比特币问世以来,历史上已经出现数次被盗事件,比如门头沟事件和Bitfinex事件,都造成了大量币丢失,损失严重,同时导致比特币价格大幅下跌。
本次USDT危机,又让本来就容易产生动荡的币圈,结结实实地又收了一个炸弹。
当时就有消息称,Tether公司因为超发代币,给空头造成了巨大的损失,空头抓住了他们的证据,因此Tether公司删掉了一个3100万美元的账户并谎称是被黑。
同时,网上的舆论也开始甚嚣尘上。
这里介绍一下USDT
其实USDT也是一种代币,中文名泰达币,由全球最大的加密货币交易平台bitfinex组建的Tether Limited于2015年发行。
Tether公司承诺采用金本位方式,每发行1USDT都会在银行存入一美元或以上的保证金,以保证USDT与美元1:1的锚定汇率。
最初在国内USDT其实不算火爆,但是在国内禁止数字资产和虚拟货币交易后,不少人把目光投向了场外交易(OTC)的形式进行数字资产和法币兑换。这时,通过对标美元的USDT就变得炙手可热,加上其方便易用的特性,渐渐被与U额能越多的交易所接纳。
目前,USDT已经成为主流交易所的的基础锚定货币,拥有25亿美金的流通量,价格基本稳定在1美元,这也就是为什么很多国内投资者把USDT跟美元划上等号。
从技术层面来说,USDT本身是具有相当的技术含量的,具体来说就是其采用的「Omni协议」。
而Omni与比特币之间的关系时,一个常见的类比是HTTP到TCP / IP:HTTP,如Omni,是应用层到TCP / IP的更基本的传输和互联网层。
下面我们从技术角度
回顾事件始末
6月28日下午18时左右,Armors Labs IDS系统中某B交易所USDT地址交易记录出现异常报警。若干同地址出现高频交易导致出现异常报警。
Armors立即组成临时专家小组对此次异常展开追踪分析,并第一时间向某B交易所提出预警。随后在测试网络确认漏洞存在后,立刻向全网发出警告,建议各交易所、钱包暂停USDT相关交易,并自查业务代码。
为了保护交易所隐私,我们拿一笔普通的USDT交易来举例:
交易hash:bff9469093280bf574375d3dcd760a32f3b92f3b8f09ad6b3547b75082667dd4
发起交易后,通过OmniAPI我们可以查看到其状态为UNCONFIRMED。
原始数据如下图:
等交易真正确认后,状态会变为
CONFIRMATIONS。
查询API接口后结果变成如下图
其中valid字段为true时,说明交易真正成功完成。
此次漏洞攻击的原因,就是某B交易所对USDT充值交易接口调用时,没有对valid状态做异步判断,而直接给用户加币。攻击者通过恶意操作,导致这次交易失败,最终USDT没有真正转到B交易所地址,但是在某B交易所内部记账体系,已经给该用户充值成功USDT。
在ArmorsLabs的技术支持下,目前某B交易所已经修复该漏洞。Armors相关合作伙伴已经完成自查或修复漏洞。