跟一个搞网络安全的聊完数字货币:数字货币区块链底层代码未必安全
前几天,我去找到360信息安全中心的Sherlock(网名),向他求教数字货币相关的网络安全态势,却一上来就听了个奇葩故事:
2017年7月的某一天,老武坐在派出所录口供,手心全是汗。
他做梦也没想到,自己旅了游回来,数字钱包里的186个比特币竟全部消失。
当时比特币才1万2一枚,算起来值两百多万元。(放到现在值一千多万元)
“是黑客干的?”
老武细细一回想,觉得事有蹊跷。
几个月前,他被朋友拉进一个比特币投资的微信群,一来二去认识了群主。
群主是个热心肠,经常告诫大家要注意投资风险,还提醒大家注意比特币安全,告诉大家不要把所有的钱都放在交易所,要存到“比特币钱包”才最安全。
这天,群主给老武发来一个比特币钱包软件,告诉他,比特币放在数字钱包最安全。
老武一看,确实是某知名比特币钱包的安装包,就按群主指导一步步操作,把自己的186个比特币转了进去。
(当时群主和老武的聊天记录)
几天后,老武的186个比特币全部丢失。
他当即找群主老戴质问,对方却做出一个惊人的举动:
他说,自己只是好心推荐软件,比特币被盗可能是因为老武自己泄露了钱包密码。
不过,
毕竟是自己推荐老武用的钱包软件,现在币丢了自己也有部分责任,赔老武12万元算是认倒霉。
说完,群主真的转给老武12万块钱。
(当时的聊天转账记录)
“一个素未谋面的人这么轻易就转给我十几万块钱?”
老武断定,这事儿多半跟这个群主有关。
……
……
……
几个月后,警方冲入群主戴某的住所,发现几十张银行卡和多台笔记本电脑。在其中一台电脑里发现了和老武用的那款比特币钱包软件,以及一个盗号用的脚本。
原来,群主在对钱包软件安装包里植入了盗号脚本。那186个比特币,正是通过这个后门,进了群主的口袋……
讲完,Sherlock 告诉我,这是央视报道过的真实案件。
他说:
“不少人以为区块链去中心化、不可篡改就能绝对安全,完全不惧怕黑客。但其实区块链从底层代码到最终应用,可能涉及到很多方面,比如智能合约、钱包、交易所等等,这些地方都可能成为黑客的攻击面。”
这就好比,有人把机械门锁换成指纹锁就以为自己的财产很安全,可其实小偷照样有办法复制指纹,甚至完全不管门锁,直接拆门进来,或破墙而入,或跳窗户进来……方法多得很。
区块链会带来哪些新的安全态势?
我和Sherlock进行了一次详谈,他从底层代码安全、数字钱包安全、数字货币交易所安全、新型套利方案等几个方面向我梳理了自己对于区块链一些理解,在此呈现给各位浅友们:
Sherlock,奇虎360信息安全研究员,2015年接触数字货币,对区块链和数字货币安全颇有见解。
一、数字货币区块链底层代码未必安全
“数字货币区块链底层代码也未必安全。”Sherlock向我回顾了区块链发展史上的一次重大丑闻:
2016年6月,加密货币和区块链社区发生了一次大地震, 世界上最大最知名的众筹项目the DAO 遭黑客攻击,价值6千万美元的以太币被盗!
调查原因,竟是 the DAO 编写的智能合约代码不够严谨,里面有两个函数漏洞,能让攻击者不断从项⽬资产池中偷取资产。
为了解决TheDAO大量资金被盗的问题,以太坊官方还推出了针对TheDAO的软分叉版本Gethv1.4.8,增加了一些规则以锁定黑客控制的以太币。
可是,眼看着绝大多数矿工都升级了这个版本的软件,软分叉要大功告成时。由于时间仓促等原因,众多大牛编写出来的软分叉版本居然又有一个明显漏洞!这个漏洞能让黑客零成本搞垮整个项目。
因为那次事件,以太坊社区发生了巨大分歧,一派人认为应该把项目回滚到黑客攻击之前的状态,另一派人则觉得回滚不符合区块链“去中心化、不可篡改”的核心精神,不同意回滚。
最终,两派通过投票彻底“决裂”,以太坊便硬分叉成了“以太经典”和“以太坊”,如同宇宙瞬间分裂成两个一模一样的平行世界各自运行。
“可是谁能确保修复后的代码没有新漏洞呢?只要是人写的代码就可能有漏洞。”Sherlock说,不少人迷信区块链底层代码是安全的,这种想法本身就很危险!
对区块链有所了解的人,相信都听说过51%攻击:只要控制一个区块链上51%的算力,就能对链上的交易任意数据进行篡改。
以往,人们之所以相信区块链是不可篡改的,就是坚信51%攻击不可能发生,因为同时控制51%所需要的资源成本太高。
“可是,只要理论上来说可能,我们就不能不堤防!”
二、“李笑来们”很危险!
网络安全行业有个常见名词叫 APT —— 高级持续性攻击,意思是黑客长时间(几个月甚至几年)盯着某个目标,寻找各种突破口,甚至静心布置一个巨大的骗局。
由于实施成本太高,这种攻击形式以往只发生在国家和国家之间,或者大型组织之间。
“数字货币出现后,APT组织很可能把目标转向“数字货币大户”,目标从一系列大型设备转向个人电脑。”
原因很简单,因为他们的数字货币资产足够值钱,个人目标相比有专业风控的大型组织更容易攻破,数字货币被盗后溯源难。
“以往人们把钱存在中心化的银行,即便被偷被骗也比较容易追溯,毕竟银行账户都有实名认证,可是数字货币一旦被骗就很难找回。
由于国家不承认数字货币的价值,有时甚至报警立案都会遇到一些困难。
数字货币的最大特点是去中心化,不可篡改,而这两点恰恰让数字货币持有者成了黑客最好的攻击目标。去中心化意味着出的监管难度高,不可篡改意味着钱一旦被骗走,交易就不可能回退。
黑客为了盗走你的数字货币,可能盯上你家里、办公室的 WiFi 网络,黑进你的个人电脑,或者量身定制一套钓鱼方案。
甚至,他们很可能设下一个巨大的骗局,利用社交关系靠近你,成为你的“朋友”,潜伏在你身边好几个月再行动!文章开头的案例就是如此。
我问道:“李笑来曾经声称自己是比特币首富,号称拥有六位数的比特币,算起来值十几亿,所以他很可能已经成为APT的目标咯?”
“当然有可能。”
三、钱包都不安全,钱还能安全吗?
“黑客想盗走数字货币,数字钱包是一个很重要的攻击面。”Sherlock说。
数字钱包是用来存储数字货币的软件载体,完全脱离网络存储私钥的叫“冷钱包”,把私钥托管在网上的叫“热钱包”。
围绕数字钱包,黑客可以大搞名堂。
当你想用数字钱包,多半就得下载软件,而数字钱包从设计、发布,最后通过各种复杂的网络传输来到你的电脑或者手机,中间要经过很多道流程,跨过千山万水,但凡其中某个流程出现问题,你都有可能中招。
比如:
你是否通过正规官方渠道下载钱包软件?从第三方软件平台下载时,会不会下载到带有盗号后门的?
即便是在官方网站下载,如果你所处的WiFi 网络环境被黑,会不会被劫持到黑客的下载地址?
即便你的网络环境没问题,软件官网的下载地址会不会早已被黑客黑掉,改成带有盗号后门的软件?
即便流程都没问题,数字钱包的产品设计本身是否可靠?厂商是否为了满足易用性而牺牲安全性?厂商是否安全地存储用户的私钥?
……
……
……
单就一个数字钱包,黑客就有那么多攻击面,你还觉得上了区块链就是安全的吗?
“你也有数字货币资产吧?,既然用个数字钱包都这么危险?你作为一个天天跟黑客打交道的安全从业者,是怎么做的呢?” 我反问他。
他说:
“一方面,确认钱包本身的安全性,比如下载软件后做个哈希值校验,另一方面也要合理存储。我的资产不多,一部分在交易所,一部分在热钱包,一部分在冷钱包。鸡蛋不要放在同一个篮子里,这是最基本也最容易做到的。”
我又问他,“自己用钱包保管数字货币不放心,托管在交易所总没问题了吧?”
他笑着说,未必。
四、数字货币交易所也未必安全
Sherlock给我晒出一组数据:
2014年2月,当时世界最大的比特币交易所 Mt.Gox被盗85万个比特币。后来,Mt.Gox 被曝出其实是监守自盗,真正被外盗的比特币只有7000个。
2016年8月,最大的美元比特币交易平台 Bitfinex 出现漏洞,12万比特币被盗,当时价值6500万美元,如果换算成2017年12月的价格,价值近20亿美元。
2017年12月,韩国YouBit交易所被黑客攻击,损失4000个比特币,交易所宣布破产。
2017年12月21日,网传乌克兰Liqui交易所被盗6万个比特币,比特币单价瞬间暴跌2000美元。
2018年3月7日,币安交易所出现大量用户账号被盗,黑客控制的资产价值超过1亿美元。甚至还有人传言黑客利用了金融知识影响数字货币价格来间接获利,导致不少数字货币价格暴跌。(可参考文章:《差点盗走十多亿,做空比特币又获利几十亿?黑客这一波到底干了什么?》)
“类似戏码一定还会上演。” 他说,
“数字货币交易市场这几年的发展势头太快,而且相互竞争激烈,这种情况下安全技术、人力方面投入的速度未必跟得上自身需求增长的速度,必然会导致一些问题。
他说,以最近发生在币安交易所的安全事件为例,其实币安的风控措施相较以往发生过安全事故的其他交易所,已经所有提升。
在黑客提币时利用大数据风控阻止了提币操作,此前发生过的黑客事件,基本发生的交易所安全事件大多黑客直接提币走人。
所以,他建议大家尽量使用知名的、大型的交易所,不要把资产放在小型、不知名的交易所,因为黑客也会挑软柿子捏。
“一般来说,大的交易所通常安全风控手段相对完善,黑客不容易攻入,这时黑客很可能转而攻击小型交易所。
甚至,他们还会专挑一些没有牌照的非法交易所攻击,这样即便被发现,交易所也不受法律保护。
比如黑客很可能跑去攻击孟加拉国之类小国家的交易所,一方面因为那里本来就认定数字货币非法。另一方面跨国管制不便,也让黑客更肆意妄为。”
五、利用明星效应的钓鱼攻击
如果说 APT 攻击和交易所安全离普通人太远,下面这种攻击手法就发生在我们身边。
前阵子,有人专门在一些知名人物的社交账号底下头像和名字设置成和名人一模一样的头像,发布一些虚假的信息,声称只要在某个数字货币地址转入一定数额的币,就能得到10倍的回馈。(详见:《我中本聪,打钱》)
这就好比大街上有人对你说,“你给我10块钱吧,我会立刻返给你100块。” 就这样显而易见的诈骗信息,经统计,短短几天之内竟能骗到价值几十万的数字货币。
为什么看起来如此愚蠢的骗术,也有人上当受骗?
Sherlock说,“这就是骗子们广撒网的策略了,由于明星的粉丝很多,这种方式投放诈骗信息可以获得大量展示。几千个人里难免有那么几个刚睡醒,脑子不太清醒的人。”
最后,由于这类诈骗信息实在太多,不少名人被迫把网名都改了:
(币安创始人赵鹏_不送币版)
(V_不送币_神)
类似的诈骗到了国内还有一种进阶版,Sherlock又给我安利了一个真实案例:
一个叫“王团长”在微信群里向群友募集私募“韭菜基金”。
这天半夜,“王团长”忽然在群里发话:“基金募集明天就截止了,请大家赶紧打币到地址XXXXXXX。”
于是,就有群友就按照王团长说的地址打过去22个以太币,当时大约价值二十万元。事后,这位网友才发现,群里忽然出现了好几个“王团长”,真假难辨,自己的22个 ETH 直接进了骗子口袋。
“这种手段也常见于数字货币项目的私募阶段,因为有的项目收益很高,参与者往往不能保持平常心,唯恐落后,这种贪利的心态让他们更容易受骗。
并且,国内目前没有正规的ICO途径,参加私募纯属个人行为,缺乏监管,流程无法保证安全。”
这类诈骗方式其实一点都不新鲜,只是数字货币市场的活跃,让它们重新迸发了活力。”Sherlock说。
六、传统黑产也盯上数字货币
哪里有钱赚,哪里就少不了黑产。
Sherlock告诉我,在区块链和数字货币兴起的同时,也催生了一些新的套利方式……
原本黑客控制大量“肉鸡”(被黑客远程控制的机器),通常会用来发起 DDoS 流量攻击等。
数字货币火了之后,不少“肉鸡”又多了新的角色 —— 黑客还会把黑掉的机器配置成挖矿机,利用它们的算力来挖数字货币赚钱。
有的黑客还会专门在访问量高的网站页面或者博客植入挖矿脚本,用户一旦访问这样的网站,电脑处理器性能就会瞬间被占满,成为一个挖矿节点,为黑客的矿池提供算力。
那些原本专门盯着各大公司优惠活动,用大量手机卡批量套利的羊毛党灰产,也开始盯上数字货币 ICO 项目发放的奖励(俗称“糖果”),不少活动刚开始没多久,所有糖果就都进了灰产口袋。
甚至,黑客还会专门入侵别人的数字货币挖矿矿场,把他们的转账地址改成自己的。
总之,数字货币为黑产们提供了各种新的赚钱渠道和方式。反过来,丰厚的回报又吸引着新的一波人铤而走险加入黑产……
—
聊到最后,Sherlock感慨:
“其实说白了,不管时代环境如何改变,安全攻防到了最后,都是人与任何人的较量。
骗子和网民们斗智斗勇,骗子不停地升级剧本,网民不断增强安全意识和辨别能力;
黑客不断发现新的攻击面和攻击手法,交易所、钱包等厂商也在不断引进新的防御技术和人才。
或许正如老周所说的那样,万物皆变,人是安全的尺度吧!”