本文来自BlockSec,Odaily星球日报经授权转载。8月12日,根据DAOMaker电报群用户反馈,该项目疑似遭到黑客攻击,价值700万美元的USDC被黑客提取至未知地址。BlockSec团队经过分析后发现,该事件的起因是私钥泄露或者内部人士所为。攻击过程
根据我们的交易分析系统我们发现,攻击的过程非常简单。攻击交易的hash是:0x26aa86261c834e837f6be93b2d589724ed5ae644bc8f4b8af2207e6bd70828f9涉及到的地址:0x41b856701bb8c24cece2af10651bfafebb57cf49:受害者钱包;0x1c93290202424902a5e708b95f4ba23a3f2f3cee:XXX,攻击者合约;0x0eba461d9829c4e464a68d4857350476cfb6f559:中间人;0x054e71d5f096a0761dba7dbe5cec5e2bf898971c:受害合约创建者。
攻击者XXX调用受害者钱包合约的函数查询用户余额,然后调用withdrawFromUser将钱转到自己的账户。攻击完成。由于转账的操作是一个特权操作,因此通常需要对调用者的身份做校验。我们通过分析发现,攻击者确实具有相应的权限来将受害者钱包中的余额转出。这里的问题就变成为什么攻击者能具有相应的权限?通过进一步分析我们发现另外一笔交易。这一笔交易将攻击者赋予具有转账的权限。交易trace如下:0x2fba930502d27f9c9a2f2b9337a0149534dda7527029645752b2a6507ca6b0d6。
0x0eba461d9829c4e464a68d4857350476cfb6f559调用受害者合约的grantRole函数将攻击者0x1c93赋予具有转账的权限。但是能调用grantRole赋予其他账户权限,那么0x0eba4必须具有admin的权限。那么他的admin权限是谁授予的呢?继续追踪,我们发现它的admin权限是由另外一笔交易完成的:0x41b856701bb8c24cece2af10651bfafebb57cf49。
0x054e71d5f096a0761dba7dbe5cec5e2bf898971c账户将0x0eba461d9829c4e464a68d4857350476cfb6f559账户设置成受害合约的admin。然而我们发现,受害合约是由0x054e71d5f096a0761dba7dbe5cec5e2bf898971c创建的。
总结一下,整个的流程是:
那问题就来了,为什么部署受害者合约的0x054e最后间接赋予了攻击者能转账的特殊权限呢?这里有两个可能性。第一个0x054e是内鬼,第二个就是私钥泄露。其他
另外一个有趣的点就是攻击者的合约是开源的,代码简单易懂,可以作为学习合约开发的启蒙教程。
但是受害者的合约代码是不开源的。这有点匪夷所思。不开源的钱包也有人敢用?最后
最近区块链安全接连出现大的安全事件,包括PopsicleFinance双花攻击分析和PolyNetwork攻击关键步骤深度解析,损失在几百万美金到数亿美金之间。项目方如何提高安全意识,保护好代码安全和资产安全,正是BlockSec团队希望和社区一起能解决的问题。只有把安全做好,DeFi的生态才能更健康有序发展。
准备阶段:手机端玩家需要Tokenpocket钱包,创建OEC钱包。网页版玩家需要确保自己的欧易OKEx链上钱包,在谷歌浏览器搜索“OKEx链上钱包”设置链接到OEC主网,或者直接创建OEC主网.
今天,越来越多的企业开始探讨数字化转型,希望借助新技术保障企业可持续发展并能够对外部的商业机会有更深刻的洞察。而这股企业数字化浪潮早在全球疫情大爆发以前就开始兴起并一直延续至今.
北京时间7月29日晚10点,纳斯达克证券交易所宣布,Robinhood团队已经完成敲钟仪式,正式上市纳斯达克.
任何没有在岩石下生活的人都听说过Bitcoin。人们对Bitcoin是否"只是一种时尚"的争论已经持续了很长时间。我们并不声称自己是经济学家,也不是读心者.
8月7日,信托公司DelawareTrusts计划与MakerDAO合作,以社区银行WSFSBank为受托人,使用现实世界的资产支持创建去中心化的信贷工具.
一、项目背景 得益于以太坊可扩展性的发展以及Play-to-earn、NFT跟公会的结合,加密游戏在2021年取得了突破性的发展。由此也诞生了近期爆火的明星加密游戏AxieInfinity.