TL;DR
- DeFiにおけるセキュリティは、年間数十億ドルが失われる、重大かつ継続的な課題です。
- DeFiプロトコルのセキュリティ対策は、ライフサイクル全体に及び、ローンチ前、ローンチ後両方の本質的および運用上の側面を保護する必要があります。潜在的な攻撃を軽減するために、予防戦略と緊急時対応計画を実装することが重要です。
- コード監査を中心としたローンチ前のセキュリティは、コミュニティのコンセンサスになっています。しかし、ローンチ後のセキュリティソリューション(例:攻撃監視・ブロック)が登場しているにもかかわらず、その重要性はまだコミュニティに十分に認識されていません。
- ユーザー資産を保護し、エコシステムへの信頼を高めるためには、セキュリティ対策の継続的な改善と、セキュリティ・ファーストの文化への移行が不可欠です。
はじめに
DeFiは金融のあり方を革新し続けていますが、セキュリティはエコシステムにおける重大な懸念事項であり、毎年数十億ドルもの損失が発生しています。
Chainalysisのデータによると、2023年のDeFiハッキングは11億ドル以上の損失をもたらしました。この数字は2022年と比較して減少しましたが、2023年のDeFiハッキングには複数の新しいトレンドが見られます。例えば、長年安全に運用されてきたCurveやKyberSwapのような著名なプロトコルがハッキングされました。さらに、Flashbotsリレーのようなインフラストラクチャの脆弱性を狙った高度なハッキングも露呈しました。
Security Incident Dashboardによると、2024年上半期には、10万ドルを超える損失をもたらしたハッキングが50件以上発生しました。
DeFiアプリケーションの繁栄と大規模な普及にとって、セキュリティは重要な要因です。これは、DeFiプロトコルが数十億ドル相当のユーザー資産を管理しており、これらのプロトコルを標的としたハッキングは、影響を受けたユーザーに重大な損失をもたらす可能性があるからです。一部のケースでは、ハッキングされた資金が(部分的に)回収されることもありますが(Eulerセキュリティインシデントなど)、常にこれに頼ることはできません。各攻撃は、DeFiに対する人々の信頼を損ないます。
DeFiセキュリティを強化するための多くの方法が提案されていますが、改善の余地はまだ多くあります。
- ポジティブな側面としては、コード監査がセキュリティ確保のためのコミュニティコンセンサスとなっています。ほとんどのプロトコルはローンチ前にコード監査を受けており、スマートコントラクトの脆弱性による攻撃対象領域を減らすのに役立ちます。
- しかし、コード監査だけでは、すべてのセキュリティ問題を解決するには程遠いです。スマートコントラクトのアップグレード、設定変更、および異なるプロトコル間でのランタイム依存関係によって導入された脆弱性に起因するハッキングを防ぐことはできません。
これらの制限により、運用監視や攻撃検出システムなどの、より積極的なソリューションが登場し、一部のプロトコルで採用されています。
本ブログでは、プロトコルのセキュリティジャーニーを、ローンチ前の段階から運用段階、そして攻撃対応まで、各ステージを追跡しながらDeFiセキュリティの現状を探ります。様々なセキュリティ対策を詳述し、各ステージの主要なベンダー(製品)をハイライトし、それらの長所と短所を議論します。 私たちの洞察が、コミュニティが最新の状況をよりよく理解し、さらに重要なことに、将来の革新的なソリューションを刺激する一助となることを願っています。
DeFiセキュリティの現状
DeFiプロトコルのセキュリティ対策は、ローンチ前の段階からローンチ後の段階まで、そのライフサイクル全体を網羅し、プロトコルの本質的および運用上のセキュリティの両方を確保する必要があります。さらに、潜在的な攻撃に対処するための予防策と緊急時対応計画を整備することが不可欠です。読者が利用可能なソリューションを理解できるよう、DeFiセキュリティベンダー(製品)を以下のカテゴリに分類します。
ローンチ前セキュリティ
このカテゴリには、コード監査、形式検証、セキュリティテストなど、プロトコルをローンチする前に行われるセキュリティ対策が含まれます。
コード監査サービスとコンテスト
コード監査は、プロトコルを保護するためのコミュニティで広く受け入れられているセキュリティプラクティスです。このプロセスでは、コードはセキュリティ企業によって、半自動的にレビューされます。つまり、一般的な脆弱性がないかコードを自動的にスキャンし、複雑なものについては手動でコードをレビューします。代表的な企業には、OpenZeppelin、ChainSecurity、BlockSecなどがあります。
さらに、監査コンテストプラットフォームも存在しますが、これはセキュリティ監査企業とは監査の実施方法が異なります。これらのプラットフォームは監査コンテストを開始し、コミュニティからセキュリティ研究者を招いて監査コンテストを実施し、問題を見つけた人に報酬を分配します。もちろん、プラットフォームは、重大度の評価方法、報酬分配アルゴリズム、セキュリティ研究者の参加基準において、微妙な違いがある場合があります。このようなプラットフォームには、Code4rena、SHERLOCK、Cantina、Secure3などがあります。
コード監査(およびコンテスト)は、プロトコルのセキュリティにおける最初の防衛線です。しかし、実際的な限界があり、著名な企業によって監査された多くのプロトコルが依然としてハッキングされている理由を説明しています。
- 第一に、静的コード監査では、DeFiプロトコルの相互運用性により、特にプロトコルの依存関係によって引き起こされるセキュリティ問題を完全に評価することはできません。
- 第二に、一部の問題のセキュリティへの影響は、コード監査中に過小評価されていました。例えば、精度損失は一般的な問題であり、監査人およびプロトコルによって見過ごされる可能性があります。Hundred FinanceおよびChannels Financeのインシデントまで、そのセキュリティへの影響はコミュニティに十分に認識されていませんでした。
- 最後になりますが、質の高いコード監査は依然として名声があり、希少なリソースであり、セキュリティ、金融、コンピュータサイエンスに精通した学際的な才能が必要です。現在、このような才能を継続的かつ大規模に提供できる大学はほとんどありません。したがって、プロトコルは、そのビジネスを行う資格のない企業によって監査される可能性があります。
形式検証
「形式検証とは、数学的な形式手法を用いて、ある形式仕様またはプロパティに対して、システムの正しさを証明または反証することである」。システムの正しさを証明できるため、形式検証はDeFiプロトコルに適用されています。具体的には、DeFiプロトコルの動作が形式仕様を満たしていることを保証できます。DeFiプロトコルの形式検証製品の代表は、Certoraが開発したProverです。開発者はルール(仕様)を提供し、Proverは結果をルールと比較して、あらゆる可能なプログラム状態を探索することでバグを特定します。
形式検証の最も有望な側面は、DeFiプロトコルの正しさを数学的に証明できることです。しかし、実際には、その広範な採用を妨げるいくつかの限界があります。
- 第一に、仕様は開発者によって提供される必要があり、開発者はプロトコルの期待される動作の明確な仕様を持っている必要があります。これは、ほとんどの開発者がこの分野の専門家ではないことを考えると容易ではありません。
- 第二に、プロトコルの頻繁なアップグレードには、仕様の更新とプロトコルの再評価が必要になる場合があります。一部のプロトコルは、時間と労力を負担できない場合があります。
それにもかかわらず、形式検証は、特にまだ実証されておらず、相当なユーザー資産を管理している新しいプロトコルによって実施されるべきです。しかし、形式検証の使いやすさを向上させ、採用率を増加させることは、継続的な課題です。
セキュリティテスト
セキュリティテストとは、テストケースを使用してプロトコルのバグを見つけるプロセスを指します。形式検証がプロトコルの正しさを数学的に証明するのに対し、セキュリティテストは通常、形式検証のシンボリックな入力ではなく、具体的な入力を使用するため、はるかに効率的ですが、サウンドではありません。
- Foundryは、スマートコントラクト用の人気のある開発およびテストフレームワークの1つです。開発者はFoundryでテストを実行できます。また、DeFiプロトコルに対してファズテスト、不変テスト、差分テストを実行する機能も提供します。
- その他のセキュリティテストツールには、TenderlyとHardhatがあります。
ローンチ後セキュリティ
このカテゴリには、バグバウンティ、攻撃検出、運用監視など、プロトコルがローンチ(またはメインネットで稼働)した後に行われるセキュリティ対策が含まれます。
バグバウンティ
バグバウンティプログラムは、プロトコルとセキュリティ研究者の間の橋渡しをします。基本的な考え方は、研究者にゼロデイ脆弱性を報告するようインセンティブを与えることです。具体的には、プロトコルはバグバウンティプラットフォームにバウンティをリストし、バウンティの範囲と報告されたバグに対する報酬額を詳述できます。Immunefiは、代表的なWeb3バグバウンティプラットフォームの1つです。
攻撃検出
攻撃検出プラットフォームは、トランザクションをスキャンして悪意のあるトランザクションを見つけます。具体的には、これらのプラットフォームは、プロトコルとやり取りしたトランザクションを悪意のある動作について検証します。そのようなトランザクションが発生した場合、アラートがトリガーされます。
- 例えば、BlockSec Phalconはトランザクションをスキャンし、行動ベースの検出エンジンを使用して、悪意のある契約や提案などの悪意のあるアクティビティを検出します。これは、金融取引のすべてのステップを監視し、不審な動作を探す仮想セキュリティガードのようなものです。探偵が手がかりを分析するように、これらのトランザクションから行動パターンを抽出し、銀行が不正検出に使用するような金融モデルを使用して、潜在的な攻撃を特定します。
- 同様のシステムには、HypernativeおよびHexagateが提供する製品があります。
- さらに、IronblocksのVenn Security networkは、複数のソースからの検出結果を統合するための分散型インフラストラクチャを提供します。
運用監視
運用監視フレームワークは、DeFiプロトコルの運用セキュリティを実装する方法を提供します。例えば、DeFiプロトコルは、管理者キーの変更、スマートコントラクトのデプロイとアップグレードの実行、プルリクエストのセキュリティ脆弱性スキャンなどを知る必要があります。
- OpenZeppelin Defenderは、開発者がスマートコントラクトを安全にコーディング、デプロイ、運用できるプラットフォームを提供します。
- BlockSec Phalconは、契約アップグレード、Safeウォレットトランザクションの作成、新規署名と実行、アクセス制御、ガバナンスに関連するリスクを監視できます。
- Forta Networkは、ユーザーがプロトコルを監視するための独自のボットを構築したり、フィッシングや脅威アラートのための既存のボットを購読したりできるインフラストラクチャを備えています。
攻撃対応
このカテゴリには、攻撃が発生したときにトリガーされる、攻撃ブロック、自動アクション、ウォー・ルーム、根本原因分析、攻撃者の資金フロー追跡などのセキュリティ対策が含まれます。
5つの攻撃対応措置の中で、攻撃ブロックは特に注目に値します。これにより、プロジェクトチームは事前に予防策を展開し、攻撃の実行を成功裏にブロックして損失をゼロに最小化できるからです。自動対応プラットフォームも、攻撃による損害を軽減するのに役立ちます。
ウォー・ルームの確立、根本原因分析の実施、盗難資金の追跡は、攻撃発生後に取られる受動的なステップです。これらの戦略は、一部の損害を軽減し、将来同様の攻撃を防ぐのに役立つ可能性がありますが、損失はすでに発生しており、回復が困難な場合があります。さらに、プロジェクトの評判への損害と、その結果として生じるユーザーの信頼の喪失は、壊滅的なものになる可能性があります。
リスクはどこにでもあり、しばしば制御不能ですが、予防的な防御策を展開することを選択することは、十分に可能であり、強く推奨されます。
攻撃ブロック
実際には、ハッキングと戦う上で、攻撃検出だけでは不十分です。これは、ハッキングを自動的にブロックする能力がない場合、手動での対応は十分に速くないからです。一部のケース(以下の表のKyberSwap、Gamma Strategies、Telcoin)では、プロトコルが手動アクションを取るのに数分、あるいは数時間かかることもあり、プロトコル内の資産を救うには手遅れです。最近のVelocoreとRhoのハッキングでは、Lineaチェーン全体とScrollチェーン全体がそれぞれ一時停止され、L2チェーンの集中化懸念が高まっています。
攻撃ブロックは、ハッキングを自動的に防止する能力であり、2つの主要な技術が必要です:早期検出とハッキングの自動フロントランニング。
- 早期検出とは、システムがブロックチェーン上でファイナライズされる前に、特にまだメモリプールに保留中の攻撃トランザクションを特定できることを意味します。
- 攻撃のフロントランニングとは、攻撃トランザクションの前にチェーンにトランザクションを配置してプロトコルを一時停止し、実行される前に攻撃を効果的に停止することを含みます。
このカテゴリでは、BlockSec Phalconがこれらの主要な技術を持つ唯一の製品です。ハッカーが攻撃トランザクションを開始すると、Phalconの攻撃監視エンジンは直ちにこのトランザクションを検出し、ユーザーに攻撃アラートを送信し、自動的にフロントランニングしてプロトコルを一時停止し、損失をゼロに削減します。その主要な技術は、2,000万ドル以上の20件以上の救済で実証されています。
自動アクション
Phalcon、Hexagate、Hypernativeのようなプラットフォームも、攻撃発生時に自動的に対応できます。
これらのプラットフォームを購読した後、ユーザーは様々なプロトコルリスクの監視と対応策を設定できます。トランザクションが監視ルールに一致した場合、システムはユーザーが事前に設定した対応アクション(プロトコルの一時停止など)を自動的に開始し、それによって損失を削減します。
ただし、一部のプラットフォームには攻撃検出エンジンがなく、システムが攻撃トランザクションを直接認識してユーザーに通知することはできません。代わりに、トランザクションが攻撃と見なされる条件をユーザーがカスタマイズする必要があります。攻撃トランザクションの特性は非常に複雑であり、ユーザー(多くはコントラクト開発者)は十分なセキュリティ知識を持っていない可能性があるため、これは彼らにとってかなり困難な場合があります。
ウォー・ルーム
プロトコルが攻撃を受けている場合、ウォー・ルームの確立が必要です。これにより、プロトコルは何が起こっているのかを理解し、コミュニティで情報を共有し、さらなる行動のためにリソースを活用できます。これには通常、さまざまな視点からの専門家が関与します。
SEAL 911は、「緊急時に、ユーザー、開発者、セキュリティ研究者が、非常に信頼できる少数のセキュリティ専門家とアクセスしやすい方法でつながる」ためのプロジェクトです。SEAL 911 Telegram Botからアクセスできます。プロジェクトがハッキングされた場合、ウォー・ルームを確立してプロトコルを支援できます。
根本原因分析
攻撃が発生した場合、プロトコルは、スマートコントラクト内の脆弱性とその悪用方法などの根本原因を理解する必要があります。これには、攻撃トランザクションを分析するための有用なツールが必要です。Phalcon Explorer、OpenChain、Tenderlyがこの目的で使用できます。
資金フロー追跡
資金フロー追跡は、攻撃者の初期資金と攻撃利益をブロックチェーン上で追跡して、関連するアドレスとエンティティを特定することです。資産が中央集権的なエンティティ(中央集権的な取引所やその他の機関レベルのエンティティなど)に流れている場合、法執行機関に連絡して資金を凍結させることができます。
このカテゴリには、Chainalysis、TRM Labs、ARKHAM、ELLIPTIC、MetaSleuthなど、いくつかの企業やツールがあります。
- 例えば、BlockSecが開発したMetaSleuthは、豊富なウォレットアドレスラベルを使用して、異なるチェーン間で資金を自動的に追跡できます。
- ARKHAMは、プロトコルが調査にバウンティをかけることができるコミュニティを持っており、コミュニティが攻撃者の資金追跡を支援するようインセンティブを与えます。
セキュリティ教育リソース
情報に基づいた意識は、より強力な防御を構築します。上記で言及されたセキュリティベンダーや製品に加えて、DeFiセキュリティのもう1つの重要な要素があります:教育プラットフォームです。
これらのプラットフォームは、DeFiの実務家やユーザーがセキュリティの洞察を理解し、意識を高め、セキュリティスキルを開発するための不可欠なリソースを提供します。それらは、DeFiセキュリティの進歩において重要な役割を果たします。これらの教育プラットフォームに感謝し、いくつかの注目すべき例を挙げます。
- SΞCURΞUM: イーサリアムセキュリティに焦点を当てたDiscordコミュニティ。毎月、スマートコントラクトセキュリティクイズ「Secureum RACE」も開催しています。
- Security Incidents Dashboard: 10万ドル以上の損失をもたらしたすべての攻撃インシデントを収集し、損失、影響を受けたチェーン、脆弱性、根本原因、PoCを詳述しています。
- Rekt: DeFiジャーナリズムのダークウェブとして知られるRektは、エコシステム内のエクスプロイト、ハッキング、詐欺の詳細な分析を提供しています。
- RugDoc: プロジェクトリスクを評価するDeFiの安全性と教育コミュニティ。RugDocWiKiというプラットフォームもあり、DeFiエコシステムとテクノロジーを紹介しています。
- DeFiHackLabs: 2,600人以上のメンバーと約200人のホワイトハットハッカーを擁するWeb3セキュリティコミュニティで、Web2とWeb3のセキュリティ専門知識の橋渡しをすることを目指しています。
- Solodit: 様々なWeb3監査会社からの過去のレポートをコンパイルするプラットフォームであり、スマートコントラクト監査人にとって貴重なリソースとなっています。
- Ethernaut: プレイヤーがイーサリアムコントラクトの脆弱性を特定する、CTFチャレンジに似たWeb3/Solidityベースのゲームです。
結論
セキュリティは依然としてDeFiエコシステムにとって継続的かつ深刻な脅威であり、毎年数十億ドルの損失をもたらしています。現在、ほとんどのセキュリティ対策はローンチ前の段階で行われています。しかし、セキュリティに特効薬はなく、DeFiプロトコルのライフタイム全体でさまざまな方法が実施されるべきです。業界がローンチ後のセキュリティソリューションを採用し、監視し、そしてより重要なことに、攻撃を自動的にブロックすることを期待しています。エコシステムにセキュリティ・ファーストの文化が確立され、ユーザー資産が完全に保護されることを予測しています。



