文摘 威脅建模 STRIDE方法

2021-06-28 21:14:19 字數 1861 閱讀 4638

威脅建模的本質:儘管通常我們無法證明給定的設計是安全的,但我們可以從自己的錯誤中汲取教訓並避免犯同樣的錯誤。

首先需要知道什麼樣的設計是「安全的」,安全設計原則:

開放設計——假設攻擊者具有源**和規格。

故障安全預設值——出故障時自動關閉,無單點故障。

最低許可權——只分配所需的許可權。

機制經濟性——保持簡單、易懂的特性。

分離許可權——不允許根據單一條件執行操作。

總體調節——每次檢查所有內容。

最低公用機制——注意保護共享資源。

心理可接受性——他們將使用它嗎?

更進一步,設計完的系統應具有哪些安全相關的屬性?

機密性——資料只應限具有許可權的人員訪問。

完整性——資料和系統資源只限適當的人員以適當的方式進行更改。

可用性——系統在需要時一切就緒,可以正常操作。

身份驗證——建立使用者身份(或者接受匿名使用者)。

授權——明確允許或拒絕使用者訪問資源。

認可——使用者無法在執行某操作後否認執行了此操作。

使用stride方法來進行威脅建模,確保應用具有這些安全屬性。stride是指:

spoofing(假冒) 對應 身份驗證。

tampering(篡改) 對應 完整性。

repudiation(否認) 對應 認可。

information disclosure(資訊洩露) 對應 機密性。

denial of service(拒絕服務) 對應 可用性。

elevation of privilege(提公升許可權) 對應 授權。

使用資料流關係圖(dfd)來輔助stride分析,將系統分解成部件,並證明每個部件都不易受相關威脅攻擊。dfd正確是確保威脅模型正確的關鍵所在。fdf包含如下元素:

資料流:通過網路連線,命名管道,rpc通道等移動的資料。

資料儲存:表示檔案,資料庫,登錄檔項以及類似項。

程序:計算機執行的計算或程式。

互動方:系統的端點,例如人,web伺服器和伺服器。

信任邊界:表示可信元素與不可信元素之間的邊界。

在應用stride進行威脅建模分析時,需要注意的問題點:

1、客戶可能從來不會明確提出某些安全性的要求,因此,設計人員必須找到問題描述中內在的安全性要求。

2、不僅必須從乙個攻擊者的角度來看待風險問題,還必須「同時」從所有的攻擊者的角度來全盤考慮安全問題。

3、dfd是否切合實際的常規判斷依據:

第一,資料不是憑空臆造的,確保對於每個資料儲存,都有讀取者或寫入者。

第二,注意資料傳輸過程的靈魂作用,確保始終有乙個程序讀取和寫入資料。

第三,將單個信任邊界內的相似元素收縮為單個元素,以便於建模。

第四,注意信任邊界任一側的建模細節,嘗試顯示更詳細的資訊。

4、信任邊界的真正定義——不相信另一端的任何事物。

5、你根本想象不到其他人為何需要你的資料,你只需認為有人需要你的資料。

6、你與客戶相距越遠,就越難以知道客戶對於不同風險的承受程度。不要對客戶的情形或風險承受程度做過多的假設。

7、攻擊者可能是內部人員,而不是外部人員。他們可能具有合法的訪問許可權,可以訪問資料庫以完成自己的工作。

8、針對每個威脅和dfd中的每個元素進行分析:針對所有資料流和資料儲存解決了篡改、資訊洩露和拒絕服務威脅;針對所有程序解決了所有stride威脅;針對所有互動方解決了假冒和否認威脅;並解決了影響信任邊界的獨特威脅。

9、stride模型很好的一點在於,它能讓你洞察你所需的抑制措施的本質。

10、使用預構建的威脅樹可以確保不會忽略已知的攻擊。

總結:對於任何挑戰,乙個好的策略是將問題分解成若干更易於解決的小問題。關鍵一點是找到適合你的方法,較早將其應用於設計中,記住任何元件都可能失敗,並進行必要的研究,以確保你已考慮了已知的攻擊模式

文摘 威脅建模 STRIDE方法

威脅建模的本質 儘管通常我們無法證明給定的設計是安全的,但我們可以從自己的錯誤中汲取教訓並避免犯同樣的錯誤。首先需要知道什麼樣的設計是 安全的 安全設計原則 開放設計 假設攻擊者具有源 和規格。故障安全預設值 出故障時自動關閉,無單點故障。最低許可權 只分配所需的許可權。機制經濟性 保持簡單 易懂的...

安全 安全要素與 STRIDE 威脅

stride 威脅 stride 威脅,代表六種安全威脅 身份假冒 spoofing 篡改 tampering 抵賴 repudiation 資訊洩露 information disclosure 拒絕服務 denial of service 特權提公升 elevation of privilege...

STRIDE 2 安全威脅分析設計

stride威脅分析方法的核心是在資料流元素和威脅之間建立結構化的對映關係,非常適合工程化 這裡提及威脅這個概念,讓我想去年英國的安全專家花了約1.5h解釋什麼叫威脅 什麼叫漏洞,哪個吐沫星子亂濺迷人眼呀,這裡把專家的說明轉述一下 1 脆弱點 脆弱點是一種系統缺陷,可以在安全開發的各個階段引入,包括...