火星链 火星链
Ctrl+D收藏火星链
首页 > 莱特币 > 正文

BOTS:生死时速:对AnySwap项目救援行动的记录与思考

作者:

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

2022年1月18日,我们的异常交易监测系统检测到了针对AnySwap项目的攻击。由于anySwapOutUnderlyingWithPermit()函数未能正确地实现相关校验机制,导致用户授权给该项目的token可被攻击者取出,关于漏洞细节和相关处置详情可参考项目方的官方说明。尽管项目方尝试了多种方法试图提醒受影响的用户,仍然有很多用户未能及时响应,攻击者得以持续地实施攻击获利。

由于攻击持续进行,为了保护潜在的受害者,BlockSec团队决定采取应急响应措施。本次救援特别针对以太坊上受到影响的账户,与之关联的项目方合约地址为0x6b7a87899490EcE95443e979cA9485CBE7E71522,我们将相关的账户资金转移到我们专门设立的多签白帽账户中(0xd186540FbCc460f6a3A9e705DC6d2406cBcc1C47)。为了保证行动的透明性,我们将相关行动计划在pdf文件中做了说明,并立即将文件hash向社区公开。这样既能够保证将我们的行为与攻击者行为做区分,也不会泄漏任何细节。我们的救援行动从2022年1月21日正式开始,到2022年3月11日正式结束,相关的公开声明分别如图2、图3所示。

应急救援并非是一件容易达成的任务,有各种技术和非技术方面的挑战需要克服。由于行动已经结束,我们得以重新复盘整个过程,并将相关心得与体会与社区分享。我们希望也相信这样的分享对社区,以及DeFi生态的安全会有所帮助。简要总结

DeFi投资服务平台Otori One完成pre-seed轮融资:金色财经报道,DeFi投资服务平台Otori One宣布完成pre-seed轮融资,但本次的具体融资金额暂未披露,Genesis Vault Capital领投。据悉,Otori团队由来自美国银行美林、摩根士丹利和德意志银行等全球顶级金融机构人士组成,旨在为用户提供具有不同风险状况的策略来推动 DeFi 投资主流化,目前Otori已推出测试版,并计划在今夏晚些时候添加看涨期权和区间远期等投资策略。(einnews)[2023/7/18 11:02:45]

不同阵营的参与者对Flashbots的广泛使用产生了激烈竞争,包括白帽和攻击者两个群体之间,乃至各自群体内部,向Flashbots支付的费用也随着时间的推移迅速增长。Flashbots不是万灵丹,并非总是有效。有些攻击者转而使用mempool,通过巧妙的策略安排了攻击交易,成功实施了攻击。某些攻击者与项目方达成协议,归还部分攻击所得,保留部分攻击所得作为奖赏,得以成功洗白。这种现象不是第一次出现,其激励的公平性也在社区内部引起了很大的争议和讨论。从透明性考量,白帽可以在不泄露敏感信息的同时向社区公开宣告自己的行为,这样取信于社区的方式在实践中表现良好。社区的各方力量可以携手合作,使得救援行动更为迅速和有效。比如可以在白帽之间开展协同,减少或避免无效竞争。以下我们将从四个方面展开。首先是对本次事件的总体性回顾,而后介绍我们实施救援的方法以及在整个过程中面临的挑战,接下来讨论我们在本次行动中的一些心得和体会,最后提出一些想法和建议。0x1攻击和救援情况概览

0x1.1总体结果

在我们观察范围内,总体的攻击和救援情况如表1所示,按照参与攻击或救援的以太坊账户地址统计。具体来说,一个账户地址或者是救援账户,或者是攻击账户,而类型是根据Etherscan.io的标签和资金转移地址来确定的。此外,在攻击和救援的过程中,白帽和攻击者均大量使用了Flashbots来发送交易,因而需要额外向矿工支付费用,我们称之为Flashbots费用。总体而言,有9个救援账户保护了483.027693ETH,其中需扣除支付给Flashbots费用为295.970554ETH;有21个攻击账户获利1433.092224ETH,其中需扣除给Flashbots的费用为148.903707ETH。值得注意的是,由于存在一些复杂的交互情况,表格中列出的只是大概的统计。

第165次以太坊核心开发者执行会议:EIP-6466和EIP-6406是代码更改,不影响升级:金色财经报道,7月6日,在ACDE #165上,以太坊开发人员讨论了:对EIP-6466和6406的影响分析;Cancun/Deneb测试工作的进展;将构建器覆盖标志包含到引擎API中;以及EIP-4788规范中包含两个环形缓冲区。

