主页 > 苹果手机安装imtoken > 区块链智能合约漏洞,补给你不容易

区块链智能合约漏洞,补给你不容易

苹果手机安装imtoken 2023-04-19 06:21:50

近日,区块链平台EOS智能合约漏洞事件再次将区块链安全推向风口浪尖。 攻击者可以通过发布包含恶意代码的“智能合约”来控制区块链网络中的所有节点,经过一系列操作之后,就可以为所欲为。 从The DAO到BEC、SocialChain、Hexagon,再到这几天的EOS漏洞,“智能合约”已经成为区块链安全的重灾区。 那么什么是智能合约,智能合约的漏洞给安全带来了怎样的新挑战,又该如何应对呢? 在本文中,360密码卫士团队的安全专家将结合自身在区块链智能合约漏洞方面的研究成果和经验,从这些方面进行深度解读。

1. 什么是智能合约?

智能合约一词是 Nick Szabo 在 1994 年创造的,此后在不同的上下文中多次被重新定义。 我们通常所说的区块链智能合约就是以以太坊为代表的。 以太坊的作者 Vitalik Buterin 意识到,在区块链系统中以太坊智能合约漏洞,交易逻辑可以从底层系统机制中分离出来。 底层系统负责交易区块的创建和验证、记账人的共识等基本功能,交易本身做什么可以通过二次编程定义。 因此,他设计了一个用于交易代码执行的虚拟环境EVM。 用户可以开发自定义交易逻辑并发布到链上。 当交易进行时,链上所有节点执行相同的代码,从而同步改变链上数据的状态。 他为这种代码使用了“智能合约”这个名字,这就是我们现在通常所说的智能合约。

2. 智能合约漏洞,进退两难!

智能合约的本质是运行在区块链网络中的一段代码,完成用户下达的业务逻辑。 以以太坊系统的代币为例,其业务逻辑是代币发行和交易。 在以太坊设计之初,智能合约就被设计成一种一旦部署就无法修改的模式。 这种设计很可能会提高智能合约的可信度。 但是我们知道,只要是人写的程序,就一定会出现错误和bug。 以太坊本身的设计就违背了编程的一般规律,当智能合约出现漏洞时,可能会造成无法挽回的损失。 我们可以看到,最近出现的以太坊系统智能合约的漏洞影响非常大,一些代币也因此被销毁。

siteqq.com 以太坊智能合约_以太坊智能合约漏洞_以太坊智能合约的应用

以太坊系统目前区块链智能合约的机制设计,加上漏洞的潜在破坏性影响,使得已经上线的智能合约漏洞报告和处理变得非常困难。 360密码卫士团队在近期调研中发现了多个以太坊系统下上市交易币种的智能合约安全漏洞,并已第一时间向厂商反馈,但厂商至今未做出任何回应. 对于厂商来说,由于智能合约的不可修改性,要有效修复上线后发现的漏洞,只能选择重新部署新的合约,这将付出巨大的代价,所以部分厂商可能会选择不回应。 未处理。 对于安全研究人员来说,他们也面临着尴尬和进退两难的境地。 在厂商修复漏洞之前公开漏洞细节对厂商不利,有悖于漏洞公开的一般原则。 但如果厂商长期不修补漏洞,公众将不知道漏洞的存在,风险会随着时间的推移迅速扩大。 漏洞一旦爆发,可能会造成更大的危害,影响更大的人群,可能会导致很多人的投资瞬间化为乌有。 未来,360代码卫士团队也将与厂商保持积极的联系和沟通,以帮助其修复漏洞。

3. 智能合约漏洞如何处理?

在某些联盟链中,智能合约的设计可以在部署后进行更新。 当然,本次更新需要一定的线下协商过程。 针对区块链智能合约的安全漏洞,未来一般需要考虑设计相应的智能合约协商更新机制,以降低漏洞修复成本。

但现在以太坊智能合约漏洞,我们需要面对现实,做出几乎唯一可行且有效的努力——在智能合约上线前,对代码进行全面深入的安全审计,尽可能消除漏洞,降低安全风险。

据360密码卫士团队安全专家介绍,目前区块链智能合约可能出现的漏洞至少有20种。 下面列出了区块链智能合约中一些常见的漏洞类型及其可能带来的风险。 在智能合约上线之前,应该详细检查这些漏洞。

siteqq.com 以太坊智能合约_以太坊智能合约的应用_以太坊智能合约漏洞

· 整数溢出

智能合约中的危险数值运算

可能导致合约失效、无限发币等风险

· 越权存取

智能合约中的错误访问控制

以太坊智能合约漏洞_以太坊智能合约的应用_siteqq.com 以太坊智能合约

可能导致未经授权发行货币的风险

· 信息泄露

硬编码地址等

可能导致重要信息泄露

· 逻辑错误

以太坊智能合约的应用_以太坊智能合约漏洞_siteqq.com 以太坊智能合约

代理转账功能缺乏必要的验证

可能导致基于重入漏洞的恶意转账等风险

·拒绝服务

循环语句、递归函数、外部合约调用等处理不当

可能导致无限循环和递归堆栈耗尽等拒绝服务风险

siteqq.com 以太坊智能合约_以太坊智能合约漏洞_以太坊智能合约的应用

· 功能滥用

伪随机函数调用和接口函数实现问题

可能导致可预测随机数、接口函数返回异常等风险

四。 概括

漏洞永远存在。 未来,区块链行业肯定会出现更多的安全问题。 以前在传统互联网领域遇到的安全问题,在区块链行业肯定也会遇到。 区块链行业必须能够与网络安全行业进行合作和开放,才能让行业发展得更健康、更稳定、更安全。