過去を思い出せない者は、それを繰り返す運命にある。
2023年、私たちはコミュニティに甚大な被害をもたらした多くのセキュリティインシデントを目にしました。それらは被害者にとって悲劇でした。しかし、これらのインシデントは、セキュリティが最優先事項であることをコミュニティに警告する教訓を提供します。
インシデントの中でも、BlockSecはそれぞれユニークな理由を持つ10の例外的な事例を選びました。中にはドラマチックなもの、革新的な攻撃戦略を特徴とするもの、多額の経済的損失につながったもの、そしてこれまで知られていなかった攻撃対象を悪用したものもありました。
このブログでは、2023年に言及する価値のあるトップ10のセキュリティインシデントとその理由を解説します。各セキュリティインシデントについては、根本原因と攻撃手順を個別のブログ記事で紹介します。
#1: Flashbotsリレーの脆弱性を悪用したMEVボットの収奪
概要
2023年4月3日、攻撃者はFlashbotsリレーに存在する脆弱性を悪用して複数のMEVボットを攻撃し、約2,000万ドルの利益を得ました。この攻撃の根本原因は、特定の条件下でプライベートトランザクションがパブリックプールに漏洩する可能性があり、攻撃者は漏洩したトランザクションをバックランして利益を得ることができたことです。

