链资讯 链资讯
Ctrl+D收藏链资讯

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

作者:

时间:

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

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

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

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

一、什么是重放攻击

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

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

Discord聊天机器人Glenen完成490万美元融资,Coinshares等参投:9月5日消息,Discord聊天机器人完成490万美元超额认购融资,Slow Ventures、6th Man Ventures、South Park Commons、Spartan Group和Coinshares等参投,天使投资人包括Solana联合创始人Anatoly Yakovenko、Chainlink 前首席运营官 Mike Derezin、去中心化投资协议Syndicate联合创始人Will Papper与ISM Angels。

新资金将用于建设、推动销售与市场营销。Glenen旨在向Web3用户提供Discord聊天机器人服务,但目前以非Web3用户为主。[2023/9/5 13:19:23]

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

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

ProShares比特币策略ETF4个交易日流入12亿美元的资金:10月25日消息,华尔街首只比特币交易所交易基金(ETF)ProShares比特币策略ETF于10月20日上市后,短短4个交易日,12亿美元的资金涌入该支比特币期货ETF,并推动比特币价格创纪录高点。

目前,该产品已连续创下几大基金业纪录:全球规模最快突破10亿美元的基金;发行首日成交额突破1亿美元,为史上第二高。这样的资金流入规模不禁让人对其市场空间充满遐想。简单估算一下,以全球ETF资产9万亿美元为上限,如果比特币ETF占据全球市场1%的份额,其市场规模就会达到900亿美元,几乎占比特币近期1.1万亿美元市值的10%。(资本邦)[2021/10/25 20:55:08]

二、攻击事件分析

2.1 Optimism

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

JustSwap白名单项目SharkTron跑路,损失3.66亿至4亿枚TRX:DeFi项目SharkTron的开发者据称窃取1000万美元的TRX。社区指责SharkTron匿名开发者是退出局,已经卷走数亿枚TRX跑路。虽然具体的盗窃金额仍不得而知,但推特用户报告称损失3.66亿至4亿枚TRX(价值约1000万美元)。

波场基金会官方推特账户证实了此事,并已经联系币安共同追查罪犯者和被盗资金。虽然币安已经冻结一部分资金,但其他交易所也可能参与追讨这笔资金。该团队建议受害者向当地警察提交报告。

一些用户声称,SharkToken是波场去中心化交易所JustSwap的白名单项目。推特用户曾提醒波场创始人孙宇晨该项目的欺诈性质,甚至要求他屏蔽匿名开发人员的钱包。但是,孙宇晨没有理会这些警告。一些人甚至指责孙宇晨直接参与了这场局;然而,这些指控没有得到事实的证实。(FXStreet)[2020/11/10 12:12:07]

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

动态 | 研究:ShapeShift和类似的跨链交易服务并非匿名:据MIT Technology Review的一份报告,ShapeShift和类似的跨链服务并非匿名,其允许用户将一种加密币直接转化成另外一种货币。犯罪分子依赖于调查人员离开原始链后无法再跟踪交易。研究人员通过使用ShapeShift的应用程序编程接口(API),收集了在2017年末至2018年末期间有关其用户的详细信息,涵盖了八个不同的区块链,并将这些信息与与之前的技术相结合来识别更多的跨链交易。之后,研究人员进一步对与特定地址相关的寻求匿名行为的不同模式进行了编目。结果发现,ShapeShift并不匿名。不过,值得注意的是,无论ShapeShift的用户是谁,现在显然比2018年10月之前少了很多。据悉,2018年10月份,ShapeShift团队为遵守反法规,停止对不进行身份信息识别的用户提供交易服务。[2019/8/30]

(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如下:

声音 | CoinShares首席战略官:比特币作为一种经过验证的技术正在发生范式转变:据The Daily Hodl报道,数字资产管理公司CoinShares首席战略官Meltem Demirors表示,比特币作为一种经过验证的技术正在发生范式转变。Demirors称:“长期投资趋势需要很长时间才能显现出来,而且常常受到范式转变的驱动,一代人只有一次。亚马逊就是一个很好的例子。如果我们看待比特币投资,它遵循着Carlota Perez在《技术革命与金融泡沫》一书中概述的周期性趋势。比特币是一种周期性的长期投资。与其关注短期波动(或动量交易),不如关注你对比特币长期趋势的信心水平。”[2019/7/28]

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的合约。

(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旧版本漏洞以及主链和侧链交易签名验证等综合因素

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之道

标签:POLSHARESIMIPolka ClassicShanghai InuSuper Rare Ball SharesWIMI

以太坊交易所热门资讯
JOE:拥抱 Arbitrum Trader Joe 能否迎来第二春?_JOEY

撰文:Chinchilla编译:aididiaojp.eth,Foresight News在与 Avalanche 生态系统共兴衰之后.

JOE:数藏这一年:千团大战落幕 “国家队”入场探索流转_元宇宙

作者:杨郑君 9家央媒旗下平台入局,30家平台完成超2亿元融资。2022年,是国内数字藏品行业潮起潮落的一年。在不到一年的时间里,数藏行业走过了从起步到火爆,再到寒冬的进程.

ADO:Polkadot :2022 年度总结_区块链专业毕业后到底做什么

当行业一头扎进又一个加密冬天时,Polkadot 社区在今年正忙于构建和启动世界上最大、最多样化的 Layer 1 区块链生态系统.

加密货币:盘点2022年改变加密历史进程的十大事件_TiFi Token

原文来源:The Block 原文编译:DeFi 之道2022 年是定义加密货币的一年,尽管形势不是很好。一切 贪婪和繁荣只是为了以壮观的方式瓦解.

TOKE:从 DAO 监管第一案 看美国 CFTC 对 DAO 的监管逻辑_KEN

2022 年 9 月 22 日,美国商品期货交易委员会(CFTC)在美国加利福尼亚州北区地方法院对去中心化自治组织(DAO) Ooki DAO 提起诉讼.

TOKE:加密OG们眼中的2023年_tokencan交易所怎么样

原文标题:NFTs may become the “Lego blocks” of Web3 in 2023.