本文の内容は、2024年5月22日に CRYSTAL MORIN が投稿したブログ(https://sysdig.com/blog/leadership-strategies-for-risk-reduction-transparency-and-speed/)を元に日本語に翻訳・再構成した内容となっております。
増加する連邦サイバーセキュリティの推奨事項や規制に対応するには、サイバーセキュリティのリーダーとそのチームは、セキュリティ プロセスの透明性と回復力に自信を持つ必要があります。鍵となるのは、強力で十分に文書化されたリスク管理プログラムです。これは、規制に伴うコンプライアンスまたはインシデントの監査にとって不可欠です。
このブログでは、Sysdigの「サイバーセキュリティ規制の時代における実践的なクラウドセキュリティガイダンス」から得られた主要な洞察を掘り下げ、文書内のリーダーシップディスカッションポイントに基づく優先事項を説明していきます。このガイダンスは、リスク管理プログラムの透明性とセキュリティプログラムの回復力を、改善された文書化と設定を通じて強化します。
スピードと透明性でリスクと戦う
サイバーセキュリティに関する規制上の開示要件とコンプライアンス基準を満たすには、セキュリティイベントをタイムリーに特定し、関連するシグナルを収集することが重要です。組織は、潜在的なセキュリティインシデントを迅速に検出し、規制上の開示を裏付けるために必要な証拠を収集するための効率的なプロセスを確立する必要があります。さらに、これらの検出プロセスを文書化することで、サイバーセキュリティインシデントのタイムリーな検出と開示の両方を必要とする規制ガイドラインへの準拠を実証する際の透明性と説明責任が確保されます。
さらに、情報共有は、世界的なサイバーセキュリティの取り組みを強化する上で重要な役割を果たします。脆弱性の開示や脅威インテリジェンスを共有するには、組織が政府機関、地域および業界固有の組織、サイバーセキュリティリサーチャーなどの他の組織とオープンに連携して協力することが不可欠です。オープンなコミュニケーションとコラボレーションを促進することで、組織はサイバーセキュリティ防御を総合的に強化し、新たな脅威に効果的に対応できます。
最後に、協調的脆弱性開示 (CVD) のプロセスを文書化することは、透明性と効果的なリスク管理プログラムに不可欠です。CVD プロセスを通じて関連データと洞察を共有することで、組織はリスクをより効率的に評価および軽減し、サイバーセキュリティ全体の回復力と準備に貢献できます。この文書では、セキュリティ研究者や影響を受ける組織などの外部関係者からの脆弱性レポートの受信、評価、および対処の手順も定義する必要があります。包括的な CVD プラクティスを確立することで、責任ある脆弱性開示と修復プラクティスが促進され、より安全なエコシステムの実現に貢献します。
リスク管理を体系化する
コード アーティファクトは防御可能であり、規制、リスク、監査のレビュー中に裏付けとなる証拠として使用できます。 infrastructure as code (IaC)、policy as code (PaC)、detection as code (DaC)などのプラクティスを採用することで、組織は、複雑なリスク管理ポリシーや手順を実行可能なコードに変換することで、企業環境全体で一貫性、正確性、コンプライアンスを確保するための拘束力のあるルールとすることができます。
Infrastructure as Code
IaC(Infrastructure as Code)は、各リソースの手動による物理的なハードウェア構成やインタラクティブな構成ツールの使用ではなく、コンピュータが読み取れる定義ファイルを通じてコンピューティングインフラストラクチャー(仮想マシン、ネットワーク、コンテナなど)を管理およびプロビジョニングする手法です。IaCはスクリプトや宣言型定義を使用して自動化できるため、数百または数千のリソースに対して一貫性があり、容易にスケールさせることができます。
企業に IaC を導入するには、次のステップを行います:
- インフラストラクチャーの定義と管理にはIaC ツールを選択してください。一般的な選択肢には、Terraform、AWS CloudFormation、Azure Resource Manager、Google Cloud Deployment Manager などがあります。
- インフラストラクチャーの望ましい状態を記述するコード (宣言型または命令型) を記述して、インフラストラクチャーを定義します。これには、サーバー、ネットワーク コンポーネント、ストレージ、セキュリティ設定などが含まれます。
- 変更を管理し、履歴を追跡し、他のユーザーと共同作業を行うには、インフラストラクチャーコードを Git などのバージョン管理システムに保存します。
- 継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインを使用して、コード変更に基づいてインフラストラクチャーのデプロイと管理を自動化します。
- インフラストラクチャーコードを継続的に監視して更新し、要件とベスト プラクティスの変更を反映します。
Policy as Code
PaC は、IT インフラストラクチャーとアプリケーションのポリシーとガバナンス ルールを実行可能コードの形式で成文化し、監査を容易にする概念です。また、このアプローチにより、すべての環境およびソフトウェア開発ライフサイクル (SDLC) 内でポリシーが一貫して適用され、違反を自動的に検出して修正できるようになります。
企業で PaC を実装するには、次のステップを行います:
- セキュリティ、コンプライアンス、アクセス制御、運用のベスト プラクティスに関するポリシーを特定して定義します。
- Open Policy Agent (OPA)、AWS Config Rules、Azure Policy、カスタム スクリプトなどのポリシー定義言語またはフレームワークを使用して、ポリシーをコードとして記述します。
- ポリシー チェックを組み込むことでCI/CD パイプラインと統合し、定義されたポリシーに対してインフラストラクチャーとアプリケーションの変更を自動的に評価します。
- 継続的な監視を実装して、ポリシー違反をリアルタイムで検出し、修復アクションを自動的に実施します。
- レポートとログを生成して、ポリシーのコンプライアンスを追跡し、ガバナンスを目的とした監査証跡を作成します。
Detection as Code
DaC は、セキュリティの監視および検出機能を、DevOps パイプラインのコードおよびインフラストラクチャーデプロイメントプロセスに直接組み込む手法を指します。このアプローチは、ソフトウェア アプリケーションとインフラストラクチャーコンポーネントの開発とデプロイメントに加えて、セキュリティ制御と監視メカニズムのデプロイメントを自動化することを目的としており、これにより、SDLC の初期段階でセキュリティプラクティスを変更することができます。これは、セキュリティやイノベーションの速度のいずれについても妥協する必要がないことを意味します。
企業に DaC を導入するには、次のステップを行います:
- コードと自動化との統合をサポートする監視および検出ツールを選択してください。これには、Falco、Prometheus、Grafana、AWS CloudWatch、Azure Monitor、ELK Stack (Elasticsearch、Logstash、Kibana) などのツール、またはカスタムスクリプトが含まれる可能性があります。
- 企業全体の潜在的な脅威や異常を検出するために監視する必要があるセキュリティ イベント、メトリクス、ログ、インジケーターを特定することにより、監視要件を定義します。これには、システム ログ、アプリケーション ログ、ネットワーク トラフィック、ユーザー アクティビティなどが含まれる可能性があります。
- 選択した監視ツールまたはフレームワークを使用して、検出ルールとロジックをコードとして記述します。これには、クエリ、ルール、アラート、しきい値を宣言型またはスクリプトベースの形式で記述することが含まれます。
- CI/CD パイプラインと統合して、アプリケーションのデプロイメントと並行して監視構成を自動的にデプロイします。 IaCの原則を使用して、監視リソースをプロビジョニングおよび構成します。
- インフラストラクチャー自動化ツールを使用してデプロイメントを自動化し、デプロイメントプロセスの一環として検出および監視インフラストラクチャーをプロビジョニングおよび構成します。これには、監視エージェント、ログ パイプライン、ダッシュボードなどが含まれる場合があります。
- 事前定義された検出ルールに基づいて、継続的な監視とリアルタイムのアラートを実装します。セキュリティイベントと異常が速やかに検出され、自動応答または通知がトリガーされるようにします。
- 観察されたセキュリティ イベント、インシデント対応からのフィードバック、変化する脅威の状況に基づいて、検出ルールを継続的に監視および調整します。
- セキュリティオーケストレーションプラットフォームと統合して、検出されたセキュリティ イベントに基づいてインシデント対応、調査、修復のワークフローを自動化します。
- コンプライアンス チェックを実装し、監視データに基づいてレポートを生成して、セキュリティ ポリシー、規制、標準への準拠を確保します。
安全なサプライチェーンによるリスク管理の強化
徹底的なリスク管理には、すべてのコードと依存関係を包括的に分析して、潜在的な脆弱性とセキュリティの問題を特定することが含まれます。 IaC や PaC などの「コードとして」アプローチを実装すると、開発およびデプロイメントのライフサイクル全体を通じてコードと依存関係の信頼性、整合性、有効性を確保するという目標がサポートされます。
セキュリティをさらに強化し、リスクを軽減するには、パブリック ソースだけに頼るのではなく、プライベート レジストリとリポジトリを使用して安全なコンポーネントを取得することをお勧めします。ただし、Sysdig 2024 クラウド ネイティブ セキュリティと使用状況レポートによると、実際にはその逆が当てはまります。レポートでは、組織の大多数が依然としてパブリックリポジトリを使用していると指摘しています。パブリックリポジトリは、可視性が低下し、悪意のあるコンポーネントや侵害されたコンポーネントにさらされる可能性があるため、リスクが増大する可能性があります。
さらに、サプライ チェーンの調達中に、ベンダーからの部品表 (BOM) が確実に含まれ、合意されていることを確認するために、財務チームと法務チームが関与することが重要です。このプロアクティブなアプローチは、透明性を通じて潜在的な攻撃対象領域とサプライチェーンのリスクに対処し、安全でないコンポーネントや無許可のコンポーネントをソフトウェアやシステムに組み込むリスクを軽減します。
エンジニアリングで選択された標準に基づいて独自の BOM を維持および文書化することで、ソフトウェアコンポーネントの管理における透明性と説明責任が確保されます。これらの BOM は、ソフトウェアまたはシステム要素の構成を正確に記述し、規制標準および開示要件に準拠している必要があります。これにより、セキュリティを優先し、ソフトウェア開発とサプライ チェーン管理における潜在的な脅威を軽減する堅牢なリスク管理プログラムに貢献します。
ポリシーのガードレールで攻撃対象領域を最小限に抑える
リスクは、システムが強化された安全なベースラインから逸脱したときに発生します。これは、手動による変更、ソフトウェアの更新、またはシステムの状態を徐々に変更するその他の要因によって発生する可能性があります。構成の誤りやドリフトにより、攻撃者が脆弱性を悪用して不正アクセスを行う機会が生まれます。これらのリスクを軽減するには、ポリシー ガードレールまたは制限的なパラメーターを実装して、安全な構成を強制し、システムが定義済みのセキュリティベースラインに準拠していることを確認します。
これらのガードレールは、構成やドリフトを防ぎ、環境の整合性とセキュリティを維持するための予防的な対策として機能します。ドリフト制御メカニズムを実装することで、組織は安全な構成への準拠を継続的に監視および実施し、誤った構成によるセキュリティ インシデントの発生の可能性を減らすことができます。
まとめ
多様な規制要件に準拠しながら、安全でコンプライアンスに準拠したサービスを提供することは、ますます困難になっています。コンプライアンス要件を満たし、回復力を維持するには、積極的かつ継続的な改善アプローチが必要です。これを実現する最善の方法は、調整、コラボレーション、およびドキュメントの透明性を確保することです。