火星链 火星链
Ctrl+D收藏火星链

Chain:SharkTeam:十大智能合约安全威胁之重放攻击

作者:

时间:1900/1/1 0:00:00

重放攻击是把原链网络上的交易拿到目标链网络上使用

问:我们常提到的智能合约漏洞真的是实际中威胁最大、发生最频繁的安全漏洞吗?

答:完全不是那样。例如“溢出”、“外部调用”等常提到的智能合约安全漏洞并不是最常发生,威胁最大的。

到底哪些安全威胁从发生频率和危害性上能称为Top10的呢?SharkTeam合约安全系列课程之和您一起讨论和深入。第十课。

一、什么是重放攻击

重放攻击是把原链网络上的交易拿到目标链网络上使用,即一笔交易重复执行,我们根据类型可以分为交易重放和签名重放。

21Shares推出首个加密质押指数ETP:金色财经报道,ETP发行商21Shares宣布与指数提供商Vinter合作推出加密货币质押指数ETP(21Shares Staking Basket Index ETP),该 ETP 追踪基于 PoS 区块链的原生Token,包括 BNB、ADA、ATOM、DOT、SOL、XTZ。该指数将在 3 月和 9 月进行每半年一次的重新平衡,以反映市场变化。[2023/1/18 11:19:30]

交易重放是将原链上的交易一成不变放到目标链上,重放过后交易在目标链上可以正常执行并完成交易验证。

签名重放利用私钥签名的消息进行重放,重放过程中无需像交易重放那样去重放整个交易,而是重放相应的签名信息。

在实施EIP155后,交易签名带有chainid,即链与分叉链之间的标识符。由于chainid不同,交易重放无法完成,签名重放可以间接完成。在以太坊完成分叉后,ETHW主网出现数起重放攻击事件,让我们回顾一下这些攻击事件前因后果。

21Shares推出两只专注于DeFi的加密ETP:5月12日消息,瑞士加密ETF发行商21Shares推出两只ETP,允许投资者获得DeFi敞口。21Shares周四在瑞士SIX交易所上市了其Layer 1 ETP(LAY1),21Shares DeFi 10 Infrastructure ETP(DEFII)将于5月18日在BX瑞士交易所上市。

LAY1跟踪指数提供商Vinter开发的一个指数,包括按市值计算的15个最大的Layer 1区块链。每个区块链分配的最大权重为30%,每季度进行一次再平衡。

DEFII也跟踪Vinter指数,专注于DeFi应用程序和Layer 1区块链,每个部分代表基准的一半。这两类资产都是按市值排序的,每季度重新加权一次。

据该公司称,21Shares是欧洲首家推出基于DeFi指数的ETP发行商。这些产品可供欧洲各地的投资者使用,21Shares将寻求在其他区域交易所交叉上市。(Blockworks)[2022/5/12 3:10:16]

二、攻击事件分析

MXC抹茶将于5月8日20:00上线Cashaa项目 开放CAS/USDT交易对:官方公告,MXC抹茶MXC抹茶将于5月8日20:00上线Cashaa(CAS),开放CAS/USDT交易对,现已开放充值,并于5月10日20:00开放提现。公开资料显示,Cashaa成立于2016年,最初通过比特币提供转账服务。2017年末,Cashaa开始为整个加密行业提供交易解决方案。CAS是Cashaa平台通证,是Cashaa 生态的重要组成部分,且有多种用途,例如用于支付程序处理费,安装费,交易费等。

详情请查看官方公告。[2020/5/7]

2.1Optimism

2022年6月9日消息,据Optimism与加密货币做市商Wintermute透露,2000万个Optimism代币被黑客盗取。重放攻击过程如下:

5月27日,Optimism地址0x2501向Optimism/L2上的0x4f3a地址转账2000万OP,0x4f3a地址在Ethereum/L1上是Wintermute的多签合约地址,但此时在Optimism/L2上面并没有部署合约;

CoinShares研究主管:3月份价格暴跌为矿商提前做好了减半准备:CoinShares研究主管Chris Bendikson表示,他认为最近3月份的价格暴跌为矿业公司提前做好了减半的准备,这将减少减半可能对其盈利能力造成的突然影响,因为设备陈旧的人已经被迫退出或升级。他表示,在减半之后,再加上可能几个月的潜在风险波动,采矿业将处于更有利的地位,整体成本基础更低。(Cointelegraph)[2020/4/9]

6月1日,黑客地址0x8bcf部署合约0xe714。

6月5日,黑客通过重放Ethereum/L1上的交易创建了GnosisSafe:ProxyFactory1.1.1合约,其地址与Ethereum/L1上一样;然后地址0x60b2通过合约0xe714部署了多签合约0x4f3a,合约所有权归黑客所有,因此5月27日转入的2000万OP被黑客盗取。在Gnosis?Safe:ProxyFactory1.1.1合约中,其中创建代理合约函数createProxy如下:

金色财经现场报道,Shane Molidor:积极的监管是必须的:在2018年世界数字资产峰会(WDAS)暨FBG年会上,来自FBG Capital公司的Shane Molidor表示,提到监管,加密货币及区块链行业往往会比较恐惧,其实积极的监管对于行业的生态是必须的,行业也需要监管的出现来剔除在其中浑水摸鱼的项目。[2018/5/3]

