EOS自启动漏洞赏金计划以来,上半年赏金已超10万美元。
据IMEOS消息,近日,区块链安全公司PeckShield发现部分EOS用户的秘钥存在严重的安全隐患,部分秘钥允许用强度较弱的助记词,很容易存在“彩虹”攻击,并引发账户数字资产被盗。
其实自今年5月以来,EOS就屡遭负面新闻缠身。“史诗级”漏洞、百万私钥被盗、主网瘫痪……安全问题似乎已经成为了EOS很大的硬伤。
对于这个1年募资40亿美金的明星项目,支持者认为它开启了区块链3.0时代,反对者将其视为史上最大的空气币、传销币,存在严重的安全隐患。
更有区块链研究员预言,明年将会有一场大规模利用EOS漏洞的黑客攻击。“考虑到开发人员处理关键安全问题的方式,这一攻击的出现将很可能是不可避免的。”
攻击必将到来,而且不可避免?
EOS安全事件频发的根源究竟是什么?其主要隐患盘点如下,涉及开发语言、安全审计、共识机制、创始人和市场营销5个方面:
开发语言缺乏防护
受安全问题影响,EOS超级节点竞选推进缓慢。
竞选期间,荷兰黑客因发现EOS的9个漏洞,获9万美元奖金,而百万私钥被盗的丑闻再度为EOS蒙上了一层阴影。
直到北京时间6月15日凌晨1点50分,在最终达到15%的投票率以后,EOS主网才正式被激活。但过了不足48个小时,EOS再现严重故障,暂停出块,修复时间持续近5个小时。
基于EOS“打地鼠式”的漏洞修复模式,康奈尔大学区块链研究员EminGünSirer在Twitter中直接开炮:明年将会有一场大规模利用EOS漏洞的黑客攻击。
这一预言能否从应验我们不得而知,但部分专家认为,EOS的开发语言或许早已为黑客攻击埋下了伏笔。
在接受财经网采访时,星云链联合创始人兼CTO钟馥百表示,EOS的开发语言是C/C++,而不是以太坊等其它公链所采用的安全性较好的Golang语言。该开发语言的最大优势就是易操作,例如可以直接操作机器和内存,能嵌入汇编代码,抽象度低,性能较高,但最大的问题是缺乏安全防护设计,使其开发的程序存在显著的安全隐患,容易造成缓冲区溢出攻击、非法指令等问题。
这与火币区块链研究院的观点不谋而合。在360爆出EOS“史诗级”漏洞后,该研究院发文称,C++允许程序员通过指针等方式进行极为自主的控制及使用,并不强制检查数组边界等条件。但也正是因为这种灵活性,C/C++程序常会因为内存管理的复杂性而出现内存泄露、宕机或内存越界等问题,造成缓冲区溢出攻击,这在大型工程上尤其常见。
文章还指出,早在1988年就存在利用缓冲区溢出进行攻击的行为。据估计,它一经出现便影响了互联网上10%的计算机,造成约10万至100万美元的损失。此后30年间,很多著名的攻击事件都采取了缓冲区溢出的方式。
结合360公布的EOS漏洞,如果能将风险控制在单机范围内,那对全局来说影响还是相对可接受的。但正是由于恶意代码可以是一个区块链上的合约,因此EOS将合约打包成区块后会在整个网络中传播,使得所有节点均可被此恶意代码控制,整个网络都将受到致命影响。
安全审计相对滞后
如果说开发语言暗藏隐患,那么EOS在主网上线前未公开披露安全审计结果,似乎将其对安全问题的无视直接摆到了台面。
据技术开发领域专家介绍,在业内像微软等科技巨头都会在代码开发完成后进行安全审计,这实际上已经成为了一种“惯例”,Ethereum、Nebulas等公链项目都曾在主网上线前开展了此项工作。
如果从结果导向看,360之所以能够爆出“史诗级”漏洞,或许正是EOS没有做安全审计的结果。而EOS宣布上线后才开始让各社区进行安全审计,进一步印证了这一猜测。
在星云链联合创始人兼CTO钟馥百看来,这是不负责任的行为,因为业内通行的做法都是上线前做安全审计,这是对持币人负责。EOS全面上线后才开始检查漏洞和问题,等于把风险直接暴露,让持币人承担所有的风险和后果。?
360核心安全事业部安全研究员彭峙酿告诉记者,就目前Github上EOS漏洞修复情况和进度来看,可以推测EOS项目开发前期缺乏有效的安全开发生命周期管理,在安全风险评估、攻击面减约、代码审计和安全测试等方面前期准备都不足。
在复盘EOS安全事件时,火币区块链研究院指出,这些问题完全可以通过有效的代码安全审查机制来避免。区块链作为一个分布式的去中心化系统,代码一旦部署将很难更新,需通过硬分叉或者软分叉来对代码进行升级,成本不可谓不高,所以在项目发布之前,充足的测试和代码审核变得十分关键和必要。
DPOS机制易遭攻击
EOS引以为傲的DPOS共识机制同样饱受逅病。
众所周知,比特币平均每秒交易7笔,以太坊平均每秒交易35笔,而EOS意在打造区块链行业的操作系统,通过并行计算实现百万级TPS。
支撑这一效果的是共识机制的改变。不同于POW(工作量证明)和POS(权益证明),EOS采用DPOS,它类似于代理人权益证明共识算法,设21个“超级节点”验证交易,这些节点由全链根据一币一票投票产生。
如此一来,EOS的交易速度提升了,也减少了很多挖矿能耗,但这一创新性的设计却引来了不少非议。
外界普遍认为,EOS的21个超级节点很容易被黑掉,存在两方面的安全隐患:一是内部作恶,21个节点存在共谋可能;二是EOS暴露了21个超级节点,似乎更易遭到外部攻击,一旦21个超级节点被控制,就等于控制住了EOS,这与区块链所追求的去中心化和安全性似乎是相违背的。
此外,EOS在抵抗世界各地的审查方面也会存在问题,比如因为节点相对集中,一旦被个别国家政府要求关闭,必将面临较大风险。
早在EOS主网上线前,BM曾发推特展示DPOS比比特币、以太坊更具去中心化优势,但随即遭到以太坊创始人V神回怼。V神认为21个超级节点并不是21个不同实体,节点之间可能存在内在联系的共谋。
中关村区块链产业联盟秘书长朱佩江认为,相对于POW(工作量证明法)和POS(权益证明法)两种共识机制,DPOS在设计上确实会让攻击者更容易攻击。但他同时表示,21个节点的设置仍然是在保持多节点的优势,被一家掌控的可能性低,节点作恶仍然可以通过投票指认出来。
结合近期发现的EOS安全问题,360核心安全事业部安全研究员彭峙酿称,这大多数是软件实现上的漏洞,是所有软件项目都会面临的问题,并非EOS独有,也非公链项目独有,与DPOS机制无关,也并非区块链技术本身的缺陷。不过,由于公链项目通常与数字货币挂钩,一旦出现安全问题可能会造成很严重的后果,比如网络崩溃、用户资产损失、密钥泄露、节点被控制等。
创始人BM不懂安全
所有安全问题的根源,始终绕不过创始人BM。
EOS是BM发起的第三个项目。这位毕业于佛吉尼亚大学计算机系的IT男,曾成功开发了BTS和Steemit两个市值进入TOP30的区块链项目。除此之外,他还是DPOS(权益股份制证明)共识算法的创建者,也是自治化组织DAO的创建者。
在那副广为流传的区块链扑克牌中,黑桃A代表的正是BM,足见其江湖地位
然而,结合BM在EOS安全问题上的表现,部分业内人士认为这位“技术大神”并不懂网络安全。
5月29日,360爆出EOS存在“史诗级”漏洞,可完全控制虚拟货币交易。BM随后在电报群中发布消息,称将奖励发现并提交Bug的人,“提供有价值的漏洞会获得1万美金的报酬”。
对于360报告中提到的漏洞,他表示早已修复,且早于报告发布时间,而360的行为是在制造恐慌,对于任何挑起市场恐慌的行为将取消其奖励资格。有专家认为,这种态度这是不敢正视问题,对技术极度不尊重。
Dfund创始人赵东直接在朋友圈开怼:“不管360什么目的(我们不要怀疑别人做事的动机),我至少确定一点:根据GIthub代码提交时间可知,BUG修复在360向BM汇报BUG之后而非之前。BM在睁着眼睛说瞎话,人品极其不可靠。”
据FN资讯7月11日报道,EOS自启动漏洞赏金计划以来,上半年赏金超10万美元。黑客Guido Vranken最近通过发现EOS协议中的漏洞赚取了12万美元,但对于Vranken团队披露的系统中的其它错误,EOS仍未将其公开。“EOS似乎存在一些很严重的漏洞,并缺少全职的安全团队。”
北京知道创宇创始人、著名安全专家赵伟在接受媒体采访时表示,自己与团队在BM的沟通中发现,BM会混淆一些安全基础性的概念,其本人在安全技术领域并不专业。
持相同观点的还有360安全人员。在接受采访时,安全人员透露,在团队提交漏洞并跟BM沟通时,会发现他基本上不懂安全,对安全的认知比较差。
过度包装暗藏风险
至于EOS募资的疯狂程度,或许连BM也始料未及。
产品尚未正式上线,却在一年内疯狂拦金40亿美元,这与EOS的过度包装和炒作不无关系。除了被冠以“区块链3.0”的名号外,资本大鳄、交易所巨头、温州炒房团、矿场土豪等争相竞选超级节点,也让EOS赚足了眼球。
但如此大规模的募资究竟流向何处?伴随市场疑惑的此消彼长,躲在暗处的“危险分子”或许觊觎已久。
专注于区块链项目投资的大河资本合伙人李荣阁表示,EOS之所以频频爆发安全问题,除了项目本身采用了很多创新的实现方案,以及公链项目要公开代码的原因外,也与项目强大的社区运营能力和宣传造势相关。
在他看来,EOS没有上线就能取得大量投资人的认可,得到超高的市值,必然会引起各方面的关注,其中也包括安全专家和黑客,因此系统更容易被爆出各种漏洞。
他同时强调,早期项目的开发进度应该与知名度互相匹配,这对项目团队来说更容易形成一个良性的外部环境,如果社会关注度过高,很容易形成“伤仲永”的后果。
值得注意的是,EOS社区负责人ThomasCox在主网瘫痪后的发言也验证了其关注度过高。他表示,任何软件都有漏洞,BP和工程师修复主网并使它重新上线预示着未来会非常好,比特币和以太坊初始阶段,由于没有人用,所以没有人理会它们的漏洞。
虽然有以上种种硬伤,但并非无药可治。据了解,目前来自世界各地的白帽黑客还在持续为EOS报告漏洞和提交修复建议。
没被意识到的漏洞是可怕的,被意识到后,漏洞的威力将会大大降低。EOS团队如果从此刻起,能更加重视安全问题并不断增加投入,完全可以将各种隐患扼杀在爆发前夕。
不得不承认的是,安全性问题是目前整个区块链领域的短板,并非EOS独有,随着各界的关注,随着行业整体安全水平的提升,EOS的安全性能也必将水涨船高。
我们愿意相信,未来发生大规模利用EOS漏洞的黑客攻击,概率将会逐渐降低。
有疑问加站长微信联系(非本文作者)