首先,EIP-6466和EIP-6406是代码更改,将两个区块头字段transactions_root和receipts_root中的数据编码从RLP更新到SSZ。安全审计公司Dedaub对EIP-6466与EIP-6406的影响分析是为了确定这些代码更改对以太坊上已部署和积极使用的智能合约的影响。分析发现,SSZ更新将影响三个主要项目:LayerZero、zkBridge(跨链桥)和预言机。尽管这些应用程序受到影响,Dedaub总监Neville Grech表示,所有三个应用程序都可以升级,以适应通过EIP-6466和6406实施的代码更改。

关于Cancun/Deneb测试,以太坊基金会的DevOps工程师Parithosh Jayanthi表示,Devnet #7Cancun/Deneb升级已于6月30日星期五成功启动。测试网络正在顺利完成,并且已经发现了客户端实施中的一些问题。Jayanthi表示,一旦客户团队修复了未解决的问题,他将尝试在更长的时间内向网络发送Blob交易,以了解网络如何处理3个目标Blob/块的负载(从2个Blob的目标增加) /block在最后一个测试网期间。

关于将构建器覆盖标志包含到引擎API中,Teku (CL) 开发人员Mikhail Kalinin询问EL客户团队是否愿意接受坎昆升级中引擎API的更改。Kalinin要求客户团队在GitHub上审查构建器标志Engine API更改,如果他们反对在7月10日星期一之前将其纳入坎昆,请大声说出来。如果没有人反对这一更改,Kalinin表示他将合并必要的更改纳入引擎API规范,以便包含在Cancun/Deneb升级中,对引擎API的更改不会记录为EIP。

此外,EIP-4788引入一种新的预编译,这是一种具有成本效益的智能合约操作,它将在EL上公开有关CL的信息,以防止通过代码更改过度使用存储空间。此功能将解锁去中心化应用程序的许多用例,例如质押池和重新质押协议,这些应用程序将受益于对CL状态的信任最小化访问。以太坊基金会研究员Alex Stokes表示,该修改将合并到最终的EIP-4788规范中,以便在坎昆尽快实施。[2023/7/9 22:27:15]

基于Cosmos的DeFi协议Quasar获得1150万美元融资:金色财经报道,Cosmos链上的去中心化资产管理协议Quasar Finance在周四的一份新闻稿中表示,在今年早些时候由Shima Capital牵头的一轮融资中以7000万美元的估值筹集到540万美元之后,使筹集的资金总额超过1150万美元。

Quasar表示,它的目标是通过区块链间通信协议(IBC)实现区块链之间的连接,从而成为领先的去中心化资产管理平台。[2023/3/24 13:23:15]

0x1.2Flashbots费用的变化趋势

如前所述,白帽们需要和攻击者竞争发送Flashbots交易来实施救援,支付给Flashbots的费用的变化趋势可以反映竞争的激烈程度。为了对其作定量的评估,我们按照交易区块,对攻击和救援交易分别统计了各自Flashbots费用的占比。图4给出了我们观察范围内的占比趋势。刚开始的一些攻击交易的Flashbots费用为0,表示在那段时间攻击者尚未使用Flashbots,在早期其他人对漏洞尚未有了解,因此竞争并不激烈。在高度为14029765的区块中,出现了第一笔使用Flashbots的攻击交易,Flashbots费用占了获利的10%。在这之后,Flashbots费用占比随着参与竞争者数量的增加而快速上升,比如在区块高度14072385时Flashbots费用占比达到80%,随后在区块高度14129449费用占比即达到91%。简而言之,这样的趋势表明这业已成为由于Flashbots上链权之争而导致的费用军备竞赛。

0x2我们实施的救援行动和面临的挑战

派盾:一巨鲸将3590.5枚ETH兑换为3301.8枚wstETH并存入Balancer:金色财经报道,据派盾监测数据显示,0x0d1c开头巨鲸地址将3590.5枚ETH兑换为3301.8枚wstETH(约合450万美元)并存入Balancer。[2022/12/7 21:28:56]

0x2.1我们如何开展救援行动?

