GH GambleHub

威脅建模和風險控制

1)原則

1.Architectural First.我們從上下文、信任邊界和數據流開始。
2.Risk ≈ Likelihood × Impact.測量而不是感覺。
3.Defense in Depth.每層控制器:代碼→協議→平臺→人員。
4.Shift Left/Right.PR+監視和銷售反應中的早期門。
5.Privacy by Design.我們不僅模擬安全威脅,而且模擬隱私風險。
6.Automate Where Possible.策略作為代碼,自動反駁,「紅線」。


2)庫存: 資產、實體、信托界限

資產:數據(PII,財務,秘密),計算資源,密鑰,可用性,業務流程。
受試者:用戶,服務,管理人員,合作夥伴,外部提供商。
信任邊界:用戶↔前端、API網關↔服務↔ DB/緩存/隊列、區域/雲。
攻擊面:輸入點(API, webhook, UI, network, CI/CD, supply chain)。

DFD(例如,美人魚):
mermaid flowchart LR
U[Пользователь] -- TLS --> WAF[WAF/CDN]
WAF --> GW[API Gateway]
GW --> Svc[Service A]
Svc --> DB[(Postgres)]
Svc --> MQ[[Kafka]]
MQ --> SvcB[Service B]
subgraph Trust Boundary
GW; Svc; SvcB end

3)威脅框架

STRIDE (безопасность): Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege.

LINDDUN (приватность): Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance.

PASTA(流程):從業務目標和威脅行為者→技術細節→測試場景。

表(片段、STRIDE ×組件):
構成部分STRIDE控制權
API GatewaymTLS/OIDC, WAF, rate-limit, audit, HSTS
KafkaACL、簽名事件、配額、DLQ
PostgresTLS、RLS、KMS、驗證遷移

4)風險評估

針對漏洞的DREAD/OWASP風險評級或CVSS。
概率(L):攻擊者的動機/能力,復雜性,表面曝光。
影響(I):金融,侏羅紀,停機,PD泄漏。
風險(R=L × I)→優先級和臨界值:Avoid/Reduce/Transfer/Accept。

矩陣(示例):

Impact
Low Med High Critical
Lik Low  L  L  M   H
Med  L  M  H   H
High M  H  High  Crit

風險寄存器(最小字段):'id,腳本,STRIDE,資產,L,I,R,所有者,控制者,狀態,修訂日期'。


5)主計長: Prevent/Detect/Respond

預防(預防):
  • 身份驗證/授權:OIDC/OAuth2,PoLP,RBAC/ABAC,短期服務信用。
  • 秘密/密鑰:KMS/HSM,旋轉,「不知情」原則,FPE/字段加密。
  • 安全協議:TLS1。2+,mTLS,webhook簽名,等效性和反重播。
  • 驗證/衛生:計劃(JSON 計劃/Proto),限制,正常化。
  • 隔離:網絡政策,細分,sandbox,namespaces,bulkheads。
檢測:
  • 審核邏輯(不可響應),在SIEM中重播,異常異常。
  • 監視簽名和完整性(導出工件哈希,attestation)。
  • Honeytokens/金絲雀用於早期密鑰泄漏檢測。
響應(反應):
  • Runbook IR:分類,隔離,召回密鑰,警報,forenzika.
  • 自動殺手開關/功能旗,令牌的「黑名單」。
  • 在PD事件中通知用戶/監管機構。

6) SDL和安全門

在想法/設計中:威脅模型(RFC/ADR),控制檢查表。
在開發中:SAST/秘密掃描,依存掃描(SCA),依存策略。
在裝配中:SBOM、工件簽名、漏洞策略(CVSS閾值)。
Deply: OPA/Kyverno-IaC/清單 (securityContext、網絡策略、秘密漏洞)策略。
銷售:IDS/WAF,匿名檢測,金絲雀檢查,混沌安全(例如,過期證書)。

門示例(Policy as Code,pseudo-Rego):
rego package policy.cicd deny[msg] {
some v input.sbom.vulns[v].cvss >= 7.0 msg:= sprintf("High vuln blocked: %s %s", [v.package, v.id])
}
deny[msg] {
input.k8s.pod.spec.securityContext.runAsRoot == true msg:= "RunAsRoot forbidden"
}

7)供應鏈供應和人工制品信任

每個映像/軟件包的SBOM;依存關系更新-通過機器人/策略。
SLSA/Provenance:可重現的組件、簽名、狀態。
容器:最小外觀,rootless,下降capabilities,只讀FS。
IaC掃描:Terraform/Helm是加密政策,開放端口,網絡規則。


8)隱私和合規性

LINDDUN隱私威脅卡,數據最小化,別名/匿名化。
保留策略:TTL/重建,「刪除權限」,對PD訪問進行審核。
本地化:地理限制,「數據保留在該地區」。
透明度:處理、通知和同意記錄。


9)雲層和外圍

零信任:驗證每個請求,服務之間的mTLS/OPA。
分段:VPC/子網/SG,私人端口,egress控制。
鑰匙/秘密:KMS,rotation,CI(OIDC聯合會)中的短信。
備份/DR:加密備份,單獨密鑰,恢復排練。


10)紅色/紫色團隊和平板運動

紅色團隊:威脅假設驗證,社會工程,鏈條操作。
紫色團隊:聯合調試探測器/警報器,改進IR的劇本。
Tabletop:「證書到期」、「密鑰泄漏」、「供應鏈損害」腳本。結果-更新控制和指標。


11)成熟度量與管理

覆蓋:具有當前威脅模型和DFD的服務百分比。
MTTD/MTTR安全,控制者捕獲的事件比例。
CI中的Policy pass-rate(策略通票率),按臨界值關閉漏洞的時間。
隱私:具有TTL/ILM的dataset的百分比,具有合理性的可用性份額。
審計:定期審查風險登記冊(季度)。


12)工件模板

12.1個風險卡(示例)


Risk ID: SEC-API-012
Сценарий: SSRF через изображение в профиле
STRIDE: Tampering/Info Disclosure
Актив: API / файловый прокси
Likelihood: High  Impact: High  Risk: Critical
Контроли: denylist схем, egress-прокси, URL-fetcher в изолированном рантайме,
DNS-resolv только через прокси, время/размер-лимиты, allowlist.
Владелец: team-accounts  Статус: Reduce (в работе)
Дата пересмотра: 2025-12-01

12.2設計支票清單

DFD/數據輪廓是組成並綁定到 ADR的?

STRIDE/LINDDUN是通過每個DFD箭頭嗎?

如何添加代碼(OPA/Kyverno/CI門)策略?

監視/警報計劃和IR-runbook是否更新?

已確定資產和PII?信任界限是標記的嗎?
選擇風險臨界點;有所有者/截止日期/國防部?

隱私: 最小化、加密、TTL/還原、本地化?

12.3 Webhook策略(偽代碼)

python def verify_webhook(req, keys):
ts = int(req.h["X-Timestamp"])
if abs(now_utc()-ts) > 300: return 401 if not hmac_ok(req.body, ts, keys.active_or_prev(), req.h["X-Signature"]):
return 401 if replay_cache.seen(req.h["X-Event-ID"]): return 200
PoLP: в обработчике — только нужные скоупы handle(json.loads(req.body))
replay_cache.mark(req.h["X-Event-ID"])
return 200

13)反模式

沒有DFD/不變量的威脅模型「用於打勾」。
「超級外圍」無需內部驗證服務。
環境/回購變量中的長期秘密。
未作為代碼實施的策略→手動「忘記」。
帶有PD的徽標沒有偽裝,也沒有重生/TTL。
忽略供應鏈(無SBOM/簽名/掃描)。
接受風險(接受)沒有所有者和審查日期。


14)流程整合

RFC/ADR:每個有意義的解決方案都包含「威脅和控制」部分。
Docs-as-Code:威脅模型,DFD,代碼旁邊的版本中的風險寄存器。
Release gates:當SAST/SCA/SBOM策略失敗或缺少高臨界性控制時,該發布被阻止。
培訓:面向開發人員的花花公子(秘密,簽名,PoLP),常規平板電腦。


二.結論

威脅建模是風險管理的工程實踐,不是一次性文檔。通過應用STRIDE/LINDDUN定義資產和信任界限,測量風險,將其記錄在寄存器中,並通過將其嵌入到CI/CD和操作中來實現控制作為代碼。隨著成熟度指標和定期修訂,您將將安全性轉變為可預測的體系結構能力-價格、效果和速度是可以理解的。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。