Back to Blog

DeFiセキュリティの展望:押さえておくべき主要プレイヤー50選

August 30, 2024
13 min read
Key Insights

要約 (TL;DR)

  • セキュリティはDeFiにとって依然として重要かつ継続的な課題であり、毎年数十億ドル規模の損失が発生しています。
  • DeFiプロトコルのセキュリティ対策は、リリース前後の固有の側面と運用上の側面の双方を保護するため、ライフサイクル全体にわたる必要があります。潜在的な攻撃を軽減するために、予防戦略と緊急時対応計画を策定することが不可欠です。
  • コード監査を中心としたリリース前のセキュリティ対策は、コミュニティ内で共通認識となっています。しかし、リリース後のセキュリティソリューション(攻撃の監視や遮断など)が登場しているものの、その重要性はコミュニティ全体で十分に認識されているとは言い難い状況です。
  • ユーザー資産を保護し、エコシステムへの信頼を高めるためには、セキュリティプラクティスの継続的な改善と「セキュリティファースト」の文化への転換が不可欠です。
DeFiセキュリティ環境
DeFiセキュリティ環境

はじめに

DeFiが金融情勢を一変させ続ける中で、セキュリティは依然としてエコシステム内の重大な懸念事項であり、毎年数十億ドルもの損失が発生しています。

Chainalysisのデータによると、2023年のDeFiハッキングによる損失額は11億ドルを超えました。この数字は2022年と比較すると減少しましたが、2023年のDeFiハッキングにはいくつかの新しい傾向が見られます。例えば、CurveKyberSwapのように、長年にわたって安全に運用されてきた著名なプロトコルがハッキングされました。さらに、Flashbotsリレーのようなインフラストラクチャの脆弱性を標的とした巧妙なハッキングも明らかになっています。

セキュリティインシデントダッシュボードによると、2024年上半期には10万ドルを超える損失をもたらすハッキングが50件以上発生しました。

セキュリティインシデントダッシュボードにおける最近のハッキング例
セキュリティインシデントダッシュボードにおける最近のハッキング例

セキュリティは、DeFiアプリケーションの繁栄と大規模普及のための重要な要素です。DeFiプロトコルは何十億ドルものユーザー資産を管理しており、プロトコルを標的としたハッキングは、影響を受けるユーザーに甚大な損失をもたらす可能性があるためです。ハッキングされた資金は(Eulerセキュリティインシデントのように)一部回収できる場合もありますが、毎回成功するとは限りません。攻撃が発生するたびに、人々のDeFiに対する信頼は損なわれていきます。

DeFiのセキュリティを強化するために多くの手法が提案されていますが、改善の余地は依然として大きく残されています。

  • ポジティブな面として、コード監査はセキュリティを確保するためのコミュニティの共通認識となりました。ほとんどのプロトコルはリリース前にコード監査を受けており、スマートコントラクトの脆弱性に起因する攻撃対象領域の削減に寄与しています。
  • しかし、コード監査だけで全てのセキュリティ問題を解決するには程遠いのが現状です。スマートコントラクトのアップグレード、設定の変更、異なるプロトコル間の実行時依存関係によって生じる脆弱性に起因するハッキングを防ぐことはできません。

これらの限界があるため、運用監視や攻撃検知システムといった、よりプロアクティブなソリューションが登場し、一部のプロトコルで採用されています。

本ブログでは、プロトコルのセキュリティジャーニーをリリース前のフェーズから運用段階、そして攻撃対応まで追跡することで、DeFiセキュリティの現状を探ります。私たちは各段階における様々な種類のセキュリティ対策を深掘りし、主要なベンダー(プロダクト)を紹介するとともに、その長所と短所について議論します。私たちの洞察がコミュニティにおける最先端技術への理解を深め、さらに重要なこととして、将来に向けた革新的なソリューションの創出のきっかけとなることを願っています。

DeFiセキュリティ環境