救援的基本思路是简单而直接的。具体而言,我们需要监控一批潜在的受害者账户,这些账户已将WETH授权给有问题的项目方合约使用。当有任何的WETH转账进入该账户,我们利用合约漏洞直接将其转出至我们的白帽多签钱包。这里的关键是要满足以下三个要求:R1:有效地定位转账给受害者账户的交易,为方便叙述,以下我们将这些交易命名为转账交易。R2:正确地构造交易实施拯救,为方便叙述,以下我们将这些交易命名为拯救交易。R3:成功地抢跑攻击者交易,为方便叙述,以下我们将这些交易命名为攻击交易。R1和R2对我们而言并不构成阻碍。因为我们已经构建了一套内部系统来监控mempool,得以及时定位到转账交易;与此同时,我们也研发了一套工具用以自动化地构造拯救交易。然而R3仍然是一个挑战。虽然在理论上Flashbots可被用来赢得抢跑,然而这并不是一个容易达成的目标。首先,攻击者也可能采用Flashbots,作为一个采用费用竞拍模式的系统,成功率取决于费用的高低,而费用设置的策略需要额外考量。其次,由于上述竞拍模式导致的竞争存在,使用Flashbots并不总是一个好的选择。因此,我们也使用mempool发送普通交易。为了确保成功,交易在mempool中的位置和顺序是关键因素,其设置策略也需纳入考量。最后,我们也与其它的一些“白帽”产生了竞争,而在某些情况下这些所谓“白帽”的行为其实是较为可疑的。0x2.2我们卷入的竞争

总体而言,我们尝试保护171个独立的潜在受害者账户。其中有10个通过及时撤销了授权做了自我保护,而在余下的161个账户中,由于前述各类竞争的存在,我们仅成功救援了14个。我们将失败的情况总结在下面的表格中,涉及3个救援账户和16个攻击账户。

巴西房地产商Gafisa首席执行官:比特币是历史上支持率最高的货币:5月27日消息,据BitcoinMagazine发推称,巴西房地产商Gafisa首席执行官表示,“比特币是历史上支持率最高的货币。”

据此前消息,Gafisa(GFASY.US)宣布与加密货币交易所Foxbit建立合作伙伴关系,开始接受比特币和其他加密货币作为购买房地产的支付方式。[2022/5/27 3:46:20]

从这些失败的案例中,我们也总结了一些经验教训,以下将逐一与大家分享。0x3我们的经验教训

0x3.1如何确定Flashbots费用?

在整个救援过程中,我们先后被12个同样利用Flashbots的竞争者击败,包括2个救援账户和10个攻击账户。我们设置Flashbots费用的策略相对而言是较为保守的。具体而言,为了保护受害者的利益,我们总是倾向于尽可能较少地设置Flashbots费用。因此除非已经有成功地使用Flashbots的攻击交易出现,我们并不会主动地使用Flashbots或增加Flashbots费用。比如一个成功的攻击交易设置的Flashbots费用比例为10%,我们可能会在下一次救援交易中将之设置为11%。但是,结果证明这样的策略并不太成功,攻击者通常会采用较为激进的策略设置费用以赢得竞争,例如:图5展示了区块高度为14071986的一笔攻击交易,攻击者0x5738**将比例设置为70%。图6展示了区块高度为14072255的一笔攻击交易,白帽0x14ca**将比例设置为79%。图7展示了区块高度为14072385的一笔攻击交易,白帽0x14ca**将比例设置为80%。图8展示了区块高度为14072417的一笔攻击交易,白帽0x9117**将比例设置为81%。图9展示了区块高度为14073395的一笔攻击交易,攻击者0x5738**将比例设置为86%。

简而言之,这似乎是一个零和游戏,可以通过建模来探索各参与方的行为模式。但在具体实践中这是一项颇具挑战的任务:一方面需要尽可能降低代价,另一方面要找到较优/最优的策略赢得竞争。0x3.2如何在mempool中正确地安排交易位置?

目前看起来救援成功与否依赖于Flashbots费用的军备竞赛。然而我们确实发现,由于多个参与方引发的激烈竞争的存在,使得Flashbots并非总是有效,这里的激烈竞争来自于和攻击/救援无关的其它交易发送方,比如套利等。在这种情况下,即便某个攻击交易所设置的最高Flashbots费用,都无法保证赢得Flashbots竞争。另一个可行的方法是使用通过mempool发送正常交易,如果交易被安排在合适的位置,也有可能实现目标。这里合适的位置指的是攻击/救援交易位于转账交易之后,且非常接近转账交易。事实上,攻击者0x48e9**运用这样的策略成功的收割了312.014657ETH,且并没有付出任何Flashbots费用的成本。以下四幅图展示了该攻击者获利最高的两次攻击:图10和图11分别展示了在区块高度14051020,受害者0x3acb**的转账交易位于65,而攻击交易位于66。图12和图13分别展示了在区块高度14052155,受害者0xbea9**的转账交易位于161,而攻击交易位于164。

