Cointime

扫码下载App
iOS & Android

走进MEV攻击:看黑客如何通过夹层手法获取暴利

个人专家

作者:Immunefi. 编译:Cointime.com QDD

引言

区块链空间中的利用行为变得越来越复杂。

在过去,智能合约开发人员和审计员主要需要考虑如何保护智能合约免受单个交易中的利用。但现在,越来越常见的是看到跨多个交易发生的攻击。

黑客在攻击中愿意冒的个人资金风险也越来越大,以追求巨大的收益。

就在上周,一名黑客冒险投入50 ETH(约96,000美元)对Rodeo Finance进行攻击,结果获得约472 ETH的利润,价值约890,000美元。像这样的案例巩固了“攻击成本”不是有效的安全威慑措施的原则,任何依赖高攻击成本来保护自身安全的协议都应重新考虑其策略。

在本文中,我们将解释黑客如何使用MEV攻击脆弱的协议的常见方式之一。我们还将解释作为漏洞猎手如何使用PoC(概念证明)正确演示MEV攻击向量。

什么是MEV

MEV(矿工可提取价值或最大可提取价值)允许矿工在区块被挖掘之前排除、包含和排序区块中的交易。随着以太坊合并后的结果,这种情况发生了相当大的变化,将这种交易排序角色转移到了网络的验证者。但尽管如此,MEV攻击向量在区块链空间仍然很常见和相关。

攻击者可以通过多种方式使用MEV。我们将演示被称为“夹层攻击”的方法,这是通过对受害者的交换交易进行前奏和后奏来实现的。

前奏(Frontrunning)

前奏是一种技术,攻击者设法在受害者的交易之前提交自己的交易,使得攻击者的交易首先执行。这可以通过增加恶意交易的燃气价格来完成,以便优先于具有较低燃气费率的受害者交易。

后奏(Backrunning)

后奏是一种技术,攻击者将恶意交易放在受害者交易执行后。攻击者可以通过降低恶意交易的燃气价格来实现这一点。这将确保受害者交易优先于后奏交易。

夹层攻击

在夹层攻击场景中,攻击者监视交易池(未决交易的列表)以寻找他们想要利用的目标交易。一旦他们确定目标,他们会提交两个交易——一个在目标交易之前,一个在目标交易之后——就像夹层面包中夹着馅料一样。这个夹层的目的是为了以攻击者的利益操纵目标交易的执行或结果。

使用前面部分提到的方法,攻击者会提交两个燃气费比受害者交易更高和更低的交易,以成功执行夹层攻击。或者,他们可以通过专业的RPC提供者提交交易捆绑,以收取费用保证交易的排序。

这种攻击在DeFi生态系统中可能特别有问题,因为涉及代币、流动性池或去中心化交易的交易非常容易受到交易排序的影响。在这些情况下,攻击者的目标通常是操纵资产价格,从套利机会中获利,或者利用协议中的其他漏洞谋取个人收益。

如何测试MEV攻击

为了创建一个演示MEV攻击的PoC,我们可以使用Hardhat和Forge等工具创建区块链的本地分支。

为了证明这两个测试之间的确定性结果,我们将使用相同的Attacker合约,可以通过此Github gist访问。

在这个演示中,我们故意让受害者在UniswapV2中调用从WETH到USDC的交换交易,最低金额设为0。使得这个交易容易受到夹层攻击的脆弱性是将最小金额设为0,这意味着即使受害者只收到0 USDC或99%滑点,交易也不会回滚。这就是为什么设置最小金额非常关键。

Hardhat

Hardhat是用于智能合约开发的框架,允许开发人员使用JavaScript/TypeScript与智能合约进行交互。在Forge(一种较新的框架)出现之前,大多数白帽黑客通过使用Hardhat分叉区块链来制作他们的PoC。

方便的是,Hardhat已经提供了一种机制来保持交易的最终化,以便我们调用的交易可以在这些交易最终化之前在交易池中聚合。

一步一步的指南:

