Microsoft Online Services のセキュリティの開発と運用の概要
Microsoft のセキュリティ開発ライフサイクル (SDL) は、セキュリティで保護されたソフトウェアの開発および運用に重点を置いたセキュリティ保証プロセスです。 SDL には、Microsoft の開発者やエンジニアにとって、より多くの測定可能なセキュリティ要件が用意されています。 Microsoft は、お客様の製品とサービスの脆弱性の数と重大度を削減します。 Microsoft Online Services はすべて SDL 要件に従う必要があり、変化する脅威の状況、業界のベスト プラクティス、コンプライアンスに関する規制基準を反映するように SDL を継続的に更新します。
Microsoft の SDL のフェーズ
Microsoft は DevOps モデルに SDL プラクティスを組み込み、セキュリティとプライバシーが製品とサービスの中核的な焦点であり続けることを保証しています。 お客様と Microsoft Online Services データを保護するために、Microsoft のすべての開発は、お客様のテナントにアクセスすることなく、運用環境から完全に分離された開発環境で行われます。 さらに、運用環境へのアクセスは、サービスを運用しているエンジニアに限られ、これらの運用環境は、Microsoft の社内ネットワークからも分離されています。
Microsoft の SDL プロセスは、開発の 5 つのフェーズで考えることができます。
- 要件: セキュリティ、プライバシー、機能の要件が定義され、サービスが設計される基盤として機能します。
- 設計: サービス アーキテクチャは、定義された要件を満たすように設計されており、潜在的な脅威の特定、分類、評価に役立つ脅威モデルが作成されます。
- 実装: コードは、承認済みのセキュリティで保護された開発ツールを使用して、定義された設計仕様に従って記述されます。
- 検証: サービス コードは、定義された要件を満たし、コーディング エラーやセキュリティ上の欠陥がないことを確認するために、自動的かつ手動で確認されます。
- リリース: 承認されたビルドは、内部テスト環境から始まり、完全な運用スコープで終わる安全なデプロイ プロセスを使用して徐々にロールアウトされます。
上記の 5 つの主要な開発フェーズに加えて、SDL をサポートする 2 つの関連するセキュリティ アクティビティがあります。 Microsoft の製品とサービスを開発する Microsoft の担当者は、SDL を理解し、防御的な考え方を育むセキュリティ指向のトレーニングを完了する必要があります。 リリース後、新しい運用サービスは、Microsoft のセキュリティ監視と脆弱性管理プロセスを介して監視され、セキュリティ体制が維持され、Microsoft がそのライフサイクルを通じて潜在的な脅威に対応できることを確認します。
以降のユニットでは、Microsoft が SDL の要件をどのように実装しているかを確認します。
- セキュリティ意識と安全な開発を実践するための研修が必要です。
- セキュリティおよびプライバシーの要件を定義し、脅威モデルを最新の状態に維持するために、手動でのコード レビューが必要です。
- SDL ツールを自動的に実行し、ビルド プロセスの一部としてコード内にあるセキュリティの問題を検出します。
- セキュリティのベスト プラクティスを維持するために、運用のセキュリティ要件を適用し、テストします。
- リリース前に、セキュリティとプライバシーのレビューを行います。
- コンポーネント ガバナンス (CG) を使用してオープン ソースのソフトウェアを管理します。