显然,这样巧妙的策略兼具实用性和启发性,值得关注和学习。0x4一些其它的思考

0x4.1如何区分白帽和攻击者?

识别白帽及其行为可能并不像一般人认为的那样简单直白。举例来说,账户地址0xfa27被Etherscan.io标记为白帽:MultichainExploiter4(Whitehat)。然而在一开始的时候,这个地址被标记为攻击者:MultichainExploiter4。这里的变化来自于项目方和攻击者的互动,在若干轮协商之后,攻击者同意保留50ETH的获利作为奖赏,返还其它获利:在交易0x3c3d**中,项目方联系该攻击者:

在交易0xd360**中,攻击者回复:

在交易0x354f**中,项目方在受到返还的资金后表示感谢:

毫无疑问,该攻击者通过这样的方式不仅获利也成功洗白了自己。这种现象不是第一次出现,其激励的公平性也在社区内部引起了很大的争议和讨论。0x4.2白帽之间的竞争

社区有必要建立一个沟通协调机制来降低/避免白帽之间的竞争。一方面,这样的竞争会浪费救援资源。比如在本次救援中,我们和其它三个白帽试图同时保护54个受害者。另一方面,这样的竞争也提高了救援成本。这些竞争会不可避免地加剧Flashbots费用比例的提高。如之前的图7和图8所示,不同白帽先后设置了80%和81%的Flashbots费用比例。然而可以想见的是,如果没有相应的协调机制,白帽们是无法放弃/停止这样的竞争的。0x4.3如何更好地开展救援行动?

一方面,从透明性考量,白帽可以在不泄露敏感信息的同时向社区公开宣告自己的行为,这样取信于社区的方式在实践中表现良好。与针对某个特别攻击的阻断任务相比,这样的救援行动通常是拉锯战,白帽和攻击者之间会在一段时间内交手多次,因此会有充足的时间做宣告。当然,在刚开始行动的时候,漏洞相关的细节信息并不需要披露,以免造成不必要的危害;在行动结束后,这些信息应该向社区充分公开。另一方面,社区的各方力量可以携手合作,使得救援行动更为迅速和有效,包括但不限于:Flashbots/Miners向认证过且可信的白帽提供绿色通道,既可用于抢跑攻击交易,也能避免白帽间的竞争。被攻击的项目方负责Flashbots费用的成本。项目方采用更为方便和快捷的机制及时向用户预警。项目方在代码中采用一些必要的应急措施。

标签:ASHLASSHBBOTSDASH达世币最新消息SLASHSHBARDeezBots

莱特币热门资讯
WON:彭博社专访:「Lunatics之王」Do Kwon如何成为比特币「狂人」

在2016年,DoKwon还只是一个名不见经传的初创公司创始人,雄心勃勃地想为所有人带来免费的互联网服务,这时的他开始注意到,自己对分布式网络的研究里不断地出现和比特币及以太坊相关的内容.

1900/1/1 0:00:00
ORS:推特员工们的今天:恶搞新老板、担心被裁员、期待新变化

北京时间4月26日,推特接受了马斯克提出的以440亿美元收购该公司的报价,让世界首富距离掌控这家社交媒体平台又近了一步.

1900/1/1 0:00:00
COW:多链生态百花齐放,速览新晋崛起的DEX协议

概览2020-2021年去中心化金融(DeFi)爆发,而DeFi的价值主要沉淀在DEX。根据defillama最新的数据显示,截至2022年4月DeFi市场的总锁仓价值为2095.2亿美元,环比.

1900/1/1 0:00:00
NFT:Web3明星企业的摇篮Y Combinator近期又选中了哪些加密初创公司?

硅谷第一孵化器YCombinator也曾是WEB3明星企业的摇篮,Coinbase、OpenSea等从这里走出.

1900/1/1 0:00:00
OIN:一文详解NFT项目成功的底层逻辑与非蓝筹NFT项目的破局之道

一.背景4月,随着moonbirds短时间破纪录交易额引爆市场,bayc土地即将发行带领yugaclub家族蓝筹猛涨,村上隆花和NBA在科学家们几百万份邮件和漏洞攻击中无法抵挡.

1900/1/1 0:00:00
区块链:炒鞋的那帮人,现在去炒数字藏品了

「炒鞋、炒手办潮玩早没那么火热了,现在圈子里都是炒数字藏品了。」球鞋玩家老刘介绍着。在2019年9月,Supreme19FW的开季赠品伞兵玩具在二级市场上被炒至2000多元的消息刷爆了鞋圈,限量.

1900/1/1 0:00:00