那些不能铭记过去的人,注定要重蹈覆辙。
2023年,我们目睹了许多造成社区严重损失的安全事件。对受害者而言,这些都是一场场悲剧。然而,这些事件为社区敲响了警钟,提醒我们安全应是重中之重。
在这些事件中,BlockSec 精选了十个特别的案例,每个案例都有其独特的理由。有的惊心动魄,有的则体现了“创新”的攻击策略,有的导致了巨额财务损失,有的则利用了此前未知的攻击面。
在本篇博客中,我们将阐述2023年值得关注的十大安全事件及其原因。对于每一场安全事件,我们将在后续博客中分别介绍其根本原因和攻击步骤。
#1 通过利用Flashbots Relay漏洞收割MEV机器人
摘要
2023年4月3日,一名攻击者利用Flashbots Relay中存在的漏洞,攻击了多个MEV机器人,获利约2000万美元。此次攻击的根本原因在于,在特定条件下,私有交易可能会泄露到公开池中,攻击者可以利用此泄露的交易进行反向套利以获取利润。

入选理由
攻击者利用复杂的手段,通过利用Flashbots零日漏洞、创建诱饵交易引诱受害者,并实施规避检测的战术,成功收割了MEV机器人。这是迄今为止最复杂的攻击,它结合了底层区块链基础设施的漏洞与杠杆化攻击策略,并造成了重大的财务影响。
🧐 详细了解根本原因和攻击步骤。
#2:Euler Finance事件:2023年最大的黑客攻击
摘要
2023年3月13日,Euler Finance在其借贷池遭遇闪电贷攻击,导致近2亿美元的损失。此次攻击源于donateToReserves()函数缺乏清算检查。由于这一疏漏,攻击者得以从高度杠杆化的头寸中存入资产,导致该头寸的健康度低于100%,并产生了坏账。
Euler的设计采用了动态平仓因子用于“软清算”,这意味着头寸的健康度越低,可被清算抵押品的比例就越高——基于本次事件的数据,在坏账情况下,最高可达75%。因此,大量折价抵押品的清算使得攻击者得以偿还闪电贷并获利。
入选理由
一名名叫Federico Jaime的20岁阿根廷人,窃取了创纪录的1.97亿美元资金,他向媒体呈现了“一段曲折、有时令人困惑甚至自相矛盾的叙述”。尽管如此,“所有可追回的资金”后来都被归还给了Euler Finance的金库地址。然而,其中一小部分(约20万美元)被“无意中”发送给了Lazarus组织——一个据称由美国财政部制裁的朝鲜官方支持的犯罪集团。
🧐 详细了解根本原因和攻击步骤。
#3:KyberSwap事件:通过极其精妙的计算,巧妙利用舍入误差
摘要
2023年11月23日,KyberSwap遭遇了一系列攻击,总损失超过4800万美元。KyberSwap再投资过程中不正确的舍入方向是根本问题所在。这随后导致了不正确的tick计算,并最终导致流动性重复计算。
入选理由
2023年的此次攻击因其复杂性而脱颖而出,其特点是计算极其精妙,并成为许多精确度相关安全事件的典型案例,这些事件对社区构成了严峻考验。此外,在与当局进行了广泛谈判后,攻击者向公众发布了一则挑衅性的消息,声称要求完全控制协议。
🧐 详细了解根本原因和攻击步骤。
#4:Curve事件:编译器错误从无害源代码生成错误字节码
摘要
2023年7月30日,一系列针对Curve多个池子的攻击导致数百万美元的损失。这是一次典型的重入攻击,但其根本原因却非同寻常,源于一个编译器错误,导致重入保护缺失。具体来说,是在智能合约中,不同函数的重入锁被分配了不同的存储槽。因此,使用Vyper版本0.2.15、0.2.16和0.3.0编译的智能合约存在漏洞。
入选理由
漏洞源于编译器,而非源代码。这是编译器错误首次导致巨额财务损失。
🧐 详细了解根本原因和攻击步骤。
#5:Platypus Finance事件:幸运地躲过了三次攻击
摘要
Platypus Finance是一个传奇般的DeFi协议,奇迹般地躲过了三次连续的攻击,如下所示:
- 2023年2月17日,发生了一起因溶剂性检查不当导致的黑客攻击,总损失约905万美元。其中,在BlockSec的帮助下,挽回了240万美元。约38万枚代币被困在Aave合约中,后被归还。
- 2023年7月12日,该协议被黑客攻击,因忽视稳定币之间的价差损失约5万美元。
- 2023年10月12日,遭受了价格操纵攻击,损失约220万美元。在与攻击者协商后,90%的被盗资金被归还。
俗话说:“一个人的命运,当然要靠自己奋斗,但也要考虑到历史的行程。”显然,该项目能够幸免于所有这些攻击,堪称幸运。我们对这三次漏洞的分析表明,逻辑缺陷是可以避免的——如果进行细致的审计或采取更积极的安全措施。
入选理由
- 幸免一次已属不易,三次则堪称传奇。
- 该项目遭受了三次不同的攻击,每次都针对不同的漏洞。
- BlockSec的积极行动帮助项目挽回了240万美元。
🧐 详细了解根本原因和攻击步骤。
#6:Hundred Finance事件:催化了2023年易受攻击的衍生协议中精确相关漏洞利用的浪潮
摘要
2023年4月16日,Compound v2的衍生协议Hundred Finance遭到攻击,损失约680万美元。此次攻击涉及两个主要的根本原因:
- 不正确的舍入问题;
- 空市场允许攻击者操纵汇率。
具体来说,精确性问题被利用来影响抵押品的赎回和提取。未正确初始化的市场或池子可能会面临流动性短缺,这可能导致操纵并造成基础资产与相应份额代币(例如Compound的cToken)之间出现流动性失衡。因此,份额代币的价格可能会被抬高,从而使其能够以极少量或稍多于原始资产的抵押品来借入其他有价值的基础资产。最终,攻击者能够因精度损失而赎回和提取原始基础资产。
Hundred Finance的这次事件,以及随后针对Aave v2衍生协议HopeLend的事件,揭示了一种新的漏洞利用模式,即通过操纵LP代币汇率,可能针对这两个知名协议及其衍生协议。随后,观察到了一系列类似的攻击。
入选理由
Hundred Finance作为第一个因精度损失而遭受黑客攻击的Compound V2衍生协议,为一系列类似的DeFi安全漏洞奠定了基础。此外,此次事件可能催化了后续针对Aave V2衍生协议的攻击浪潮。
🧐 详细了解根本原因和攻击步骤。
#7:ParaSpace事件:与时间赛跑,挫败了行业迄今为止最关键的攻击
摘要
2023年3月17日,由于价格预言机中的一个漏洞,ParaSpace成为黑客攻击的目标。在黑客三次尝试失败后,BlockSec的Phalcon系统及时介入,通过一次救援行动挽回了价值超过500万美元的ETH。
入选理由
行业最重要的一次阻截:BlockSec Phalcon系统挽回了超过500万美元。
🧐 详细了解根本原因和攻击步骤。
#8:SushiSwap事件:一次营救尝试导致了一系列模仿攻击
摘要
2023年4月9日,SushiSwap因一个未经验证的外部参数而遭受了漏洞利用。协议本身安然无恙,但已向RouteProcessor2合约授予权限的用户是主要目标。此次攻击的性质是针对拥有对该合约有效授权的用户,且易于复制,导致了用户的巨额损失。
BlockSec成功挽回了100个以太坊并将其归还给受害者。一位名为@trust__90的白帽黑客首先尝试营救资金,但此次尝试不幸失败。白帽使用的营救方法易于复制,且仅旨在挽回部分面临风险的总资金。这为攻击者执行多次模仿交易打开了方便之门,有效地耗尽了大部分资金。
入选理由
- SushiSwap作为以太坊上的领先协议,拥有庞大的用户群,此次攻击影响广泛。
- 白帽营救尝试的失败,导致了多起模仿攻击。这引发了关于如何执行白帽营救以及如何正确管理的疑问。
🧐 详细了解根本原因和攻击步骤。
#9:MEV机器人0xd61492:从掠食者到猎物的闪电贷利用
摘要
2023年8月3日,Arbitrum上的一个MEV机器人遭到攻击,损失了80万美元。此次攻击的根本原因是用户输入验证不足。攻击者欺骗了“套利MEV机器人”(0x8db0ef),使其从“Vault MEV机器人”(0xd61492)借款,从而激活了闪电贷机制。与此同时,攻击者冒充闪电贷提供商,占有了所有借给“套利MEV机器人”的资产,并获得了“Vault MEV机器人”的授权。
考虑到MEV机器人之间复杂的交互以及其缺乏开源验证的性质,攻击者是如何定位并导航如此复杂的利用路径,这一点令人费解。
入选理由
套利MEV机器人由于其非开源性质,常被视为神秘的掠食者。要理解这些MEV机器人的确切逻辑可能很困难。然而,它们大多数利用闪电贷来最大化资金利用率,这为攻击者创造了机会。MEV机器人0xd61492的黑客攻击是利用机器人与闪电贷提供商之间交互的一个真实案例。
此次事件的有趣之处包括:
- 首先,隐藏在MEV机器人模块复杂回调函数中的漏洞。
- 其次,绕过了多合约MEV机器人系统的限制。
🧐 详细了解根本原因和攻击步骤。
#10:ThirdWeb事件:受信任模块之间的不兼容暴露了漏洞
摘要
2023年12月5日,ThirdWeb的智能合约被报告存在漏洞。问题在于ERC-2771和Multicall标准之间的不兼容性。ERC-2771定义了一个通过受信任的forwarder接收元交易的接口,而Multicall允许在一个交易中批处理多个函数调用。当一个由受信任forwarder转发的调用从calldata中检索实际调用者地址时,就会发生漏洞,而该地址可以被攻击者操纵。尽管每个标准本身都能正常运行,但它们的组合使用可能会打破某些假设,并导致意想不到的安全问题。
入选理由
ERC-2771和Multicall标准都已集成到OpenZeppelin和ThirdWeb等流行的开发库中。开发者通常会信任这些成熟的代码库,并在代码审计时可能忽略它们。这种疏忽可能会引入新的安全漏洞,即使单个模块本身没有缺陷。第三方库在软件安全中起着至关重要的作用,而这一点常常被忽视。
🧐 详细了解根本原因和攻击步骤。
结论
在本篇博客中,我们概述了2023年十个重要的安全事件。正如那句常被引用的谚语所说:*“我们从历史中学到的,就是我们没有从历史中学到。” 这句话在安全事件的背景下仍然极其贴切。我们希望本篇博客以及后续的文章,能够帮助社区更有效地从过去的事件中吸取教训,并在新的一年里避免类似的错误。
作为一家全栈安全服务提供商,BlockSec始终致力于协助社区。BlockSec在DeFi协议安全方面的策略是全面的。我们采用最先进的审计技术、自动化攻击防御工具和安全事件管理。这使我们成为致力于加强安全态势并保护用户资产免受2024年DeFi领域不断演变威胁的协议的关键合作伙伴。
请继续关注本系列的更多博客。
阅读本系列的其它文章:
- #1:通过利用Flashbots Relay漏洞收割MEV机器人
- #2:Euler Finance事件:2023年最大的黑客攻击
- #3:KyberSwap事件:通过极其精妙的计算,巧妙利用舍入误差
- #4:Curve事件:编译器错误从无害源代码生成错误字节码
- #5:Platypus Finance:幸运地躲过了三次攻击
- #6:Hundred Finance事件:催化了2023年易受攻击的衍生协议中精确相关漏洞利用的浪潮
- #7:ParaSpace事件:与时间赛跑,挫败了行业迄今为止最关键的攻击
- #8:SushiSwap事件:一次营救尝试导致了一系列模仿攻击
- #9:MEV机器人0xd61492:从掠食者到猎物的闪电贷利用
- #10:ThirdWeb事件:受信任模块之间的不兼容暴露了漏洞



