FineArt News

STRIDE威脅建模在企業內外部威脅應用

威脅建模是什麼?

威脅建模(STRIDE):透過站在「攻擊者或是竊取者一樣的思路」以結構化的方法以及系統的識別,來評估產品、資訊系統或內部竊取的風險和威脅。針對這些風險與威脅,制定消除(減)措施的建模手段。建議再搭配ATT&CK 的12項元素(界定在APT3.0的技術元素),若仔細分析,可以發現可是更細膩STRIDE可以形成更完善的威脅建模,更可用在Hacking 行為、Insider Threat、以及Malware APT防護上。

威脅建模可以在產品設計階段、架構評審階段或產品運行時展開,強迫我們站在攻擊者的角度去評估產品的安全性與防禦有效性,分析產品或是系統中每個元件是否可能被篡改、偽造,是否可能會造成資訊洩露、遭受攻擊。威脅建模的作用更偏向於確保產品架構、功能設計的安全,無法保證編碼的安全,但是輸出的威脅建模報告中包含了全面的安全需求,這些安全需求不僅包括大的方案設計,如要身分認證(Authentication)、取得授權 (Authorization)、稽核(Auditing),也可以包括安全細節的實現,採用具體的驗證方式、密碼使用安全的演算法儲存、生成安全亂數等。所以,威脅建模雖不能保證Encoding的安全,但可指引R&D編寫出安全的代碼,並輔助滲透測試的展開工作。

 

為什麼要做威脅建模

  1. 站在攻擊者的角度通過識別威脅,盡可能多的發現產品架構和功能設計中的安全風險
  2. 制定措施消減威脅,規避風險,確保產品的安全性與防禦強度

 

應該在什麼時候做威脅建模

威脅建模應融入企業的軟體發展安全生命週期(SDL)中。

  1. 新產品或新功能的設計階段
    應展開威脅建模,發現風險、制定消減措施,消減措施是安全需求的一部分,需落入產品需求追蹤,確保產品安全。
  1. 系統運行過程中
    可以展開威脅建模,發現的風險可以為企業滲透測試提供支援,盡可能發現更多的漏洞。

 

常用的威脅建模方法—STRIDE

STRIDE 是微軟開發用於威脅建模的方法和工具。 

STRIDE 的六類威脅

STRIDE 是從攻擊者的角度,把威脅劃分成 6 個類別,分別是 Spooling(偽造)、Tampering(篡改)、Repudiation(抵賴否認)、Information Disclosure(資訊洩露)、DOS(阻斷服務) 和 Elevation of privilege (提權)。

為什麼劃分這 6 類,這與資訊安全三要素和資訊安全基本的三個屬性相關。

資訊安全三要素

資訊安全三屬性

保密性

身分認證(Authentication)

完整性

取得授權(Authorization)

可用性

稽核(Auditing)

 

威脅

安全屬性

定義

舉例

偽造(S)
Spoofing

認證

冒充人或物

冒充其他用戶帳號

網址偽造偽裝某個的網站

篡改(T)
Tampering

完整性

修改資料或代碼

修改訂單資訊、修改軟體所需要的DLL植入惡意程式,或是竄改封包

抵賴否認(R)
Repudiation

稽核

不承認做過某行為

不承認修改行為、否認發送過某個 Email,或拒絕承認瀏覽過某個網站

資訊洩露(I)
Information Disclosure

保密性

資訊被洩露或竊取

使用者資訊被洩露,無論是惡意或是無意,將重要的客戶資料流出,讓未經授權的人使用

阻斷服務(D)
Denial of Service

可用性

消耗資源、服務可不用

DDOS 導致網站不可用,系統無法運作,或是網站無法服務

提權(E)
Elevation of Privilege

授權

未經授權獲取、提升許可權

普通用戶提升到管理員,讓一個遠端一般使用者,透過非正常的管道,提升權限能夠執行一些只有系統管理員才能使用的指令集

 

隨著全球對隱私保護重視程度的加大,隱私安全也成了產品的一個重要威脅,因此 STRIDE 的 6 個威脅也添加了一項隱私(Privacy),也就變成了 ASTRIDE,A 代表 Advanced。