黑客攻击币安API深度调查
作者:网友投稿 时间:2018-07-20 21:39

关注我(原作者)的人都知道我是一家量化交易投资公司的创始人,我们利用交易所的API为投资者提供简单的数字加密货币多样化投资。目前,我们的平台调用Binance的API进行工作。
可想而知,当我得到币安(Binance)上周被黑客盗取了4500万美元(7000个比特币)的消息时,内心十分惶恐不安。
在那之后,暴风雨似乎平息了,币安发布声明表示资金现在是安全的,他们将承担起所有损失。
但是我对这一声明并不满意,关于此次事件的新闻报道少得可怜,很少有信息流露出来,正因为如此各路谣言如野火一般燎原。
作为一个希望币安获得成功的人,我在写这篇文章的时候感到很矛盾。但是我必须对自己的用户和社区负责,对这起事件进行彻底的调查。我将尽力对事件进行全面的分析,澄清谣言。
我们知道的事情在我们深入挖掘细节之前,先来利用官方来源发布的信息整理出事件的简要时间表。
7月3日晚上8:44UTC
SYS的价格从0.0004BTC拉升到96比特币。
7月3日晚上9点左右UTC
币安因为计划外的维护而关闭了交易所
7月3日晚上11点左右UTC
作为安全防范措施,币安重置了所有API密钥。
7月4日上午12点左右UTC
币安重新启用了API密钥的创建。
7月4日下午4点左右UTC
币安完成了系统维护
7月4日下午6点左右UTC
币安发布了一份官方事件回顾报告,声明该事件是由不正常的API交易活动造成的。
币安所谓的不正常的API交易活动是什么?要理解为什么API攻击常常会带来加密货币的价格被拉升到匪夷所思的高度,我们首先需要了解币安的API是如何工作的。
对于门外汉来说,币安的API允许计算机以编程方式与交易所进行交互,就好像是用户自己在操作一样。想要启用API访问,用户首先要生成一组API密钥,这些秘钥是为用户账户提供交互权限的凭证。
在币安的系统中,有三个不同级别的API权限:
只读权限:获取用户有关持仓、交易历史和市场活动的数据。
交易权限:可替用户执行交易
提款权限:可从交易所中提款
在默认情况下,只读权限与交易权限是默认启用的,然而提款权限却不是默认启用的。因为提款权限涉及的风险更高,币安强制用户为其预先设置IP白名单和双重认证。
因此,即便攻击者窃取了用户名、密码或API密钥,他们往往不能获得提款权限。在这种限制条件下,黑客必须想法设法将盗取的资金转移到有提取权限的账户中。
黑客拿到API后通常的做法:
在攻击之前,攻击者会囤积大量的某一种加密货币,这种被选为目标的加密货币通常交易量很小,订单也很少。
在这之后,攻击者使用被盗账号通过API提交大量的购买订单,交易价格通常高得离谱(一般来说是正常价格的1万倍)。
攻击者通过出售他们之前低价囤积的此种加密货币赚取了巨额利润。
最后一步,攻击者把他们的战利品巨额资产从币安中提走。一旦这些资金从交易所转移到了区块链中,几乎任何人都不可能逆转交易。
API数据告诉我们的那些事与其在黑暗中抓瞎,不如让我们用币安的API来提取SYS/BTC交易的历史数据,一探究竟。
价格波动与交易量
在7月3日之前SYS的价格并没有什么特别之处,然而7月3日当天价格却十分可疑地飙升至96比特币。

与此同时,SYS的单笔交易量和总交易量都出现了大幅上升。
历史订单数据当我们开始从/api/v1/aggTrades中提取数据时,事情变得有趣起来。
从此端点获取的完成交易的历史记录显示,同一时间,相同的订单以相同的价格发起交易,使得交易数量迅速攀升。



