安全性開發和作業概觀

Microsoft如何實作安全的開發作法?

Microsoft 的安全性開發生命週期 (SDL) 是一個著重於開發及操作安全軟體的安全性保證程序。 SDL 為 Microsoft 的開發人員和工程師提供了詳細且可測量的安全性需求,以降低我們產品和服務弱點的數量和嚴重性。 所有Microsoft軟體開發小組都必須遵循 SDL 需求,而且我們會持續更新 SDL,以反映不斷變化的威脅環境、產業最佳做法,以及合規性法規標準。

Microsoft的 SDL 如何改善應用程式安全性?

Microsoft的 SDL 程式可從五個開發階段考慮:需求、設計、實作、驗證和發行。 首先是定義軟體需求,並考量安全性。 我們會詢問有關應用程式必須完成之作業的安全性相關問題。 例如,應用程式是否需要收集敏感數據? 應用程式是否會執行敏感性或重要工作? 應用程式是否需要接受不受信任的來源提供的輸入?

找出相關的安全性需求後,我們即可設計軟體以納入符合這些需求的安全性功能。 我們的開發人員會在程式碼中實作 SDL 和設計需求,而我們可透過手動程式碼檢閱、自動化安全性工具和滲透測試,加以驗證。 最後,在發行程序代碼之前,新功能和材料變更會進行最終的安全性和隱私權檢閱,以確保符合所有需求。

如需 SDL 的詳細資訊,請參閱 Microsoft 安全性開發生命週期]

如何Microsoft測試常見弱點的原始程式碼?

為了支援我們的開發人員在程式碼開發期間和發行後執行安全性需求,Microsoft 提供了一套安全開發工具,可自動檢查原始程式碼中的安全性瑕疵和弱點。 Microsoft定義併發佈核准的工具清單,以供開發人員使用,例如編譯程式和開發環境,以及Microsoft建置管線內自動執行的內建安全性檢查。

在將程式代碼簽入發行分支之前,SDL 需要個別檢閱者手動檢閱程序代碼。 程式碼檢閱者會檢查程式碼錯誤,並確認程式碼變更符合 SDL 和設計需求、通過功能和安全性測試,並能確實可靠地執行。 他們也會檢查相關聯的文件、設定和相依性,以確保系統會適當地記錄程式碼變更,且不會造成非預期的副作用。 如果檢閱者在程式碼檢閱期間發現問題,他們可以要求提交者以建議的變更和其他測試重新提交程式碼。 程式碼檢閱者也可以決定完全封鎖不符合需求的程式碼簽入。 檢閱者認為程式代碼令人滿意之後,檢閱者會提供核准,這是程式代碼繼續進行下一個部署階段之前所需的核准。

除了安全的開發工具和手動程式代碼檢閱之外,Microsoft還會使用自動化安全性工具來強制執行 SDL 需求。 這些工具中有許多都內建在認可管線中,並在簽入和編譯新組建時自動分析程式碼的安全性缺陷。 範例包括常見安全性瑕疵的靜態程序代碼分析,以及分析內嵌秘密程式代碼的認證掃描器。 必須先修正自動化安全性工具所發現的問題,新組建才能通過安全性檢閱並核准發行。

Microsoft如何管理開放原始碼軟體?

Microsoft已採用管理開放原始碼安全性的高層級策略,其使用專為下列目的設計的工具和工作流程:

  • 了解我們的產品和服務中使用哪種開放原始碼元件。
  • 追蹤這些元件的使用位置和方式。
  • 判斷這些元件是否具有任何弱點。
  • 發現影響這些元件的弱點時,作出適當回應。

Microsoft 工程小組會負責產品或服務中包含的所有開放原始碼軟體的安全性。 為了大規模實現此安全性,Microsoft已透過元件控管 (CG) ,將開放原始碼偵測、法律需求工作流程和易受攻擊元件的警示自動化,在工程系統中建置基本功能。 自動化 CG 工具會在Microsoft掃描組建,以取得開放原始碼元件和相關聯的安全性弱點或法律義務。 找到的元件會註冊並提交至適當的小組,以用於商務和安全性審查。 這些審查旨在評估與開放原始碼元件相關的任何法律義務或安全性弱點,並在核准部署元件前加以解決。

Microsoft的 線上服務 會定期稽核,以符合外部法規和認證。 請參閱下表,以驗證與安全性開發和作業相關的控件。

Azure 和 Dynamics 365

外部稽核 Section 最新報告日期
ISO 27001

適用性聲明
認證
A.12.1.2:變更管理控件
A.14.2:開發和支援程序的安全性
2024年4月8日
ISO 27017

適用性聲明
認證
A.12.1.2:變更管理控件
A.14.2:開發和支援程序的安全性
2024年4月8日
SOC 1
SOC 2
SOC 3
SDL-1:安全性開發生命週期 (SDL) 方法
SDL-2:版本中記載的安全性控制需求
SDL-4:隔離測試和生產環境
SDL-6:原始程式碼組建上的惡意代碼掃描
SDL7:半年 SDL 檢閱
2024 年 5 月 20 日

Microsoft 365

外部稽核 Section 最新報告日期
FedRAMP SA-3:系統開發生命週期 2024 年 8 月 21 日
ISO 27001/27017

適用性聲明
認證 (27001)
認證 (27017)
A.12.1.2:變更管理控件
A.14.2:開發和支援程序的安全性
2024 年 3 月
SOC 1
SOC 2
CA-03:風險管理
CA-18:變更管理
CA-19:變更監視
CA-21:變更測試
CA-38:基準設定
CA-46:安全性檢閱
2024 年 8 月 1 日

資源