取消
普通评论
普通评论

钱包、智能合约、交易所都不安全 区块链安全由其最弱一环决定

安全牛2018-09-20 08:40
区块链 黑客 虚拟货币 区块链 收藏

区块链 图片来源:中国电子银行网
区块链 图片来源:中国电子银行网

  区块链可能是安全的,但与之交互的软件未必,至少大多数情况下都不安全。区块链软件漏洞导致的网络攻击近年来逐渐增多,从加密货币钱包盗窃到智能合约攻击再到加密货币交易所被黑,各种涉区块链软件的安全事件层出不穷。

  保护区块链生态系统是当前最具挑战性的网络安全问题。区块链本身可能是安全的,但这并不意味着与之交互的所有部分都安全,比如加密货币钱包、加密货币交易所、挖矿软件、智能合约。最近的一份调查研究表明,仅今年上半年,黑客便盗取了价值11亿美元的加密货币。

  区块链成为黑客眼中诱人目标的部分原因,在于攻击者利用区块链变现更加便捷,他们不用转手所盗数据即可收获金钱,直接盗取(虚拟)货币本身即可。

  区块链是比特币中的核心技术,在无法建立信任关系的互联网上,区块链技术依靠密码学和巧妙的分布式算法,无需借助任何第三方中心机构的介入,用数学的方法使参与者达成共识,保证交易记录的存在性、合约的有效性以及身份的不可抵赖性。

  黑客攻击为什么能屡屡得手

  基于区块链的数字货币其火热行情让黑客们垂涎不已,被盗金额不断刷新纪录,盗窃事件的发生也引发了人们对数字货币安全的担忧,人们不禁要问:区块链技术安全吗?

  随着人们对区块链技术的研究与应用,区块链系统除了其所属信息系统会面临病毒、木马等恶意程序威胁及大规模DDoS攻击外,还将由于其特性而面临独有的安全挑战。

  1. 算法实现安全

  由于区块链大量应用了各种密码学技术,属于算法高度密集工程,在实现上比较容易出现问题。历史上有过此类先例,比如NSA对RSA算法实现埋入缺陷,使其能够轻松破解别人的加密信息。一旦爆发这种级别的漏洞,可以说构成区块链整个大厦的地基将不再安全,后果极其可怕。之前就发生过由于比特币随机数产生器出现问题所导致的比特币被盗事件,理论上,在签名过程中两次使用同一个随机数,就能推导出私钥。

  2. 共识机制安全

  当前的区块链技术中已经出现了多种共识算法机制,最常见的有PoW、PoS、DPos。但这些共识机制是否能实现并保障真正的安全,需要更严格的证明和时间的考验。

  3. 区块链使用安全

  区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,理论上没有第三方参与。私钥一旦丢失,便无法对账户的资产做任何操作。一旦被黑客拿到,就能转移数字货币。

  4. 系统设计安全

  像Mt.Gox平台由于在业务设计上存在单点故障,所以其系统容易遭受DoS攻击。目前区块链是去中心化的,而交易所是中心化的。中心化的交易所,除了要防止技术盗窃外,还得管理好人,防止人为盗窃。

  总体来说,从安全性分析的角度,区块链面临着算法实现、共识机制、使用及设计上挑战,同时黑客通过利用系统安全漏洞、业务设计缺陷也可达成攻击目的。目前,黑客攻击已经在对区块链系统安全性造成越来越大的影响。

  如何保证区块链的安全

  新技术意味着新威胁和新的学习曲线。任何新技术都一样,风险浮现需要时间,发展出应对风险的方法也需要时间。我们已经在WiFi技术上走过了这条曲线,IoT技术领域的学习曲线则仍在描绘中。至于区块链安全,我们才刚刚踏上学习曲线的起始阶段。而我们必须尽快探索,因为区块链的诱惑太大了,链上投注了如此之多的金钱,大量攻击活动正蠢蠢欲动。

  为了保证区块链系统安全,建议参照NIST的网络安全框架,从战略层面、一个企业或者组织的网络安全风险管理的整个生命周期的角度出发构建识别、保护、检测、响应和恢复5个核心组成部分,来感知、阻断区块链风险和威胁。

  除此之外,根据区块链技术自身特点重点关注算法、共识机制、使用及设计上的安全。

  1.针对算法实现安全性:一方面选择采用新的、本身经得起考验的密码技术,如国密公钥算法SM2等。另一方面对核心算法代码进行严格、完整测试的同时进行源码混淆,增加黑客逆向攻击的难度和成本。

  2.针对共识算法安全性:PoW中使用防ASIC杂凑函数,使用更有效的共识算法和策略。

  3.针对使用安全性:对私钥的生成、存储进行保护,敏感数据加密存储。

  4.针对设计安全性:一方面要保证设计的功能尽量完善,如采用私钥白盒签名技术,防止病毒、木马在系统运行过程中提取私钥;设计私钥泄露追踪功能,尽可能减少私钥泄露后的损失。另一方面,应对某些关键业务设计去中心化,防止单点故障攻击

  区块链用户要保护自身,需从以下四个基本安全措施做起:

  1.别暴露你的私钥

  2.采用双因子身份验证

  3.使用加密货币交易平台时别公开任何电子邮箱地址或电话号码

  4.别在网上吹嘘你的加密货币财富

  实现代码级安全

  创建与区块链互动的软件时应将安全内置到代码中:

  要用良好的软件开发生命周期将安全添加到开发过程中,并审查继承过来的代码

  使用双因子身份验证和硬件钱包

  遵从标准最佳实践——使用SSL和证书以确保参与各方的身份真实

  区块链好处多多,包括更好的法律合同、更强的供应链可见性,甚至可以减少欺诈。但任何技术都逃不过被恶意黑客探测一番,区块链也不例外,黑客探出的漏洞就有可能引发怀疑情绪,减缓新技术的采纳速度。

责任编辑:王超

点击加载

点击加载

发送
普通评论
发送
普通评论
普通评论

为你推荐

暂无相关推荐