链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。


今天我们来谈谈区块链的安全软肋。

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

区块链技术常被人们提及的特性是去中心化、共识机制等,由区块链引申出来的虚拟数字货币是目前全球最火爆的项目之一,正在成就出新的一批亿万级富豪。像币安交易平台,成立短短几个月,就被国际知名机构评级市值达400亿美金,成为了最富有的一批数字货币创业先驱者。然而最近币安也遭到了黑客的攻击,损失可谓惨重。自从有数字货币交易所至今,被攻击、资金被盗事件太多了,且部分数字货币交易所被黑客攻击惨重直接倒闭。

一、令人震惊的数字货币交易所被攻击事件

从最早的比特币,到后来的莱特币、以太币,目前已有几百种数字货币。随着价格的攀升,各种数字货币系统被攻击、数字货币被盗事件不断增加,被盗金额也是一路飙升。让我们来回顾一下令人震惊的数字货币被攻击、被盗事件。

2014年2月24日,当时世界最大的比特币交易所运营商Mt.Gox宣布其交易平台的85万个比特币已经被盗一空,承担着超过80%的比特币交易所的Mt.Gox由于无法弥补客户损失而申请破产保护。经分析,原因大致为Mt.Gox存在单点故障结构这种严重的错误,被黑客用于发起DDoS攻击:比特币提现环节的签名被黑客篡改并先于正常的请求进入比特币网络,结果伪造的请求可以提现成功,而正常的提现请求在交易平台中出现异常并显示为失败,此时黑客实际上已经拿到提现的比特币了,但是他继续在Mt.Gox平台请求重复提现,Mt.Gox在没有进行事务一致性校验(对账)的情况下,重复支付了等额的比特币,导致交易平台的比特币被窃取。

2016年8月4日,最大的美元比特币交易平台Bitfinex发布公告称,网站发现安全漏洞,导致近12万枚比特币被盗,总价值约为7500万美元。

2018年1月26日,日本的一家大型数字货币交易平台Coincheck系统遭遇黑客攻击,导致时价580亿日元、约合5.3亿美元的数字货币“新经币”被盗,这是史上最大的数字货币盗窃案。

2018年3月7日,世界第二大数字货币交易所币安(Binance)被黑客攻击的消息让币圈彻夜难眠,黑客竟然玩起了经济学,买空卖空“炒币”割韭菜。根据币安公告,黑客的攻击过程包括:

  1. 在长时间里,利用第三方钓鱼网站偷盗用户的账号登录信息。黑客通过使用Unicode字符冒充正规Binance网址域名里的部分字母对用户实施网页钓鱼攻击。

  2. 黑客获得账号后,自动创建交易API,之后便静默潜伏。

  3. 3月7日黑客通过盗取的API Key,利用买空卖空的方式,将VIA币值直接拉暴100多倍,比特币大跌10%,以全球总计1700万个比特币计算,比特币一夜丢了170亿美元。

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

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

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

  1. 算法实现安全

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

  1. 共识机制安全

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

  1. 区块链使用安全

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

  1. 系统设计安全

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

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

三、如何保证区块链的安全

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

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

的密码技术,如国密公钥算法SM2等。另一方面对核心算法代码进行严格、完整测试的同时进行源码混淆,增加黑客逆向攻击的难度和成本。

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

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

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

四、现在在做区块链安全的公司

知道创宇:创宇在安全圈的名气就不用说了,毕竟国内最早开始提出云检测和云防御的安全公司。据知情人透露目前知道创宇旗下的区块链相关安全解决方案,已经被数家客户以天价签下。知道创宇看来确实实力不错。

梆梆安全:梆梆安全在2016年开始针对区块链安全中的核心问题——“私钥保护”进行研究,好像已形成了相关产品和咨询方案。

安全狗:安全狗的侧重还是在于服务器,他云防御和整体的区块链安全方案依托在过硬的技术上应该还是不错的。

