重放攻击是把原链网络上的交易拿到目标链网络上使用
问:我们常提到的智能合约漏洞真的是实际中威胁最大、发生最频繁的安全漏洞吗?
答:完全不是那样。例如“溢出”、“外部调用”等常提到的智能合约安全漏洞并不是最常发生,威胁最大的。
到底哪些安全威胁从发生频率和危害性上能称为Top10的呢?SharkTeam合约安全系列课程之[十大智能合约安全威胁]和您一起讨论和深入。第十课[详解重放攻击]。
一、什么是重放攻击
重放攻击是把原链网络上的交易拿到目标链网络上使用,即一笔交易重复执行,我们根据类型可以分为交易重放和签名重放。
交易重放是将原链上的交易一成不变放到目标链上,重放过后交易在目标链上可以正常执行并完成交易验证。
21Shares在中东推出比特币ETP:金色财经报道,加密货币投资产品公司21Shares已经在中东地区推出了实物比特币交易所交易产品(ETP),该产品将在纳斯达克迪拜上市。
此前消息,21Shares母公司以20亿美元的估值筹集了2500万美元。该公司现在提供超过46种产品,在七个不同国家的12个交易所上市。(CoinDesk)[2022/10/12 10:32:24]
签名重放利用私钥签名的消息进行重放,重放过程中无需像交易重放那样去重放整个交易,而是重放相应的签名信息。
在实施EIP 155后,交易签名带有chainid,即链与分叉链之间的标识符。由于chainid不同,交易重放无法完成,签名重放可以间接完成。在以太坊完成分叉后,ETHW主网出现数起重放攻击事件,让我们回顾一下这些攻击事件前因后果。
二、攻击事件分析
2.1 Optimism
2022年6月9日消息,据Optimism与加密货币做市商 Wintermute 透露,2000万个Optimism代币被黑客盗取。重放攻击过程如下:
Shapeshift创始人:支持加密并不意味着应该支持每个加密项目:8月13日晚间,数字资产交易平台Shapeshift创始人兼首席执行官Erik Voorhees发推称,支持加密并不意味着应该支持每个加密项目。同理,支持DeFi并不意味着应该支持每个DeFi项目。使用自由裁量权,需要深思熟虑、追求质量,在噪音中找到信号。[2020/8/14]
(1)5月27日,Optimism地址0x2501向Optimism/L2上的0x4f3a地址转账2000万OP,0x4f3a地址在Ethereum/L1上是Wintermute的多签合约地址,但此时在Optimism/L2上面并没有部署合约;
(2)6月1日,黑客地址0x8bcf部署合约0xe714。
(3)6月5日,黑客通过重放Ethereum/L1上的交易创建了Gnosis Safe: Proxy Factory 1.1.1合约,其地址与Ethereum/L1上一样;然后地址0x60b2通过合约0xe714部署了多签合约0x4f3a,合约所有权归黑客所有,因此5月27日转入的2000万OP被黑客盗取。在Gnosis Safe: Proxy Factory 1.1.1合约中,其中创建代理合约函数createProxy如下:
Hubble Chain技术团队开始搭建Sharding分片技术运行环境:据官方消息,来自美国硅谷的Hubble Chain(哈勃公链)技术团队,已经开始进行Sharding分片技术运行环境的搭建工作。据了解,基于Hubble Chain主网架构的Sharding分片技术,能够有效提高哈勃链上网络的数据吞吐量,确保链上数据快速、安全、稳定地流转交互。[2020/6/12]
Gnosis Safe: Proxy Factory 1.1.1合约使用的是0.5版本的Solidity,使用new来创建合约时使用的是create命令,而不是create2。使用create命令创建合约,合约地址是msg.sender以及nonce来计算的。在Ethereum/L1上面,创建多签合约0x4f3a的msg.sender就是Gnosis Safe: Proxy Factory 1.1.1的地址,黑客在Optimism/L2通过重放交易来创建于Gnosis Safe: Proxy Factory 1.1.1合约的主要目的就是为了保证在Optimism/L2上创建合约0x4f3a的msg.sender与在Ethereum/L1上一致,那么黑客可以很方便的通过智能合约(合约0xe714)调用createProxy函数来创建出地址是0x4f3a的合约。
声音 | CoinShares董事长:由黄金支持的数字资产可激发稳定币吸引力:数字资产管理公司CoinShares董事长Danny Masters认为,由黄金支持的数字资产DGLD将可激发稳定币的吸引力,注:DGLD是一种数字资产(代币),表示存储在瑞士保险库里的已分配的实物黄金,并通过建立在比特币网络上的侧链进行标记。英国金融市场行为监管局的数字证券管理平台Globacap、数字资产管理公司CoinShares等组成的财团此前推出了价值逾2000万美元的数字化黄金DGLD网络。(雅虎财经)[2019/11/22]
(4)6月5日,多签合约0x4f3a在接收到2000万OP后,将100万OP转账给黑客地址0x60b2,然后将100万OP兑换成了720.7 Ether。
(5)6月9日,合约0x4f3a将其中的100万OP转账给了账户地址0xd8da, 其他的1800万OP仍然在合约0x4f3a中。
本次攻击根本原因是:交易重放、Solidity旧版本漏洞以及主链和侧链交易签名验证等综合因素
动态 | Surfshark与CoinGate合作 为Litecoin (LTC)试点闪电网络解决方案:据cryptoninjas.net消息,加密货币支付服务公司CoinGate宣布,他们已经与隐私服务提供商Surfshark合作,共同开发Litecoin闪电网络(LN)解决方案的试点项目。[2019/1/18]
2.2 Omni
2022年9月18日,以太坊合并完成后,PoW链遭到PoS链上交易的重放攻击,根本原因是网桥未正确读取并验证区块链的chainid。攻击者首先通过Gnosis链的Omni跨链桥转移了200 WETH,然后在PoW链上重放了相同的消息,获得了额外的200 ETHW。
(1)PoS链交易hash:0xbddb0cc8bc9949321e1748f03503ed1a20dd618fbf0a51dc5734c975b1f8bdf5
(2)PoW链交易hash:0x9c072551861ce384203516f4d705176a2d2e262d5b571d853467425f1a861fb4
我们对比发现两笔交易访问的合约相同,并且inputdata完全相同,即调用了同一个合约的同一个函数并且参数相同,根据相同的方法签名ID 0x23caab49可知,黑客调用safeExecuteSignaturesWithAutoGasLimit函数。
在正常的交易中,我们通过nonce来进行排序交易,避免重复交易。在跨链中,我们会根据chianid进行识别链的类型,比如以太坊主网的chainid是1,ETHW主网的chainid是10001。
我们查看一下Omni Bridge验证chainid的逻辑,发现chainid的来源于unitStorage中存储的值,而不是通过操作码 CHAINID(0x46)直接读取的链上chainid。
unitStorage是合约EternalStorage中的状态变量,sourceChainId()函数所在的合约BasicAMB继承了BasicBridge和VersionableAMB。其中,BasicBridge陆续继承了合约EternalStorage。这里保存的chainid是预先存储好的,如果发生区块链的硬分叉而chainid又没有重新设置或者chainid人为设置有误,从合约层面上来说,由于不是通过操作码获取的chainid,不会正确验证跨链消息的实际chainid。
本次攻击根本原因是:主要是Omni使用的solidity版本是0.4.24,采用的是手动存储和更新chainid的方式,并未通过EIP-1344中规定的CHAINID(0x46)操作码进行实际chainid获取。
三、预防措施
针对重放攻击主要有以下几种预防的方法:
(1)可以在签名消息中加入chainid和nonce两个参数值,chainid用于识别链ID的标识符,nonce是交易次数计数值。
(2)记录签名是否使用过,比如利用mapping进行签名中对应参数映射为bool值,这样做可以防止签名多次使用。
(3)项目上线前,需联系专业的第三方专业审计团队进行审计。
来源:tuoniaox
鸵鸟区块链
媒体专栏
阅读更多
金色早8点
比推 Bitpush News
Foresight News
PANews
Delphi Digital
区块链骑士
深潮TechFlow
链捕手
区块律动BlockBeats
DeFi之道
标签:CHAHAIChainAINpolarchainwaykichainOraichain TokenCheckerChain
本文来自 coindesk,原文作者:David Z. MorrisOdaily 星球日报译者 | Moni 本周二(1 月 4 日),FTX 创始人 SBF 在纽约联邦法院对与 FTX 破产有关的八项刑事罪名指控表示不认罪.
1900/1/1 0:00:00文/Jack Inabinet,Bankless;译/金色财经xiaozou现实世界资产(RWA)一直都是一匹DeFi黑马。很多行业专家,都将信任假设纳入加密协议的想法视为对加密价值的放弃,非常可怕,让人痛苦.
1900/1/1 0:00:00文章作者:Jesus Rodriguez & IntoTheBlock联合创始人文章编译:Block unicornDeFi的技术基础已被证明对过去几个月的灾难性市场事件具有令人难以置信的弹性.
1900/1/1 0:00:00文:WILLIAM SUBERG比特币布林带指标的创建者表示,布林带“挤压”并不是比特币突破的确切指标。比特币交易员迫切希望看到比特币价格出现新的波动,但对它何时到来持不同意见.
1900/1/1 0:00:00本文以DeFi生态系统:原语和技术堆栈中介绍的技术概念为基础,概述了由该技术创建的新价值渠道。通过聚焦于单个EVM链中的价值流,来提供一个框架来识别下面三者之间的价值流: 传统金融和去中心化金融 EVM兼容链 同链上的dApp? 通过.
1900/1/1 0:00:00撰写:Nomatic 编译:深潮 TechFlowWeb3 游戏虽仍处于早期阶段,但发展迅速。这些游戏即将到来,但其中许多项目仍处于开发的早期阶段。他们在去年左右才获得资金,需要一些时间才能完成公开版本.
1900/1/1 0:00:00