威脅建模和風險管理框架(Day006)
什麼是威脅建模?
威脅建模是潛在威脅被識別、分類和分析的安全流程。威脅建模在設計和開發過程中可以作為一種積極主動的措施執行,而產品一旦被部署, 就會被作為一種被動式措施。在這兩種情況下, 流程會識別潛在危害、發生的概率、問題優先順序以及消除或減少威脅的手段。
為什麼要做威脅建模?
威脅建模的主動式方法發生於系統開發的早期階段,特別是在初始設計和規範建立階段。這種類型的威脅建模也被稱為防禦方式。這種方式基於編碼和製作流程中對威脅的預測和特定防禦中的設計,而不是依靠部署後的更新和補丁。大多數情況下, 集成安全解決方案更符合成本效益, 比後面硬塞的方案更成功。遺憾的是, 並不是所有的威脅都可以在設計階段預測出來,所以仍然需要被動式的威脅建模來解決不可預見的問題。
威脅建模的被動式方法發生在產品被創建和部署之後。此部署可以在測試或實驗室環境中,或是指被部署到一般市場上。這種類型的威脅建模也被稱為對抗方式。這種威脅建模的技術是道德黑客攻擊、滲透測試、代碼審查和模糊測試背後的核心概念。儘管這些流程通常有助於發現需要解決缺陷和威脅,但遺憾的是, 它們需要額外的編碼努力來增加到新對策中。從長遠來看, 回到設計階段可能會產生更好的產品, 但從頭開始是非常昂貴的,並會造成產品發布時間的極大延遲。因此,捷徑是在部署後精心製作需要增加到產品中的更新或補丁。這樣的結果就是, 可能在犧牲了功能性和用戶友好性的前提下,也未帶來更有效的安全改進(相比主動式威脅建模來說) 。
可能的威脅幾乎是無限的,所以使用一種結構化的方法來準確地識別相關威脅是很重要的。例如, 一些組織使用以下三種方法中的一種或多種:
關注資產這種方法使用資產的估值結果,並試圖識別對於寶貴資產的威脅。例如, 可以評估一個特定的資產, 以確定其是否容易受到攻擊。如果資產寄存著數據,則可以評估訪問控制來識別能夠繞過身份認證或授權機制的威脅。
關注攻擊一些組織能夠識別潛在的攻擊者,並能夠基於攻擊者的目標識別他們所代表的威脅。例如, 政府往往能夠識別潛在的攻擊者,井識別攻擊者想要達到的目標。然後他們可以使用這種知識來識別並保護他們的相關資產。這種方法面臨的一個挑戰是, 可能會出現以往未被視為一種威脅的新攻擊者。
關注軟體如果一個組織開發了一個軟體,則可能會考慮針對軟體的潛在威脅。儘管幾年前組織一般不自己開發軟體, 但如今這己非常常見。具體地說, 大多數組織都有網路存在,許多都創建了自己的網頁。精美的網頁帶來更多的流量, 但他們也需要更複雜的編程, 並會受到更多的威脅。
STRIDE威脅分類:
? 電子欺騙(Spoofing):通過使用偽造身份獲得對目標系統訪問的攻擊行為。電子欺騙可以用於E 地址、MAC 地址、用戶名、系統名稱、無線網路名稱、電子郵件地址以及許多其他類型的邏輯標識。當攻擊者將自己偽裝成一個合法或授權的實體時,他們往往能夠繞過針對未授權訪問的過濾器和封鎖。一旦電子欺騙攻擊讓攻擊者成功訪問目標系統,後續的濫用、數據盜竊或特權提升攻擊就都可以發起。
? 篡改(Tampering):任何對數據進行未授權的更改或操縱的行為,不管是傳輸中的數據還是被存儲的數據。使用篡改來偽造通信或改變靜態信息。這種攻擊是對完整性和可用性的侵害。
? 否認(Repudiation):用戶或攻擊者否認執行了一個動作或行為的能力。通常攻擊者會否認攻擊,以便保持合理的推讀, 從而不為自己的行為負責。否認攻擊也可能會導致無辜的第
三方因安全違規而受到指責。
? 信息披露(lnforrnation disclose) : 將私人、機密或受控信息揭露、傳播給外部或未授權實體的行為。這可能包括客戶身份信息、財務信息或自營業務操作細節。信息披露可以利用系統設計和實現錯誤,如未能刪除調試代碼、留下示例應用程序和賬戶、未對客戶端可見內容的編程注釋(如HTML 文檔中的注釋)進行凈化或將過於詳細的錯誤消息暴露給用戶。
? 拒絕服務(DoS)一一指攻擊試圖阻止對資源的授權使用。這可以通過缺陷開發、連接重載或流量泛濫實現。DoS 攻擊並不一定會導致對資源的完全中斷; 而是會減少吞吐量或造成延遲,以阻礙對資源的有效利用。儘管大多數DoS 攻擊都是暫時的,只在攻擊者進行襲擊時存在,但還是存在一些永久性的DoS 攻擊。永久DoS 攻擊可能涉及對數據集的破壞、使用惡意軟體對軟體進行替換,或強迫可以被打斷或安裝錯誤固件的固件flash操作。這些DoS攻擊將造成系統的永久受損,使其不能使用簡單的重啟或通過等待攻擊者結束而恢復正常操作。要從永久DoS 攻擊中恢復過來,將需要進行完整的系統修復和備份恢復。
? 許可權提升(Elevation of privilege)一一此攻擊是指有限的用戶賬號被轉換成擁有更大特權、權力和訪問權的賬戶。這可能會通過盜竊或開發高級賬戶(如管理員或Root賬戶)憑證來實現。
這些數據流圖通過可視化表示,能更好地幫助理解資源和數據流動的關係。圖表流程也被稱為製作架構圖。創建圖表有助於詳述商業任務、開發流程或工作活動中每個元素的功能和目的細節。一定要包括執行具體任務或操作的用戶、處理器、應用軍自芋、數據存儲和所有其他的基本要素,這一點十分重要。該圖表是一種高度概括, 不是對編碼邏輯的詳細評估。然而, 如果系統更複雜, 則需要創建多個圖表, 關注不同的焦點且把細節進行不同程度的放大。
完成圖表的創建後,要識別出圖表中涉及的所有技術, 包括操作系統、應用程序(基於網路服務和客戶端)和協議。需要具體到使用的版本號和更新/補丁級別。接著,識別可能對圖表中每個元素髮起的攻擊。記住, 要考慮到各種形式的攻擊, 包括邏輯/技術、物理層面和社會層面的工具。例如,一定要包括電子欺騙、篡改和社交工程學。這個過程能很快幫助你進入威脅建模的下一階段:執行消減分析。
因為威脅要通過威脅建模進行識別,所以需要規定額外活動來完善整個流程。下一步是記錄歸檔全部威脅。在文檔編製中,應該對威脅的手段、目標和後果進行定義。要考慮實施某項開發可能需要的技術, 以及列明潛在的對策和保障措施。
編製文檔後,要對威脅進行排序或定級。可以利用各種技術完成這個過程, 如使用概率×潛在損失的排名、高/ 中/低評級或DREAD 系統。概率×潛在損失的排名技術能產生一個代表風險嚴重性的編號;高/中/低的評級流程更加簡單,每個威脅都會被標註為這三種優先順序標籤中的一種。
DREAD 評級系統,基於對每種威脅的5個主要問題的回答:
- 潛在破壞
- 再現性
- 可利用性
- 受影響用戶
- 可發現性
我們已經涵蓋了大量涉及總體的風險管理,以及特別是風險評估方面的資料。現在,你可能會問到自己:「如何將它們融合成一個可操作的流程?」這正是框架能夠回答的方面。牛津英語詞典將框架定義以系統、概念或文本為基礎的基本結構。通過結合我們前面的風險管理定義,我們可以將風險管理框架(RMF)定義為一個結構化的流程,它允許組織識別和評估風險,將其降低到可接受的水平,並確保其保持在該水平。實質上,RMF是風險管理的結構化方法。
正如你會想到的:RMF是必不可缺的。你作為一名安全專業人員,確保你的組織擁有適合的RMF能為你工作所用,是重要的。雖說如此,一些框架已經獲得了廣泛的成功和採納(詳見側欄)。你至少應該了解這些,並且最好能採用(或者可能修改)其中一個來適合你的特定需求。NIST RMF概述了以下應用於RMF流程的六步驟,每個流程將在以下的部分中依次進行說明:
- 信息系統的分類
- 安全控制的選擇
- 安全控制的實現
- 安全控制的評估
- 信息系統的授權
- 安全控制的監管
推薦閱讀:
※科普文:NTP反射攻擊
※智能手機會中病毒嗎?
※網站被黑了怎麼恢復
※McAfee預測2018年網路安全趨勢
※你還在用瀏覽器記住密碼嗎?
TAG:網路安全 |