当前位置:首页 > 物联网 > 区块链
[导读] 在区块链领域中,安全方面的考虑压倒了软件中所有其他要考虑因素。如果实现不了安全, 其他任何方面做得再好也于事无补。 区块链被证明分散的, 可信任的事务工作, 但许多区块链的安全漏洞仍然存

在区块链领域中,安全方面的考虑压倒了软件中所有其他要考虑因素。如果实现不了安全, 其他任何方面做得再好也于事无补。

区块链被证明分散的, 可信任的事务工作, 但许多区块链的安全漏洞仍然存在。

安全漏洞存在于设计阶段、编码阶段和操作阶段。同样,区块链有可能受到黑客的攻击。
 

区块链安全漏洞

智能合约的存在就像钻石一样是永恒存在的,只要它们被部署的区块链继续被使用。因此,所有的漏洞和区块链安全漏洞也会像智能合约一样存在。

通常, 每个区块链提供其自己的编程语言来实现智能合约。

智能合约的编程语言

区块链会利用他们自己的语言来开发智能合约。

例如,以太坊平台包含了编写智能合约的可靠语言。创作者设计的是一种坚固的图灵机完整语言。

图灵机完整的语言实质上允许程序员实现底层系统所能做到的任何事情。因此, 这就给程序员提供了代码中实现循环的能力, 这可能会导致区块链引发安全漏洞。

图灵机完整语言

图灵机完整语言非常的复杂, 但正是这种复杂性往往会招致 bug 和漏洞。

比特币网络也有一种编程语言,它称之为脚本。脚本的目的不是为了增强安全性。

给程序员的选项越少,区块链安全漏洞进入系统的可能性就越小。

为了尽量减少将错误代码发布到链外的风险, 程序员必须了解智能合约编程中固有的常见缺陷和反模式。(反模式表示错误的编程实践)。

DAO黑客:可重入性问题

可重入性问题在被编写到智能合约中的区块链安全漏洞中可能排在最高的位置。可重入性通过对同一事务的多个支出来消耗一个帐户。处理退款的用例适合这种利用,但是如果不在设计和编码阶段解决,这种缺陷就会影响到所有事务。

在迄今为止最臭名昭著的加密货币攻击之一中,DAO黑客就利用了可重入性。没有组织领导决定如何运行DAO(分散的自治组织),使他们能够对投资的项目进行投票。

它在第一个月筹集了超过1.5亿美元的资金。2016年6月17日,黑客从该组织的“重入性”漏洞中抽走了5000万美元。从以太经典(ETC)到以太币(ETH)的硬叉导致了解决这次黑客攻击所产生问题的所有努力。

反模式易陷入可重入性

代码脆弱的可重入性逻辑看起来是这样的:

处理支付()的函数

(1) 检查交易的有效性、收款人和账户余额;

(2) 处理交易;

(3) 更新系统状态,以显示已处理了事务;

乍一看,逻辑看起来是正确和完整的,但缺陷在于步骤3之前执行步骤2的顺序。

对函数的第一次调用将继续处理步骤2,而对同一事务的另一次调用则可以输入该函数。由于状态信息仍处于初始状态,尚未在步骤3中处理,因此第二个调用将检查为要处理的有效事务。

因此,该系统第二次为同一义务支出货币。黑客在状态正确设置之前,将多个事务快速地发送到函数中。

治疗可重入性

对算法的这一修改纠正了上面的问题:

处理支付()的函数

(1) 检查交易的有效性、收款人和账户余额;

(2) 更新系统状态以显示已处理了事务;

(3) 处理交易;

代码必须说明所有必要的异常处理,并且它还必须说明所有逻辑依赖项。

Overflow

Overflow是程序员需要注意的另一个常见的安全缺陷。

一些编程语言提供了强类型,而其他语言提供了弱类型。例如,强类型语言不允许程序员将字符串数据分配给数值变量,弱类型语言允许执行此类操作。

强类型语言实施范围有很大的限制。如果一个数组是十个元素,程序员就不能尝试访问第十一个元素。弱类型语言允许这样的行为,但会导致崩溃。如果一个变量所允许的最大值是99,并且为它赋值100,那么运行它时就会看到它崩溃!

因此,Overflow是黑客常使用的手段。如果黑客向智能合约提供了一个超出代码处理范围的参数,就会产生崩溃结果。这样的崩溃助长了多重攻击。崩溃可能触发拒绝服务攻击(DDoS攻击),这时,关于系统内部的重要信息有时会在错误消息中显示出来。

在web应用程序中,黑客经常用自己的恶意代码填充内存,因此,当程序崩溃并进入内存中的一个随机点时,恶意代码就会执行。

弱类型语言提供了强大的功能和动态灵活性,但它们也需要更严格的设计和测试来抵抗攻击。

大量的安全问题困扰着软件世界。随着新技术的出现,出现了新的威胁。除了上面提到的漏洞外,这些明显的缺陷只是许多其他区块链安全漏洞中的一些。

