由于区块链具有不可篡改的特点,智能合约一旦发布极难修改,合约的安全也决定了区块链的安全。智能合约本质上是代码程序,难免会有考虑缺失导致的漏洞。合约安全威胁?主要包括可重入攻击、调用深度攻击、交易顺序依赖攻击、整数溢出攻击等。为保障智能合约的安全,应保证开发安全和全面的安全审计。 (1)安全开发 智能合约安全开发包括开发工具、编译工具及安全编程规范等方面的保障。 a.智能合约应采用规范的工具进行开发和编译,使用安全统一的编译器和链?接器选项,以便保证编译器所提供的最新的安全保护机制。同时,应使用同一来?源的开发工具集,避免攻击者在软件供应链中植入恶意代码。?b.智能合约的编写应基于严格的安全编程规范。常见的安全编码规范包括弃?用 一 些 存 在 注 入 或 内 存 破 坏 危 险 的 第 三 方 函 数 , 采 用 智 能 合 约 的?checks-effects-interactions 原则进行合约编写等。?c.在智能合约编码中尽可能少地暴露被外部调用的接口。建议采用进程间隔?离的技术将智能合约进程与系统隔离,通过 socket 通信方式远程调用智能合约。 (2)安全审计 在发布智能合约之前,做好全面的安全审计工作,有效防范已知风险。第一,?选择对应的虚拟机语言扫描工具对合约代码进行静态扫描,扫描事先建模的漏洞?类型;第二,为了避免静态扫描可能产生误报的情况,应邀请安全专家进行交互?式代码审计,避免重入攻击、未授权访问攻击、Solidity 开发安全等。 (3)安全测试 智能合约部署前必须经过大量的测试,在模拟环境中对智能合约进行攻击测试,挖掘可被利用的漏洞。 —- 编译者/作者:区块链大咖说 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
火龙果财经:合约安全如何决定区块链的安全
2020-12-31 区块链大咖说 来源:区块链网络
- 上一篇:蔚来声明:蔚来从来没有「比特币购车」方案
- 下一篇:百倍暴涨的“LM龙猫链”也崩盘了
LOADING...
相关阅读:
- 邺峰论币:ETH12-31早间行情分析及操作建议2020-12-31
- 李币胜:比特币修复上涨回调做多2020-12-31
- BRH的主要应用场景有哪些?2020-12-31
- 2020最后一天比特币能上3万吗?或无力上涨迎来暴跌2020-12-31
- 12月31日比特币行情:上涨趋势未变,但潜在的风险也在加剧2020-12-31