DeFiプロトコルのセキュリティ対策は、リリース前からリリース後の段階までライフサイクル全体を網羅し、プロトコル固有のセキュリティと運用上のセキュリティの両方を確保しなければなりません。さらに、潜在的な攻撃に対処するための予防措置と緊急時対応計画を整えておくことが不可欠です。利用可能なソリューションを読者が理解しやすいよう、我々はDeFiのセキュリティベンダー(プロダクト)を以下のカテゴリに分類します。

リリース前のセキュリティ

このカテゴリは、コード監査、形式検証、セキュリティテストといった、プロトコルのローンチ前に実施されるセキュリティ対策で構成されます。

リリース前のセキュリティ:コード監査サービスとコンテスト、形式検証、セキュリティテスト
リリース前のセキュリティ:コード監査サービスとコンテスト、形式検証、セキュリティテスト

コード監査サービスとコンテスト

コード監査は、プロトコルを保護するためのコミュニティで広く受け入れられているセキュリティプラクティスです。このプロセスでは、セキュリティ企業が半自動的な手法、すなわち自動スキャンで一般的な脆弱性を抽出し、複雑な脆弱性は手動でコードレビューを行うことでコードを確認します。代表的な企業にはOpenZeppelinChainSecurityBlockSecなどがあります。

また、監査コンテストプラットフォームも存在します。これは、セキュリティ監査会社とは監査の実施方法が異なります。これらのプラットフォームは監査コンテストを企画し、コミュニティのセキュリティリサーチャーを参加させ、脆弱性を発見した者に報酬を分配するという手法をとります。もちろん、重大度の評価方法、報酬分配のアルゴリズム、参加するセキュリティリサーチャーの基準などはプラットフォームによって多少異なります。こうしたプラットフォームにはCode4renaSHERLOCKCantinaSecure3などがあります。

コード監査(およびコンテスト)は、プロトコルセキュリティの第一の防衛線です。しかし、実際的な限界もあり、これが信頼できる企業によって監査されたプロトコルであってもハッキングされてしまう理由です。

  • 第一に、静的なコード監査では、特にDeFiプロトコルのコンポーザビリティ(構成可能性)に起因するプロトコルの依存関係によって引き起こされるセキュリティ問題を完全には評価できません。
  • 第二に、一部の問題のセキュリティ影響がコード監査中に過小評価されることがあります。例えば、精度の損失(precision loss)は一般的な問題であり、監査人とプロトコルの両方から見過ごされる可能性があります。そのセキュリティへの影響は、Hundred FinanceChannels Financeのインシデントまで、コミュニティで十分に認識されていませんでした。
  • 最後になりますが、高品質なコード監査はまだ威信のある希少なリソースであり、セキュリティ、金融、コンピュータサイエンスに精通した学際的な才能を必要とします。現在、一貫して大規模にそのような人材を輩出できる大学はほとんどありません。そのため、その業務に携わる資格のない企業によって監査が行われてしまうケースもあります。

形式検証

形式検証(Formal Verification)」とは、数学的な形式手法を用いて、特定の形式仕様や特性に対するシステムの正しさを証明または反証する行為です。システムが正しいことを証明できるため、形式検証はDeFiプロトコルにも適用されています。具体的には、DeFiプロトコルの挙動が形式仕様を満たしていることを保証できます。DeFiプロトコル向けの代表的な形式検証プロダクトは、Certoraが開発したProverです。開発者がルール(仕様)を提供すると、Proverはあらゆるプログラムの状態を探求してバグを特定し、その結果をルールと比較します。

形式検証の最も有望な側面は、DeFiプロトコルの正しさを数学的に証明できる点です。しかし実際には、広範な採用を阻むいくつかの限界があります。

  • 第一に、開発者が仕様を提供する必要があり、それにはプロトコルの想定される挙動を適切に文書化した仕様書を開発者が持っている必要があります。この分野の専門家ではない開発者が大多数であるという事実を考えると、これは容易ではありません。
  • 第二に、プロトコルの頻繁なアップグレードには、仕様の更新と再評価が必要になる場合があります。リソースが限られているプロトコルでは、この時間と労力をまかなえない可能性があります。

