ERC223智能合约ATN币出现owner权限窃取漏洞


 微信图片_20180620142916.jpg

漏洞评估


安全等级:高

影响合约:atn-contracts

影响方面:导致 ATN Token 总供应量发生变化

事件经过:2018.5.11 上午 11:46,ATN 技术人员收到异常监控警示,显示 ATN Token 供应量出现变化,迅速介入后确定 Token 合约受到黑客攻击。ATN 技术团队极速反应,定位到 ERC223 标准推荐合约实现与 ds-auth 库同时使用时可能发生非常罕见的权限漏洞,并迅速堵上此漏洞、冻结黑客增发的 Token 及实施对黑客的追踪;同时 ATN 与第三方专业区块链安全机构慢雾科技深度合作,联合对 ATN 合约进行再次审计。审计过程中,慢雾安全团队对 ATN 技术团 队的快速反应和修复合约表现的高效表示认可,修复后的合约也成功通过了慢雾严谨的安全审计,合约安全威胁已解除。


漏洞分析和攻击过程


为了让 ATN 接收合约具备转账后处理功能,ATN Token 合约采用的是兼容 ERC20 Token 标准的扩展标准 ERC223,并在其中使用了 dapphub/ds-auth 库。单独使用 ERC223 或者 ds-auth 库时,并没有什么问题,但是两者结合时,黑客利用自定义回调函数回调 setOwner 方法,从而获得高级权限。通过利用这个 ERC223 方法与 ds-auth 库的混合漏洞,黑客将 ATN Token 合约的 owner 变更为自己控制的地址。获取 owner 权限后,黑客发起另外一笔交易对 ATN 合约进行攻击,调用 mint 方法给另外一个地址进行 Token 的发行。最后,黑客调用 setOwner 方法将权限复原。


抵御攻击


经过追踪,发现黑客将增发的 ATN Token 分散在 14 个不同的新地址中,而这些地址中并没有 ETH,暂时不存在立即转账到交易所销赃的风险。而 ATN 技术团队有能力采取技术手段立即冻结黑客的黑币,恢复供应量的变化,所以,重点在如何追踪到黑客,于是 ATN 技术团队采用如下应对:


  1. 准备修复措施,增加 Guard 合约通过禁止向 ATN 合约地址发送 ATN 进而禁止自定义回调函数向 ATN 合约本身回调以修复此次攻击漏洞;增加黑名单合约,随时冻结黑客地址;

  2. 监控黑客地址的 ETH、向交易所发送的充值交易,以获得进一步的追责证据;

  3. 获得证据后,立即启动修复流程,将黑客相关地址加入黑名单,禁止其转移 ATN Token;

  4. ATN 基金会销毁等量 ATN Token 以恢复供给总量,并在 ATN 主链上线时予以修正。


最终监控到黑客向某交易所充值 1000 个 ATN 后,ATN 团队即刻部署 Guard 安全修复合约,对黑客相关地址予以禁止转账处理,并获得追责证据:


https://etherscan.io/tx/0x18bd80b810f6a6b6d397901d677657d39f8471069bcb7cfbf490c1946dfd617d

 

这意味着我们将有可能获得黑客的 KYC 信息,ATN 团队可在交易所的配合下向黑客进行追踪,并保留相应追责的权利。


同时 ATN 基金会销毁 1100 万个 ATN,恢复 ATN 总量,并将在主链上线映射时对黑客地址内的资产予以剔除,确保原固定总量不变。


基于 ERC223 的 ATN Token 特性


  1. ERC223 是对 ERC20 的改进、兼容的同时,提供更好的 token 功能,使得接收合约具备转账后处理功能。了解更多可访问:

    https://github.com/ethereum/EIPs/issues/223

    且支持跨链,可用于 AI Market 做跨链 Token 支付;

  2. 因为 ATN Token 的设计初衷包含作为转账燃料来使用,用户或 DAPP 使用 ATN 进行支付,ATN 代币合约要有能力在转账完成后触发其他业务逻辑;

  3. 另外 ERC20 代币无法用于发布众筹合约,而基于 ERC223 的 ATN 可以,可以参考 ATN 的 Swap 合约:

    https://github.com/ATNIO/atn-contracts/blob/master/src/AGT2ATNSwap.sol


总结


合约无小事,由于 ATN 合约设计增加多项功能及治理机制,增加了审计的难度和复杂度,在发布到链上之前已进行几次内部和外部审计。区块链合约的安全,仅依靠开发者的经验和能力并非万无一 失。过去业内的几次合约漏洞事件也说明了这个问题,如著名的 TheDAO 被盗、近来的 EDU、BAIC、SMT 等 ERC20 漏洞攻击。


而 ATN 技术团队依靠丰富的合约部署经验、夯实的技术力量、极速反应的抵御策略,几乎零损失的化解了这次黑客攻击,守护了社区的整体利益,并保留对黑客追责的权利。


这次 ATN 成功的对以太坊合约漏洞的攻击抵御,也为以太坊社区其他使用 ERC223 标准的项目成员提供了漏洞 review 与修复案例,为整个以太坊生态发展贡献了积极的力量。


在 ATN 主链上线前,ATN 技术团队将保持对合约与 Token 状态的实时监控,并与慢雾科技等多家安全审计机构合作,在主链上线前开源代码,确保未来 ATN 公有链生态的开源与安全。


ATN 与慢雾达成战略合作


慢雾科技(SlowMist)是一家专注区块链生态安全的公司,其创始团队拥有丰富的网络安全攻防实战经验。该团队相关成员曾为谷歌、 微软、W3C、中国公安部、腾讯、阿里巴巴及百度等公司和政府机构输出过安全能力,其核心能力包括安全审计、防御部署和地下黑客风向标追踪和防御等。


在修复完漏洞后,ATN 团队立即联系到慢雾,反馈并提供《ATN 抵御黑客攻击的报告》( https://atn.io/resource/aareport.pdf ),ATN 技术团队全力配合慢雾对 ATN 合约进行严格的、全方位的安全审计。最终,慢雾给出了积极的安全审计结果,并发布了 ATN 基于 ERC223 的合约安全审计报告。


ATN 已启动主链加速计划,并将与慢雾等安全机构在合约、节点安全标准及运行环境和风险控制等方面开展长期的战略合作。双方合作不仅仅为不久后的 ATN 主链上线保驾护航,更将为长远的区块链生态安全的持续建设添砖加瓦。

*文章为作者独立观点,不代表BSCEC立场

转载此文章须经作者同意,并请附上出处(慢雾区)及本页链接。原文链接 https://mp.weixin.qq.com/s/S5Oq4TxxW5OgEkOmy8ZSzQ

白帽汇安全研究院转载2018-06-20 14:25:23 慢雾区 2482