# 為你的主機專案建立實用的威脅模型 | SwissOctet 深入解析 https://swissoctet.com/zh-tw/insights/threat-model-a-hosted-project/ SwissOctet / 深入解析 / 第二天營運 第二天營運 實務 · 6 分鐘閱讀 為你的代管專案建立實用的威脅模型 描繪資產與信任邊界,選擇幾個實際的失效情境,並將其轉化為可測試的控制措施。 由 SwissOctet 編輯部撰寫 儲存指南 複製連結 本頁內容 01 定義一個小到足以推理的範圍 02 畫出信任改變的地方 03 選擇具體的故障情境 04 依影響與可信路徑排定優先順序 05 在獲授權的環境中測試控制 06 讓模型與變更保持連結 您的實用檢查清單 來源與延伸閱讀 返回資料庫 直接答案 有用的威脅模型會說明你保護什麼、誰或什麼能影響它、信任在哪裡改變,以及你將如何降低並測試最重要的風險。請從實際專案開始,而不是一份通用的工具清單。 01 定義一個小到足以推理的範圍 從一個運作中的服務開始:客戶入口網站、發佈網站或內部應用程式。寫下你營運的元件與你依賴的外部系統。威脅模型應讓假設變得可見,而不是暗示每一種可能的攻擊都已解決。讓第一版小到部署應用程式的人能解釋它,而不需要另請顧問來解讀圖表。 列出有價值的結果與資產。這些可能包括客戶資料、管理存取、付款狀態、已發佈內容與復原服務的能力。即使資訊是公開的,可用性也可能是一項資產。決定哪些故障會造成不便,哪些會傷害人員或組織。這種區分有助於排定控制的優先順序,而不是把每個警告都同等看待。 02 畫出信任改變的地方 OWASP 的威脅模型指引使用資料流與信任邊界,讓設計變得容易理解。對小型主機應用程式,請畫出瀏覽器、Web 程序、資料庫、管理員、備份目的地與外部整合。標出它們之間移動的資訊。從不受信任的用戶端跨越到具特權的伺服器操作的請求,值得明確的驗證與授權。 不要假設位於同一台機器內,就讓每個元件都同樣受信任。公開上傳程序不應擁有與資料庫管理相同的權限。備份工作可能需要讀取權限,但不能修改線上應用程式記錄。隔離這些角色,可讓元件遭入侵的影響更容易控制,所需權限也更容易檢視。 03 選擇具體的故障情境 用少數幾個可能發生的事件來挑戰設計。攻擊者竊取管理員密碼;使用者請求另一位使用者的記錄;上傳塞滿磁碟;部署暴露配置檔;復原副本無法還原。描述起始條件、受影響的元件與後果。具體情境比籠統的「改善安全性」指示更容易測試。 除了外部入侵,也要納入錯誤與合法工作流程的濫用。重試可能建立兩項有價值的操作,或兩個請求可能競相變更同一個物件。OWASP 的業務邏輯指引強調這些流程假設。檢查誰有權把工作流程推進到下一個狀態,以及重複或重新排序請求是否會意外改變結果。 情境 要調查的控制 應收集的證據 管理憑證遭竊 限制存取,並在支援時使用第二因素 未經授權的登入無法完成 請求另一位使用者的物件 伺服器端物件授權 隔離測試傳回拒絕結果 上傳耗盡磁碟 大小、配額與保留控制 在服務故障前強制執行限制 重複的工作流程請求 冪等性與交易邊界 重複請求只產生一個結果 04 依影響與可信路徑排定優先順序 對每個情境,記錄其潛在影響與發生所需的條件。避免假裝一個猜測的數值分數是精確的機率。你仍可區分暴露於網際網路的弱密碼與高度條件性的本機事件。為重要風險指派負責人與實際的下一步,讓模型產生有人能真正完成的工作。 除了應用程式遭入侵,也要考慮資訊生命週期。診斷匯出可能在原本正常的運作中揭露不必要的資料。保留的帳號欄位可能在用途結束後很久仍造成暴露。因此,隱私檢視可以移除資訊或縮短保留期,而安全檢視則限制對剩餘資料的存取。當這些變更能保護專案時,兩者都屬於模型的一部分。 05 在獲授權的環境中測試控制 建立一個具有代表性權限與虛構記錄的預備環境。測試拒絕存取、請求限制、工作流程重試與復原。當合成資料即可展示行為時,請勿使用真實客戶資料。目標是驗證控制措施,而非產生驚人的攻擊流量。請留在您擁有或明確獲授權評估的系統範圍內。 記錄哪些通過、哪些失敗以及哪些仍未知。掃描器結果可作為證據,但不能取代對應用程式業務規則的測試。同樣地,網路保護選項並不能驗證物件授權或機密檔案處理。將有用的結果附加到情境中,以便未來的維護人員了解為何存在某項特定控制措施。 06 讓模型與變更保持連結 當您新增整合、公開新端點、變更權限或將資料移至其他目的地時,請檢閱相關部分。您不需要為了小幅文字編輯而重繪整個架構。觸發點是關於存取、資訊或系統行為的假設發生變化。請將模型放在部署與復原文件旁邊,而不是讓它成為一次性的工作坊產出。 SwissOctet 提供的是基礎架構選項目錄,而非完成的應用程式威脅模型。選擇支援您控制措施的配置與選項,然後驗證您所建置的部署。一個經過維護且動作經過測試的小型模型,比一大堆沒有清楚說明其所應對風險的安全產品更有用。 付諸行動 您的實用檢查清單。 ✓ 列出資產與失敗的後果。 ✓ 繪製資料流與信任邊界。 ✓ 選擇特定的入侵、錯誤與工作流程情境。 ✓ 為重要風險指派控制措施與負責人。 ✓ 在獲授權的環境中使用合成資料進行測試。 ✓ 當相關假設改變時檢閱模型。 下載檢查清單 常見問題 重要細節。 我需要正式框架才能開始嗎? + 不需要。一張小型圖表與一組有記錄的情境就能派上用場。框架有助於確保您一致地檢閱風險。 弱點掃描器能取代威脅建模嗎? + 不能。掃描器可能找出技術弱點,而威脅模型還會檢視設計假設、權限與業務工作流程。 我應該多久更新一次模型? + 當資料流、整合、權限或公開功能變更時,更新受影響的部分,並定期檢閱未解決的風險。 主要參考資料 前往來源。 這些參考資料支持本指南中的技術概念。在變更生產系統之前,請遵循最新文件。 OWASP:威脅建模速查表 cheatsheetseries.owasp.org OWASP:實務中的威脅建模 devguide.owasp.org OWASP:業務邏輯安全 cheatsheetseries.owasp.org 由 SwissOctet 提供的編輯指引。範例僅供說明。服務規格、可用選項與合約條件必須另行驗證。 連結知識 相關基礎架構。 Vector VPS 瑞士 Metal Atlas 瑞士 Canvas Web 瑞士 保持脈絡 您的下一份實地筆記。 探索所有指南 實地筆記 / 01 + 第二天營運 實務應用 建立您真正能還原的備份 選擇復原目標、保護獨立副本,並在事件迫使您面對問題之前練習還原。 4 分鐘閱讀 閱讀指南 實地筆記 / 02 + 第二天營運 實務應用 安全地管理 Windows RDP 而不失去存取權 區分網路可達性、驗證與權限,然後在緊縮遠端存取之前先驗證復原途徑。 6 分鐘閱讀 閱讀指南 實地筆記 / 03 + 第二天營運 實務應用 可持續維護的 Linux VPS 強化基準 安全地管理、只暴露必要的服務,並建立更新與復原機制,同時避免把自己鎖在外面。 6 分鐘閱讀 閱讀指南