本文来自:安比实验室&AnChain
用户唯一可以操纵的就是msg.sender字段,我们是否可以将msg.sender作为Nonce来挖矿呢?答案显然是可以的,智能合约的地址是根据发起者账户+nonce决定的,于是有了第1代方法:创建合约用户-------------------->新合约用户-------------------->新合约用户-------------------->新合约用户-------------------->新合约但是这种方式需要用户持续部署合约,消耗的矿工费代价非常大,且成功率极低,每次都是以1/1000的中奖概率在尝试。由于第1代惊人的失败率,显然无法利用,于是有了第2代攻击方法:这种方法的主要思想是,合约创建的新合约地址由合约地址+nonce确定:部署合约|------------------|hash(caddr,nonce)用户---------->|循环创建合约,|------->新合约|直到攻击成功或到达终|------->新合约|止条件才停止,可能需|------->新合约|要部署大量合约。|------->新合约|-----------------|这种方式类似于挖矿,固定区块头部,不断修改nonce来试探能否成功获得奖励,但是问题在于,如果在循环第1000次才发现合法的nonce,那么意味着之前部署的999个合约都属于浪费Gas的操作。那么如何更高效地寻找合法的nonce呢?我们回想比特币挖矿,一个挖矿任务中,不仅有nonce,还有extraNonce。在比特币区块的Coinbase字段中,有一个自由修改的区域,修改这个区域会导致MerkleRoot被修改,从而实现Header被修改,具有nonce的效果,因此被称作extraNonce。为什么需要引入extraNonce呢?原因在于nonce为32bit数字,搜索范围只有2^32,矿机几乎一瞬间就遍历完了,通过不断修改extraNonce来扩大本地搜索范围,我们甚至可以不修改nonce只修改extraNonce来挖矿。也许黑客也想到了这一点,他们通过提前部署1000个代理合约来实现有1000个extraNonce的效果。至此,攻击方法升级到了第3代:部署合约用户-------------------------------------->管理合约C调用合约C,预先创建代理合约(extraNonce)用户-------------------------------------->1000个代理合约调用合约C,循环尝试可以成功攻击的代理合约用户-------------------------------------->部署合约(尝试攻击)显而易见,这种攻击方式同时实现了2个效果:提升了攻击成功率减少了攻击合约部署数量,大大减少了Gas消耗。彩蛋2黑客预先创建的合约数量与中奖概率
多链智能合约平台Astar Network在公共测试网上推出XVM:1月10日消息,多链智能合约平台Astar Network在公共测试网上推出XVM,为构建在Astar Network上的项目提供了不同智能合约环境(如以太坊虚拟机(EVM)和WebAssembly(WASM))之间的无缝互操作性。
据悉,Astar Network支持使用EVM和WASM智能合约构建dApp,并通过跨共识消息传递(XCM)和跨虚拟机(XVM)为开发人员提供真正的互操作性。Astar Network共完成3轮总计3440万美元融资,包括去年1月获得2200万美元融资,Polychain领投,Alameda Research、Gavin Wood等参投。[2023/1/10 11:03:54]
前文提到黑客预先部署1000个代理合约,这个数字有什么讲究呢?if((seed-((seed/1000)*1000))<airDropTracker_)seed经由一系列以太坊链上环境以及多次Hash运算得出。Hash结果对1000取余数,可以得到0~999的伪随机数。我们假设哈希输出结果是均匀的,并且哈希是抗碰撞的,那么平均每次中奖的概率为1/1000。模拟结果:
数据:二月份Fantom活跃地址和智能合约部署激增:3月20日,据FTM Scan的数据显示,上个月有364,874个独立地址加入了网络。与去年同期相比,这一数字增长了77.69%,去年同期仅增加了4637个独立地址。与此同时,据该基金会周四透露,该网络的智能合约执行量同比增长了4200%。数据显示,去年2月共有111个智能合约被部署,而今年2月为4677个。(Zycrypto)[2022/3/20 14:07:44]
公式运算结果:尽管更多合约能够提供更高的中奖概率,但是需要考虑到Gas消耗与GasLimit等因素,不宜过大。安比实验室认为黑客选择部署1000个合约,是根据概率代码1/1000想当然做出的判断。彩蛋3黑客可能利用了空投概率计算的另一个bug
黑客仍然需要更高效地攫取利润,他们甚至“发现”了Fomo3D空投规则在这种攻击方式下暴露出的缺陷。攻击合约需要在最开始获取空投奖励信息,作为后续操作的依据。因此,攻击合约会先依次调用游戏合约的两个查询接口,分别是0xd87574e0airDropPot_()和0x11a09ae7airDropTracker_()。Fomo3D空投奖励的airDropTracker_计算方式为如下方法:if(_eth>=100000000000000000){airDropTracker_++;if(airdrop()==true){...}}Fomo3D判断是否能中空投奖励使用了如下方法:if((seed-((seed/1000)*1000))<airDropTracker_)return(true);根据我们分析,0x820d后期更新的攻击合约直接去除了对airDropTracker_的判断,但这样做其实有利有弊。如果你了解细节,猜出了黑客的用意,或者知晓这种做法的优缺点,欢迎添加小安同学微信,她会把你加入到「SECBIT智能合约安全技术讨论」的群里。尾声下一个是谁?
数字人民币专利数量井喷 智能合约成新方向:随着数字人民币试点逐步深入,相关专利申请数量正不断被刷新,国内多家知名机构申请专利数量超过去年。其中,中国移动、中钞信用卡、腾讯、百度、工行、中行等机构在上半年都有相关专利更新。数字人民币具备的可编程性让智能合约备受青睐,多项专利得到市场高度关注。(上证报)[2021/7/28 1:19:23]
8月14日,BAPT-LW20黑客团队的0x820d再次部署了两个新版攻击合约,这一次他们将炮筒又对准了另一款一天前新部署的不知名合约。望着大屏幕上AnChain.ai态势感知态势感知平台不断闪烁的红点,安比实验室和AnChain.ai都很清楚,区块链世界里的战役还远远没有结束。2009年,中本聪创造了一个虚拟的去中心化新世界。这仿佛是一片流着奶和蜜糖的应许之地,人们欢呼雀跃,蜂拥而至。但与所有的生态系统一样,新世界有生命,就有捕食者。有交易者,就有黑客。区块链上的应用在进化,攻击者也同样,我们给大家展示的是区块链世界不为人知的另一面,暗流涌动。意料之外,也在意料之中。BAPT-LW20&BAPT-F3D大事件时间表:
声音 | 美国黑客:智能合约本身就是一笔赏金:据ambcrypto消息,在旧金山区块链周期间,美国黑客、Comma.ai创始人George Hotz称,以太坊是一个很棒的bug赏金平台,而且智能合约本身就是一笔赏金,个人甚至不需要开发商。如果他们有能力破解智能合约,就会得到报酬。此外,这个过程并不违法,因为黑客只是在以太坊平台上运行代码。另外他还称,比特币是唯一存在可扩展性问题的加密货币。[2018/10/18]
2018/07/06Fomo3D游戏合约上线2018/07/08Zethr核心开发者Etherguy发现并利用空投漏洞2018/07/20Fomo3D游戏在国内走红2018/07/20BAPT-LW20黑客团队地址开始活跃2018/07/21BAPT-LW20团队第一次成功利用Fomo3D空投漏洞2018/07/23BAPT-LW20团队攻击山寨游戏?鼠会RatScam2018/07/23Pe?ter在Reddit爆料Fomo3D空投漏洞2018/07/24安比实验室发布Fomo3D及山寨版游戏空投漏洞预警2018/07/24BAPT-LW20黑客团队攻击FoMoGame2018/07/26BAPT-LW20黑客团队部署新版攻击合约0x54832018/08/06类Fomo3D游戏LastWinner上线2018/08/07LW游戏开始火爆2018/08/07BAPT-LW20黑客团队开始攻击LW游戏2018/08/09以太坊未确认交易数创年内新高2018/08/10凌晨AnChain.ai态势感知系统发出预警2018/08/10安比实验室与AnChain.ai联手开展调查2018/08/10BAPT-LW20黑客团队转移旧合约中资金,使用新版合约继续开展攻击2018/08/11完成BAPT-LW20攻击时间线复原2018/08/12完成BAPT-LW20攻击手法复原2018/08/13针对更多攻击源分析2018/08/13完成BAPT-F3D和BAPT-LW20攻击数据全景分析,黑客获利超5000Ether2018/08/14BAPT-LW20黑客团队再次部署新版攻击合约,开始攻击一个不知名合约2018/08/17BAPT-LW20黑客团队夺取LW最终大奖7754Ether2018/08/17安比实验室完成BAPT-LW20攻击事件报告
动态 | 360Vulcan 团队:EOS 智能合约底层 asset 类存在严重缺陷:据360Vulcan 团队情报称,EOS 智能合约底层 asset 类存在严重缺陷,在数值计算时存在溢出风险,目前 360Vulcan 团队已反馈给 EOS 官方漏洞平台。这与慢雾安全团队7 月 25 日预警的 EOS 狼人游戏出现溢出攻击的根源有一定关系,狼人团队与我们取得联系后,与 360Vulcan 团队都通过对合约源码进行审计发现,asset 计算存在该溢出问题。[2018/8/3]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。