跟一个搞网络安全的聊完数字货币:数字货币区块链底层代码未必安全
副标题[/!--empirenews.page--]
前几天,我去找到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 网络环境被黑,会不会被劫持到黑客的下载地址? 即便你的网络环境没问题,软件官网的下载地址会不会早已被黑客黑掉,改成带有盗号后门的软件? 即便流程都没问题,数字钱包的产品设计本身是否可靠?厂商是否为了满足易用性而牺牲安全性?厂商是否安全地存储用户的私钥? …… …… …… 单就一个数字钱包,黑客就有那么多攻击面,你还觉得上了区块链就是安全的吗? “你也有数字货币资产吧?,既然用个数字钱包都这么危险?你作为一个天天跟黑客打交道的安全从业者,是怎么做的呢?” 我反问他。 他说: (编辑:西双版纳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |