TL;DR
- セキュリティは依然としてDeFiにおける重大かつ継続的な課題であり、毎年数十億ドルもの資金が失われています。
- DeFiプロトコルのセキュリティ対策は、そのライフサイクル全体をカバーする必要があり、ローンチ前からローンチ後まで、プロトコル固有のセキュリティと運用上のセキュリティの両方を確保する必要があります。潜在的な攻撃を軽減するための予防戦略と緊急時対応計画を実施することが極めて重要です。
- コード監査を中心としたローンチ前のセキュリティは、コミュニティの共通認識となっています。しかし、ローンチ後のセキュリティソリューション(例:攻撃の監視&ブロッキング)が登場しているにもかかわらず、その重要性はまだコミュニティに十分に認識されていません。
- セキュリティ対策の継続的な改善と、セキュリティファーストの文化への転換は、ユーザー資産を保護し、エコシステムへの信頼を高めるために不可欠です。

はじめに
DeFiが金融の風景に革命を起こし続ける中、エコシステム内ではセキュリティが依然として重大な懸念事項であり、毎年数十億ドルもの損失が発生しています。
Chainalysisのデータによると、2023年のDeFiハックによる損失は11億ドルを超えました。この数字は2022年と比較して減少していますが、2023年のDeFiハックにはいくつかの新たな傾向が見られます。例えば、CurveやKyberSwapのような、長年安全に運用されてきた評判の高いプロトコルがハッキングされました。さらに、Flashbots relayのようなインフラの脆弱性を狙った高度なハッキングも明らかになりました。
Security Incidents Libraryによると、2024年上半期だけでも、10万ドルを超える損失を引き起こしたハッキングが50件以上発生しています。

セキュリティは、DeFiアプリケーションの繁栄と大規模な普及にとって重要な要素です。これは、DeFiプロトコルが数十億ドル規模のユーザー資産を管理しており、これらのプロトコルを標的としたハッキングは、被害を受けたユーザーに重大な損失をもたらす可能性があるためです。ハッキングされた資金が(部分的に)回収できる場合もありますが(Euler security incidentなど)、毎回それを期待することはできません。攻撃が起こるたびに、人々のDeFiへの信頼は損なわれていきます。
DeFiのセキュリティを強化するための複数の手法が提案されていますが、改善の余地はまだ多く残されています。
- 良い面としては、コード監査はセキュリティ確保のためのコミュニティの共通認識となっています。ほとんどのプロトコルはローンチ前にコード監査を受けており、これはスマートコントラクトの脆弱性による攻撃対象領域の削減に役立っています。
- しかし、コード監査だけではすべてのセキュリティ問題に対応するには程遠いのが実情です。スマートコントラクトのアップグレード、設定変更、異なるプロトコル間のランタイム依存関係の中で生じる脆弱性によるハッキングを防ぐことはできません。
こうした限界があるため、運用監視や攻撃検知システムといった、より積極的なソリューションが登場し、一部のプロトコルに採用されるようになっています。
このブログでは、プロトコルのセキュリティの歩みを、ローンチ前の段階から運用段階、そして攻撃への対応に至るまで、さまざまな段階を追いながらDeFi Security Landscapeを探っていきます。各段階における多様な種類のセキュリティ対策について詳しく説明し、それぞれの段階における主要なベンダー(製品)を取り上げ、そのメリットとデメリットを議論します。 これらの洞察が、コミュニティが最新の状況をより深く理解する助けとなり、さらに重要なこととして、将来の革新的なソリューションを生み出すきっかけとなることを願っています。
DeFi Security Landscape
DeFiプロトコルのセキュリティ対策は、ローンチ前の段階からローンチ後の段階まで、そのライフサイクル全体を網羅し、プロトコル固有のセキュリティと運用上のセキュリティの両方を確保する必要があります。さらに、潜在的な攻撃に対処するための予防措置と緊急時対応計画を整えておくことが不可欠です。読者が利用可能なソリューションを理解しやすいように、DeFiセキュリティベンダー(製品)を以下のカテゴリーに分類しました。
ローンチ前のセキュリティ
このカテゴリーは、プロトコルをローンチする前に実施されるセキュリティ対策で構成されており、コード監査、形式検証、セキュリティテストが含まれます。

コード監査サービスとコンテスト
コード監査は、プロトコルを保護するためのコミュニティで広く受け入れられているセキュリティプラクティスです。このプロセスでは、コードはセキュリティ企業によって半自動的な方法でレビューされます。つまり、一般的な脆弱性についてはコードを自動的にスキャンし、複雑な脆弱性については手動でコードをレビューします。代表的な企業にはOpenZeppelin、ChainSecurity、BlockSecなどがあります。
さらに、監査を実施する方法においてセキュリティ監査企業とは異なる、監査コンテストプラットフォームも存在します。これらのプラットフォームは監査コンテストを開始し、コミュニティのセキュリティ研究者を招いて監査コンテストを実施させ、プロトコルの問題を発見した人に報酬を分配します。もちろん、深刻度の評価方法、報酬の分配アルゴリズム、セキュリティ研究者の参加基準などにおいて、プラットフォームごとに微妙な違いがある場合があります。このようなプラットフォームには、Code4rena、SHERLOCK、Cantina、Secure3などがあります。
コード監査(およびコンテスト)は、プロトコルセキュリティの第一の防衛線です。しかし、実際には限界があり、これが評判の高い企業によって監査されたプロトコルでも依然としてハッキングされる理由を説明しています。
- 第一に、静的なコード監査では、特にDeFiプロトコルの組み合わせ可能性(composability)によって生じる、プロトコルの依存関係に起因するセキュリティ問題を完全には評価できません。
- 第二に、コード監査の際に、一部の問題のセキュリティへの影響が過小評価されていました。例えば、精度の損失(precision loss)はよくある問題であり、監査人とプロトコルの双方から見落とされる可能性があります。そのセキュリティへの影響が完全に認識されるようになったのは、Hundred FinanceやChannels Financeの事件が起きるまでのことでした。
- 最後に、高品質なコード監査は依然として貴重で希少なリソースであり、セキュリティ、金融、コンピュータサイエンスに精通した学際的な人材を必要とします。現状、このような人材を一貫して大規模に輩出できる大学はほとんどありません。そのため、プロトコルがこの業務を行う資格のない企業によって監査されてしまう場合があります。
形式検証
「形式検証とは、数学の形式的手法を用いて、特定の形式的な仕様や特性に関してシステムの正しさを証明または反証する行為である。」システムの正しさを証明できるため、形式検証はDeFiプロトコルに適用されてきました。具体的には、DeFiプロトコルの挙動が形式的な仕様を満たしていることを確認できます。DeFiプロトコル向けの形式検証製品の代表例は、Certoraが開発したProverです。開発者はルール(仕様)を提供し、Proverはあらゆる可能なプログラムの状態を探索することで、その結果をルールと照らし合わせてバグを特定します。
形式検証の最も有望な点は、DeFiプロトコルの正しさを数学的に証明できることです。しかし実際には、その広範な採用を妨げるいくつかの限界がまだ存在します。
- 第一に、仕様は開発者によって提供される必要があり、これには開発者がプロトコルの期待される挙動について十分に文書化された仕様を持っていることが求められます。ほとんどの開発者がこの分野の専門家ではないことを考えると、これは容易なことではありません。
- 第二に、プロトコルの頻繁なアップグレードには、仕様の更新やプロトコルの再評価が必要になる場合があります。プロトコルによっては、そのための時間と労力を割く余裕がない場合もあります。
それでも、形式検証はプロトコル、特に実戦でまだ十分に検証されておらず、多額のユーザー資産を管理している新しいプロトコルによって実施されるべきです。しかし、形式検証の使いやすさを高め、採用率を向上させることは、依然として継続的な課題となっています。
セキュリティテスト
セキュリティテストとは、テストケースを用いてプロトコル内のバグを見つけるプロセスを指します。プロトコルの正しさを数学的に証明する形式検証と比較して、セキュリティテストでは通常、形式検証における記号的な入力ではなく具体的な入力を使用するため、効率性は大幅に高いものの、健全性は劣ります。
- Foundryは、スマートコントラクト向けの人気の開発・テストフレームワークの一つです。開発者はFoundryでテストを実行できます。また、DeFiプロトコルに対してファズテスト、不変条件テスト、差分テストを実行する機能も提供しています。
- その他のセキュリティテストツールには、TenderlyやHardhatがあります。
ローンチ後のセキュリティ
このカテゴリーは、プロトコルがローンチされた後(またはメインネット上で稼働している間)に実施されるセキュリティ対策で構成されており、バグバウンティ、攻撃検知、運用監視が含まれます。

バグバウンティ
バグバウンティプログラムは、プロトコルとセキュリティ研究者との間の橋渡しをします。基本的な考え方は、研究者にゼロデイ脆弱性を報告するインセンティブを与え、その見返りとして報酬を提供することです。具体的には、プロトコルはバグバウンティプラットフォーム上にバウンティを掲載し、バウンティの対象範囲と報告されたバグに対する報酬額を詳細に示すことができます。Immunefiは、Web3のバグバウンティプラットフォームの代表的な一例です。
攻撃検知
攻撃検知プラットフォームは、トランザクションをスキャンして悪意のあるものを特定します。具体的には、これらのプラットフォームはプロトコルと相互作用したトランザクションを悪意ある挙動がないか審査します。そのようなトランザクションが発生した場合、アラートが発せられます。
- 例えば、BlockSec Phalcon Securityはトランザクションをスキャンし、挙動ベースの検知エンジンを用いて悪意のある活動(悪意のあるコントラクトや提案など)を検出します。これは、金融取引の各ステップを観察し、不審な挙動がないか監視する仮想的な警備員のようなものだと考えてください。探偵が手がかりを分析するように、これらのトランザクションから挙動パターンを抽出し、その後、銀行が不正を検出する際に用いるものと類似した金融モデルを使って、潜在的な攻撃を特定します。
- 同様のシステムとして、HypernativeやHexagateが提供する製品があります。
- さらに、IronblocksのVenn Security networkは、複数のソースからの検知結果を統合するための分散型インフラを提供しています。
運用監視
運用監視フレームワークは、DeFiプロトコルの運用上のセキュリティを実装するための手段を提供します。例えば、DeFiプロトコルは管理者キーの変更を把握し、スマートコントラクトのデプロイやアップグレードを実行し、プルリクエストをセキュリティ脆弱性について自動的にスキャンする必要があります。
- OpenZeppelin Defenderは、開発者がスマートコントラクトを安全にコーディング、デプロイ、運用できるプラットフォームを提供します。
- BlockSec Phalcon Securityは、コントラクトのアップグレード、Safeウォレットのトランザクション作成、新しい署名&実行、アクセス制御、ガバナンスに関連するリスクを監視できます。
- Forta Networkには、ユーザーが自身のプロトコルを監視するために独自のボットを構築したり、フィッシングや脅威アラートのために既存のボットを購読したりできるインフラがあります。
攻撃への対応
このカテゴリーは、攻撃が発生した際に発動されるセキュリティ対策で構成されており、攻撃のブロッキング、自動アクション、ウォールーム(war room)、根本原因分析、攻撃者の資金フロー追跡が含まれます。

攻撃への対応における5つの対策の中で、攻撃のブロッキングは特に注目に値します。なぜなら、これによりプロジェクトチームは予防措置を事前に導入し、攻撃を実行前に確実に阻止して、損失をゼロに抑えることができるからです。自動応答プラットフォームも、攻撃による被害の軽減に役立ちます。
ウォールームの設置、根本原因分析の実施、盗まれた資金の追跡は、攻撃が発生した後に取られる事後対応的なステップです。これらの戦略は、いくらかの被害を軽減し、将来の同様の攻撃を防ぐのに役立つ一方で、損失はすでに発生してしまっている可能性があり、その回収は困難な場合があります。さらに、プロジェクトの評判への損害や、その結果生じるユーザーの信頼の喪失は、深刻なものとなり得ます。
リスクはあらゆる場所に存在し、しばしば制御不能ですが、先手を打った防御策を導入するという選択は十分に可能であり、強く推奨されます。
攻撃のブロッキング
実際にハッキングと戦う上で、攻撃検知だけでは不十分です。なぜなら、ハッキングを自動的にブロックする能力がなければ、手動での対応は十分な速さで行えないからです。場合によっては(下表のKyberSwap、Gamma Strategies、Telcoinなど)、プロトコルが手動でアクションを取るまでに数分、場合によっては数時間もかかることがあり、それではプロトコル内の資産を守るには手遅れです。VelocoreとRhoへの最近のハッキングでは、Lineaチェーン全体、およびScrollチェーン全体がそれぞれ一時停止され、L2チェーンの中央集権化への懸念が浮き彫りになりました。

攻撃のブロッキングとは、ハッキングを自動的に防止する能力のことであり、攻撃の早期検知と自動フロントランニングという2つの重要な技術を必要とします。
- 早期検知とは、システムが攻撃トランザクションをブロックチェーン上で確定される前、具体的にはまだメンプール内で保留(pending)になっている間に識別できることを意味します。
- 攻撃のフロントランニングとは、攻撃トランザクションよりも先にトランザクションをチェーン上に配置してプロトコルを一時停止させることで、攻撃が実行される前に効果的に阻止することを指します。
このカテゴリーにおいて、BlockSec Phalcon Securityは、これらの重要な技術を備えた唯一の製品です。ハッカーが攻撃トランザクションを開始すると、Phalcon Securityの攻撃監視エンジンが即座にこのトランザクションを検知し、ユーザーに攻撃アラートを送信し、自動的にフロントランニングを行ってプロトコルを一時停止させ、損失をゼロに抑えます。その主要な技術は、2,000万ドルを超える20件以上の救済を通じて実戦で検証されています。
自動アクション
Phalcon Security、Hexagate、Hypernativeのようなプラットフォームも、攻撃が発生した際に自動的に対応することができます。
これらのプラットフォームを購読すると、ユーザーはさまざまなプロトコルリスクに対する監視・対応措置を設定できます。トランザクションが監視ルールに合致した場合、システムはユーザーが事前に設定した対応アクション(プロトコルの一時停止など)を自動的に開始し、損失を軽減します。
しかし、一部のプラットフォームには攻撃検知エンジンが備わっておらず、システムが攻撃トランザクションを直接認識してユーザーに通知することができません。その代わりに、どのような条件下でトランザクションを攻撃とみなすかをユーザー自身がカスタマイズする必要があります。攻撃トランザクションの特性は非常に複雑であり、ユーザー(多くの場合コントラクト開発者)には十分なセキュリティ知識がない可能性があるため、これはユーザーにとってかなり困難な作業となり得ます。
ウォールーム
プロトコルが攻撃を受けている場合、ウォールームの設置が必要になります。これにより、プロトコルは何が起きているのかを把握し、コミュニティ内で情報を共有し、さらなる対応のためにリソースを活用することができます。これには通常、さまざまな観点を持つ専門家が関わります。
SEAL 911は、「緊急時にユーザー、開発者、セキュリティ研究者が、少人数の非常に信頼できるセキュリティ専門家グループと連絡を取れる、利用しやすい手段を提供する」プロジェクトです。SEAL 911 Telegram Botから連絡することができます。プロジェクトがハッキングを受けている場合、プロトコルを支援するためにウォールームを設置することができます。
根本原因分析
攻撃が発生した場合、プロトコルはその根本原因、例えばスマートコントラクト内の脆弱性やそれがどのように悪用されたかを理解する必要があります。これには、攻撃トランザクションを分析するための有用なツールが必要です。この目的には、Phalcon Explorer、OpenChain、Tenderlyを利用することができます。
資金フロー追跡
資金フロー追跡とは、攻撃者の初期資金と攻撃による利益をブロックチェーン上で追跡し、関連するアドレスやエンティティを特定することです。資産が中央集権的なエンティティ(中央集権型取引所やその他の機関レベルのエンティティなど)に流入している場合、法執行機関に連絡して資金の凍結を支援してもらうことができます。
このカテゴリーには、Chainalysis、TRM Labs、ARKHAM、ELLIPTIC、MetaSleuthなど、いくつかの企業やツールが含まれます。
- 例えば、BlockSecが開発したMetaSleuthは、豊富なウォレットアドレスのラベルを用いて、異なるチェーン間で資金を自動的に追跡できます。
- ARKHAMにはコミュニティがあり、プロトコルは調査にバウンティを設定することができ、これによりコミュニティが攻撃者の資金追跡に協力するインセンティブが生まれます。
セキュリティ教育リソース
情報を得た心が、より強固な防御を築きます。上記で述べたセキュリティベンダーや製品に加えて、DeFiセキュリティにはもう一つ重要な構成要素があります。それが教育プラットフォームです。

