黑客区块链安全问题解决方法_黑客区块链安全问题解决
文章栏目:
区块链安全问题应该怎么解决?
区块链项目(尤其是公有链)的一个特点是开源。通过开放源代码,来提高项目的可信性,也使更多的人可以参与进来。但源代码的开放也使得攻击者对于区块链系统的攻击变得更加容易。近两年就发生多起黑客攻击事件,近日就有匿名币Verge(XVG)再次遭到攻击,攻击者锁定了XVG代码中的某个漏洞,该漏洞允许恶意矿工在区块上添加虚假的时间戳,随后快速挖出新块,短短的几个小时内谋取了近价值175万美元的数字货币。虽然随后攻击就被成功制止,然而没人能够保证未来攻击者是否会再次出击。
当然,区块链开发者们也可以采取一些措施
一是使用专业的代码审计服务,
二是了解安全编码规范,防患于未然。
密码算法的安全性
随着量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密算法生成数字签名来安全地交易,目前最常用的ECDSA、RSA、DSA 等在理论上都不能承受量子攻击,将会存在较大的风险,越来越多的研究人员开始关注能够抵抗量子攻击的密码算法。
当然,除了改变算法,还有一个方法可以提升一定的安全性:
参考比特币对于公钥地址的处理方式,降低公钥泄露所带来的潜在的风险。作为用户,尤其是比特币用户,每次交易后的余额都采用新的地址进行存储,确保有比特币资金存储的地址的公钥不外泄。
共识机制的安全性
当前的共识机制有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、授权权益证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面临51%攻击问题。由于PoW 依赖于算力,当攻击者具备算力优势时,找到新的区块的概率将会大于其他节点,这时其具备了撤销已经发生的交易的能力。需要说明的是,即便在这种情况下,攻击者也只能修改自己的交易而不能修改其他用户的交易(攻击者没有其他用户的私钥)。
在PoS 中,攻击者在持有超过51%的Token 量时才能够攻击成功,这相对于PoW 中的51%算力来说,更加困难。
在PBFT 中,恶意节点小于总节点的1/3 时系统是安全的。总的来说,任何共识机制都有其成立的条件,作为攻击者,还需要考虑的是,一旦攻击成功,将会造成该系统的价值归零,这时攻击者除了破坏之外,并没有得到其他有价值的回报。
对于区块链项目的设计者而言,应该了解清楚各个共识机制的优劣,从而选择出合适的共识机制或者根据场景需要,设计新的共识机制。
智能合约的安全性
智能合约具备运行成本低、人为干预风险小等优势,但如果智能合约的设计存在问题,将有可能带来较大的损失。2016 年6 月,以太坊最大众筹项目The DAO 被攻击,黑客获得超过350 万个以太币,后来导致以太坊分叉为ETH 和ETC。
对此提出的措施有两个方面:
一是对智能合约进行安全审计,
二是遵循智能合约安全开发原则。
智能合约的安全开发原则有:对可能的错误有所准备,确保代码能够正确的处理出现的bug 和漏洞;谨慎发布智能合约,做好功能测试与安全测试,充分考虑边界;保持智能合约的简洁;关注区块链威胁情报,并及时检查更新;清楚区块链的特性,如谨慎调用外部合约等。
数字钱包的安全性
数字钱包主要存在三方面的安全隐患:第一,设计缺陷。2014 年底,某签报因一个严重的随机数问题(R 值重复)造成用户丢失数百枚数字资产。第二,数字钱包中包含恶意代码。第三,电脑、手机丢失或损坏导致的丢失资产。
应对措施主要有四个方面:
一是确保私钥的随机性;
二是在软件安装前进行散列值校验,确保数字钱包软件没有被篡改过;
三是使用冷钱包;
四是对私钥进行备份。
币圈答案,价值40亿元加密货币被盗,黑客究竟是如何操作的?
黑客利用区块链数据协同平台Poly Network中的一个漏洞进行攻击,成功的把这40亿加密货币给盗走,转到了其他的账户当中,目前整个平台正在紧锣密鼓地扎捕这些黑客,因为一旦这些货币流入到币圈市场当中,肯定会给市场造成非常大的破坏,甚至还会影响整个大盘的波动。那么币圈将会导致一定的价格下跌情况出现。
从这一个事情上,我们可以看出现在区块链技术也非常的不成熟,而且黑客的技术明显要比防御技术高出很多,如果防御技术非常强大,那么黑客根本没有办法盗取40亿的加密货币。加密货币的诞生在法律上没有任何的合法性,只是被一些人拥有并且赋予了金钱价值而已,但由于这种技术并不是非常完善,而且这种技术破解程度比较高,因此很多国家担心这种加密货币会影响本国安全,所以对于这种货币都是拒绝的。
但因为这种货币已经形成了独特的金融市场,并且价值正在不断的攀升,因此很多人都会选择用现实中的金钱购买这种虚拟货币,从2021年上半年的形势来看加密数字货币的总体价值是在不断上升的,包括一些著名的货币:以太币、比特币等。这些加密货币整体的价值也拉动了很多人的投资热情,但是由于这种货币风险性比较高,所以很多人在投资之后血本无归。
总结:虚拟货币的出现无疑于给人们的金融提供了一条可以发展的途径,但是这条发展的途径势必会充满风险和艰辛,尤其是现在各个国家政府对这种货币不承认,导致这种货币完全没有合法性。所以我们要选择投资这种货币时,一定要擦亮眼睛,经过深思熟虑之后才可以确定是否要投资。
区块链有哪些安全软肋
区块链有哪些安全软肋
区块链是比特币中的核心技术,在无法建立信任关系的互联网上,区块链技术依靠密码学和巧妙的分布式算法,无需借助任何第三方中心机构的介入,用数学的方法使参与者达成共识,保证交易记录的存在性、合约的有效性以及身份的不可抵赖性。
区块链技术常被人们提及的特性是去中心化、共识机制等,由区块链引申出来的虚拟数字货币是目前全球最火爆的项目之一,正在成就出新的一批亿万级富豪。像币安交易平台,成立短短几个月,就被国际知名机构评级市值达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算法实现埋入缺陷,使其能够轻松破解别人的加密信息。一旦爆发这种级别的漏洞,可以说构成区块链整个大厦的地基将不再安全,后果极其可怕。之前就发生过由于比特币随机数产生器出现问题所导致的比特币被盗事件,理论上,在签名过程中两次使用同一个随机数,就能推导出私钥。
2. 共识机制安全
当前的区块链技术中已经出现了多种共识算法机制,最常见的有PoW、PoS、DPos。但这些共识机制是否能实现并保障真正的安全,需要更严格的证明和时间的考验。
3. 区块链使用安全
区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,理论上没有第三方参与。私钥一旦丢失,便无法对账户的资产做任何操作。一旦被黑客拿到,就能转移数字货币。
4. 系统设计安全
像Mt.Gox平台由于在业务设计上存在单点故障,所以其系统容易遭受DoS攻击。目前区块链是去中心化的,而交易所是中心化的。中心化的交易所,除了要防止技术盗窃外,还得管理好人,防止人为盗窃。
总体来说,从安全性分析的角度,区块链面临着算法实现、共识机制、使用及设计上挑战,同时黑客通过利用系统安全漏洞、业务设计缺陷也可达成攻击目的。目前,黑客攻击已经在对区块链系统安全性造成越来越大的影响。
三、如何保证区块链的安全
为了保证区块链系统安全,建议参照NIST的网络安全框架,从战略层面、一个企业或者组织的网络安全风险管理的整个生命周期的角度出发构建识别、保护、检测、响应和恢复5个核心组成部分,来感知、阻断区块链风险和威胁。
除此之外,根据区块链技术自身特点重点关注算法、共识机制、使用及设计上的安全。
针对算法实现安全性:一方面选择采用新的、本身经得起考验的密码技术,如国密公钥算法SM2等。另一方面对核心算法代码进行严格、完整测试的同时进行源码混淆,增加黑客逆向攻击的难度和成本。
针对共识算法安全性:PoW中使用防ASIC杂凑函数,使用更有效的共识算法和策略。
针对使用安全性:对私钥的生成、存储进行保护,敏感数据加密存储。
针对设计安全性:一方面要保证设计的功能尽量完善,如采用私钥白盒签名技术,防止病毒、木马在系统运行过程中提取私钥;设计私钥泄露追踪功能,尽可能减少私钥泄露后的损失。另一方面,应对某些关键业务设计去中心化,防止单点故障攻击。
区块链使用安全如何来保证呢
区块链本身解决的就是陌生人之间大规模协作问题,即陌生人在不需要彼此信任的情况下就可以相互协作。那么如何保证陌生人之间的信任来实现彼此的共识机制呢?中心化的系统利用的是可信的第三方背书,比如银行,银行在老百姓看来是可靠的值得信任的机构,老百姓可以信赖银行,由银行解决现实中的纠纷问题。但是,去中心化的区块链是如何保证信任的呢?
实际上,区块链是利用现代密码学的基础原理来确保其安全机制的。密码学和安全领域所涉及的知识体系十分繁杂,我这里只介绍与区块链相关的密码学基础知识,包括Hash算法、加密算法、信息摘要和数字签名、零知识证明、量子密码学等。您可以通过这节课来了解运用密码学技术下的区块链如何保证其机密性、完整性、认证性和不可抵赖性。
基础课程第七课 区块链安全基础知识
一、哈希算法(Hash算法)
哈希函数(Hash),又称为散列函数。哈希函数:Hash(原始信息) = 摘要信息,哈希函数能将任意长度的二进制明文串映射为较短的(一般是固定长度的)二进制串(Hash值)。
一个好的哈希算法具备以下4个特点:
1、 一一对应:同样的明文输入和哈希算法,总能得到相同的摘要信息输出。
2、 输入敏感:明文输入哪怕发生任何最微小的变化,新产生的摘要信息都会发生较大变化,与原来的输出差异巨大。
3、 易于验证:明文输入和哈希算法都是公开的,任何人都可以自行计算,输出的哈希值是否正确。
4、 不可逆:如果只有输出的哈希值,由哈希算法是绝对无法反推出明文的。
5、 冲突避免:很难找到两段内容不同的明文,而它们的Hash值一致(发生碰撞)。
举例说明:
Hash(张三借给李四10万,借期6个月) = 123456789012
账本上记录了123456789012这样一条记录。
可以看出哈希函数有4个作用:
简化信息
很好理解,哈希后的信息变短了。
标识信息
可以使用123456789012来标识原始信息,摘要信息也称为原始信息的id。
隐匿信息
账本是123456789012这样一条记录,原始信息被隐匿。
验证信息
假如李四在还款时欺骗说,张三只借给李四5万,双方可以用哈希取值后与之前记录的哈希值123456789012来验证原始信息
Hash(张三借给李四5万,借期6个月)=987654321098
987654321098与123456789012完全不同,则证明李四说谎了,则成功的保证了信息的不可篡改性。
常见的Hash算法包括MD4、MD5、SHA系列算法,现在主流领域使用的基本都是SHA系列算法。SHA(Secure Hash Algorithm)并非一个算法,而是一组hash算法。最初是SHA-1系列,现在主流应用的是SHA-224、SHA-256、SHA-384、SHA-512算法(通称SHA-2),最近也提出了SHA-3相关算法,如以太坊所使用的KECCAK-256就是属于这种算法。
MD5是一个非常经典的Hash算法,不过可惜的是它和SHA-1算法都已经被破解,被业内认为其安全性不足以应用于商业场景,一般推荐至少是SHA2-256或者更安全的算法。
哈希算法在区块链中得到广泛使用,例如区块中,后一个区块均会包含前一个区块的哈希值,并且以后一个区块的内容+前一个区块的哈希值共同计算后一个区块的哈希值,保证了链的连续性和不可篡改性。
二、加解密算法
加解密算法是密码学的核心技术,从设计理念上可以分为两大基础类型:对称加密算法与非对称加密算法。根据加解密过程中所使用的密钥是否相同来加以区分,两种模式适用于不同的需求,恰好形成互补关系,有时也可以组合使用,形成混合加密机制。
对称加密算法(symmetric cryptography,又称公共密钥加密,common-key cryptography),加解密的密钥都是相同的,其优势是计算效率高,加密强度高;其缺点是需要提前共享密钥,容易泄露丢失密钥。常见的算法有DES、3DES、AES等。
非对称加密算法(asymmetric cryptography,又称公钥加密,public-key cryptography),与加解密的密钥是不同的,其优势是无需提前共享密钥;其缺点在于计算效率低,只能加密篇幅较短的内容。常见的算法有RSA、SM2、ElGamal和椭圆曲线系列算法等。 对称加密算法,适用于大量数据的加解密过程;不能用于签名场景:并且往往需要提前分发好密钥。非对称加密算法一般适用于签名场景或密钥协商,但是不适于大量数据的加解密。
三、信息摘要和数字签名
顾名思义,信息摘要是对信息内容进行Hash运算,获取唯一的摘要值来替代原始完整的信息内容。信息摘要是Hash算法最重要的一个用途。利用Hash函数的抗碰撞性特点,信息摘要可以解决内容未被篡改过的问题。
数字签名与在纸质合同上签名确认合同内容和证明身份类似,数字签名基于非对称加密,既可以用于证明某数字内容的完整性,同时又可以确认来源(或不可抵赖)。
我们对数字签名有两个特性要求,使其与我们对手写签名的预期一致。第一,只有你自己可以制作本人的签名,但是任何看到它的人都可以验证其有效性;第二,我们希望签名只与某一特定文件有关,而不支持其他文件。这些都可以通过我们上面的非对称加密算法来实现数字签名。
在实践中,我们一般都是对信息的哈希值进行签名,而不是对信息本身进行签名,这是由非对称加密算法的效率所决定的。相对应于区块链中,则是对哈希指针进行签名,如果用这种方式,前面的是整个结构,而非仅仅哈希指针本身。
四 、零知识证明(Zero Knowledge proof)
零知识证明是指证明者在不向验证者提供任何额外信息的前提下,使验证者相信某个论断是正确的。
零知识证明一般满足三个条件:
1、 完整性(Complteness):真实的证明可以让验证者成功验证;
2、 可靠性(Soundness):虚假的证明无法让验证者通过验证;
3、 零知识(Zero-Knowledge):如果得到证明,无法从证明过程中获知证明信息之外的任何信息。
五、量子密码学(Quantum cryptography)
随着量子计算和量子通信的研究受到越来越多的关注,未来量子密码学将对密码学信息安全产生巨大冲击。
量子计算的核心原理就是利用量子比特可以同时处于多个相干叠加态,理论上可以通过少量量子比特来表达大量信息,同时进行处理,大大提高计算速度。
这样的话,目前的大量加密算法,从理论上来说都是不可靠的,是可被破解的,那么使得加密算法不得不升级换代,否则就会被量子计算所攻破。
众所周知,量子计算现在还仅停留在理论阶段,距离大规模商用还有较远的距离。不过新一代的加密算法,都要考虑到这种情况存在的可能性。
区块链会被黑客攻击吗
区块链是一种“共识”实现技术,通过区块链可以记录网际间所有的交易,供区块链的用户见证实现“共识”,且链上信息内容“不可篡改”。而这种“不可篡改”性是通过系统内多个副本的存在增加了内容被恶意篡改的成本。“区块链不是一个隐私解决方案。它是一个验证解决方案。了解这一点非常重要。区块链完全可以与其他技术组合,创造出各种系统,帮助用户更好地管理他们的数据,但是这些系统不能阻止数据泄露。”区块链技术可以解决身份黑客袭击问题,因为如果你的身份由一个私钥控制,而你自己保存着那把私钥,那么就没有方法去黑客你的身份,或者至少与传统数据库系统相比,袭击发生的可能性很低”。区块链都基于一种机制,而区块链上的信息是不可改变的。“区块链的最大价值之一是你不能以管理员身份随意改变价值,没人控制区块链,这是短期的。”从技术上来讲,单独的区块链也许不会成为数据黑客攻击和身份窃取的解决方案,但它依然是个人信息安全的一大技术飞跃,信息安全从网络空间变为常规。