それでも、形式検証はプロトコル、特にまだ実戦配備の経験がなく、多額のユーザー資産を運用している新しいプロトコルにとって実施すべき事項です。しかし、形式検証のユーザビリティを向上させ、採用率を高めることは依然として継続的な課題です。

セキュリティテスト

セキュリティテストとは、テストケースを使用してプロトコルのバグを見つけるプロセスを指します。プロトコルの正しさを数学的に証明する形式検証と比較すると、セキュリティテストは通常、形式検証のようなシンボリック値ではなく具体的な入力を使用するため、より効率的ですが「完全性(Soundness)」は劣ります。

  • Foundryは、スマートコントラクトの開発およびテストにおいて人気のあるフレームワークの1つです。開発者はFoundryでテストを実行できます。また、DeFiプロトコルに対してファジング(fuzz testing)、不変条件テスト(invariant testing)、差分テスト(differential testing)を実行する能力も備えています。
  • その他のセキュリティテストツールには、TenderlyHardhatなどがあります。

リリース後のセキュリティ

このカテゴリは、プロトコルが立ち上げられた(メインネットで有効になった)後に実施されるセキュリティ対策で、バグ報奨金、攻撃検知、運用監視が含まれます。

リリース後のセキュリティ:バグ報奨金、攻撃検知、運用監視
リリース後のセキュリティ:バグ報奨金、攻撃検知、運用監視

バグ報奨金

バグ報奨金プログラムは、プロトコルとセキュリティリサーチャーの間に架け橋を作ります。基本的なコンセプトは、ゼロデイの脆弱性を報告するリサーチャーへ報酬を提供するという動機付けです。具体的には、プロトコルはバグ報奨金プラットフォームに報酬を設定し、対象範囲や報告されたバグに対する報酬額を提示します。Immunefiは、代表的なWeb3バグ報奨金プラットフォームの1つです。

攻撃検知

攻撃検知プラットフォームは、トランザクションをスキャンして悪意のあるものを特定します。具体的には、プロトコルと対話するトランザクションが悪意のある行動をとっていないかを精査します。そのようなトランザクションが発生した場合、アラートが通知されます。

  • 例えば、BlockSec Phalconはトランザクションをスキャンし、行動ベースの検知エンジンを使って悪意のある活動(悪意のあるコントラクトやプロポーザルなど)を検知します。これは、金融取引のあらゆる一歩を観察し、疑わしい動作がないか目を光らせる仮想セキュリティガードのようなものだと考えてください。探偵が手がかりを分析するように、これらのトランザクションから行動パターンを抽出し、銀行が不正検知に使用するのと同様の金融モデルを用いて潜在的な攻撃を特定します。
  • 同様のシステムには、HypernativeHexagateが提供するプロダクトがあります。
  • さらに、IronblocksVenn Security networkは、複数のソースからの検知結果を統合するための分散インフラを提供しています。

運用監視

運用監視フレームワークは、DeFiプロトコルに運用セキュリティを実装する手段を提供します。例えば、DeFiプロトコルは管理鍵の変更を知る必要があり、またスマートコントラクトのデプロイやアップグレード、プルリクエストの脆弱性自動スキャンなどが求められます。

  • OpenZeppelin Defenderは、スマートコントラクトを安全にコーディング、デプロイ、および運用するためのプラットフォームを提供します。
  • BlockSec Phalconは、コントラクトのアップグレード、Safeウォレットのトランザクション作成、新しい署名と実行、アクセス制御、ガバナンスに関連するリスクを監視できます。
  • Forta Networkは、ユーザーが独自のボットを構築して自身のプロトコルを監視したり、フィッシングや脅威アラートのために既存のボットを購読したりするためのインフラを備えています。

攻撃対応

このカテゴリは、攻撃が発生した際にトリガーされるセキュリティ対策で、攻撃の遮断、自動アクション、ウォー・ルーム(対策室)、根本原因分析、攻撃者の資金フロー追跡が含まれます。

攻撃対応:攻撃の遮断、自動アクション、ウォー・ルーム、根本原因分析、資金フロー追跡
攻撃対応:攻撃の遮断、自動アクション、ウォー・ルーム、根本原因分析、資金フロー追跡