これらのプラットフォームは、DeFiの実務者やユーザーがセキュリティに関する洞察を理解し、意識を高め、セキュリティスキルを身につけるための不可欠なリソースを提供しています。これらはDeFiセキュリティの進歩において重要な役割を果たしています。これらの教育プラットフォームに感謝の意を表し、いくつかの注目すべき例を挙げます。
- SΞCURΞUM:イーサリアムのセキュリティに焦点を当てたDiscordコミュニティです。毎月開催されるスマートコントラクトセキュリティクイズ「Secureum RACE」も主催しています。
- Security Incidents Library:このプラットフォームは、10万ドルを超える損失を引き起こしたすべての攻撃事件を収集し、損失額、影響を受けたチェーン、脆弱性、根本原因、PoCを詳しくまとめています。
- Rekt:DeFiジャーナリズムのダークウェブとして知られるRektは、エコシステム内のエクスプロイト、ハッキング、詐欺について詳細な分析を提供しています。
- RugDoc:プロジェクトのリスクを評価するDeFiの安全性と教育のコミュニティです。DeFiエコシステムとテクノロジーを紹介するRugDocWiKiというプラットフォームも備えています。
- DeFiHackLabs:2,600人を超えるメンバーと約200人のホワイトハッカーを擁するWeb3セキュリティコミュニティで、Web2とWeb3のセキュリティの専門知識を橋渡しすることを目指しています。
- Solodit:さまざまなWeb3監査企業による過去のレポートをまとめたプラットフォームで、スマートコントラクト監査人にとって貴重なリソースとなっています。
- Ethernaut:プレイヤーがイーサリアムのコントラクトの脆弱性を特定するWeb3/Solidityベースのゲームで、CTF(Capture The Flag)チャレンジに似ています。
結論
セキュリティは依然としてDeFiエコシステムにとって進行中の深刻な脅威であり、毎年数十億ドルもの損失を引き起こしています。現在、ほとんどのセキュリティ対策はローンチ前の段階で実施されています。しかし、セキュリティに万能薬は存在せず、DeFiプロトコルのライフタイム全体を通じてさまざまな手法を実施すべきです。私たちは、業界がローンチ後のセキュリティソリューションを採用し、監視を行い、さらに重要なこととして攻撃を自動的にブロックするようになることを期待しています。ユーザーの資産を完全に保護するために、セキュリティファーストの文化がエコシステム内に確立されることを見込んでいます。