糟糕的密码系统制造了很多麻烦。密码学确保隐私,当隐私被破坏时,一切都会被破坏。IOTA团队犯了一个错误,在产品的初始版本中从头编写自己的密码库。滚动自己来加密所固有的问题是,所有复杂的软件都包含错误。

建立的密码库在经过学术界的审查后仍然存在,并且随着时间的推移,证明它是可靠的。

在钱包的世界里,随机数生成必须是真正随机的。特别是在加密货币出现的初期,一些钱包就不能满足这一要求。

加密货币要求地址必须是唯一的。唯一性来自一个随机数生成器,并且随机数生成器需要一个种子来开始这个过程。如果种子不是真正随机的,系统就会失败。

一个坏的随机性的结果意味着同一地址被多次创建。想象一下,钱包将地址X分配给某人A,然后稍后某个时候将地址X分配给某人B。当付款到达地址X时它只适用于一个人。那么到底哪个人会得到钱?

当黑客找出用于创建种子的算法时,会出现另一个随机性不好的问题。黑客为自己重新生成种子,并拥有系统。

安全永无止境

安全是一场永无止境的战斗,即使程序员、架构师和测试人员从代码中删除了所有漏洞,操作漏洞依然存在。

在一个工作环境的证明中,如果坏的参与者控制了网络的51%,那么完整性就会被破坏。博弈论为这种攻击提供了缓解。但是51%的攻击摧毁了货币的价值,所以攻击者只是伤害了他们自己。

区块链生活在互联网上,和互联网一样,也和黑客有同样的接触。例如,假设您从一个网站上的交换器中购买代币。注射式攻击、跨站点编写脚本、网络钓鱼攻击以及所有其他传统网站攻击都占上风。

结语

正如程序员要防范错误一样,程序员也必须在开发中考虑到安全性。虽然存在一些帮助程序员完成任务的工具,但是程序员必须首先了解他们自己的漏洞以防止它们。

分散式应用安全项目(DASP)希望成为区块链安全性信息和资源的存储库。他们在开放的Web应用安全项目(OWASP)上对自己进行了一些建模。年度OWASP前10名明确列出了目前存在的主要网页应用程序漏洞。DASP前10名希望为区块链提供同等的资源。

并非所有的攻击都是事先知道的。零日攻击定义了黑客在其他人之前就知道的漏洞。所以程序员在设计和实现软件时必须像攻击者一样去思考。如果您没有在代码中找到漏洞,那么希望寻找利润的黑客来替你找到它们。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现如今数字经济完全依赖各大平台的服务,交易能否达成与双方信用直接挂钩。平台往往在交易过程中抽取大量服务费用,导致了交易成本的提高。

关键字: 元宇宙 区块链 虚拟活动

随着人工智能(AI)技术的不断发展和创新,其应用领域也在不断拓展。AI正在逐步渗透到各个行业中,为我们的生活和工作带来诸多变革。本文将为您探讨人工智能在各个领域的应用。

关键字: 人工智能 区块链 应用领域

本文中,小编将对区块链技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 区块链 Blockchain

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

(全球TMT2023年9月6日讯)耀世星辉新文娱集团控股有限公司宣布,根据2023年8月16日签署的《股份认购协议》,完成发行总计8,064,516 股普通股,认购价格为每股2.48美元,总计2000万美元的战略投资完...

关键字: 云计算 移动互联网 区块链 生态系统

上海2023年8月17日 /美通社/ -- 低碳经济的新机遇和挑战激发了电池制造业的创新热情。为了引领行业电池安全生产标准的制定并保持市场领先地位,一些电池制造公司,已在电池创新技术上投入巨大的研发力量。 在这个背景下...

关键字: 区块链 新能源电池管理 区块链技术 AI

(全球TMT2023年8月17日讯)耀世星辉新文娱集团控股有限公司宣布与两家新的投资机构签署战略投资股份认购协议。根据协议,公司同意向两家机构发行总计8,064,516 股普通股,每股价格为2.48美元,总额2000万...

关键字: 云计算 移动互联网 区块链 生态系统

近日,SABIC携手区块链软件提供商Circularise共同推出区块链试点项目,旨在评估其技术在追踪特定材料从“端到端”流动的碳足迹方面的使用情况。

关键字: 区块链 碳中和

区块链技术是一种基于去中心化、分布式、不可篡改的数据存储和传输技术,其应用场景广泛,涉及到数字货币、供应链管理、智能合约、数字身份验证、物联网等多个领域。以下是区块链技术的几个具体应用:

关键字: 区块链 数字货币

比特币是一种去中心化、全球性的数字货币,它通过加密算法和分布式账本技术,实现了安全、快速、低成本的交易和转移资产。比特币的出现,打破了传统的金融模式,为人们提供了一种全新的支付方式和财富管理方式,同时也引发了人们对金融创...

关键字: 比特币 区块链
关闭
关闭