区块链的安全软肋是什么?相关推荐

  1. 区块链的安全软肋都有什么

    想知道更多区块链技术知识,请百度[链客区块链技术问答社区] 作为比特币中的核心技术,在无法建立信任关系的互联网上,区块链技术依靠密码学和巧妙的分布式算法,无需借助任何第三方中心机构的介入,用数学的方法 ...

  2. 科普解析区块链里的软分叉和硬分叉是什么,为什么要分叉

    欢迎来到懒区块(ID:lanqukuai),人人都能看懂的区块链技术解读,深入浅出的解剖整个区块链系统.本文由懒区块整理撰写,不经过允许,切勿转载. 今天懒区块来跟大家聊一聊区块链中分叉的问题,经常在 ...

  3. 转载:区块链:关于软分叉与硬分叉以及什么是共识

    第0章 引言 比特币是一套软件,对软件代码进行修改升级就经常会涉及到两个概念,一个叫硬分叉,一个叫软分叉.这到底是什么意思呢?社区里最常见的定义说是对共识的修改.但"共识"具体指的 ...

  4. 1分钟了解“区块链分叉”的本质

    转载自 1分钟了解"区块链分叉"的本质 有不少朋友问,全球每个区块链节点都包含全部数据,都在最新的区块链数据上挖符合条件的区块,如何两个节点同时挖到新区块,出现数据不一致,该怎么办 ...

  5. 链塔智库|区块链产业要闻及动态周报(2020年7月第2周)

    链塔智库整理最近一周内区块链相关政策.业内动态.人物观点,为大家梳理呈现各个领域的最新发展. 一.各地政策要闻 重庆市大数据发展局:高度重视区块链技术及产业发展 重庆市大数据应用发展管理局副局长景根元 ...

  6. 区块链 软分叉和硬分叉 简介

    1.硬分叉是什么 硬分叉是指当区块链代码发生改变后旧节点拒绝接受由新节点创建的区块,不符合原规则的区块将会被忽略,矿工会按照原规则在他们最后验证的区块之后创建新的区块,区块链领域最有名的硬分叉案例,便 ...

  7. 解读区块链,软分叉和硬分叉

    解读区块链,软分叉和硬分叉 最近在交流群和论坛中经常听到软分叉和硬分叉,起初对这个概念只是简单认为是区块链软件升级后新旧协议造成新旧节点对新的区块认可时的一种分歧,软分叉一般不会产生永久性分叉的链,而 ...

  8. 区块链的硬分叉和软分叉

    我们知道,区块链分叉分为两种:硬分叉和软分叉.在解释"硬分叉"和"软分叉"这两个概念之前,先解释"向前兼容"和"向后兼容" ...

  9. 区块链的硬分叉、软分叉介绍

    区块链的硬分叉.软分叉介绍 分叉:由于交易结构的变化,或者区块的结构变化引起的. 硬分叉:由于区块的结构变化引起的.(升级后的客户端和不升级的挖不同的币) 软分叉:由比特币交易的数据结构改变引起,区块 ...

最新文章

  1. windows网络负载平衡
  2. codelite14中文语言包_Windows下CodeLite完美支持中文的正确设置方法
  3. 深度学习100例 - 卷积神经网络(CNN)实现车牌识别 | 第15天
  4. 艺术签名python_个性签名设计五十行Python轻松实现
  5. MySQL【环境搭建 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
  6. 二元函数图像生成器_GAN生成图像综述
  7. 在wince中添加微软的雅黑字体
  8. 路径-真机和虚拟机共享
  9. 2019春第八周作业
  10. 【数据结构】30、hashmap=》hash 计算方式
  11. HDU 4932 Miaomiao#39;s Geometry(推理)
  12. Ubuntu虚拟机安装gcc运行C程序
  13. vista/win7系统 红警/CS/星际争霸 局域网连接方法
  14. 【2022 年第十二届 MathorCup杯数学建模】D 题 移动通信网络站址规划和区域聚类问题 赛后总结、论文及代码
  15. Spring注入Bean的几种方法
  16. 2021-11-12 Android 11 长按按键进入恢复出厂设置的实现方法-PhoneWindowManager里面用发广播的模式
  17. Expected more than 1 value per channel when training, got input size torch.Size([1, **])
  18. 在控制面板,管理工具找不到Internet 信息服务
  19. 【财富空间】公司是船,我在船上(强烈推荐)
  20. Win10记事本打开为乱码

热门文章

  1. 目前python主要应用领域零售_python3读取HDA零售企业数据(一)
  2. Spark的安装和使用
  3. bugku 杂项 就五层你能解开吗_你能解开这个和数字有关的逻辑解谜游戏吗? | 每日一考...
  4. 移动端自动播放音视频实现代码
  5. 接入网易云信IM即时通讯的微信小程序聊天室
  6. 微信小程序图片自适应宽高比例显示解决方法
  7. 在博客中加入“花絮”效果
  8. Windows 日志高级筛选实践
  9. nginx安全日志分析脚本的编写
  10. dubbo学习过程、使用经验分享及实现原理简单介绍