以太坊再爆安全漏洞 交易所的安全声明你还信嘛?
2018/6/12 14:37:00

又是安全漏洞,又和交易所有关。

今天,区块链安全团队PeckShield曝光了名为tradeTrap的以太坊智能合约漏洞,该漏洞可让黑客随意操控币价、随意增发Token,该漏洞已影响十余种可在交易所交易的Token。截至文章发布,涉及的交易所已成功修复该漏洞。

这个名叫tradeTrap的智能合约漏洞波及700多个ERC-20 Token,其中也包括AI、SUB、NTO、TGT、FC、TBT等Token在内的数十个已经在交易所交易的Token,涉及币安、火币、OKEx、HitBTC、ZB、EtherDelta、IDEX等26家交易所。

该漏洞是今年发现的影响用户数量最大、涉及币种最多、涉及交易所最多的安全漏洞,据悉该漏洞可能有意或无意被开发人员预留在智能合约中,若用意良好不会造成影响,但是如果被黑客滥用,可以轻松地实现非法套利和操控价格的安全事件发生。

史上影响范围最大的智能合约漏洞细节曝光

从PeckShield团队处了解到,tradeTrap漏洞包括多个已知的安全问题:

(1)黑客可以通过mintToken()函数来随意增加Token余额(2)黑客可利用setPrices()buy()sell()三个函数来操纵Token价格,并且进行不公平的套利行为(3)BuyTrap和SellTrap,可让购买者和出售者成功付款后无法收到Token或者卖出后无法获得收入等。

在存在tradeTrap漏洞的智能合约中,PeckShield发现一个名为mintToken()的函数,该函数可被黑客用于随意向任一以太坊地址增发Token余额。

一般来讲,该函数只能被合约拥有者控制使用,用于合约Token的增发。该函数主要用于Token预售阶段,项目方可利用该函数向私募投资者发行相应的Token,在预售结束后理应停止使用该函数。但是实际上,该函数在预售结束后依旧可以随意使用。

如果项目方并未曝光增发计划而滥用该函数,可以向任一以太坊地址增发项目Token。凭空增发的Token数量,将会扰乱该Token的市场交易,给投资者带去损失。

以存在该漏洞的Substratum为例,该项目的Token总量在各个平台上存在巨大差距,有恶意增发的嫌疑。

EtherScan中查询SUB Token合约地址中有5.92亿Token,非小号、Coinmarketcap等数据平台显示SUB Token发行总量为4.72亿枚。区块律动BlockBeats也发现Substratum的白皮书中Token发行量也有过多次变更,在2017年8月的白皮书中,其发行数量为6亿Token,在12月白皮书中,发行数量为2.26亿。

在与PeckShield团队沟通后发现Substratum确实调用过mintToken()函数,做过一次5.8亿枚Token的增发,说明该接口的漏洞确实有效可用。目前该团队已经Medium发表声明表示仅在测试网络使用过该函数,并未在交易后进行过增发。

以太坊再爆安全漏洞交易所的安全声明你还信嘛?

另外一个安全问题存在于价格操纵上。在出现这类问题的智能合约中,有setPrice()、buy()、sell()三个函数,该函数只能由智能合约拥有者进行控制,可以规定Token的购买和销售价格。公众可以直接使用buy()、sell()函数来进行Token的买卖行为。

仔细阅读合约代码就会发现,在该合约中Token的价格是由合约的所有人来进行控制的,但是市场中流通Token的购买和销售价格其实应该由市场来决定,该漏洞让黑客有可乘之机,能够操纵价格套利。

在受到此漏洞影响的智能合约中,用户是可以通过智能合约的buyPrice和sellPrice与项目方进行交易的,比如EOS的众筹就是这种可以允许用户与合约进行交易,与此同时EOS又可以在交易所进行交易。但是智能合约中的buyPrice和sellPrice数值并不能与市场进行及时更新,在更新过程中产生的合约价格与市场价格的差距,就形成了套利空间。

