在11月2日上线后仅几个小时,AxionNetwork代币AXN的价格暴跌了100%。这次价格暴跌披露了其存在的漏洞,下文是CertiK安全审计团队针对此事件的完整分析。
2020年11月2日北京时间晚上七时左右?,黑客利用AxionStaking合约的unstake函数设法铸造了约800亿个AXN代币。
黑客随后将AXN代币在Uniswap交易所中兑换以太币,重复此过程,直到Uniswap中ETH-AXN交易对的以太币所被耗尽,同时AXN代币价格降至0。
在攻击发生后的几分钟内,CertiK安全审计团队获知了该攻击事件,并即刻展开了调查。
CertiK安全审计团队认为该攻击极大可能是内部操作造成的,该内部操作通过在部署代码时,对项目依赖的OpenZeppelin依赖项注入恶意代码。?
被恶意利用的智能合约函数不属于CertiK审核的范围内。
首发 | imKey正式支持Filecoin,成为首批Filecoin硬件钱包:12月1日,随着imToken2.7.2版本上线,imKey同步支持Filecoin,成为业内首批正式支持FIL的硬件钱包。Filecoin作为imKey多链支持的优先级项目之一,成为继BTC、ETH、EOS和COSMOS四条公链后的第五条公链。
据悉,imKey团队已在Q4全面启动多链支持计划,计划实现imToken已经支持的所有公链项目,本次imKey升级更新,无需更换硬件,不涉及固件升级,通过应用(Applet)自动升级,即可实现imKey对Filecoin的支持及FIL的代币管理。[2020/12/2 22:52:32]
在将Axion项目代码和OpenZeppelin依赖代码结合并进行部署时,该恶意代码随着OpenZeppelin依赖代码被注入到部署的项目中。
攻击预谋
首发 | 百度财报体现区块链 BaaS平台成为新战略重点:金色财经报道,2020年2月28日,百度(股票代码BAIDU)公布财报,其中将区块链BaaS平台相关的进展进行了单独叙述,依托于百度智能云的区块链平台有望成为技术创新方向的新增长引擎。在AI服务上,百度与上海浦东发展银行达成合作,共建区块链联盟,在百度区块链服务(BaaS)平台上实现跨行信息验证。[2020/2/28]
黑客在发动攻击时使用的是前一天从tornado.cash?中获取的匿名资金?,说明这是一次有预谋的攻击。
可能是以防攻击失败而节省一些资金,黑客账户在收到资金后,立即通过tornado.cash转出了2.1个以太币。
作为本次攻击的准备工作的最后一步,黑客从Uniswap交易所购买了大约70万个HEX2T代币?。然而,这些资金最终没有参与到攻击中,而是为掩护攻击行为而放出的烟雾弹。
首发 | 火币集团全球业务副总裁:监管将决定区块链技术和加密货币的落地速度:1月21日,火币集团全球业务副总裁Ciara Sun在达沃斯世界经济论坛上表示,对区块链和数字货币的监管态度,2019年是重要的一年。在美国,到2019年底,针对加密货币和区块链政策有21项法案,这些法案包括税收问题,监管结构,跟踪功能和ETF批准,哪些联邦机构监管数字资产等。欧盟(EU)在2020年1月10日实施了一项新法律,要求加密货币平台采取更严格的反做法。瑞士,日本,立陶宛,马耳他和墨西哥通过法律,要求交易所必须根据KYC和AML准则获得许可。中国,土耳其,泰国等国家正在计划自己的中央银行数字货币(CBDC)。而监管将决定区块链技术和加密货币的落地速度。[2020/1/22]
攻击准备
在北京时间下午四时?,黑客先以数量为?0?和持续抵押时间为?1?天为参数调用stake函数,在AxionNetwork的抵押合同中创建“空”抵押。
动态 | 可信教育数字身份在广州白云区首发 采用区块链等技术:12月25日,可信教育数字身份(教育卡)广东省应用试点首发仪式与应用研讨在广州市白云区举行。
据介绍,可信教育数字身份融合采用国产密码、区块链等核心技术,创新签发“云计算、边缘计算、移动计算”网络环境下的一体化数字身份,实现一体化密钥管理,构建“可信教育身份链”。(中国新闻网)[2019/12/25]
这为黑客创建了一个Session条目,其会话ID为6,数量为0,股价为0。
此后,黑客预料到攻击将会成功,因此向Uniswap交易所预先授权了无限制的AXN。
随后,他们批准了Axion的NativeSwap合约,以获取即将转换为AXN代币的资金额。
黑客在大约北京时间下午五时?调用了NativeSwap合约的deposit函数,然而黑客并未调用该合约的withdraw函数来获取其交换得到的AXN,这在NativeSwap合约的swapTokenBalanceOf函数清晰可见。
首发 | DVP: Bitstamp交易所存在漏洞 可导致大量KYC等信息被泄露:金色财经讯,近日,DVP收到安全人员提交的全球知名交易所Bitstamp的漏洞,攻击者可以利用该漏洞查看大量用户ID、银行卡等敏感信息,严重威胁用户信息安全。为避免发生KYC泄露的恶性事件,DVP安全团队在收到该漏洞后,第一时间通知该平台进行修复,但未收到回应。DVP提醒相关用户关注个人信息安全,以免造成损失。[2019/8/13]
随后,他们在执行攻击前又调用了一次deposit函数,但是这次调用执行最终失败。
攻击执行
以上提到的交易仅仅是黑客为了掩护真正unstake攻击的烟雾弹。
由于黑客进行的交易未更改sessionDataOf映射,因此可以得出结论,这是一次多地址攻击。
为了找到可能导致sessionDataOf映射受到影响的原因,CertiK安全审计团队在GitHub代码存储库中审查了项目方与CertiK共享的合约源代码。
经过仔细验证,团队无法在stake函数之外检测到对其或其成员的任何修改操作,这使得我们怀疑该项目智能合约是否被正确的部署。
攻击途径
在分析了已部署的Staking合约源代码之后,CertiK安全审计团队在Staking合约的已部署的源代码?第665-671行发现了一处代码注入,该代码注入发生在被修改的OpenZeppelin库中的AccessControl智能合约。
链接中的checkRole函数不属于OpenZeppelinv3.0.1的实现,而OpenZeppelinv3.0.1?在项目的GitHub代码存储库中被列为依赖项。
在checkRole函数中,存在以下assembly模块:
此函数允许特定地址通过底层调用根据其传入的参数对合约进行任意写入。带注释的assembly模块如下所示:
此函数是在合约部署时添加的,因为OpenZeppelin的AccessControl的实现中并不存在此函数,这意味着参与部署代币的AxionNetwork成员从中作梗。?
结论
此次攻击涉及到的代码,是在合约部署前被人为故意添加进去的。
此次事件与CertiK完成的审计毫无关联,对这次攻击所负责的人应是参与了AxionNetwork合约部署的相关人员。
在此CertiK也特别强调,为了保证审计报告的有效性,和对项目安全的保障,审计报告应包括已部署的智能合约地址。地址所指向的合约的代码应是和被审计过的源代码相同的。因此,请大家切勿因为看到项目“已审计”就不做任何背景调查而盲目跟进。?
CertiK安全预言机,作为一个链上可实时交互进行安全检测的工具,可以有效确保并验证已部署的智能合约匹配已被审计的版本。
它可以从去中心化的安全运营商网络中检索一组安全评分,获得安全可靠的网络评估源代码,所有人都可以通过使用预言机来验证合约安全性。
在基于区块链的生态系统中,提高安全性就必须将传统审计与链上安全性分析相结合。CertiK安全预言机将有效减少链上交易与实时安全检测之间的距离,致力于运用去中心化的方法来解决安全难点。
参考链接:
?https://etherscan.io/tx/0xc2a4a11312384fb34ebd70ea4ae991848049a2688a67bbb2ea1924073ed089b4
?https://tornado.cash/
?https://etherscan.io/tx/0x86f5bd9008f376c2ae1e6909a5c05e2db1609f595af42cbde09cd39025d9f563/advanced
?https://etherscan.io/tx/0x6b34b75aa924a2f44d6fb2a23624bf5705074cbc748106c32c90fb32c0ab4d14
?https://etherscan.io/tx/0x5e5e09cb5ccad29f1e661f82fa85ed172c3b66c4b4922385e1e2192dc770e878
?https://etherscan.io/tx/0xf2f74137d3215b956e194825354c693450a82854118a77b9318d9fdefcfbf875
?https://etherscan.io/address/0xcd5f8dcae34f889e3d9f93f0d281c2d920c46a3e
?https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.0.1/contracts/access/AccessControl.so
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。