链安科技安全团队回应“关于网传的ERC20重大漏洞

Unknown view 41 2018-6-20 02:49
share to
Scan QR code with WeChat

链安科技安全团队回应“关于网传的ERC20重大漏洞 (1)

编辑:铅笔盒

近日,有团队发表文章《ERC20被爆史上涉及面最广的重大漏洞》,引起业内关注。

成都链安科技智能合约安全审计工程师们对该“重大漏洞”进行研究,最后一致得出的结论是:这是一次夸大事实的漏洞报道,第一个"Approve函数漏洞",其实approve程序本身并不是缺陷代码,只不过在使用时可能有二义性问题。第二个"0"地址的漏洞,更是一个乱报问题新闻,以太坊本来就允许往一个空地址打以太币。

漏洞分析

下面我们对以太坊ERC20代币approve函数进行具体分析:

以太坊ERC20代币标准,用户可以通过approve函数授权第三方帐户为其管理指定额度的代币。但用户在变换指定额度操作过程中,可能存在二义性,导致多次授权。

比如:用户A授权用户B使用100代币额度,后来用户A要改变授权额度为50代币,用户A通过approve函数授权为50代币过程中,用户B可能刚好提取了100代币,从而导致用户B可以再提取50代币。

用户建议

为了避免二义性的授权操作,成都链安科技建议:

1. 在更改授权之前,需通过approve函数设置授权代币数量为0. 确认代币未被提取后,再进行授权更改。

2. 建议代币智能合约开发使用increaseApproval和decreaseApproval函数,进行授权更改操作。

链安科技安全团队回应“关于网传的ERC20重大漏洞 (2)

铸币函数 mint 不一定导致恶意增发

区块链技术处在不断发展和迭代的进程中,成都链安科技一直非常重视区块链安全问题,针对近期区块链市场上对于 mint 函数导致恶意增发的报道,成都链安科技安全审计工程师使用VaaS区块链智能合约自动化安全审计平台,对以太坊市值TOP500代币进行漏洞代码形式化验证,发现107个代币合约使用mint()函数或类似的功能函数,可使代币发起方实现代币的无限增发。

链安科技安全团队回应“关于网传的ERC20重大漏洞 (3)

成都链安科技认为,不是所有铸币函数都是高危漏洞,也有可能是代币发起方项目必不可少的功能需求,本公司已向战略合作交易所如实反映情况,交易所已严格审查项目,保障用户账户及Token的安全,合作方对于成都链安科技的此项专业工作表示感谢。

destroy和burn函数功能分析

同一时间,成都链安科技安全审计工程师对以太坊市场市值TOP500代币进行漏洞代码形式化验证时,发现29个代币合约使用destory()、burn()或类似的功能函数,可使代币发起方自由的控制销毁用户地址代币余额。

链安科技安全团队回应“关于网传的ERC20重大漏洞 (4)

成都链安科技认为,存在该函数的代币合约,代币发起方的确可以自由的控制销毁用户地址代币余额。但是,如果代币发起方具有可以销毁用户地址余额的操作权限,则可以在代币出现重大风险的时候或者某个账户失控的时候,控制该用户币的流通,减少损失。

关于成都链安科技

成都链安科技有限公司,致力于为区块链智能合约提供专业的安全审计服务,其研制出的VaaS(Verification as a Service)形式化验证平台,是一套针对多个区块链平台(EOS、ETH等)智能合约形式化验证工具,采用形式化验证方法对智能合约进行“军事级”的安全验证,可有效防止代码逻辑漏洞和安全漏洞,确保智能合约程序的安全性。VaaS“一键式”自动化审计工具可自动、快速、准确地检测出10多种已发现的以太坊合约漏洞,让区块链更安全。

作者介绍:杨霞,电子科技大学副教授,最早研究区块链形式化验证的专家。一直为航空航天、军事领域提供形式化验证服务。主持国家核高基、装发重大软件课题等近10项国家课题。CC国际安全标准成员、CCF区块链专委会委员。发表学术论文30多篇,申请20多项专利。

链安科技安全团队回应“关于网传的ERC20重大漏洞 (5)

btcfans公众号

Scan QR code with WeChat

From the Internet
Disclaimer:

Previous: 沃尔玛获得3项区块链相关专利 Next: 西班牙银行集团宣布开发区块链平台以识别客户

Related