首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

9份合约惊现同一致命漏洞——新型无限授权转账漏洞分析

7月10日晚, 安比(SECBIT)实验室创建并维护的智能合约风险列表仓库中接收到问题合约提交请求(漏洞报告者xhyumiracle来自长亭科技)。Lightcoin Token合约(合约地址:0xd97579Cea3fE2473682a4C42648134BB982433B9)的授权转账方法存在漏洞,授权账户可无限转出被授权账户的金额,并且被授权账户可以利用这个漏洞给任意账户授权。

Lightcoin 合约的 函数,即授权转账函数,在执行完转账后本该修改授权金额,减去已转出部分金额。但这一步骤中把被授权账户地址写错了,也就是将 误写成了 ,进而引发了漏洞。

注:地址为被授权地址,实际转出 Token 的地址;地址为转账接收地址;为当前操作账户地址,也就是被授权账户地址。

安比(SECBIT)实验室小伙伴迅速分析了该漏洞指出,这个漏洞引发的后果有两方面:

授权账户在完成授权转账后,其被授权的金额不会改变,也就是说,授权账户可以无限转出被授权账户的金额。

转账完成后实际修改的是这笔转账接收地址()对于被授权账户 的授权转账金额,但是由于对 操作并没有做溢出校验,可以利用溢出来给 地址巨额的授权。

若 地址原本就有授权,那么授权金额可能减小,也可能溢出为一个极大的值。

若 地址原本没有授权,即 值为 0, 就可以利用溢出获得这个被授权地址( 地址)的授权,一旦授权后,就可以无限转账。

据悉,Lightcoin 项目方已获知该漏洞并已完成合约升级工作,提醒广大持币用户不必恐慌,做好升级工作即可。

目前问题合约已作废:

升级后新合约地址为:

根据安比(SECBIT)实验室风险监控平台显示,存在相同漏洞的合约共 9份,强烈建议各个项目方和交易所及时做好自查工作。下图为该问题的合约地址(出于对项目方的保护,合约地址已部分马赛克)。

该漏洞目前已被收录至智能合约风险列表,该列表由

安比(SECBIT)实验室发起共建并持续维护的 Token 合约问题列表

,至今已收录了28类合约漏洞及风险,问题合约数量超过4000份,我们将不间断更新问题 Token 合约信息,同时也欢迎更多的小伙伴能够参与进来,共同维护这份问题合约列表。

https://github.com/sec-bit/awesome-buggy-erc20-tokens

安比(SECBIT)实验室再次呼吁,项目方发行 Token 一定要慎之又慎,遵守智能合约安全开发规范,引入安全审计流程,必要的时候采用形式化验证手段,确保万无一失。

智能合约形式化验证示例:https://github.com/sec-bit/tokenlibs-with-proofs

致谢:特别感谢长亭科技小伙伴 xhyumiracle 的及时报告。

参考文献

[1] 智能合约风险列表(awesome-buggy-erc20-tokens) https://github.com/sec-bit/awesome-buggy-erc20-tokens

[2] 安⽐(SECBIT)实验室携⼿路印(Loopring)共同发布智能合约风险列表 https://mp.weixin.qq.com/s/XbXlrmt0fi9IgxicmdAF0w

[3] Lightcoin (Light) https://etherscan.io/token/0xd97579Cea3fE2473682a4C42648134BB982433B9

[4] 构造形式化证明,解决智能合约安全问题——你的合约亟待证明 https://mp.weixin.qq.com/s/Dk8FAODv2SeFXmDgGaQduw

[5] tokenlibs-with-proofs https://github.com/sec-bit/tokenlibs-with-proofs

安比(SECBIT)实验室

安比(SECBIT)实验室专注于区块链与智能合约安全问题,全方位监控智能合约安全漏洞、提供专业合约安全审计服务,在智能合约安全技术上开展全方位深入研究,致力于参与共建共识、可信、有序的区块链经济体。

安比(SECBIT)实验室创始人郭宇,中国科学技术大学博士、耶鲁大学访问学者、曾任中科大副教授。专注于形式化证明与系统软件研究领域十余年,具有丰富的金融安全产品研发经验,是国内早期关注并研究比特币与区块链技术的科研人员之一。研究专长:区块链技术、形式化验证、程序语言理论、操作系统内核。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180711G03K3200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券