l   确保你的机器上已经安装了Hardhat(https://github.com/NomicFoundation/hardhat

l   创建一个简单的Hardhat项目

l   mkdir MEV-poc

l   cd MEV-poc

l   yarn add hardhat

l   npx hardhat init

l   将合约更改为Attacker合约。

l   将scripts文件夹中的文件更改为sandwichAttack.js https://gist.github.com/GibranAkbaromiL/05020630475f4f2599f72b47e52c7949#file-sandwichattack-js

l   运行npx hardhat run scripts/sandwichAttack.js

输出:

Forge

Forge是一个智能合约开发工具链,允许你使用Solidity脚本测试、部署和与区块链交互。这使我们能够仅通过测试文件中的交易排序演示MEV攻击。

一步一步的指南:

l   确保你的机器上已经安装了Forge(https://book.getfoundry.sh/getting-started/installation)。

l   创建一个简单的forge项目。

l   mkdir MEV-poc

l   cd MEV-poc

l   forge init

l   将src文件夹中的合约更改为攻击者合约。

l   将test文件夹中的测试文件更改为Sandwich.t.sol。https://gist.github.com/GibranAkbaromiL/05020630475f4f2599f72b47e52c7949#file-sandwich-t-sol

输出:

通过这两个测试案例,我们成功地演示了使用Hardhat和Forge进行MEV夹层攻击。从测试案例的输出中可以看出,攻击者和受害者的初始余额都是1000 WETH,攻击者成功地在受害者交易前奏和后奏,导致攻击者获得约123 WETH的利润。受害者收到的USDC较少。

我们学到了什么

在安全研究中,最关键的部分之一是根据你所发现的潜在漏洞创建一个PoC。为什么这么重要呢?因为仅仅识别潜在的漏洞并不能使攻击有效。我们确认攻击是否有效的唯一方法是通过创建一个PoC,每个已识别的漏洞都必须单独创建一个PoC。

我们只讨论了可能发生MEV的许多攻击向量中的一种,你作为研究人员发现的实际攻击场景可能与这里展示的场景大相径庭。在上面的示例中,我们只涉及了其中最常见的一种向量,即没有滑点保护的交换夹层攻击。如果你想测试自己的技能并尝试复制其他攻击向量,请还参阅:NFT铸造前奏链外言机价格更新前奏和JIT(即时)流动性

这篇文章就到这里了。我们希望你能通过在这里度过的几分钟时间,获得一些新的理解或者巩固现有的知识。继续搜寻漏洞,不要停止学习。每天都有新的利用和漏洞等待我们去发现,对于付出努力的白帽黑客来说,奖励和机会是不会缺乏的。

评论

所有评论

推荐阅读

  • 特朗普宣布组建"AI Force" 称 AI 或占美国 GDP 25%

    据 Watcher.Guru 消息并经多家媒体证实,美国总统特朗普在 Truth Social 宣��将组建"AI Force"(AI 部队),并称 AI 可能占美国 GDP 的 25%。他称 AI 是继工业革命、互联网之后“规模更大、影响更深”的变革,“我们正领先中国和世界其他地区,我打算保持下去”。特朗普表示将组建类似太空军的"AI Force",并即将任命一名 AI "沙皇"(Czar),宣称“只有高智商者可申请”。他将针对 AI 的批评斥为“激进左派”的最新“骗局”,称针对数据中心的攻击已基本失败;政府不会“以任何方式阻碍或抑制”该行业增长,同时将通过现有刑事与民事司法体系追责“坏的”部分。

  • BTC突破81500美元

    行情显示,BTC突破81500美元,现报81504.03美元,24小时涨幅达到0.91%,行情波动较大,请做好风险控制。

  • BTC跌破81800美元

    行情显示,BTC跌破81800美元,现报81797.16美元,24小时涨幅达到1.24%,行情波动较大,请做好风险控制。

  • 逾百名专家呼吁对AI企业加强独立监管

    据央视,当地时间9月18日,美国谷歌公司首次承认,其人工智能模型在今年5月的网络安全能力测试中,突破隔离环境侵入了三家真实公司的系统。这一事件再度引发外界对美国AI模型安全和监管的担忧。当天,超过100名来自世界各地的人工智能专家签署联名公开信,呼吁对全球顶尖的AI企业加强独立监管。这封公开信由“人工智能评估者论坛”组织,签署人包括被誉为“AI教父”之一的杰弗里·辛顿,以及来自全球多所知名大学和非营利AI评估机构等组织的成员。公开信提出,所有前沿AI企业都应当引入评估人员,独立评估AI风险。评估人员将审查AI系统和任何造成现实损害的事故,同时审查企业训练、部署和监管AI模型的方式,以及安全防护机制的运行情况。公开信呼吁基础模型提供商确保第三方AI评估人员拥有开展有效、可信评估所必需的“科学客观性、透明度、独立性和有力保护”。

  • 特朗普发起投票 提议以"超级智能(SI)"等表述替代"人工智能"

    美国总统特朗普在其社交账号发起投票,就该领域的命名公开征求意见。他表示,许多人认为"Artificial Intelligence"(人工智能)这一说法并不准确、也不够优雅,而"Superior Intelligence(SI)""Extreme Intelligence(EI)""Supreme Intelligence(SI)"是更优雅、更准确的描述。特朗普称,希望所有人都参与投票,选出这个不断壮大的"革命"的最佳名称。截图显示,该投票已获 10,183 票,剩余 1 天。

  • SpaceX在纳斯达克100指数的权重升至2.82%

    9月19日,SpaceX在本次指数再平衡中的纳斯达克100指数权重确定为2.82%,此前为1.28%。

  • Evercore ISI上调苹果目标价至380美元

    9月19日,Evercore ISI分析师Amit Daryanani将苹果的目标价从365美元上调至380美元,评级“优于大盘”。在完成对约4000名消费者的年度iPhone购买意愿调查后,分析师表示:“需求似乎略优于去年,这可能让iPhone在强劲的升级周期后,迎来另一波成长。”

  • Binance安全公告:iPhone用户请检查否安装FomoPeek,其可利用iOS漏洞获取设备最高权限

    9月19日,Binance Wallet发布安全公告:iPhone用户请检查否安装过FomoPeek应用。Binance已注意到社区近期披露的一起安全事件。据慢雾SlowMist等安全公司称,第三方应用FomoPeek(版本1.1-1.2)包含恶意代码,可利用iOS系统漏洞获取设备最高权限,并可能访问设备上存储的敏感数据,包括私钥、助记词、登录凭证、聊天记录、文件等。请注意,此类恶意软件直接攻击设备本身。如果攻击成功,受影响设备上所有应用的数据都可能被访问。 请检查以下内容:1.使用的是运行iOS26.x或更早版本的iPhone或iPad吗?2.是否安装过FomoPeek应用?如果以上两项均符合用户情况,建议立即采取以下步骤:1.删除FomoPeek应用,切勿重新安装。2.将iOS系统更新至最新版本。3.对于使用自托管钱包的用户:在从未安装过该应用的设备上创建一个新钱包,并将资产转移到新钱包地址。4.如果发现任何异常的资产活动,请保留受影响的设备和相关证据,并联系客服进行进一步调查。同时提醒所有用户:请勿安装来自不可信来源的应用,并保持您的设备软件处于最新状态。

  • OpenAI预计未来五年将烧掉近2800亿美元现金 收入将增长10倍

    9月19日,据英国《金融时报》看到的一份近期演示材料显示,OpenAI预计到2030年底将累计消耗近2800亿美元资金,根据该材料,OpenAI预计将在2026年至2030年的五年间产生高达2780亿美元的负自由现金流,因为公司正大举投资以扩大其获取计算能力的渠道。收入预计将在这一时期增长10倍,从今年的360亿美元增至2030年的3500亿美元。公司预计从现在到2030年底累计实现8400亿美元收入。OpenAI预计,到2030年底将在计算能力和基础设施方面投入约8560亿美元,这将是其最大的单项支出。

  • ETH突破2600美元

    行情显示,ETH突破2600美元,现报2600.15美元,24小时涨幅5.39%,行情波动较大,请做好风险控制。