攻撃対象領域の縮小とは
クラウドコンピューティング、IoT(モノのインターネット)、携帯電話、マイクロサービスなどのテクノロジーは、過去10年間でソフトウェア業界に全面的な革命をもたらしました。開発者は、これまでにない接続性とイノベーションを実現する手段でアプリケーションを構築、展開、拡張しています。開発者の生産性の向上に伴い、企業全体に展開されるデジタル資産の数も大幅に増えました。
デジタル化で生産性が向上するのは紛れもない事実ですが、その一方でデジタル資産の増加は攻撃対象領域の増加を招きます。新しいスマートデバイスが登場してXaaS(Everything as a Service)が採用されるたびに、それぞれのコンポーネントが悪意あるアクターによる環境への侵入の潜在的なエントリポイントとなるため、脆弱性のリスクが増大します。その結果、攻撃対象領域の縮小と開発者の生産性および操作性とのバランスを取ることが、今日のソフトウェア開発での主要なセキュリティ課題の1つになっています。
この記事では、攻撃対象領域の縮小の中核となる原則を取り上げ、どのツールと手法が最も効果的で、それらをどのように実装できるかをわかりやすく説明します。
攻撃対象領域について
攻撃対象領域とは、攻撃者が悪用する可能性のあるシステムへのエントリポイントをすべて合わせたものです。攻撃者は、こうしたエントリポイントごとにシステムへの侵害方法(攻撃ベクトルとも呼ばれます)をいくつも用意している可能性があります。
クラウドネイティブ環境では、攻撃対象領域は動的であり、常に変化します。インフラストラクチャの拡大や縮小に伴い、新しいサービスが展開され、古いサービスが廃止されます。この変動によって新たなコンポーネントが導入され、それが潜在的な攻撃ベクトルを生み出し、リスクを増大させます。
攻撃対象領域削減の取り組みを開始するには、攻撃対象領域のコンポーネントを次のように分類する必要があります。
- 内部アセットと外部アセット:内部ネットワークまたはパブリックアクセス可能なネットワークのいずれかで実行できる仮想マシン、データベース、デバイスなどのインフラストラクチャコンポーネント。
- クラウド環境:クラウドインフラストラクチャ、プラットフォーム、ソフトウェアはクラウドプロバイダーによって管理されますが、セキュリティ標準を満たすための設定はクラウドエンジニアとセキュリティエンジニアが行う必要があります。
- シャドーIT:従業員が組織の知らないうちに許可なく使用しているツールの中には、基本的なセキュリティ設定が欠けているものがあります。
- サードパーティのサービス:ベンダーが提供する外部ツール、API(アプリケーションプログラムインターフェース)、プラットフォームが、組織のセキュリティとコンプライアンスの要件を満たしていない場合があります。他のサードパーティソリューションに依存しているツールもあり、依存関係とリスクの連鎖が生じます。
- アイデンティティとアクセス:ユーザー、グループ、ロール、権限などのアイデンティティベースのアクセス構造で、機密性の高いアセットやデータに誰がアクセスできるかを定義します。
攻撃対象領域縮小の基本原則
こうした分類に取り組むと、攻撃対象領域を最小限に抑えるのは複雑な作業であることにすぐに気づきます。それでも、実証済みの攻撃対象領域削減の原則に従うと、実装の重要な決定を下していくことができます。
可視性に向けて最適化する
攻撃対象領域を縮小するための重要な前提条件に、認識があります。サードパーティやシャドーITのコンポーネントをはじめ多くのエントリポイントは、セキュリティチームには簡単に可視化されない存在です。そのため、最新の攻撃対象領域レジストリーを維持するには、継続的かつリアルタイムの検出と調査が必要です。
プロアクティブに対処する
サイバーセキュリティでは、どんなミスでも、壊滅的な結果や永久的な損害をもたらす可能性があるため、リアクティブなアプローチだけで対処するのはリスクが高くなります。このため、リアクティブとプロアクティブの両方のセキュリティアプローチに投資して、どちらか一方を無視することなく、適切なバランスを模索する必要があります。
攻撃対象領域の縮小は、例えばゼロトラストやネットワークセグメンテーションといったプロアクティブなセキュリティアプローチの一部です。こうしたプラクティスは、攻撃の成功確率を抑えるだけでなく、攻撃が発生した場合の被害範囲も大幅に制限します。
エクスポージャーを減らす
サイバーセキュリティは、数打てば当たるゲームとも言えます。エクスポージャーを減らすと、攻撃者にとっては侵入を成功させるためのコストが増大します。次のようなプラクティスを使用すると、攻撃対象領域を制限し、エクスポージャーを最小限に抑えることができます。
保護されていないシステムを特定する:保護されていないシステムを見つけ、セキュリティ設定または補償コントロールで強化します。
不要なサービスを削除する:動作しているものの必要ないWebサービスを削除し、使用されていないネットワークポートをブロックします。
PoLP(最小特権の原則)を適用する:従業員と関係者が自身のタスクの実行に必要なリソースとツールにのみアクセスできるようにします。
古くなったシステムを廃止する:古くなったシステムは定期的に更新し、生産終了 (EoL) またはサポート終了 (EoS) に達したら廃止する必要があります。
実践的な攻撃対象領域縮小手法
次に、上述の原則を実装し、最新のネットワークで攻撃対象領域を効果的に縮小するための手法を示します。
新規アセットを継続的にモニタリングする
環境に新しいアセット、アカウント、アプリケーションが追加されていないか継続的にモニタリングし、その脆弱性を評価して修正します。例えば、エンドポイントセキュリティエージェントが欠落しているサーバーなど、保護されていないシステムがないかネットワークをモニタリングし、あれば修正します。
不要なアセットを排除する
使用されていないハードウェア、ソフトウェア、サードパーティ製ツール、その他のデジタル資産があれば直ちに廃止する必要があります。攻撃対象領域の縮小とコストの削減に加えて、こうしたアセットを削除すると、モニタリングとセキュリティパッチのオーバーヘッドが削減されます。
パッチ管理を実装する
本番サービスに脆弱性がないか定期的にスキャンし、必要に応じてパッチを適用します。ソフトウェアアプリケーションでは、多くの場合、多数のサードパーティライブラリが使用されており、こうしたライブラリに脆弱性が潜み、攻撃のエントリポイントになることもあります。このため、前回正常にスキャンしてからコードが更新されていない場合でも、定期的にスキャンする必要があります。
ネットワークセグメンテーションを実施する
ネットワークセグメンテーションは、相互に通信する必要のないエンドポイントを分離するために使用する手法です。この手法により、ネットワーク侵害が発生した場合でも、被害は少数のアセットに限定され、横方向の移動は封じ込められます。セグメンテーションは、PoLPに従う必要があります。つまり、必要な場合を除き、コンポーネント同士の対話を禁止します。
クラウドセキュリティのベストプラクティスに従う
強力なセキュリティハイジーンが不可欠です。デジタル対応のシステムとプロセス全体で次のプラクティスを実施する必要があります。
- 堅牢なセキュリティ設定を作成して維持する:IaC(コードとしてのインフラストラクチャ )、PoLPアクセス制御、厳格なファイアウォールルールにより、強力なセキュリティポリシーと設定管理を適用します。
- 重要なアセットを継続的にモニタリングする:クラウド環境のインフラストラクチャ、アプリケーションコード、監査ログのリアルタイムモニタリングを実装して、異常、不正アクセス、疑わしいアクティビティを検出します。
- 機密データを暗号化して保護する:転送中および保存中のデータの暗号化は、データの機密性と整合性の基盤となります。シークレットを暗号化して保存し、その値を定期的にローテーションします。
- 組織全体でアイデンティティを保護する:MFA(多要素認証)、PoLP、明確に定義されたサービスロールなどのIAM(アイデンティティおよびアクセス管理)のベストプラクティスを適用します。
攻撃対象領域管理用のツールの活用
テクノロジーを継続的に拡張および統合すると、大きな革新と利便性が生まれる一方で、脅威アクターによる攻撃対象領域と機会も増えます。
組織のデジタル攻撃対象領域を減らすと、侵害のリスクが大幅に減ります。ただし、攻撃対象領域を適切に縮小するには、最大限の効果が得られるよう、プロセスの規律、組織の賛同、業界をリードするセキュリティツールが必要です。
CrowdStrike Falcon® Exposure Managementでは、継続的にアセットを検出する、脆弱性にリアルタイムで優先順位を付ける、自動的に修復するといった機能がすぐに使用できるので、組織のサイバー防御を強化できます。
CrowdStrike Falcon®は、最先端のAIテクノロジーを統合することで、重大な脆弱性をインテリジェントに優先順位付けし、パッチ管理を効率化します。CrowdStrike Falcon®は、24時間365日の継続的モニタリングにより、システムの拡張時に新たなエクスポージャーをリアルタイムで検知して、新たな脆弱性が未検知のまま残らないようにします。