リスクベースのコントロールテスト
リスクベースのコントロールテストとは何か?
リスクベースのコントロールテストとは、GitLab の SaaS プラットフォームに対する SOC 2 レポートおよび情報セキュリティマネジメントシステムの範囲を超えてコントロールが効果的に運用されていることを確認するためのコントロールテストおよびモニタリングを指します。これらの SaaS プラットフォームには、顧客が最も保証を必要とする領域に基盤的コントロールが整備されています。
リスクベースのコントロールテストは、プロアクティブで、組織にとって最も重大なリスクの緩和に焦点を当てており、セキュリティを維持するためのより効果的かつリソース効率の高い手段を提供します。GitLab の四半期リスク評価などの指標によって駆動される適応型のアプローチであり、セキュリティ体制を継続的に改善することを目指しています。
これに対して、SaaS プラットフォームのコントロールモニタリングは、外部監査人がテストするものに合わせており、より標準化されコンプライアンス駆動型で、特定の標準(SOC 2、ISO 27001、PCI DSS など)の要件をコントロールが満たしていることを検証するために通常は固定間隔で実施されます。
外部認証の維持を超えてコントロールおよびシステムの健全性についてレポートすることで、組織全体のコントロールの健全性をより明確に可視化できます。
なぜ外部認証に含まれないコントロールをテストするのか?
Security Compliance チームとして、また第二防衛ラインの重要な一部として、私たちはセキュリティコントロールが会社全体で効果的に運用されていることを保証する責任を負い、適切な注意とリソース配分を検討できるようリーダーシップにコンプライアンス体制を伝える責任があります。私たちは認証維持にとどまらないリスク緩和の価値を提供する必要があります。
ハイリスクなコントロールに焦点を当てることで、コンプライアンスチームはリソースを最適化し、最も重要なリスクが効果的に管理されるようにしつつ、低リスク領域に不必要にリソースを割り当てないようにできます。
外部認証(SOC2、SOX、FedRamp など)は、フレームワークに関連する環境の特定の要素・部分を対象とします。
たとえば SOX の場合、これは財務・会計プロセスをサポートするシステムだけを意味します。SOC2 の場合、これは顧客データが保存されるあらゆる場所、または顧客が使用する製品に直接関わる環境の部分を意味する可能性があります。GitLab の環境はこれらの環境セグメントよりもはるかに広範であり、リスクベースのコントロールテストによって、まだテストやモニタリングがされていないその他のリスクの高いシステムやプロセスに対するコントロールを測定・評価でき、コントロールの健全性をより詳細に把握できます。
テストするコントロールはどのように選択されるのか?
コントロールは、私たちが企業として既に行っているさまざまなリスク評価および影響評価に基づいて優先順位付けされます。
リスクベースのコントロールテストのコントロールを選択するにあたっては、以下の属性を考慮します。
- Tech Stackに基づくクリティカルシステムティア
- 社内ハンドブックの Threat Intelligence による Crown Jewels
- Tech Stackによるデータ分類
- SaaS/ベンダーに関連するリスク(たとえば最近の侵害事件)
- 特定されたリスクのカバレッジ(Security Risk Teamが特定したリスク、CIS Top 18 Critical Security Controls、既知のギャップなど)
- NIST 800-53B に基づくコントロールのベースラインレベル
- コントロールが最後にテストされてからの経過時間
- 過去の観察事項
- コントロールの性質(手動、半自動、自動など)
- 規制ガイダンス
- 人、プロセス、テクノロジーの変更
一部のコントロールは既にコントロールモニタリングプロセスを通じてテストされているため、これらのコントロールはテスト対象として優先されません。テスト戦略は、新たなリスクが出現したり、コントロールが効果的に機能していると判断されたりする際に時間とともに適応します。それは動的であり、内部の変更(システム更新など)や外部要因(新しい規制要件など)に基づくリスク変化を考慮します。
チームは四半期ごとに調整して、上記の基準に基づいて翌四半期にテストするコントロールを特定します。
リスクベースのコントロールテストでは、どれくらいの頻度でコントロールをテストしますか?
Security-Compliance は四半期ごとにリスクベースのコントロールテストを実施しますが、特定のコントロールのテスト頻度もリスクに基づいて決定されます。理想的には、テストは過去のテスト結果と、コントロール環境全体への洞察を広げることのバランスを取ります。コントロールが効果的に設計・運用されており、プロセスがほとんどエラーの影響を受けないと判断した場合、毎四半期同じコントロールをカバーするのではなく、別のコントロール/システムをテストすることを選択する場合があります。
リスクベースのコントロールテストの結果はどのようにレポートしますか?
現在、各四半期末にエピックの概要 Issue と Slack で更新を提供しています。時間の経過とともに結果を示す意味のあるメトリクスを検討中です。
リスクベースのコントロールテストのリクエスト
上記の基準に基づいてテストすべきと考えるプロセス、システム、コントロールがあり、私たちがまだカバーしていないものについては、以下のステップに従ってください。注: システム全体(新規または変更中)を評価してもらうには、セキュリティシステムインテークプロセスを参照してください。
1. コントロールがすでにテストされていないことを確認する
Program Readmeのスケジュールを参照して、対象のプロセス、システム、コントロールがまだテスト計画に含まれていないことを確認してください。
2. Security Compliance インテーク Issue を作成する
推奨事項 Issueを作成してください。
3. Security Compliance が以下のワークフローを完了する
- GAS でテストの現状を確認
- 上記の基準と推奨事項 Issue に記載された詳細に基づいてコントロールをレビュー
- リクエスト元へのフィードバックを Issue で提供
- 必要に応じて四半期テストスケジュールを更新
5d840611)