近日,黑客利用特殊场景下的以太坊合约重大漏洞进行攻击,导致TOKEN总供应量发生变化。ATN技术团队发现并修复了该漏洞。
5月11日,ATN技术人员收到异常监控警示,显示ATN TOKEN总供应量出现变化,介入后确定TOKEN合约受到黑客攻击。ATN技术团队定位到,ERC223标准推荐合约实现与DS-AUTH库同时使用时可能发生非常罕见的权限漏洞。
除了耳熟能详的ERC20,ERC233、ERC721等也都是在以太坊上的标准推荐合约实现。此次攻击,黑客利用了一个ERC223合约与DS-AUTH库的混合漏洞,重设了owner权限,进行了ATN Token的增发。这个漏洞虽然比较隐秘,但安全等级很高。
在ATN技术人员的快速反应和妥善处理下,黑客的攻击没有得逞,ATN技术团队也为以太坊社区其他使用ERC223标准的项目成员提供了漏洞review与修复案例。
以下为ATN技术团队披露的漏洞分析和黑客攻击过程:
为了让ATN接收合约具备转账后处理功能,ATN Token合约采用的是兼容ERC20 Toke标准的扩展标准ERC223,并在其中使用了dapphub/ds-auth 库。单独使用ERC223或者ds-auth 库时,并没有什么问题,但是两者结合时,黑客利用自定义回调函数回调setOwner方法,从而获得高级权限。通过利用这ERC223方法与DS-AUTH库的混合漏洞,黑客将ATN Token合约的owner变更为自己控制的地址。获取owner权限后,黑客发起另外一笔交易对ATN合约进行攻击,调用mint方法给另外一个地址进行TOKEN的发行。最后,黑客调用 setOwner 方法将权限复原。
合约无小事,区块链合约的安全,仅依靠开发者的经验和能力并非万无一失。过去业内的几次合约漏洞事件也说明了这个问题,如著名的TheDAO被盗、近来的EDU、BAIC、SMT等ERC20漏洞攻击。
ATN已堵上此漏洞、冻结黑客增发的Token及实施对黑客的追踪。修复后的合约成功通过了第三方专业区块链安全机构慢雾科技的安全审计,合约安全威胁已解除。另外,据悉,ATN已启动主链加速计划,并将与慢雾等安全机构在合约、节点安全标准及运行环境和风险控制等方面开展长期的战略合作。