Microsoft Online Services 安全性開發和作業簡介
Microsoft 的安全性開發生命週期 (SDL) 是一個著重於開發及操作安全軟體的安全性保證程序。 SDL 為 Microsoft 的開發人員和工程師提供了詳細且可測量的安全性需求,以降低我們產品和服務弱點的數量和嚴重性。 所有 Microsoft Online Services 都必須遵循 SDL 需求,而且我們會持續更新 SDL,以反映不斷變化的威脅環境、業界最佳做法,以及合規性法規標準。
Microsoft 的 SDL 階段
Microsoft 已將 SDL 做法建置到 DevOps 模型中,以確保安全性和隱私權仍然是我們產品和服務的核心焦點。 為了保護客戶和 Microsoft Online Services 數據,Microsoft 的所有開發都會在完全與生產環境隔離的開發環境中進行,而不會存取客戶租使用者。 此外,只有操作服務的工程師才能存取生產環境,且這些環境與 Microsoft 公司網路完全隔離。
Microsoft 的 SDL 程式可從五個開發階段考慮:
- 需求:已定義安全性、隱私權和功能性需求,作為設計服務的基礎。
- 設計:服務架構的設計目的是要符合定義的需求,並建立威脅模型來協助識別、分類和評分潛在威脅。
- 實作:使用已核准的安全開發工具,以定義的設計規格撰寫程序代碼。
- 驗證:服務程式代碼會自動和手動檢閱,以確保它符合定義的需求,而且沒有程式代碼撰寫錯誤和安全性缺陷。
- 版本:核准的組建會使用安全的部署程式逐步推出,從內部測試環境開始,並以完整的生產範圍結束。
除了上述五個核心開發階段之外,還有兩個支援 SDL 的相關安全性活動。 開發產品和服務的 Microsoft 人員必須完成安全性導向訓練,以瞭解 SDL 並培養防禦思維。 發行之後,新的生產服務會透過 Microsoft 的安全性監視和弱點管理程式進行監視,以確保其安全性狀態維持不變,且 Microsoft 可以在整個生命週期中回應潛在威脅。
在後續單元中,我們將以下列方式探索 Microsoft 如何實作 SDL 需求:
- 需要安全性認知和安全開發做法的訓練。
- 定義安全性和隱私權需求、維護最新的威脅模型,以及要求手動程式碼檢閱。
- 在建置過程中自動執行 SDL 工具,以偵測程式碼中的安全性問題。
- 強制執行和測試作業安全性需求,以維護安全性最佳做法。
- 在發行前執行安全性和隱私權檢閱。
- 使用元件管理 (CG) 來管理開放原始碼軟體。