智能合约安全

Posted by 周东宜 on January 19, 2019

Introduction

(针对一个背景/问题,简单开个头描述一下)

​ 智能合约是智能合约是在区块链共识协议之上运行的程序,目的是让人们在最小化信任的同时达成协议。智能合约具有一旦部署,合约内容公开、透明、不可篡改、自动执行等特点。但是正是由于智能合约的不可篡改性,如果智能合约在部署之前如果没有及时发现漏洞或错误,就很容易被坏人恶意利用,造成人们的财产损失。因此,智能合约的安全备受人们的关注。

​ 为了让大家对智能合约的安全问题有更深入的了解,让大家对智能合约的编程语言、合约漏洞问题有更多的了解,选了以下几篇文章。

区块链安全:区块链安全-以太坊短地址攻击

深度解析Solidity让老司机翻车的17个坑及超详细避坑指南

游戏skr而止,漏洞周而复始——游戏合约漏洞全面汇总

solidity安全:已知攻击方法和常见防御模式综合列表

ERC20智能合约的approve千万别这样写

Conclusion

Summary

(对上述文章进行简单的概括)

​ 上述文章详细描述了各种智能合约的安全问题。通过上述文章,我们可以了解到智能合约的安全问题还是挺多的,比如代码顺序不当导致的重入漏洞,没有做安全检查导致的溢出问题,自毁函数导致的预料之外的以太币接收,委托调用问题,函数可见性设置不当问题,短地址/参数攻击,未检查的CALL的返回值问题,竞争条件/非法预先交易问题,拒绝服务攻击,构造函数问题,随机数生成问题,tx.origin使用不当问题等。这些漏洞的出现和智能合约编程语言的设计以及以太坊的实现机制都有关系。编程人员如果不了解这些安全问题,有可能会写出容易被恶意利用的智能合约,造成严重的损失。

The End

广州市云计算安全与测评技术重点实验室

华南师大-唯链区块链技术与应用联合实验室

粤港澳大湾区区块链应用推广中心

广东省计算机学会区块链专委会

相关内容分享只作为学术讨论,仅供访问者使用参考。我们尊重相关版权人的权利,但受限于篇幅、技术等客观因素,不保证所有信息、文本、图形、链接及其它项目的绝对准确性、绝对完整性和完整备注他人权利。我们尽最大的努力保证内容的科学性和严谨性等,但我们对使用上述内容而产生的相关后果不承担任何商业和法律责任