草根站长
老司机 路子野 随时超车
智能合约本质是一段运行在区块链网络中的代码,它完成用户所赋予的业务逻辑。以以太坊体系的代币为例,其业务逻辑是代币发币和交易。以太坊在设计之初,将智能合约设计成了一旦部署就不能修改的模式。这种设计有可能是为了提高智能合约的可信性。但是我们知道,只要是由人编写的程序,就一定会出现错误和缺陷。以太坊这种设计本身就违背了程序设计的一般规律,在智能合约出现漏洞的时候可能会造成无法弥补的损失。我们可以看到,近期出现的以太坊体系智能合约的漏洞,造成了巨大的影响,有的代币也因此毁灭。
目前以太坊体系区块链智能合约的机制设计,加之漏洞可能带来的毁灭性影响,使得已上线智能合约的漏洞的报告和处理变得非常棘手。360代码卫士团队在近期的研究中发现了以太坊体系下多个已上市交易的代币的智能合约安全漏洞,并已第一时间报告厂商,但到目前为止厂商尚未作出任何回应。对于厂商来说,由于智能合约不可修改的特性,要对上线后发现的漏洞进行有效修复,只能选择重新部署新的合约,这将付出巨大的代价,因此有的厂商可能会选择不响应,不处理。
而对于安全研究者来说,也面临尴尬的境地,左右为难。在厂商修补漏洞前公开漏洞细节对于厂商不利,有悖漏洞披露的一般原则,但如果厂商迟迟不修补漏洞,公众对于漏洞的存在不知情,风险会随着时间的增长迅速膨胀,漏洞一旦爆发可能会造成更大的危害,波及更大的人群,可能会造成很多人的投资瞬间化为乌有。接下来360代码卫士团队还将与厂商保持积极的联系和沟通,以期帮助其修复漏洞。
智能合约漏洞,如何应对?
在一些联盟链中,智能合约的设计是可以在部署之后更新的,当然这种更新需要一定的线下协商流程。要应对区块链智能合约的安全漏洞问题,未来需要普遍考虑设计相应的智能合约协商更新机制,降低漏洞修复的成本。
但现在,我们需要面对现实,做出几乎唯一可行的、切实有效的努力——在智能合约上线之前,对其进行全面深入的代码安全审计,尽可能的消除漏洞,降低安全风险。
360代码卫士团队安全专家表示,当前区块链智能合约中可能出现的漏洞至少有20余种。以下列举一些常见的区块链智能合约的漏洞类型及其可能造成的风险,这些漏洞在智能合约上线之前,都应该进行详细的排查。
整数溢出
◆智能合约中危险的数值操作
◆可能导致合约失效、无限发币等风险
越权访问
◆智能合约中对访问控制处理不当
◆可能导致越权发币风险
信息泄露
◆硬编码地址等
◆ü可能导致重要信息的泄露
逻辑错误
◆代理转账函数缺失必要校验
◆可能导致基于重入漏洞的恶意转账等风险
拒绝服务
◆循环语句、递归函数、外部合约调用等处理不当
◆可能导致无限循环、递归栈耗尽等拒绝服务风险
函数误用
◆伪随机函数调用和接口函数实现问题
◆可能导致可预测随机数、接口函数返回异常等风险
漏洞永远都会存在。未来区块链行业一定会出现更多的安全问题,之前传统互联网领域里面遇到的安全问题,区块链行业里面一定也会遇到。区块链行业要能够与网络安全行业做到协同开放,才能使行业更加健康稳定安全的发展
金窝窝集薯派团分析基于区块链的智能合约面临的问题有如下几点:1-安全性问题:关键问题之一就是安全性及信任度的问题。智能合约系统都被数棚贺设计成无需信任的环境,这就意味着无法改正出现的错误;2-私密性问题:有效利用区块链的一大挑战就是区块链提供彻底的透明度;3-意外情景问题:智能合约听起来非常好,但如何正确、合适地处理意外场景下的和嫌合约执行,是一个问题。
“智能合约的工作理论迟迟没有实现,一个重要原因是因为缺乏能够支持可编程合约的数字系统汪胡州和技术。区块链技术的出现解决了该问题,不仅可以支持可困蔽编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然适合于智能合约。因此,也可以说,智能合约是区块链技术的特性之一”基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同做友时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。
近日,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS的一系列高危安全漏洞。经验证,其中部分漏洞可以在EOS节点上远程执行任意代码,即可以通过远程攻击,直接控制和接管EOS上运行的所有节点。5月29日凌晨,360第一时间将该类漏洞衡答姿上报EOS官方,并协助其修复安全隐患。EOS网络负责人表示,在修复这些问题之前,不会将EOS网络正式上线。足以轰瘫数字体系的区块链漏洞传统软件领域的漏洞可能被利举伏用来发起网络攻击,咐绝造成数据、隐私的泄露甚至实际生活的影响。而数字货币本身是一套金融体系,在数字货币和区块链网络中的安全漏洞,往往会有更严重、更直接的影响。由于区块链网络去中心化的计算特点。一个区块链节点实现上的安全漏洞,可能引发成千上万的节点遭到攻击。甚至,在传统软件漏洞领域被认为相对危害较小的拒绝服务漏洞,在区块链网络中则可能引发整个网络瘫痪的风暴攻击,对整个数字货币系统造成巨大冲击。EOS超级节点攻击:虚拟货币交易完全受控在攻击中,攻击者会构造并发布包含恶意代码的智能合约,EOS超级节点将会执行这个恶意合约,并触发其中的安全漏洞。攻击者再利用超级节点将恶意合约打包进新的区块,进而导致网络中所有全节点(备选超级节点、交易所充值提现节点、数字货币钱包服务器节点等)被远程控制。由于已经完全控制了节点的系统,攻击者可以“为所欲为”,如窃取EOS超级节点的密钥,控制EOS网络的虚拟货币交易;获取EOS网络参与节点系统中的其他金融和隐私数据,例如交易所中的数字货币、保存在钱包中的用户密钥、关键的用户资料和隐私数据等等。更有甚者,攻击者可以将EOS网络中的节点变为僵尸网络中的一员,发动网络攻击或变成免费“矿工”,挖取其他数字货币。来源:科技讯
版权声明:本文标题:区块链智能合约漏洞又是怎么回事?如何解决智能合约漏洞内容由互联网整理发布,该文观点仅代表作者本人,转载请联系作者并注明出处:http://www.0792jiaju.com/post/2187.html,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发表评论