攻撃対応における5つの対策の中でも、攻撃の遮断は特に注目に値します。これによってプロジェクトチームは事前の防衛策を講じることができ、実行前に攻撃を阻止して損失をゼロに抑えることが可能になるからです。自動応答プラットフォームも、攻撃による被害を減らす助けとなります。

ウォー・ルームの設置、根本原因分析の実施、盗まれた資金の追跡は、攻撃発生後に行われる事後対応です。これらの戦略は被害を一部軽減し、将来の同様の攻撃を防ぐ助けにはなりますが、既に損失が発生してしまっており、取り戻すのが難しい場合が多いです。さらに、プロジェクトの評判に対する悪影響と、それに伴うユーザーの信頼喪失は計り知れません。

リスクは至る所にあり、制御不能なことも多いですが、先制的な防衛策を導入することは実行可能であり、強く推奨されます。

攻撃の遮断

現実のハッキングに対抗する際、攻撃検知だけでは不十分です。なぜなら、ハッキングを自動的にブロックする機能がなければ、人間による対応では速度が追いつかないからです。実際、一部のケース(下表のKyberSwap、Gamma Strategies、Telcoin参照)では、プロトコルが手動で対応するために数分から数時間かかっており、プロトコルの資産を守るには遅すぎました。最近のVelocoreやRhoへのハッキングでは、LineaScrollのチェーン全体が停止させられており、L2チェーンの集中化に関する懸念を引き起こしています。

攻撃の遮断はハッキングを自動的に防ぐ能力であり、**早期検知と攻撃の自動先回り(フロントランニング)**の2つの重要な技術を必要とします。

  • 「早期検知」とは、ブロックチェーン上で確定する前、具体的にはメンプール(mempool)に滞留している段階で攻撃トランザクションを特定できることを意味します。
  • 「攻撃の先回り(フロントランニング)」とは、チェーン上で攻撃トランザクションよりも先にトランザクションを配置してプロトコルを一時停止させ、攻撃が実行される前に効果的に阻止することを指します。

このカテゴリにおいて、BlockSec Phalconはこれらの重要な技術を備えた唯一のプロダクトです。ハッカーが攻撃トランザクションを開始すると、Phalconの攻撃監視エンジンは即座にそのトランザクションを検知し、ユーザーにアラートを送信すると同時に、自動的にフロントランニングを実行してプロトコルを停止させ、被害を最小限に抑えます。その中心技術は、2,000万米ドル以上の救出成功数20件以上によって、実証済みです。

自動アクション

PhalconHexagateHypernativeのようなプラットフォームも、攻撃発生時に自動で対応できます。

これらのプラットフォームを導入することで、ユーザーは様々なプロトコルのリスクに対する監視および対応措置を設定できます。トランザクションが監視ルールに適合した場合、システムはユーザーが事前に設定した対応アクション(プロトコルの一時停止など)を自動的に実行し、損失を低減させます。

ただし、一部のプラットフォームには攻撃検知エンジンが搭載されておらず、システムは攻撃トランザクションを直接認識できません。そのため、ユーザー自身が「どのような条件下でトランザクションを攻撃とみなすか」をカスタマイズする必要があります。攻撃トランザクションの性質は非常に複雑であり、ユーザー(多くはコントラクト開発者)には十分なセキュリティ知識がない場合があるため、これはかなり困難な作業になるかもしれません。

ウォー・ルーム

プロトコルが攻撃を受けている際には、ウォー・ルームの設置が必要です。これにより、何が起きているのかを把握し、コミュニティ内で情報を共有し、さらなるアクションのためにリソースを活用できるようになります。これには通常、様々な視点を持つ専門家が関与します。

SEAL 911は、「ユーザー、開発者、セキュリティリサーチャーが緊急時に信頼できる少数のセキュリティ専門家にアクセスできる方法を提供する」プロジェクトです。SEAL 911 Telegram Botから連絡可能です。プロジェクトがハッキングを受けた場合、ウォー・ルームを設置して当該プロトコルを支援します。