選定理由
攻撃者は、Flashbotsのゼロデイ脆弱性を悪用し、ハニートラプトトランザクションを作成して被害者を誘い込み、検出を回避する戦術を実装することで、高度な手法でMEVボットを収奪しました。これは、基盤となるブロックチェーンインフラストラクチャの脆弱性と、多大な経済的影響を与えたレバレッジド攻撃戦略を組み合わせた、これまでにない高度な攻撃です。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#2: Euler Financeインシデント:2023年最大のハッキング事件
概要
2023年3月13日、Euler Financeはレンディングプールに対するフラッシュローン攻撃を受け、約2億ドルの損失を被りました。この攻撃は、donateToReserves()関数にソルベンシーチェックが欠けていたことに起因します。この欠落により、攻撃者は高度にレバレッジされたポジションから資産を寄付することができ、ポジションのヘルスを100%以下に低下させ、不良債権を発生させました。
Eulerの設計には、ソフト清算のための動的なクローズファクターが組み込まれており、ポジションのヘルスが低いほど、清算対象となる担保が増加します。このインシデントのデータに基づくと、不良債権が発生した場合、最大75%まで担保が清算対象となります。したがって、大幅に割引された担保の清算により、攻撃者はフラッシュローンを決済し、利益を確保することができました。
選定理由
アルゼンチン人の20歳のFederico Jaimeによって、記録破りの1億9,700万ドルもの資金が盗まれました。彼はメディアに対し、「 winding, sometimes confusing, and even contradictory narrative」を提示しました。それでも、回収可能な資金はすべて後にEuler Financeのトレジャリーアドレスに返還されました。しかし、その一部(約20万ドル)は、米国財務省によって制裁された北朝鮮の国家支援型犯罪シンジケートとされるLazarus Groupに「意図せず」送金されました。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#3: KyberSwapインシデント:極めて巧妙な計算による丸め誤差の巧みな悪用
概要
2023年11月23日、KyberSwapを標的とした一連の攻撃が発生しました。これらの攻撃により、合計で4,800万ドル以上の損失が発生しました。根本的な問題は、KyberSwapの再投資プロセス中に発生した丸め方向の誤りに起因します。これにより、ティック計算が不正確になり、最終的に流動性が二重計上されることになりました。
選定理由
この2023年の攻撃は、その複雑さ、極めて微妙な計算、そしてコミュニティに多大な試練を与えた多くの精度関連のセキュリティインシデントの代表例として際立っています。さらに、当局との広範な交渉の後、攻撃者はプロトコルの完全な制御を要求する挑発的なメッセージを公に発表しました。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#4: Curveインシデント:コンパイラエラーが正直なソースコードから不正なバイトコードを生成
概要
2023年7月30日、一連のエクスプロイトが複数のCurveプールを標的とし、数百万ドルの損失を引き起こしました。これは典型的なリエントランシー攻撃でしたが、根本原因は非典型的で、コンパイラバグに起因し、リエントランシー保護の欠如につながりました。具体的には、スマートコントラクト内の異なる関数のリエントランシーロックに異なるストレージスロットが割り当てられるという間違いがありました。その結果、Vyperバージョン0.2.15、0.2.16、0.3.0を使用してコンパイルされたスマートコントラクトが脆弱になりました。
選定理由
脆弱性はソースコードではなく、コンパイラに由来しました。コンパイラバグが多額の経済的損失につながったのはこれが初めてです。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#5: Platypus Financeインシデント:幸運の女神により3度の攻撃を乗り越える
概要
Platypus Financeは、奇跡的に3度の連続攻撃を生き延びた伝説的なDeFiプロトコルです。
- 2023年2月17日、ソルベンシーチェックの誤りによりハッキングを受け、合計約905万ドルの損失が発生しました。このうち、240万ドルはBlockSecの支援により救済されました。約38万トークンがAaveコントラクトに留まり、その後返還されました。
- 2023年7月12日、5万ドル弱の損失を被りました。これは、ステーブルコイン間の価格差を無視したためです。
- 2023年10月12日、価格操作攻撃に見舞われ、約220万ドルの損失が発生しました。エクスプロイターとの交渉後、盗まれた資金の90%が返還されました。
「人の運命は、もちろん本人の努力にかかっていますが、歴史の流れも考慮しなければなりません」と言われています。明らかに、このプロジェクトはこれらの攻撃すべてを生き延びた幸運に恵まれています。これらの3つのエクスプロイトの分析から、慎重な監査やより積極的なセキュリティ対策があれば、論理的な欠陥は回避可能であったことが示唆されます。
選定理由
- 一度生き残るのは難しいですが、三度も生き残ったことは伝説的です。
- プロジェクトは3つの異なる攻撃を受け、それぞれが異なる脆弱性を標的としました。
- BlockSecによる積極的な行動が、プロジェクトの240万ドルの救済に貢献しました。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#6: Hundred Financeインシデント:2023年を通じて脆弱なフォークプロトコルにおける精度関連エクスプロイトの波を触発
概要
2023年4月16日、Compound v2のフォークであるHundred Financeが攻撃を受け、約680万ドルの損失を被りました。この攻撃には、主に2つの根本原因がありました。
- 不正確な丸め問題
- 攻撃者が交換レートを操作することを可能にした空のマーケット
具体的には、精度の問題が悪用され、担保の償還と引き出しに影響を与えました。適切に初期化されていないマーケットまたはプールは、流動性不足に直面する可能性があり、操作と、その結果としての基盤資産と対応するシェアトークン(例:CompoundのcToken)との間の流動性不均衡につながります。その結果、シェアトークンの価格が上昇し、少量の、またはわずかに多い元の資産のみで、他の価値のある基盤資産を借りるための担保として使用できるようになります。最終的に、攻撃者は精度の損失により、元の基盤資産を償還して引き出すことができました。
Hundred Financeでのこのインシデントと、その後のAave v2フォークであるHopeLendを標的としたインシデントは、これらの2つの主要なプロトコルとそのフォークがLPトークンレートを操作することで標的となる可能性のある、新しいエクスプロイトのパラダイムを明らかにしました。その後、同様の攻撃が相次いで観測されました。
選定理由
精度の損失によるハッキングを受けたCompound V2フォークとして最初のHundred Financeは、類似のDeFiセキュリティ侵害の連鎖の舞台を設定しました。さらに、このインシデントは、Aave V2フォークプロトコルに対するその後の攻撃の波を触発した可能性があります。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#7: ParaSpaceインシデント:業界で最も重大な攻撃を阻止するための時間との戦い
概要
2023年3月17日、価格オラクルの脆弱性により、ParaSpaceはハッカー攻撃の標的となりました。ハッカーの3回の失敗した試みの後、BlockSec Phalconシステムがタイムリーに介入し、救済作戦を通じて500万ドル以上のETHを救済しました。
選定理由
業界で最も重要なブロック:500万ドル以上が救済されました。BlockSec Phalcon Systemによって
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#8: SushiSwapインシデント:救済の試みが一連の模倣犯攻撃を招く
概要
2023年4月9日、SushiSwapは未検証の外部パラメータに起因するエクスプロイトの犠牲となりました。プロトコル自体は無事でしたが、RouteProcessor2コントラクトに権限を付与していたユーザーが主な標的となりました。攻撃は、コントラクトへのアクティブな承認を持つユーザーに焦点を当て、その再現の容易さという性質から、大幅なユーザー損失につながりました。
BlockSecは100 Etherを救済し、被害者に返還することに成功しました。@trust__90というハンドルネームのホワイトハットが最初の救済の試みを行いましたが、残念ながらこの試みは失敗しました。ホワイトハットが使用した方法は容易に再現可能であり、リスクのある総資金のごく一部を救済することのみを目的としていました。これにより、攻撃者は複数の模倣犯トランザクションを実行し、事実上ほとんどの資金を流出させることができました。
選定理由
- 攻撃を受けていたSushiSwapは、イーサリアム上の主要なプロトコルであり、多くのユーザーを抱えています。この攻撃は広範囲に影響を及ぼしました。
- ホワイトハットの救済が残念ながら失敗し、複数の模倣犯攻撃につながりました。これは、ホワイトハットの救済をどのように実行し、適切に管理するかという疑問を提起します。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#9: MEVボット 0xd61492:捕食者から獲物へ、フラッシュローンエクスプロイトで
概要
2023年8月3日、Arbitrum上のMEVボットが攻撃を受け、80万ドルの損失を被りました。この攻撃の根本原因は、ユーザー入力検証の不備でした。攻撃者は、「Arbitrage MEV Bot」(0x8db0ef)を「Vault MEV Bot」(0xd61492)から借り入れさせ、フラッシュローンメカニズムを起動させました。同時に、攻撃者はフラッシュローンプロバイダーを装い、「Arbitrage MEV Bot」に貸し付けられたすべての資産を奪い、「Vault MEV Bot」からの承認を確保しました。
MEVボットとそれらのオープンソース検証の欠如との複雑な相互作用を考慮すると、攻撃者がこの複雑なエクスプロイトパスを特定し、ナビゲートできたことは不可解です。
選定理由
Arbitrage MEVボットは、その非オープンソースの性質から、しばしば謎めいた捕食者と見なされています。これらのMEVボットの正確なロジックを理解することは困難です。しかし、そのほとんどはフラッシュローンを使用して資金の利用率を最大化しており、これが攻撃者の機会を生み出しています。MEVボット0xd61492のハッキングは、ボットとフラッシュローンプロバイダーとの相互作用を悪用した実際の事例です。
このインシデントの興味深い点は以下の通りです。
- 第一に、MEVボットモジュールの複雑なコールバック関数に隠された脆弱性。
- 第二に、マルチコントラクトMEVボットシステムの制限をバイパス。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
#10: ThirdWebインシデント:信頼されたモジュールの非互換性が脆弱性を露呈
概要
2023年12月5日、ThirdWebのスマートコントラクトが脆弱であると報告されました。問題は、ERC-2771とMulticall標準の間の非互換性問題です。ERC-2771は、信頼されたフォワーダーを介してメタトランザクションを受信するためのインターフェースを定義し、Multicallは、単一のトランザクション内で複数の関数呼び出しをバッチ処理できるようにします。脆弱性は、信頼されたフォワーダーによって転送された呼び出しが、攻撃者によって操作される可能性のあるcalldataから実際の呼び出し元アドレスを取得するときに発生します。各標準は単独では正しく動作しますが、それらを組み合わせて使用すると、特定の前提が崩れ、予期しないセキュリティ問題が発生する可能性があります。
選定理由
ERC-2771およびMulticall標準は、OpenZeppelinやThirdWebなどの人気のある開発ライブラリに実装されています。開発者は、これらの確立されたコードベースを信頼し、コード監査中にそれらを省略する可能性があります。この見落としにより、個々のモジュールが本質的に欠陥がない場合でも、新しいセキュリティ脆弱性が導入される可能性があります。サードパーティライブラリは、ソフトウェアセキュリティにおいて重要な役割を果たしますが、それはしばしば見過ごされています。
🧐 根本原因と攻撃手順について詳しくはこちらをご覧ください。
結論
このブログ記事では、2023年の10の重要なセキュリティインシデントの概要を説明しました。よく引用される言葉にあるように、「歴史から学ぶことは、歴史から学ばないことである。」これは、特にセキュリティインシデントの文脈において、痛ましいほど関連性が高いままです。このブログが、今後のエントリとともに、コミュニティが過去のインシデントからより効果的に学び、来年の同様の過ちを防ぐのに役立つことを願っています。
フルスタックセキュリティサービスプロバイダーとして、BlockSecは常にコミュニティを支援することを目指しています。DeFiプロトコルのセキュリティに対するBlockSecのアプローチは包括的です。最先端の監査技術、自動化された攻撃防御ツール、セキュリティインシデント管理を採用しています。これにより、DeFiの2024年の進化する脅威から、セキュリティ体制を強化し、ユーザー資産を保護することを目指すプロトコルにとって不可欠なパートナーとなります。
このシリーズの他のブログにご期待ください。
このシリーズの他の記事を読む:
- #1: Flashbotsリレーの脆弱性を悪用したMEVボットの収奪
- #2: Euler Financeインシデント:2023年最大のハッキング事件
- #3: KyberSwapインシデント:極めて巧妙な計算による丸め誤差の巧みな悪用
- #4: Curveインシデント:コンパイラエラーが正直なソースコードから不正なバイトコードを生成
- #5: Platypus Finance:幸運の女神により3度の攻撃を乗り越える
- #6: Hundred Financeインシデント:2023年を通じて脆弱なフォークプロトコルにおける精度関連エクスプロイトの波を触発
- #7: ParaSpaceインシデント:業界で最も重大な攻撃を阻止するための時間との戦い
- #8: SushiSwapインシデント:救済の試みが一連の模倣犯攻撃を招く
- #9: MEVボット 0xd61492:捕食者から獲物へ、フラッシュローンエクスプロイトで
- #10: ThirdWebインシデント:信頼されたモジュールの非互換性が脆弱性を露呈



