请输入描述
区块链平台EOS现史诗级漏洞 安全专家:更严重的或许还在后面
IT时报见习记者 刘慧莹
2018年5月,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS(Enterprise Operation System,商用操作系统)的一系列高危安全漏洞。经验证,其中部分漏洞可以在EOS节点上远程执行任意代码,即可以通过远程攻击,直接控制和接管EOS上运行的所有节点。
时隔半月,5月29日凌晨,360公司第一时间将该类漏洞上报EOS官方,把该漏洞的技术细节、报告以及演示空间代码都提供给EOS负责人,并协助其修复安全隐患。EOS网络负责人表示,在修复这些问题之前,不会将EOS网络正式上线。
一个恶意节点“感染”21个超级节点
三个月前,EOS还是区块链界的当红新秀,这个通过并行链和DPOS的方式解决了延迟和数据吞吐量难题的区块链底层开发平台,以其每秒百万级的处理量和免手续费的特征备受开发者瞩目,也激发了投资者的嗅觉,甚至有望在比特币和以太坊之上开启“区块链3.0”时代。
气氛在EOS主网原计划上线日期6月2日到来之际逐渐紧张起来。尽管对EOS利好与利空的观点交锋激烈,大佬也纷纷摆明立场,但是真正结束几个月来观点交锋,打破EOS信仰的是此次史诗级漏洞的披露。
尽管在传统软件领域,漏洞的出现屡见不鲜,由此带来的数据和隐私泄露时常影响我们的生活。但在区块链的世界里,数字货币自身携带的金融属性,使得这个领域的漏洞往往给人造成更为直接且严重的损失。
此次EOS漏洞可能造成大范围损失的原理十分简单——利用了EOS是去中心化的分布式区块链系统,而且是通过一行代码就能修复的机制。360首席安全工程师、伏尔甘团队负责人郑文彬表示,黑客只需发布一个具有恶意代码的智能合约到该服务器节点上,在解析智能合约、打包区块的过程中,这个节点会将其他节点一并感染,整个区块链网络里的节点就都可以被恶意攻击者控制,进而对区块链网络进行接管,里面的交易、存储密钥都可以被控制。
“在区块链历史上,我们还没有遇到过如此严重的漏洞。”360核心安全事业部安全研究员彭峙酿评价。不过值得庆幸的是,此次漏洞在EOS上线之前被提交给EOS团队,阻止了早先瞄上该漏洞的黑客大施拳脚,也避免了可能造成的实际破坏。
“后面可能还有更严重的”
据郑文彬表示,这个漏洞其实存在至少有1年时间了,而被伏尔甘团队发现也已经有半个月的时间。彭峙酿告诉《IT时报》记者,最初只是发现漏洞,但是这个漏洞的利用过程非常复杂,所以整个团队用了一周的时间试图在超级节点上执行代码,证明漏洞可以被利用后,团队才赶在主网上线之前把报告递交给EOS团队。
彭峙酿说:“这个漏洞修复起来还是挺简单的——改了一行代码。”漏洞修复后EOS上就能确保足够的安全性吗?如果你认为“是”,就太天真了。此次伏尔甘团队不仅发现了这个漏洞,还有一系列的漏洞准备提交给EOS。而除了EOS上的漏洞,近期团队也曾披露钱包、矿池、智能合约的安全漏洞。
“我们只是先把当前最严重的交给他们,后面可能还有更严重的。”彭峙酿表示。
在区块链的行业里,漏洞的出现并不罕见,甚至有点像上世纪90年代时常有漏洞曝出的Windows系统。2016年历史上最大的智能合约漏洞事件,黑客利用THE DAO 智能合约设计上的漏洞盗走1/3的以太币;4月份BEC遭黑客洗劫,一行代码蒸发65亿人民币;而就在最近几天,发生在教育链EDU上,黑客不需私钥就能任意转走账户里的EDU Token。区块链高频的漏洞曝出令旁观者见怪不怪,当局者如坐针毡。
区块链从业人员素质的良莠不齐是漏洞频发的原因之一。众享比特产品总监陈鸿刚对《IT时报》记者表示,区块链的代码设计需要从业者相当高的专业背景,仅产品设计人员,就需要精通密码学、P2P通信技术、网络安全技术、数据库和公式算法等多方面知识,同时具备将技术与业务结合的能力。
区块链高危漏洞频发的另一个原因,则来自整个系统体系的设计。以太坊再大的漏洞影响范围都十分有限,但EOS即使一点误差都可能导致整个系统被黑客控制。尽管“史诗级漏洞”修复过程只耗费了EOS团队一两个小时的时间,但是漏洞的根源其实却跟整个EOS体系的设计相关。彭峙酿告诉记者,你可以提交智能合约到这个节点上,还可以把它推导到其他的节点,“在这个过程中机制难逃干系。”
Windows上的漏洞区块链也有
安全性是区块链投入实际应用应当首要考虑的问题。对此,彭峙酿呼吁区块链网络运营者、开发者加强对安全的投入,尽快提出有效的安全解决方案。他同时表示,传统软件行业所遇到的问题,为区块链领域提供了很多前车之鉴。
此次上报的EOS漏洞,在传统浏览器中是常见问题。这说明区块链虽然是新的体系,但仍会面临过去很多传统软件行业遇到的安全问题。彭峙酿设想,在未来,为保障智能合约的安全性,除了代码审查,区块链系统还会拥有软件安全的缓和措施,就像传统软件、浏览器和操作系统一样,对区块链吸引系统也要专门设置代码审计,形成整体安全解决方案。同时,针对交易的控制、权限的控制也需要制定新的解决方案,让多层防护措施限制漏洞带来的危害。
领取专属 10元无门槛券
私享最新 技术干货