0x00 背景
威脅建模工具是 Microsoft 安全開發生命週期 (SDL) 的核心要素。潛在安全問題處於無需花費過多成本即可相對容易解決的階段,軟件架構師可以使用威脅建模工具提前識別這些問題。因此,它能大幅減少開發總成本。此外,我們設計該工具時考慮到了非安全專家的體驗,爲他們提供有關創建和分析威脅模型的清晰指導,讓所有開發人員都可以更輕鬆地使用威脅建模。
通過使用Microsoft threat-modeling工具進行進行威脅建模
0x01 下載安裝
前期準備:
- 需要安裝netframework 4.7.1 及其以上
- 下載代理程序後,需要聯網進行安裝
軟件下載安裝:
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool
0x02 入門指南
指導你開始使用 Microsoft SDL 威脅建模方法的過程,並演示如何使用該工具來開發優秀的威脅模型,以作爲安全進程的主幹。詳細文檔在微軟官網有連接,此外可以百度:威脅建模工具Microsoft Threat Modeling Tool
入門
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool-getting-started
威脅建模工具功能概述
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool-feature-overview
威脅
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool-threats
發行版
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool-releases
0x03 緩解措施
威脅建模工具緩解措施根據 Web 應用程序安全框架分類,具體如下:
類別 |
描述 |
誰在何時做了什麼? 審覈與日誌記錄是指應用程序如何記錄安全相關的事件 |
|
你是誰? 身份驗證是某個實體證明另一實體的身份的過程,這通常是通過用戶名和密碼等憑據完成的。 |
|
該怎麼辦? 授權是指應用程序如何提供對資源和操作的訪問控制 |
|
在與誰對話? 通信安全可確保以儘量安全的方式進行所有通信 |
|
應用程序的運行身份是什麼? 它連接到哪些數據庫? 如何管理應用程序? 如何保護這些設置? 配置管理是指應用程序如何處理這些操作問題 |
|
如何保守機密(保密性)? 如何防止對數據或庫(完整性)進行篡改? 如何針對必須強加密的隨機值提供種子? 加密是指應用程序強制實施保密性和完整性 |
|
當應用程序中的方法調用失敗時,應用程序會採取什麼措施? 透露的信息量有多大? 是否向最終用戶返回友好的錯誤信息? 是否向調用方傳回有用的異常信息? 應用程序是否正常失敗? |
|
如何知道應用程序接收的輸入有效且安全? 輸入驗證是指應用程序在進一步處理之前篩選、清理或拒絕輸入。 請考慮通過入口點限制輸入,通過出口點爲輸出編碼。 是否信任數據庫和文件共享等源中的數據? |
|
應用程序如何處理敏感數據? 敏感數據是指應用程序如何處理必須在內存中、通過網絡或在持久性存儲中保護的任何數據 |
|
應用程序如何處理和保護用戶會話? 會話是指用戶與 Web 應用程序之間的一系列相關交互 |
它可以幫助識別:
- 最常見的錯誤發生在哪個位置
- 可在哪個位置實施可行性最大的改進
因此,可以使用這些類別來重點完成並優化安全工作,以便在輸入驗證、身份驗證和授權類別中出現最流行的安全問題時,可以從這些位置着手。
安全框架:審覈和日誌記錄 | 緩解措施
產品/服務 |
文章 |
Dynamics CRM |
|
Web 應用程序 |
|
數據庫 |
|
Azure 存儲 |
|
WCF |
|
Web API |
|
IoT 現場網關 |
|
IoT 雲網關 |
安全框架:身份驗證 | 緩解措施
產品/服務 |
文章 |
Web 應用程序 |
|
數據庫 |
|
Azure 事件中心 |
|
Azure 信任邊界 |
|
Service Fabric 信任邊界 |
|
標識服務器 |
|
計算機信任邊界 |
|
WCF |
|
Web API |
|
Azure AD |
|
IoT 現場網關 |
|
IoT 雲網關 |
|
Azure 存儲 |
安全框架:授權 | 緩解措施
產品/服務 |
文章 |
計算機信任邊界 |
|
Web 應用程序 |
|
數據庫 |
|
IoT 雲網關 |
|
Azure 事件中心 |
|
Azure Document DB |
|
Azure 信任邊界 |
|
Service Fabric 信任邊界 |
|
Dynamics CRM |
|
Dynamics CRM 門戶 |
|
Azure 存儲 |
|
移動客戶端 |
|
WCF |
|
Web API |
|
IoT 設備 |
|
IoT 現場網關 |
安全框架:通信安全 | 緩解措施
產品/服務 |
文章 |
Azure 事件中心 |
|
Dynamics CRM |
|
Azure 數據工廠 |
|
標識服務器 |
|
Web 應用程序 |
|
數據庫 |
|
Azure 存儲 |
|
移動客戶端 |
|
WCF |
|
Web API |
|
用於 Redis 的 Azure 緩存 |
|
IoT 現場網關 |
|
IoT 雲網關 |
安全框架:配置管理 | 緩解措施
產品/服務 |
文章 |
Web 應用程序 |
|
數據庫 |
|
Web API |
|
IoT 設備 |
|
IoT 現場網關 |
|
IoT 雲網關 |
|
計算機信任邊界 |
|
Azure 存儲 |
|
WCF |
安全框架:加密 | 緩解措施
產品/服務 |
文章 |
Web 應用程序 |
|
數據庫 |
|
IoT 設備 |
|
IoT 雲網關 |
|
Dynamics CRM 移動客戶端 |
|
Dynamics CRM Outlook 客戶端 |
|
標識服務器 |
安全框架:異常管理 |緩解措施
產品/服務 |
文章 |
WCF |
|
Web API |
|
Web 應用程序 |
安全框架:輸入驗證 | 緩解措施
安全框架:敏感數據 | 緩解措施
產品/服務 |
文章 |
計算機信任邊界 |
|
Web 應用程序 |
|
數據庫 |
|
Web API |
|
Azure Document DB |
|
Azure IaaS VM 信任邊界 |
|
Service Fabric 信任邊界 |
|
Dynamics CRM |
|
Azure 存儲 |
|
移動客戶端 |
|
WCF |
安全框架:會話管理
產品/服務 |
文章 |
Azure AD |
|
IoT 設備 |
|
Azure Document DB |
|
ADFS |
|
標識服務器 |
|
Web 應用程序 |
可通過 HTTPS 使用的應用程序必須使用安全 Cookie 所有基於 HTTP 的應用程序只應爲 Cookie 定義指定 HTTP |
Web API |
風險緩解具體文檔
https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool-mitigations
歡迎大家分享更好的思路,熱切期待^^_^^ !