威脅建模活動概述
3)威脅建模活動概述
威脅建模主要流程包括五步:確定安全目標(biāo)、確定建模對象、識別威脅、評估威脅和消減威脅:
◇確定安全目標(biāo)
清晰的目標(biāo)可幫助實施者調(diào)整威脅建模活動,并確定在后續(xù)步驟上花費多少努力。 ◇確定建模對象
確定要保護和評估的對象,了解軟件應(yīng)用的可信任邊界之內(nèi)的所有功能組件。威脅建模中常用“資產(chǎn)”來描述對象,這里資產(chǎn)可能指軟件系統(tǒng)本身、信息的可用性、或者信息內(nèi)容本身,例如客戶數(shù)據(jù)。
◇識別威脅
發(fā)現(xiàn)組件或進程存在的威脅。威脅是一種不希望發(fā)生、對資產(chǎn)目標(biāo)有害的事件。從本質(zhì)上看,威脅是潛在事件,它可能是惡意的,也可能不是惡意的。因此,威脅并不等于漏洞。
◇評估威脅
對威脅進行分析,評估被利用和攻擊發(fā)生的概率,了解被攻擊后資產(chǎn)的受損后果,并計算風(fēng)險。
◇消減威脅
根據(jù)威脅的評估結(jié)果,確定是否要消除該威脅以及消減的技術(shù)措施。在設(shè)計階段,可以通過重新設(shè)計,以直接消除威脅,或設(shè)計采用技術(shù)手段來消減威脅。在本階段,應(yīng)在確定消減威脅手段后繼續(xù)評估是否可以接受殘余的安全風(fēng)險。
在威脅建模實施過程中,可供參考的一些建議如下:
確保所有的威脅模型符合起碼的威脅模型質(zhì)量要求。所有的威脅模型必須包含數(shù)據(jù)流程圖,資產(chǎn)描述,威脅與漏洞描述、緩解措施。威脅建模可以使用各種不同的方式和工具、文檔來定義和創(chuàng)建。
確保威脅模型輸出的數(shù)據(jù)和文件(功能/設(shè)計規(guī)范要求等)都已經(jīng)被文檔控制系統(tǒng)存儲并正確地被軟件開發(fā)人員所使用。
針對威脅上的每個漏洞形式和緩解措施。建立一個獨立的工作小組進行檢查和驗證。這樣可以讓質(zhì)量管理組織確保每個緩解措施都得以真正地實施。
針對所有的威脅模型以及提出的緩解措施,應(yīng)該由至少一個開發(fā)人員,一個測試人員,一個項目經(jīng)理參與審查并批準(zhǔn)。咨詢軟件架構(gòu)師、開發(fā)人員、測試人員、項目經(jīng)理、用戶或者其他軟件相關(guān)的人員有助于威脅模型和緩解措施盡可全面。
微軟提出使用STRIDE模型來進行威脅建模的實踐,STRIDE由Spoofing(假冒)、Tampering(篡改)、Repucliation(否認)、Information Disc,losure(信息泄漏)、Denial of Service(拒絕服務(wù))和Elevatio,,of Privilege(提升權(quán)限)的第一個字母組合而成,如下表所