根本原因分析

攻撃が発生した際、プロトコルはスマートコントラクト内の脆弱性は何か、どのように悪用されたのかという根本原因を理解する必要があります。これには、攻撃トランザクションを分析するための有用なツールが必要です。Phalcon ExplorerOpenChainTenderlyがこれらの目的で使用できます。

資金フロー追跡

資金フロー追跡は、ブロックチェーン上の攻撃者の当初の資金と攻撃による利益を追跡し、関連アドレスやエンティティを特定することです。資産が中央集権的なエンティティ(集中型取引所やその他の機関レベルのエンティティなど)に流れている場合、法執行機関に連絡して資金の凍結を支援してもらうことができます。

このカテゴリには、ChainalysisTRM Labs、ARKHAM、ELLIPTIC、MetaSleuthなど、多くの企業やツールがあります。

  • 例えば、BlockSecが開発したMetaSleuthは、ウォレットアドレスのリッチなラベルを活用しつつ、異なるチェーン間をまたいで資金を自動的に追跡できます。
  • ARKHAMにはコミュニティがあり、プロトコルが調査に対して報奨金を掲示することで、コミュニティが攻撃者の資金追跡を支援するよう動機づけることができます。

セキュリティ教育リソース

正しい知識は、より強力な防衛をもたらします。前述のセキュリティベンダーやプロダクト以外に、DeFiセキュリティにおけるもう1つの不可欠な要素、それは教育プラットフォームです。

DeFiセキュリティのための教育プラットフォーム
DeFiセキュリティのための教育プラットフォーム

これらのプラットフォームは、DeFiの実務者やユーザーがセキュリティへの洞察を深め、意識を高め、セキュリティスキルを習得する上で不可欠なリソースを提供します。DeFiセキュリティの発展において重要な役割を果たしています。私たちはこれらの教育プラットフォームに深く感謝し、注目すべき事例を以下に挙げます。

  • SΞCURΞUM: イーサリアムのセキュリティに特化したDiscordコミュニティ。毎月のスマートコントラクトセキュリティクイズ「Secureum RACE」を主催しています。
  • Security Incidents Dashboard: 10万ドル以上の損失を伴うすべての攻撃インシデントを収集し、損失額、影響を受けたチェーン、脆弱性、根本原因、PoCを詳細に記録しているプラットフォーム。
  • Rekt: 「DeFiジャーナリズムのダークウェブ」として知られ、エコシステム内のエクスプロイト、ハッキング、詐欺の深い分析を提供しています。
  • RugDoc: プロジェクトのリスクを評価するDeFi安全・教育コミュニティ。DeFiエコシステムと技術を紹介するRugDocWiKiというプラットフォームも備えています。
  • DeFiHackLabs: 2,600人以上のメンバーと約200人のホワイトハッカーを擁し、Web2とWeb3のセキュリティ専門知識の架け橋となることを目指すWeb3セキュリティコミュニティ。
  • Solodit: さまざまなWeb3監査企業の過去のレポートをまとめたプラットフォームで、スマートコントラクト監査人にとって貴重な情報源となっています。
  • Ethernaut: プレイヤーがイーサリアムコントラクトの脆弱性を特定する、CTF(Capture The Flag)形式のWeb3/Solidityベースのゲーム。

結論

セキュリティは依然としてDeFiエコシステムに対する継続的かつ深刻な脅威であり、毎年数十億ドルの損失を引き起こしています。現在、ほとんどのセキュリティ対策はリリース前の段階で実施されています。しかし、セキュリティに銀の弾丸(万能な手段)は存在せず、DeFiプロトコルのライフサイクル全体を通して様々な手法を適用する必要があります。私たちは、業界がリース後のセキュリティソリューションを採用し、監視を行うだけでなく、さらに重要なこととして、攻撃を自動的に遮断するようになることを期待しています。また、ユーザーの資産を完全に保護するために、「セキュリティファースト」の文化がエコシステム内で定着することを確信しています。

関連リンク