来自:区块链大本营(微信号:blockchain_camp)责编 | 韩依依
本文整理自CSDN区块链安全分会,一个区块链安全界大咖活跃社群。
存在安全隐患的区块链生态自然成为黑客眼中的香饽饽,近年来,一系列安全事件层出不穷,波及范围和资产损失数额也不断增加。区块链行业的安全问题也愈发引人注目。
DVP,全称Decentralized Vulnerability Platform(去中心化漏洞平台),作为全球第一家去中心化匿名众测平台,连结区块链厂商、安全公司和白帽子等社区参与者,共筑区块链生态安全。
8月9日晚,PeckShield研发副总吴家志在区块链大本营安全分会群中,为大家分享了一些DVP相关技术知识。
吴家志,美国北卡州立大学计算机博士;PeckShield研发副总;原360 C0RE Team创始成员,并担任团队负责人;原360超级ROOT产品负责人;内核安全专家。曾发现多个有重大影响的安全漏洞,多次荣获谷歌、高通、华为等厂商致谢;目前专注于区块链智能合约安全以及数据分析。
以下内容为吴家志在安全分会群中的语音分享实录,由区块链大本营整理发布,有删改。希望对你有所启发。
我从2013年开始研究安全相关的问题,主要面向安卓手机系统,至今已经给厂商曝过上百个跟安卓相关的漏洞。这其中我们碰到过不少问题,比如说,有一些手机厂商可能根本联系不上,也可能厂商并不觉得这是一个安全问题,或者他不了解你描述的问题、不知道怎么去修,也可能没有多余的安全人员。
这些问题恰恰体现了漏洞平台的必要性。一方面,漏洞平台能够理解白帽子,包括对问题的描述,和它的危害程度;另一方面,它也可以协助厂商定位问题,配合修复bug,来保证整个系统的安全。
区块链下的安全需求
区块链方向的安全问题,与其他系统安全问题有很大不同。
平常我们经常见到的漏洞,像手机提权或者信息泄漏等,可能会造成你的隐私、照片被泄露。再严重一点,比如说手机里的支付宝、微信钱包的密码被泄露,就会造成金钱上的损失。不过,像
支付宝和微信这种中心化的权威机构,还是有办法可以把你的钱找回来的。
但是在区块链中就是另外一种场景了。比如说你在交易所里面的密码被人改了,或是偷渡漏洞,你运行的一个全节点意外把控制接口绑定在0.0.0.0而不是localhost,那么别人只要扫到你这个host,而你刚好解锁了一个账户,他就可以把你账号的钱直接转走,
这就跟钱直接丢了没什么两样。
而这种情况下,
并没有中心化的机构可以提出申诉,也没有办法把你的钱找回来
。所以说,区块链的这种场景中,由安全问题造成的危害极大,因此我们对安全也有着更高的需求。
据我们统计,截至18年6月止,针对数字资产的攻击,累计已超过一百次,直接造成
经济损失高达三十三亿五千万美元
。上千家交易所,流通数字货币超过一千六百种,其总值在三千五百亿左右。
我们分析,2017年安全事件的迅速增长,可能跟各种代币的价值提升,对应的交易所大量出现有关。进入2018年后,数字资产相关的安全事件也在以更夸张的速度增加。
而这种针对数字资产的安全事件,比如密码丢失、偷渡漏洞等,除了
直接损失某些代币或是财产
之外,
还可能因此影响到市场的行情。
比如说之前360找到EOS的史诗级漏洞并公开后,EOS代币价格随之瞬间暴跌。更经典的是四月份的美链事件,瞬间蒸发几个亿。这些都是这种安全事件的影响。
安全服务现状
区块链下到底有哪些安全需求呢?
这里我们可以总结为以下四个方面:
-
智能合约审计方面的安全需求
-
公链项目代码安全审计的需求
-
运行公链软件“节点”的加固需求
-
节点渗透测试的需求
安全圈子就有一句话:
攻击只需要一个点,防守你要做一个面。
现在全球有超过一万个区块链项目,但是能够提供安全服务的公司还不到五十家。所以说,要想找到一个公司可以覆盖所有的攻击面,把整个防守做起来,其难度可想而知。
供需不平衡:
一万多个区块链项目,却只有不到五十家公司能够提供安全服务;且每家公司擅长的点不同。
防守难度大:
攻击可能涉及到的面非常广,所以防守时务必要做到非常全面的检测。攻击只需要一个点,防守你要做一个面。单一的公司来做这件事其实也是非常困难的。
服务单次性:
这也是持续性的问题。安全公司给你提供的服务,或者说你购买的安全服务,往往都是单次性的,也就是说,它只帮你检测一次。比如说厂商要发布某一个版本代码,安全公司可以针对这版本做一次审计,做一次渗透测试,但并不能预测新的问题会出现在哪里,它可能是一个0day,没有人知道,但可能在一个月之后出现。等你知道的时候,已经被攻破了。所以这个持续性的问题,我们也希望能够通过漏洞平台来解决。
安全众测模式
刚刚我们铺垫了一下整个区块链中各种项目的安全需求,和对应安全服务提供方的情况。在目前整个生态里面正处于一个比较不平衡的状态。所以我们认为,其实区块链的项目非常适合一种模式,叫做
安全众测模式
。
简单来说,这个模式其实就是把你的项目提交到一个平台上面
悬赏漏洞
,让全球的白帽子或者说是安全工程师、安全专家去找到问题,来获得对应的奖励。
首先它具有
人数优势
。在平台上会有很多人同时帮你测产品,相比单一公司的某个团队在人数上肯定具有优势。并且,因为他是一个并发的状态,全球的白帽可能都在这平台上,通过平台可以二十四小时多人同时帮你检查这些问题。不同的人擅长的点也不一样,平台上作出的漏洞报告
覆盖的面就会很广
。
那对于厂商项目方来说它的好处是什么呢?
一是
节省费用
。在这种漏洞平台上基本不用花钱请人帮忙测试。因为测试本身是不用付钱的。而是要找到问题之后,才可能需要给予对应的奖励。
二是
持续性
。因为你可以长期悬赏你的某些产品,比如在某个网站,如果找到某个等级的漏洞,能够有多少的奖励,平台上的白帽将会长期监控这个网站。
这样的平台其实不是DVP发明的。像这种第三方众测平台,其实以前就有。国外比较有名的是HackerOne。国内也有补天,乌云这样的平台。
前面提到厂商可以通过这种悬赏,漏洞奖励计划,让自己的产品更加安全,这个也不是新的发明的。之前像facebook,microsoft,google,还有像以太坊,EOS这样的区块链项目其实也都使用这种悬赏的方式,让大家找到问题,然后给予奖励。
到这里我们就讲完了“众测平台”大体的一个概念,以及为什么我们说,尤其是区块链项目,特别需要这样的平台。
DVP平台
接下来我们介绍一下,DVP到底是一个什么样的东西。我们的DVP平台,到底跟以前的这种漏洞平台或者众测平台有什么不同呢?
目的
我们的DVP平台想要解决两个问题,一是
匿名化
的问题,二是
奖励发放
的问题。
因为很多白帽子其实并不愿意透露自己的个人信息。但是在传统的平台上,你可能会面临这样一个情况,比如说某个厂商要给你奖励,很有可能是法币。然后你总要提供某一个银行的账号,由此也可以追溯到你的个人信息。
但在区块链场景下,这个事情就很容易解决了。比如说,在我们DVP平台上,
每一个白帽子就是一个地址
。厂商给的奖励也可以用数字资产的方式直接发放。也就是说,白帽子可以做到匿名提交,并且这个奖励的授予也是以匿名方式进行的。
运作流程
这个平台的运作流程,大致可以分成五个阶段。
1.
厂商发布某个项目的悬赏标准和它对应的公钥
。比如说找到什么等级的问题给多少奖金,这些需要先公告出来。
2.
白帽找到问题
之后,
提交漏洞信息
,并使用厂商的公钥做
加密
(非对称加密)。所以包括漏洞细节,以及白帽子认定的漏洞级别等,都会以加密的方式提交给厂商。
3. 厂商再通过只有他拥有的
私钥获得详情
,进行
漏洞判定
。我们希望厂商能够自行判定,就可以直接以token的方式奖励白帽。
4. 这些
奖励信息
,也就是所有的转账记录我们都会直接
公示
在网上。可以直接用类似etherscan这样的浏览器看到所有信息。我们现在这个阶段,发放奖励的记录也是这样公示的。
5. 存在争议时,
仲裁节点通过投票的方式做出裁定
。
平台组成
整个平台里面有一个很特别的点,也就是所谓的
仲裁节点
。我们现在的计划是,先由一些比较知名的安全公司来担任仲裁节点。比如这里面会有PeckShield,会有白帽汇,慢雾,知道创宇,360这些公司,来帮我们更有效的做出仲裁。
所以你可以理解为,整个DVP平台上有四个角色,一个是发现问题的
白帽子
,一个是悬赏项目的
厂商
,还有
仲裁节点
和
普通节点
。
我们要做到整个信息在链上是不可篡改的,就必然需要一些节点来帮我们完成这件事情,也就是打包这些信息上链。
打个比方,这些普通节点就好像以太坊里面的全节点。它可以接收附近的广播,然后写入并打包成块,假设他最终能够出块,也就能够上到以太坊的公链上。
产品规划
我们刚刚讲了一下DVP的概念,接下来会讲一下目前DVP平台的产品规划。
第一阶段
现在是在第一个阶段,也就是从18年7月(注:产品发布日期为7月24号)到明年的七月这段期间。这个阶段里面我们希望做出一个类似传统模式的中心化的平台,但是因为我们最终要以区块链的模式运行,所以我们现在只接收跟区块链相关的各种项目。
这个阶段的悬赏都是通过以太币ETH的形式。注册的白帽,就需要提供一个ETH的钱包地址来接收可能的奖赏,转账的记录都会在平台的网站上公示出来,也就是说,都是可以查的。
第二阶段
到明年7月的时候,我们会发布自己的主链。
DVP平台会开始以去中心化的方式运营。首先是以非对称加密的模式,确保信息不会泄露。甚至我们平台方在很大的概率下可能都不知道这些漏洞的信息。
第三阶段
主链上线约半年之后,按计划是在2020年年初,我们希望整个漏洞平台可以接收所有的漏洞。希望DVP平台可以取代,比如说,HackerOne,成为一个更好的安全众测平台模式。这不管是对白帽也好,厂商也好,甚至对用户其实都会有很大的帮助。
我们希望
任何项目都能够在这个平台上悬赏他们的产品,而且平台是以区块链的模式运营
。
截至到前天(8月7号)晚上为止,我们总共收到588个漏洞,其中有207个是高危漏洞,115个中危漏洞,266个低危漏洞。里面涉及的项目包括智能合约,知名的公链,还有很大一部分都是来自交易所,共计307家厂商。
我们目前已经发了188个ETH作为奖金,这些漏洞的分布,有44%——将近一半都是设计上的缺陷,逻辑错误等。
奖励机制
我们会以代币的方式,来实现厂商对白帽的奖励。
目前我们使用的是
DVP平台币
。厂商在入驻平台前,要先存入五万美金等值的平台币作为保证金。通过这个平台币来实现给白帽的奖励。
值得说明的是,对于每一笔支付给白帽的DVP,我们将从中
收回10%形成基金
,然后在每个自然月的最后一天零点进行结算。其中,该基金的
80%将回馈给所有DVP的注册用户
,也就是白帽。另外的
20%会再次奖励当月的Top100白帽用户
。我们目的其实很简单,就是希望更多的白帽来参与这个平台。
这样我们就保证了整个基金的透明化。其实现在在DVP平台的网站上也能看到我们的奖励各自对应到的漏洞,对应的白帽ID。这些钱包地址都是公开的。
Q&A环节:
郭文生 | 成都链安科技:
报的第三方的漏洞,如何联系对方并保证漏洞在联系过程中对网站保密?
吴家志:
我们讲到我们的这个DVP平台其实是分成三个发展的阶段。
第一个阶段是做一个中心化的平台。在这个阶段之内,其实是类似于以前的补天平台。也就是说,还是通过中心化的一群运营人员去审核这些问题,然后再通知厂商。
到了第二个阶段,也就是明年的这时候,我们会以区块链的方式来运营这个平台。简单来说,厂商在入驻平台的时候,我们会审核他的真实性,再给他一对加密的公钥跟私钥,也就是使用非对称加密的方式。
然后白帽子会用使用厂商的公钥把漏洞信息做加密。加密完之后,这些信息就会上到公链上去。
所以上到公链的信息,
第一要保证他是不可篡改的
。并且由于这种非对称加密,只有厂商可以用它的私钥去把这个信息解开。也就是说,
厂商是唯一能够得到这个信息的人
。我们就是通过这种机制来保证漏洞在联系的过程中对网站、对DVP平台是保密的。
郭文生 | 成都链安科技:
谁来判断是否是真的漏洞或者是高危的级别?
吴家志:
在
第一个阶段,我们平台方当然还是会加入去判断
。到了第二个阶段的话,我们希望厂商跟白帽之间可以直接达成一个协议,让他们
自己评定
是什么样的级别,只要双方同意就OK了。
而出现争议的时候,我们会引入一个
仲裁机制
。也就是说,在我们DVP最终公链上面,会有多个仲裁节点,例如是一百个仲裁节点,然后在出现争议的时候会由厂商提交仲裁的需求,然后仲裁节点以投票的方式来决定仲裁的结果。
我们觉得这是一个区块链应有的一种运作方式。所以我们不会说某一个仲裁节点或者厂商能够判定这个漏洞的真伪。这种比较有争议的事,实际上会以
投票机制
来做。
郭文生 | 成都链安科技:
系统全面安全审计如何保证?
吴家志:
这个事情我觉得是
很难保证
的。因为你只能长期悬赏某一个项目,在这个平台上,如果你能持续提供奖金的话,那也持续会有人来帮你检测问题、提交漏洞报告,但要说“保证”,其实我觉得是很困难的。
王启泽|启明星辰|秘书:
DVP如何做到漏洞不被泄漏?
吴家志:
这个问题刚刚我们讲过。以现在这个阶段,其实我们是做不到的,因为我们现在还是一个中心化的平台。所以必然会有一群人在平台运营方要审核这些漏洞——既然是人,所以还是
有泄露的可能性
。
到了第二个阶段,也就是
非对称加密后上链
的这种机制,我们才可以确保这些漏洞不会泄露。
这个快讯是我们刚才弄好的,是我们最近收到的一些比较通用型的漏洞,会涉及到好多的交易所。我们知道很多交易所代码是来自同样的厂商,所以会变成一个通杀的漏洞。
王启泽|启明星辰|秘书:
白帽子的奖金会不会随着币值波动而波动?
吴家志:
对。
白帽的奖金确实会随着币值波动而波动
。毕竟这个DVP的平台币是会上交易所的,所以它会根据市场的行情有所波动。