智能合约史上最大规模攻击手法曝光,盘点黑客团伙作案细节_DRO:powerdrive

本文来自:安比实验室&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黑客预先创建的合约数量与中奖概率

Cardano创始人:Vasil升级后Plutus智能合约仍将发挥作用:金色财经报道,Cardano创始人Charles Hoskinson在Twitter上反驳了一些人对即将到来的Cardano Vasil升级的恐惧、不确定性和怀疑(FUD),声称区块链的智能合约在升级实施后仍将发挥作用。

周三,一些Twitter用户开始声称Cardano的智能合约与Vasil硬分叉不兼容,这就是它们必须重写的原因。Input Output社区和生态系统副总裁Tim Harrison很快反驳了这些谣言。他解释说,目前使用第一版Plutus智能合约平台的DApp在Vasil升级后仍将兼容。那些想利用PlutusV2所有增强功能的开发人员必须在其应用程序中使用和部署它们。由于重大的代码更改,他们可能还希望进行新的审计。(U.Today)[2022/7/7 1:57:16]

前文提到黑客预先部署1000个代理合约,这个数字有什么讲究呢?if((seed-((seed/1000)*1000))<airDropTracker_)seed经由一系列以太坊链上环境以及多次Hash运算得出。Hash结果对1000取余数,可以得到0~999的伪随机数。我们假设哈希输出结果是均匀的,并且哈希是抗碰撞的,那么平均每次中奖的概率为1/1000。模拟结果:

Matter Labs 将 Uniswap V2 智能合约和前端迁移至 zkSync 2.0 测试网:10月13日消息,Matter Labs 宣布将 Uniswap V2 智能合约和前端迁移至功能完备的 zkSync 2.0 测试网上,该端口名为 UniSync,为在 zkSync 2.0 上第一个迁移的 Solidity DApp。另外,Matter Labs 表示,UniSync 不隶属于 Uniswap Labs,将在即将推出的 zkSync 2.0 主网启动 Uniswap 实例。[2021/10/13 20:25:02]

公式运算结果:尽管更多合约能够提供更高的中奖概率,但是需要考虑到Gas消耗与GasLimit等因素,不宜过大。安比实验室认为黑客选择部署1000个合约,是根据概率代码1/1000想当然做出的判断。彩蛋3黑客可能利用了空投概率计算的另一个bug

动态 | 美国伊利诺伊州《区块链技术法案》生效,智能合约被合法化:美国伊利诺伊州已朝着通过《区块链技术法案》规范基于区块链的技术迈出了重要的一步。该法案由众议员Keith Wheeler支持,于2020年1月1日生效,该法案首先要解决的问题之一就是对区块链本身的定义:“区块链是指由多方使用去中心化方法创建的电子记录,用以核实和储存交易的数字记录,而交易记录则由先前交易信息的加密散列加以保护。”此外,该法案还提供了加密散列、电子记录和智能合约的定义。该法案还规定,“不得仅仅因为区块链被用于创建、存储或验证智能合约、记录或签字而剥夺这些客体的法律效力或可执行性。”法案还补充说,如果需要以书面形式提交包含记录的基于区块链的智能合约,那么该合约就符合法律规定。换句话说,智能合约现在在法庭上是可接受的,它们可以用来提供证明或要求可执行性。(CryptoPotato)[2020/1/10]

黑客仍然需要更高效地攫取利润,他们甚至“发现”了Fomo3D空投规则在这种攻击方式下暴露出的缺陷。攻击合约需要在最开始获取空投奖励信息,作为后续操作的依据。因此,攻击合约会先依次调用游戏合约的两个查询接口,分别是0xd87574e0airDropPot_()和0x11a09ae7airDropTracker_()。Fomo3D空投奖励的airDropTracker_计算方式为如下方法:if(_eth>=100000000000000000){airDropTracker_++;if(airdrop()==true){...}}Fomo3D判断是否能中空投奖励使用了如下方法:if((seed-((seed/1000)*1000))<airDropTracker_)return(true);根据我们分析,0x820d后期更新的攻击合约直接去除了对airDropTracker_的判断,但这样做其实有利有弊。如果你了解细节,猜出了黑客的用意,或者知晓这种做法的优缺点,欢迎添加小安同学微信,她会把你加入到「SECBIT智能合约安全技术讨论」的群里。尾声下一个是谁?

动态 | Chainlink发布“Mixicles”白皮书 旨在为DeFi智能合约提供隐私性:为智能合约提供防篡改I/O(输入/输出)服务的Chainlink最近发布了其“Mixicles”白皮书。Chainlink表示,Mixicles是嵌入了oracle的DeFi工具,可在区块链上/外的数据之间进行调解,并包含了促进金融工具隐私的混合器。(AMBcrypto)[2019/9/5]

8月14日,BAPT-LW20黑客团队的0x820d再次部署了两个新版攻击合约,这一次他们将炮筒又对准了另一款一天前新部署的不知名合约。望着大屏幕上AnChain.ai态势感知态势感知平台不断闪烁的红点,安比实验室和AnChain.ai都很清楚,区块链世界里的战役还远远没有结束。2009年,中本聪创造了一个虚拟的去中心化新世界。这仿佛是一片流着奶和蜜糖的应许之地,人们欢呼雀跃,蜂拥而至。但与所有的生态系统一样,新世界有生命,就有捕食者。有交易者,就有黑客。区块链上的应用在进化,攻击者也同样,我们给大家展示的是区块链世界不为人知的另一面,暗流涌动。意料之外,也在意料之中。BAPT-LW20&BAPT-F3D大事件时间表:

XVG与RSK智能合约平台开始进行测试网:XVG官方发布消息,已经与智能合约平台RSK于一周前开始进行合作,并开始进行测试网部署,RSK平台将直接纳入XVG。[2018/6/10]

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攻击事件报告

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-3:582ms