セキュリティは、情報技術において常に最も重要な要素の1つです。現在、多くの組織とその開発者は、アプリケーションの構築に際してセキュリティを最優先する考え方を採用しています。こうした原則と取り組みは、アプリケーションセキュリティに関する文化とアプローチ全体を包含する「DevSecOps」と総称されることがよくあります。DevSecOpsは、開発(Development)、セキュリティ(Security)、運用(Operations)を意味します。その目的は、情報技術とインフラストラクチャのあらゆる側面に、セキュリティを最優先する考え方を組み込むことです。
情報技術における比較的新しく、特に注目を集めている分野の1つがブロックチェーンです。ブロックチェーンには、分散型プロトコルとアプリケーションから成る巨大なエコシステムがあり、多くの人がWeb3と呼ぶ、進化したWebの実現を目指しています。
Web3とは何か、分散型アプリケーションとは具体的にどのようなものか?
Web3という用語には、アプリケーションアーキテクチャとユーザーエクスペリエンスの側面に焦点を当てた、さまざまな概念が含まれます。
- 分散化
- オープン性
- 不変性
- プログラマビリティ
- 透明性
これらの中核概念は、公開鍵暗号を用いてユーザーが自身のアイデンティティを再び管理できるようにするとともに、さまざまなブロックチェーンの仕組みやプロトコルを通じて、ピアツーピア経済の普及を促進することを目的としています。多くのブロックチェーンとその関連プロトコルでは、隔離された仮想環境内で実行されるスマートコントラクトを使用して、高度なトランザクションを処理し、状態を管理できます。
これらは、コンセンサスアルゴリズムと呼ばれる仕組みによって、ネットワーク上のすべてのノード間で同期されます。この仕組みにより、ユーザーやノードは分散環境で連携し、一部のエージェントに障害が発生した場合でも、システム内のすべてのノードが単一の信頼できる情報源について合意できます。さらに、多くのブロックチェーンは、プロトコルをオープンかつパーミッションレスに保つことで、検閲耐性を備えた形で運用されています。
現在の状況は?
ブロックチェーンベースのアーキテクチャには、さらなるリスクがあります。ネットワークの基盤は通常、デジタルトークン型の暗号資産によって支えられており、一般に金銭的価値を伴うためです。これらのトークンはアドレスに保持され、通常は外部所有アカウントまたはスマートコントラクト内に保存されます。また、公開鍵暗号の使用によって信頼も分散されるため、ネットワーク上の各アドレスが攻撃を受ける可能性があります。
各アカウントの残高は、一般に「公開台帳」と呼ばれる仕組みによってネットワーク全体に分散され、誰でも閲覧できます。そのため、ハッカーが特定のユーザーやコントラクトを標的にする余地が生じます。したがって、ブロックチェーンではプライバシーと匿名性が特に重要です。多くの場合、これらのアカウントを管理する人は攻撃の標的となるか、その立場を利用して不正行為に及ぶ可能性があります。脅威には次のようなものがあります。
- ソーシャルエンジニアリング
- 信頼関係または鍵の不適切な管理
- 横領および詐欺
- 詐欺
さらに、こうしたさまざまなブロックチェーン技術、プロトコル、分散型アプリケーションの技術的な適用範囲はすでに広く、急速に拡大しています。そのため、急成長するこのエコシステムがセキュリティに及ぼす影響を考慮することが重要です。分散化を中核概念として構築されたものは、対象領域が広がり、攻撃ポイントも増えるため、慎重に分析して保護する必要があります。
分散型アプリケーションとテクノロジーインフラストラクチャのセキュリティを監査する際に、検討すべきトピックをいくつかご紹介します。
- レイヤー1ブロックチェーン(BitcoinおよびEthereum)
- レイヤー2ブロックチェーン(サイドチェーンとロールアップ)
- スマートコントラクト
- コンパイラ
- ソフトウェアウォレット
- ハードウェアウォレット
- ブロックチェーンクライアント(マイナーおよびバリデーター)
- カストディ型取引所(中央集権型)
- DeFi取引所(分散型)
- プロバイダー
- マーケットプレイス(NFT)
スマートコントラクトにおける一般的な攻撃ベクトル
アプリケーション開発ライフサイクルにおけるDevSecOpsとは、一般にセキュリティ主導の開発を指します。これは、セキュリティのシフトレフトとも呼ばれます。開発者がセキュリティをコードとして捉えることから始まるため、DevSecOps文化において最も重要な要素の1つです。ブロックチェーンベースのスマートコントラクトは、価値を保存し、銀行のような役割を果たすことができるため、そのコードは特に攻撃を受けやすく、セキュリティを厳格に考慮して記述する必要があります。
業界では、スマートコントラクトの脆弱性を狙ったハッキングが複数発生しており、その多くはコードの悪用を目的としています。昨年には、史上最大規模のハッキング事件の1つが発生しました。クロスチェーンプロトコルのPoly Networkによると、攻撃者がスマートコントラクトをハッキングし、さまざまな資産を攻撃者の管理する外部ウォレットアドレスに移動することで、6億1,000万米ドル相当を不正に送金しました。
スマートコントラクトの開発には多くの脆弱性が存在しますが、特に頻繁に見られる攻撃には次のようなものがあります。
- アンダーフローとオーバーフロー – 通常、算術演算によって符号なし整数が最大バイトサイズに達すると発生します。その結果、値が「ラップアラウンド」し、アプリケーションのビジネスロジックで予期しない動作が生じる可能性があります。
- コントラクトのリエントランシー – コントラクトを繰り返し再入して悪用する行為で、通常、攻撃者は許可される額を超える資金を引き出します。
- トランザクションのフロントランニング – 技術や市場での優位性を利用して、今後行われるトランザクションに関する情報を事前に入手する行為を指します。
- 適切に管理されていないシークレット。
- 不適切に実装されたアクセス制御。
公平な競争環境を整えるには、何ができるでしょうか?
- セキュリティを最優先する文化を醸成する。セキュリティを重視する文化の醸成を目指す組織にとって、DevSecOpsの考え方は優れた出発点となります。
- 監査を実施する。監査により、アプリケーションロジックと運用プロセスを新たな視点から見直し、コード内の脆弱性を明らかにしやすくなるほか、アプリケーションのユーザーからの信頼向上にもつながります。MythXとSlitherは、Ethereumスマートコントラクトの監査に非常に役立つツールです。
- バグ報奨金制度を提供し、クラウドソーシングによるペネトレーションテストを実施する。クラウドソーシングによるセキュリティ対策は、セキュリティ体制の強化に役立つ実証済みの手法です。バグ報奨金プログラムに参加し、アプリケーションとインフラストラクチャのペネトレーションテストを実施することで、脆弱性やハッキングに先手を打って対処できます。
- オープンソース戦略を採用する。 ブロックチェーンのようなテクノロジーでは、アプリケーションの透明性が重要です。参加者は、コードの検証や監査の結果に基づいて参加するかどうかを判断できるためです。また、コンポーネントをオープンソース化することで、コミュニティ内でプロジェクトに対する説明責任をより明確にできます。
- 管理操作にマルチシグを実装する 所有権や資金の移転をはじめとする重要な管理操作にマルチシグアーキテクチャを採用したスマートコントラクトを実装することで、アプリケーションのセキュリティをさらに強化できます。
まとめ
ブロックチェーン、分散型アプリケーション、およびそれらを取り巻くさまざまなプロトコルは急速に成長しています。こうした新しく革新的なアプリケーションのデプロイ方法は、多くの業界に変革をもたらす可能性があります。ただし、セキュリティを最優先する考え方を重視し、可能な限りDevSecOps文化を導入することが不可欠です。
関連情報
ブロックチェーンへの理解を深める第一歩として、構築に使用するプロトコルのホワイトペーパーを読むことをお勧めします:
次に、過去のハッキング事例や脆弱性を調査し、開発環境でそのハッキングの再現も試みてください。
Ethereumのセキュリティを実践的に学ぶには、以下のキャプチャー・ザ・フラッグ(CTF)プログラムをお勧めします。これらは、セキュリティの基礎を学べるよう、意図的に脆弱性を持たせたプログラムやWebサイトに、脆弱性や「フラグ」が隠されています。
著者について

関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。
F5 BIG-IPでAI防御を実現
F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。
F5 Advanced WAFによるGraphQL APIの保護
ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。
アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。
デジタルトランスフォーメーションは、単なるペーパーレス化ではない
デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。
やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。