在某些情况下,心怀不轨的交易所可以利用该漏洞来低价买入Token,然后充币到交易所后再按照市场高价卖出,形成交易所自己进行的套利,这实际上是违背商业道德的行为。

目前该漏洞影响了INT、SUB、SWFTC等的Token,这些Token正在OKEx、火币、HitBTC、IDEX、EtherDelta等交易所进行交易。

交易所已经修复tradeTrap漏洞,用户可安全交易

因为之前360在EOS漏洞曝光后的公关行为给市场造成了巨大的影响,导致大量投资人因为信息沟通不畅而造成资产损失,PeckShield团队决定不在漏洞发现的第一时间将漏洞向公众曝光,而是与交易所进行沟通确认和修复后再报告漏洞详情,保证漏洞通报流程的合规。

创始人蒋旭宪告诉区块律动BlockBeats,‘我们不希望漏洞第一时间曝光会给市场带来负面影响,毕竟tradeTrap漏洞涉及多个正在交易所交易的Token,随意地曝光可能会给市场带去恐慌,给广大投资者造成不必要的损失。’

目前币安、火币、OKEx、OKCoinKR、CoinEgg、Kucoin、Allcoin、HitBTC、Bitbns、ZB、OTCBTC、CoinBene、COSS、Etherdelta、ForkDelta、IDEX、YEX、Tidex、Radar Relay、Yobit、WazirX、CoinExchange、CoinSpot、Bluetrade、CEX、LiveCoin等26家交易所均以确认漏洞,币安等交易所已与SUB项目方确认漏洞无重大影响,用户可以放心交易。

但是我们不禁要问下面这个问题:

为何总是等到安全团队出马才能修复漏洞?

自从4月份开始有安全团队曝光区块链安全漏洞以来,都是安全团队率先通报漏洞,然后涉事的交易所、项目方才跟进的,总是慢一步。

区块律动BlockBeats无数次地在安全漏洞发生后向涉事方发出质问,尤其是交易所,我们是否做好了审核工作?所谓的上币审核是否只是一个形式流程?

而最近多家交易所更是随意上币,完全不走投票上币的流程。OKEx上币了一个没有任何是实质信息的BEC、火币上了玉红的纯概念社区币XMX、币安上线涉嫌误导消费者的QuarkChain,投资者看到的是媒体扑天盖地的宣传和潜在的投资机会,但区块律动BlockBeats看到的却是利益关联、内幕交易,这种‘走关系’的行为不仅毫无安全性可言,更是为区块链安全事件埋下了‘伏笔’。

以上面提到的set/buy/sellPrice漏洞为例,交易所是完全有机会利用这个合约漏洞来低价买入Token,随后在市场高涨的时候卖出,实现套利,或者利用低成本Token来操纵币价,以此获得利润。但是为了避免这种事情败露,交易所的充币地址会定期更换,导致Token在流向交易所后就失去了踪迹。

以太坊再爆安全漏洞交易所的安全声明你还信嘛?

对于调查员来说,交易所是目前整个区块链生态系统中最大的黑洞,所有的去中心化、透明手段在经过中心化交易所这一手之后,都将变得无法追踪,使区块链本身失去了意义。

交易所目前面对安全问题的处理方法是遇到一个,处理一个,对于未来可能出现的安全问题,不采取任何预防措施,也不会在问题发生时及时通知用户来止损,对于已经出现问题的Token,也没有任何有效的补救措施。比如最近发生的EDU合约漏洞,火币网的做法仅仅是应项目方要求修复漏洞后重新上币交易而已,受损的投资者,只能看着自己的资产余额下降。

中心化的交易所应该承担安全问题为投资者带来的经济损失,虽然虚拟货币为高风险的投资项目,但承担上币审核和交易安全的是交易所,保证交易安全和资金安全是中心化的交易所义不容辞的责任。

本文转载目的在于知识分享,版权归原作者和原刊所有。如有侵权,请及时联系我们删除。

展开全文
相关阅读
资讯查询取消