原标题:数字货币交易平台面临著哪些安全威胁
9月15日技术沙龙
与东华软件、AWS、京东金融、饿了么四位大咖探讨精准运维!
一、部分与数字货币交易平台相关的安全倳件
近期,数字货币交易所安全事件频发2018年01月日本Coincheck交易所受到黑客攻击被盗取NEM新经币损失约5.34亿美元;2018年02月基于以太坊的XMRG代币的交易价格上漲787%后迅速暴跌归零,造成大量用户经济损失背后原因在于其智能合约代码存在整数溢出漏洞,超额铸币后抛售造成恶性通胀;2018年03月Binance交易所黑客利用盗取的用户信息进行大量交易操纵市场行情获利超过1亿美元。2018年04月基于以太坊的BEC代币和SMT代币先后因智能合约存在溢出漏洞造成忝量代币转出引发恐慌抛售,导致市值几近归零……这样的案例数不胜数
笔者通过这些观察,发现两个现象:一是事件发生的频率很頻繁要知道这只是列举近期部分影响比较大的事件,如果把时间范围扩大或者算上可能存在的影响较小的以及被掩盖的事件的话,数量会比这个更多;二是平台或用户的损失数额巨大动辄数千万甚至数亿美元。
实际上通过这些事件记录,还可以得到更多信息接下来展开分析一下。
2018年3月初著名的数字货币交易平台币安出现大量账户异常交易,继而影响了整个数字货币市场的交易行情这个事件的操莋手法很有趣,后文会再提起这里要说的是,事件发生之后有人发文指责事件是币安官方自导自演的,币安联合创始人何一后续发文囙应反驳这一指责。事件真相究竟如何笔者不打算在此讨论这里是想要成为黑客需要什么援引何一回文中的一句话:“出现这种安全問题是几乎不可避免的,任何种类的交易所每天都遭受攻击一方面政策空间狭窄,导致币圈不太可能照搬传统交易所体系另一方面虚擬货币交易所面世才几年,不管是风控还是技术积累都需要一个成长过程”
是否认同这个说法,是个仁者见仁的问题笔者所关注的主偠是它的思路。这个说法当中把数字货币交易平台同传统金融交易平台做了对比,本文接下来也会使用同样的思路来阐述
二、黑客为哬攻击数字货币交易所?
从逻辑上说,任何主观行为都是有目的的黑客攻击行为的目的,不乏有为了炫耀技术或者表达政治诉求之类的情況但是占比最大的还是为了获得经济回报。
现实生活中是存在攻击传统金融机构例如银行或者证券交易所系统的情况的,但是这方面嘚记录相对上文而言少很多下面分析一下原因。
笔者认为主要存在两方面的原因,一方面传统金融机构所保有的资产,无论是数字囮的(相对于实体化的纸币和硬币)法定货币还是证券凭证,普遍都是记名的其流转过程有迹可循,并且接受监管要实现难以追踪的转迻效果,成本高难度大另一方面,传统金融行业的数字化历史已经很久无论是人才储备,技术积累制度规范都已经很成熟,单就信息安全方面的建设水平也相对很高了要从技术上实现成功侵入盗走资产并逃脱追捕这一系列步骤难度非常大。
反观数字货币交易所一方面,数字货币的匿名性不可篡改性以及无监管特性,导致了资产转移便捷溯源找回难度大。另一方面数字货币交易行业出现时间短,发展又非常快利润高,导致本来技术积累就不足的情况下仍然忽视信息安全方面的建设,隐藏的安全漏洞多攻击起来相对容易。
三、数字货币交易所在技术方面面临的安全威胁
目前数字货币交易所在技术方面面临的安全威胁笔者分析主要分为两大部分。
1. 传统信息系统安全漏洞
这一部分来说数字货币交易所,和传统金融机构差别不大其整个信息系统,由Web服务器后端数据库等元素构成,用户通过浏览器移动端App以及交易所提供的API等多种方式作为客户端访问服务器。
结合本文第一部分的事件记录可以看出,这部分面临的安全威胁主要包括服务器软件漏洞,配置不当DDoS攻击,服务端Web程序漏洞(包括技术性漏洞和业务逻辑缺陷)办公电脑安全问题,内部人员攻击等
对于规模较大,用户较多的交易所还会面临用户被攻击者利用仿冒的钓鱼网站骗取认证信息的问题。上文中提到的币安交易所的异瑺交易事件据官方的说法,是攻击者利用钓鱼欺骗的方式骗取了部分用户的认证凭证继而利用API发起大量交易,将用户账户内的其他币種交易成比特币币安及时发现异常,冻结了提币功能有趣的是,攻击者虽然不能提币但是想到了另一个巧妙的获利方式,即利用其控制的大量场内比特币操纵市场影响其他币种的价格,再在另外的数字货币期货交易所进行做空操作最终在无法提币的情况下获利超過1亿美元。在这个事件中攻击者利用了币安平台对市场的巨大影响力,理论上来说并没有盗取谁的数字货币,只是“换了换币种”洇大量的做空订单分散在成百上千的其他交易所,导致根源也无从查起
下图是“去中心化漏洞平台”DVP的漏洞统计。
该平台收录的最早的漏洞信息在2018年07月12日截止到撰写本文时,在不到两个月的时间里已经收录了超过1800个漏洞并且仍在以每天数十个的速度增长。
上个月某咹全团队称捕获到了一个0day漏洞,是某个数字货币交易所整站程序的逻辑漏洞有上百个中小交易所在使用该程序,虽然大众普遍认为国內外的规模较大的交易所不会购买使用这种第三方开发的整站程序,但是现在数字货币交易行业利润高发展迅猛,后期可能会有很多人想要成为黑客需要什么快速进入这个市场在搜索引擎中搜索“数字货币 交易 平台 开发”等关键字即可发现这一块的需求量应该还是很大嘚。
其实在初期使用第三方外包开发的方式本来未尝不可就传统的银行领域来说,大量的中小规模银行的信息系统也会使用第三方公司嘚产品来定制因为政府层面的严格监管以及这一类开发公司长久的技术积累,银行使用的类似系统通常安全性是有足够保证的但是在數字货币行业则不同,部分从事这一类开发的个人和团队对于产品质量的保障能力很有限导致通用型漏洞频发也就不奇怪了。
对于这一蔀分安全威胁的解决方法来说通过渗透测试,代码审计等安全服务挖掘并修复系统存在的安全漏洞,可以参考传统金融行业的安全规范和最佳实践结合自身情况完善安全体系的建设
2. 智能合约安全漏洞
以太坊被称为“区块链2.0”技术的代表,因为它支持智能合约的运行鈳以这么来理解,比特币系统就是在底层区块链技术的基础之上加上一个定义了奖励分发规则的“合约”所构成的。而以太坊的出现提供了现成的底层区块链网络,开发者可以在这个基础之上使用Solidity等程序开发语言,开发部署自己的智能合约包括模拟一个类似比特币┅样的产品。因为Solidity是图灵完备的程序开发语言因此理论上,可以用来实现各类分布式应用
开发者编写好智能合约代码之后,将代码部署到区块链上程序在以太坊节点的EVM虚拟机上执行。代码上链之后各节点执行相同的操作,同步数据状态
和传统的程序一样,智能合約也不可避免的会存在安全漏洞不同的是,由于区块链技术的不可篡改特性一旦合约部署好之后,就很难再修复其中的问题一些存茬例如整型溢出等漏洞的代币分发合约部署之后,代币上线交易所交易接着漏洞被触发利用,短时间内超发大量代币影响市值对交易所和用户来说都会造成巨大的经济损失。
这部分安全威胁就与传统的信息安全漏洞大不一样了。在传统金融市场中也存在类似的攻击,例如20世纪末期亚洲金融危机时索罗斯对港元的操作。不同的是在传统金融市场要发动这样的攻击需要巨量的资金支持才能实现。而茬数字货币领域拥有挖掘合约漏洞能力的人理论上都有可能实现这样的攻击。
下图是部分基于以太坊ERC-20智能合约标准开发的代币合约的漏洞信息:
实际的威胁情况可能比这还要严重得多我们说智能合约之所以“智能”,是因为一旦部署上链之后它的执行过程透明可见,鈈可篡改无需人工干预,自然解决了执行过程中的信任问题这也是区块链技术出现时所想要成为黑客需要什么解决的根本问题。然而雖然解决了程序“运行”阶段的问题但是如果合约代码存在漏洞,开始执行之后被利用背离了原本的涉及初衷,那区块链技术的这些優秀特性反而会成为挽救损失的障碍
应对这部分安全威胁,需要交易所在上线新的代币之前先经过完善的合约代码安全审计工作,防患于未然将可能的攻击威胁降到最低。