威脅建模是一個嚴格的過程,旨在在設計的早期階段識別和糾正潛在的產(chǎn)品漏洞。您創(chuàng)建的威脅模型描述了您的產(chǎn)品組件如何與用戶一起工作,并列舉了潛在的威脅和減輕這些威脅的對策。理想情況下,您會希望在設計過程的早期對每個系統(tǒng)進行威脅建模,此時可以以比產(chǎn)品完成時低得多的成本進行更改。威脅建模是安全開發(fā)生命周期 (SDL) 計劃的重要組成部分,可確保您的組件、系統(tǒng)和代碼在設計上得到適當保護。威脅建模是軟件開發(fā)人員和信息技術系統(tǒng)工程師和架構師的一項重要工作。即使您沒有構建您運行的系統(tǒng),定期進行威脅建模練習會迫使您像攻擊者一樣思考,并會激發(fā)提高產(chǎn)品安全性的想法。當然,只要對系統(tǒng)進行重大更改,請務必更新現(xiàn)有的威脅模型。
威脅建模的核心是記錄系統(tǒng)設計元素的過程,特別是從攻擊者的角度來看對這些元素的威脅。該過程涉及了解系統(tǒng)的組件和用戶、這些組件和用戶之間的界限,以及攻擊者可能喜歡的攻擊路徑或威脅向量。這種觀點可幫助您采用基于風險的方法來設計減輕這些威脅的正確保護措施和對策。例如,威脅模型將突出顯示連接敏感數(shù)據(jù)存儲與公共 Web 服務器相鄰的風險,并指導選擇適當?shù)倪壿嫲踩刂埔詫L險降低到可接受的水平。
威脅模型方法
即使互聯(lián)網(wǎng)在 20 世紀 90 年代初開始興起,研究人員和科學家也已經(jīng)開始考慮威脅建模。攻擊樹和威脅樹的早期模型是通過枚舉系統(tǒng)漏洞并系統(tǒng)地檢查攻擊者可能破壞系統(tǒng)的所有方式而開發(fā)的。隨著 Internet 的擴展和利用漏洞成為日常問題,許多公司尋求在其產(chǎn)品的核心中構建更好的安全性。例如,Microsoft 開發(fā)了 STRIDE 威脅模型,該模型成為其自身安全開發(fā)生命周期的重要組成部分。STRIDE 是一個系統(tǒng)的過程,用于發(fā)現(xiàn)潛在威脅并建議針對六個潛在威脅類別的緩解措施:
欺騙
篡改
否認
信息披露
拒絕服務
特權提升
還有其他類型的威脅模型方法論,原理都是類似的。重要的是問問自己可能出了什么問題,然后將這些潛在威脅分類以幫助您考慮適當?shù)膶Σ叩倪^程。例如,您可能將敏感數(shù)據(jù)通過 HTTP 傳輸?shù)竭h程系統(tǒng)視為潛在的信息泄露威脅,可以通過加密網(wǎng)絡流量來緩解這種威脅。
數(shù)據(jù)流程圖
威脅建模的基本要素是數(shù)據(jù)流圖 (DFD),其中包括系統(tǒng)的所有重要組件及其交互。該圖顯示了所有關鍵組件和系統(tǒng)——無論它們分布在本地和云基礎設施中,還是駐留在一臺服務器上或單個應用程序中。DFD 中的方法和詳細程度取決于您的設計。例如,如果您要在網(wǎng)絡上部署新的攝像機,您可能無法對攝像機軟件本身進行威脅建模,但您應該確定攝像機需要與之通信的所有周圍系統(tǒng)、它使用的協(xié)議以及誰將訪問它。請務必將此信息包含在您的 DFD 中。希望相機制造商也對他們的視頻軟件的開發(fā)進行威脅建模。例如,他們的軟件威脅模型可能會識別軟件用來隔離敏感數(shù)據(jù)并與其他對象和系統(tǒng)通信的內(nèi)部邊界、對象和方法。DFD 應顯示對象及其對其他對象的請求和響應,并清楚地劃定不同對象組之間的邊界。例如,您可能會顯示前端網(wǎng)絡應用系統(tǒng)和更敏感的數(shù)據(jù)存儲之間的邏輯邊界。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。軟件用來隔離敏感數(shù)據(jù)并與其他對象和系統(tǒng)通信的方法。DFD 應顯示對象及其對其他對象的請求和響應,并清楚地劃定不同對象組之間的邊界。例如,您可能會顯示前端網(wǎng)絡應用系統(tǒng)和更敏感的數(shù)據(jù)存儲之間的邏輯邊界。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。軟件用來隔離敏感數(shù)據(jù)并與其他對象和系統(tǒng)通信的方法。DFD 應顯示對象及其對其他對象的請求和響應,并清楚地劃定不同對象組之間的邊界。例如,您可能會顯示前端網(wǎng)絡應用系統(tǒng)和更敏感的數(shù)據(jù)存儲之間的邏輯邊界。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。DFD 應顯示對象及其對其他對象的請求和響應,并清楚地劃定不同對象組之間的邊界。例如,您可能會顯示前端網(wǎng)絡應用系統(tǒng)和更敏感的數(shù)據(jù)存儲之間的邏輯邊界。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。DFD 應顯示對象及其對其他對象的請求和響應,并清楚地劃定不同對象組之間的邊界。例如,您可能會顯示前端網(wǎng)絡應用系統(tǒng)和更敏感的數(shù)據(jù)存儲之間的邏輯邊界。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。將您系統(tǒng)的用戶,特別是可能濫用您系統(tǒng)的參與者(或威脅代理)添加到您的 DFD 中。例如,在為您的系統(tǒng)建模授權流程時,將特權操作員與定期獲得證書的員工區(qū)分開來。識別您的 DFD 中潛在的不良行為者并展示他們可能如何訪問您的系統(tǒng)。
通過確定信任邊界、跨越這些邊界的通信以及構成這些通信的人員和內(nèi)容的 DFD,您可以開始查看對系統(tǒng)的潛在威脅。
威脅建模工具
如果您不熟悉威脅建模,那么識別正確的威脅可能會讓人不知所措。幸運的是,有多種威脅建模工具可用于指導您完成此過程并幫助確定要查找的威脅類型。一種免費且易于使用的工具是 Microsoft 威脅建模工具。雖然此工具面向軟件開發(fā)人員和架構師,但它也可以針對基本 IT 運營模型進行擴展。Microsoft 威脅建模工具在嘗試快速掌握威脅建模的基礎知識時特別有用。下載并安裝客戶端,您將在幾分鐘內(nèi)創(chuàng)建您的第一個威脅模型。按照以下步驟使用 Microsoft 威脅建模工具創(chuàng)建威脅模型:
通過拖放各種組件(例如數(shù)據(jù)庫、主機或移動客戶端)并將它們與數(shù)據(jù)流操作鏈接起來,使用圖形界面創(chuàng)建 DFD。
套索對象以創(chuàng)建各種邊界。邊界示例包括物聯(lián)網(wǎng) (IoT) 設備區(qū)域、Azure 信任邊界和遠程用戶區(qū)域。
自定義這些對象以反映您自己的環(huán)境。例如,將數(shù)據(jù)存儲對象屬性設置為您使用的特定 SQL 版本。
完成后,您可以運行報告,該工具將使用這些對象、屬性和邊界來生成并向您顯示初步的威脅列表和建議的緩解措施。您將需要驗證其假設并調整威脅模型以將其改進為您的環(huán)境和特定用例。
還有許多其他針對特定類型的操作模型量身定制的強大的商業(yè)和社區(qū)威脅建模工具。例如,一種工具可能與敏捷軟件開發(fā)過程集成得特別好,而另一種工具可能擅長對傳統(tǒng)信息技術系統(tǒng)進行建模,例如調出特定的防火墻和入侵檢測系統(tǒng)及其配置。其中一些工具執(zhí)行復雜的攻擊模擬,并托管在基于權限的協(xié)作 Web 平臺上,該平臺使您可以輕松地在團隊成員之間共享威脅建模數(shù)據(jù)。
結論
威脅建模是一個直接的過程,用于識別您的系統(tǒng)、系統(tǒng)可能出現(xiàn)的問題以及如何預防。然而,創(chuàng)建一個好的威脅模型有很多細微差別,你會希望確保你自己的過程捕獲正確的數(shù)據(jù),這樣你就不會錯過任何重要的事情。威脅建模工具在幫助提供此框架方面大有幫助。請記住利用 Internet 上的許多威脅建模資源來幫助您設計和構建非常適合您自己環(huán)境的流程。
審核編輯hhy
-
建模
+關注
關注
1文章
321瀏覽量
63311 -
IOT
+關注
關注
190文章
4396瀏覽量
208631
發(fā)布評論請先 登錄
系統(tǒng)c盤滿了怎么清理不需要文件
技術資訊 I 多板系統(tǒng) 3D 建模,提升設計精度和性能
在物聯(lián)網(wǎng)設備面臨的多種安全威脅中,數(shù)據(jù)傳輸安全威脅和設備身份安全威脅有何本質區(qū)別?
使用e203的flashxip模式,需不需要在軟件中對qspi0進行xip模式的設置?
rtt使用的軟件i2c庫進行模擬i2c時序時,不需要加臨界區(qū)保護嗎?
介紹六點采購鋰電池清洗機時要注意的事項
光纖線需不需要套管
深控技術“不需要點表”工業(yè)網(wǎng)關:模溫機數(shù)據(jù)采集難題的終結者與效率倍增器
VirtualLab Fusion應用:多反射系統(tǒng)的非序列建模
設備數(shù)據(jù)的采集可以實現(xiàn)用“不需要點表的網(wǎng)關”嗎
KaihongOS操作系統(tǒng):導入接口模塊介紹
深控技術不需要點表的工業(yè)數(shù)采動態(tài)產(chǎn)線重構支持方案
對您的設備操作進行威脅建模有助于識別不需要的暴露
評論