GnosisSafe:ProxyFactory1.1.1合约使用的是0.5版本的Solidity,使用new来创建合约时使用的是create命令,而不是create2。使用create命令创建合约,合约地址是msg.sender以及nonce来计算的。在Ethereum/L1上面,创建多签合约0x4f3a的msg.sender就是GnosisSafe:ProxyFactory1.1.1的地址,黑客在Optimism/L2通过重放交易来创建于GnosisSafe:ProxyFactory1.1.1合约的主要目的就是为了保证在Optimism/L2上创建合约0x4f3a的msg.sender与在Ethereum/L1上一致,那么黑客可以很方便的通过智能合约调用createProxy函数来创建出地址是0x4f3a的合约。

6月5日,多签合约0x4f3a在接收到2000万OP后,将100万OP转账给黑客地址0x60b2,然后将100万OP兑换成了720.7Ether。

6月9日,合约0x4f3a将其中的100万OP转账给了账户地址0xd8da,其他的1800万OP仍然在合约0x4f3a中。

本次攻击根本原因是:交易重放、Solidity旧版本漏洞以及主链和侧链交易签名验证等综合因素

2.2Omni

2022年9月18日,以太坊合并完成后,PoW链遭到PoS链上交易的重放攻击,根本原因是网桥未正确读取并验证区块链的chainid。攻击者首先通过Gnosis链的Omni跨链桥转移了200WETH,然后在PoW链上重放了相同的消息,获得了额外的200ETHW。

PoS链交易hash:0xbddb0cc8bc9949321e1748f03503ed1a20dd618fbf0a51dc5734c975b1f8bdf5

PoW链交易hash:0x9c072551861ce384203516f4d705176a2d2e262d5b571d853467425f1a861fb4

我们对比发现两笔交易访问的合约相同,并且inputdata完全相同,即调用了同一个合约的同一个函数并且参数相同,根据相同的方法签名ID0x23caab49可知,黑客调用safeExecuteSignaturesWithAutoGasLimit函数。

在正常的交易中,我们通过nonce来进行排序交易,避免重复交易。在跨链中,我们会根据chianid进行识别链的类型,比如以太坊主网的chainid是1,ETHW主网的chainid是10001。

我们查看一下OmniBridge验证chainid的逻辑,发现chainid的来源于unitStorage中存储的值,而不是通过操作码CHAINID直接读取的链上chainid。

unitStorage是合约EternalStorage中的状态变量,sourceChainId()函数所在的合约BasicAMB继承了BasicBridge和VersionableAMB。其中,BasicBridge陆续继承了合约EternalStorage。这里保存的chainid是预先存储好的,如果发生区块链的硬分叉而chainid又没有重新设置或者chainid人为设置有误,从合约层面上来说,由于不是通过操作码获取的chainid,不会正确验证跨链消息的实际chainid。

本次攻击根本原因是:主要是Omni使用的solidity版本是0.4.24,采用的是手动存储和更新chainid的方式,并未通过EIP-1344中规定的CHAINID操作码进行实际chainid获取。

三、预防措施

针对重放攻击主要有以下几种预防的方法:

可以在签名消息中加入chainid和nonce两个参数值,chainid用于识别链ID的标识符,nonce是交易次数计数值。

记录签名是否使用过,比如利用mapping进行签名中对应参数映射为bool值,这样做可以防止签名多次使用。

项目上线前,需联系专业的第三方专业审计团队进行审计。

来源:tuoniaox

标签:SHAHAIChainAINPEPEDASHAI币blockchain钱包DogechainChainsquare

芝麻开门交易所下载热门资讯
DAO:Maker史上最大规模重组 DAI未来或与美元脱钩

本文来自protos&decrypt,原文作者:BennettTomlin?&?LiamJ.KellyMakerDAO向其“EndgamePlan”又近了一步.

1900/1/1 0:00:00
元宇宙:阿里浅尝元宇宙

还记得去年9月,身处元宇宙热潮中的阿里申请的「阿里元宇宙」、「淘宝元宇宙」商标吗?今年5月,这些元宇宙商标均被国家知识产权局驳回,实际上,被驳回的不只是阿里.

1900/1/1 0:00:00
FNF:碎片化NFT(F-NFT)的应用空间及现状

F-NFT是一种NFT,它使人们能够拥有NFT的一部分,以减轻经济负担。这种碎片化的过程允许通过与原始NFT绑定的一组可替代代币来共享NFT的所有权.

1900/1/1 0:00:00
FTX:荒谬的一周:、老千和真相

来源:老雅痞归来的“隐士”,从“昏迷”中醒来的人,决定现在了解市场的新人:如果你不知道今年对加密货币市场来说意味着什么,下面是我的思考,希望对你有帮助.

1900/1/1 0:00:00
区块链:金色早报 | CZ:清算FTT是吸取LUNA教训

头条▌?CZ:清算FTT是吸取LUNA教训11月7日消息,Binance首席执行官赵长鹏在社交媒体上称,“清算FTT只是后期退出的风险管理,也是吸取了此前LUNA的教训.

1900/1/1 0:00:00
以太坊:以太坊上海升级即将激活的四个EIP

以太坊巴黎升级之后又一重大更新即将到来——上海升级!目前有着上千专业开发者的以太坊核心社区,从15年走来已经历经15次主网升级.

1900/1/1 0:00:00