Threat Modeling we töwekgelçiliklere gözegçilik
1) Ýörelgeler
1. Architectural First. Kontekstlerden, ynam çäklerinden we maglumat akymlaryndan başlalyň.
2. Risk ≈ Likelihood × Impact. Ölçeýäris, duýmaýarys.
3. Defense in Depth. Her gatlakdaky gözegçilikler: kod → teswirnama → platforma → adamlar.
4. Shift Left/Right. PR-daky irki oýunlar we önümdäki reaksiýa.
5. Privacy by Design. Diňe howpsuzlyga abanýan howplary däl, eýsem gizlinlik töwekgelçiligini hem modelleşdirýäris.
6. Automate Where Possible. Syýasatçylar kod, awtoprewkerler, "gyzyl çyzyklar" hökmünde.
2) Inwentarizasiýa: aktiwler, subýektler, ynam çäkleri
Aktiwler: maglumatlar (PII, maliýe, syrlar), hasaplaýyş çeşmeleri, açarlar, elýeterlilik, işewürlik prosesleri.
Subýektler: ulanyjylar, hyzmatlar, dolandyryjylar, hyzmatdaşlar, daşarky üpjün edijiler.
Ynam çäkleri: ulanyjylar, öň, öň, API-şlýuz, hyzmatlar, BD/nagt/nobatlar, sebitler/bulutlar.
Hüjümiň ýüzi: giriş nokatlary (API, webhuklar, UI, torlar, CI/CD, supply chain).
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) Howp freýmworklary
STRIDE (безопасность): Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege.
LINDDUN (приватность): Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance.
PASTA (proses): iş maksatlaryndan we howp aktorlaryndan → tehniki jikme-jiklikler → synag ssenarileri.
4) Töwekgelçiliklere baha bermek
Gowşaklyk üçin DREAD/OWASP Risk Rating ýa-da CVSS.
Ähtimallyk (L): hüjümçiniň motiwi/mümkinçilikleri, çylşyrymlylygy, ýüzüniň täsiri.
Täsiri (I): maliýe, ýuriski, iş wagty, PD syzmagy.
Töwekgelçilik (R = L × I) → ileri tutulýan we tritment: 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
Töwekgelçilikleriň sanawy (iň az meýdan): 'id, ssenariýa, STRIDE, aktiw, L, I, R, eýeler, gözegçilikler, status, gözden geçirilen senesi'.
5) Gözegçilikler: Prevent/Detect/Respond
Prevent (öňüni almak):- Tassyklamak/ygtyýarlandyrmak: OIDC/OAuth2, PoLP, RBAC/ABAC, gysga möhletli hyzmat-kreddleri.
- Syrlar/açarlar: KMS/HSM, aýlanyş, "bilmezlik" ýörelgesi, FPE/meýdançalary şifrlemek.
- Ygtybarly teswirnamalar: TLS1. 2 +, mTLS, webhuk gollary, idempotentlik we anti-replay.
- Tassyklama/arassaçylyk: shemalar (JSON Shema/Proto), çäkler, kadalaşma.
- Izolýasiýa: network policies, segmentasiýa, sandbox, namespaces, bulkheads.
- Audit-loglar (aýrylmaz), SIEM-de korelýasiýa, anomaliýalarda alertler.
- Goluň we bitewiligiň monitoringi (artefaktlaryň heşlerini eksport etmek, attestasiýa).
- Açar syzdyryş detektory üçin Honeytokens/kanareýkalar.
- Runbook IR: klassifikasiýa, izolýasiýa, açarlary yzyna almak, duýduryşlar, forensika.
- Awtomatiki öldürmek-switch/feature-flag, bellikleriň "gara sanawlary".
- PD bilen bolan hadysalarda ulanyjylaryň/düzgünleşdirijileriň habarnamalary.
6) SDL we howpsuzlyk geýtleri
Pikirde/dizaýnda: threat model (RFC/ADR), gözegçilik sanawy.
Ösüşde: SAST/secret-scan, garaşly skanlar (SCA), garaşlylyk syýasaty.
Toplumda: SBOM, artefaktlaryň goly, gowşaklyk syýasaty (CVSS bosagalary).
Deploda: OPA/Kyverno - IaC/manifestler syýasaty (securityContext, tor syýasatlary, syrlaryň ýaýramagy).
Önümde: IDS/WAF, anomaly detection, canary-barlaglar, bulam-bujarlyk howpsuzlygy (mysal üçin, möhleti geçen şahadatnama).
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) Supply Chain we artefaktlara bolan ynam
Her şekil/paket üçin SBOM; endikleri täzelemek - bot/syýasat arkaly.
SLSA/Provenance: köpeldilýän ýygnaklar, gollar, bellikler.
Konteýnerler: minimal şekiller, rootless, drop capabilities, read-only FS.
IaC-skanlar: Terraform/Helm - şifrlemek, açyk portlar, tor düzgünleri boýunça syýasat.
8) Gizlinlik we gabat gelmek
Gizlinlik howplarynyň LINDDUN-kartasy, minimizasiýa maglumatlary, lakamlaşdyrma/anonimleşdirmek.
Saklamak syýasaty: TTL/retenşn, "aýyrmak hukugy", PD-e girmegiň barlagy.
Lokalizasiýa: geo-çäklendirmeler, "maglumatlar sebitde galýar".
Aç-açanlyk: gaýtadan işlemegiň, habarnamanyň we razylygyň žurnallary.
9) Bulutlar we perimetrler
Zero Trust: Her haýyşyň, mTLS/OPA-nyň hyzmatlaryň arasynda tassyklanmagy.
Segmentasiýa: VPC/kiçi ulgamlar/SG, hususy endpointler, egress-gözegçilik.
Açarlar/syrlar: KMS, rotation, CI-de gysga kreddler (OIDC-federasiýa).
Ätiýaçlyk/DR: şifrlenen yzlar, açarlar, dikeldiş repetisiýalary.
10) Gyzyl/gyrmyzy toparlar we tabletop-maşklar
Red Team: howp çaklamalaryny barlamak, sosial in engineeringenerçilik, zynjyrlary ulanmak.
Purple Team: detektorlary/alertleri bilelikde düzetmek, IR playbook-lary gowulandyrmak.
Tabletop: "şahadatnama gutardy", "açar syzmagy", "supply-chain eglişik" ssenarileri. Netije - täzelenen gözegçilikler we metrikler.
11) Kämillik ölçegleri we dolandyryş
Coverage: aktual threat model we DFD bilen% hyzmatlar.
MTTD/MTTR howpsuzlygy, gözegçilik astynda tutulan hadysalaryň paýy.
CI-de policy pass-rate, kritiklik gowşaklygynyň ýapylýan wagty.
Gizlinlik: TTL/ILM bilen% datasets, esasly giriş paýy.
Audit: töwekgelçilikleriň registrine täzeden garamagyň yzygiderliligi (çärýekde).
12) Artefaktlaryň şablonlary
12. 1 Töwekgelçilik kartoçkasy (mysal)
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 Dizaýn barlagy
Aktiwler we PII kesgitlenildi? Ynam çäkleri bellendi?
DFD/data konturlary düzüldimi we ADR-e baglymy?
STRIDE/LINDDUN her DFD okundan geçýärmi?
Töwekgelçilik tritmenti saýlandy; eýeleri/möhletleri/DoD barmy?
Syýasatlar kod hökmünde goşuldy (OPA/Kyverno/CI-geýtlar)?
Gözegçilik/alert meýilnamasy we IR-runbook täzelendimi?
Gizlinlik: minimallaşdyrmak, şifrlemek, TTL/retenşn, lokalizasiýa?
12. 3 Webhook syýasaty (psevdokod)
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) Anti-patternler
DFD/invariantsyz "görmek üçin" Threat modeli.
"Super-perimetr" hyzmatyň içerki autentifikasiýasy bolmazdan.
Daşky gurşaw üýtgemelerinde/repoda uzak ömürli syrlar.
Kod hökmünde girizilmedik syýasatlar → el bilen "ýatdan çykarylýar".
Gizlenmedik we retenşn/TTL bolmadyk PD-li loglar.
Supply chain (SBOM/gollar/skanlar ýok).
Töwekgelçiligi (Accept) eýesiz we gaýtadan seredilen senesiz kabul etmek.
14) Proseslere goşulmak
RFC/ADR: Her bir möhüm çözgüt "Howplar we gözegçilikler" bölümini öz içine alýar.
Docs-as-Code: threat model, DFD, kod bilen gapdalyndaky wersiýadaky töwekgelçilikleriň sanawy.
Release gates: SAST/SCA/SBOM syýasatlarynyň şowsuzlygy ýa-da ýokary kritiki gözegçilikleriň ýoklugy sebäpli goýberilýär.
Okuw: işläp düzüjiler üçin pleýbuklar (syrlar, gollar, PoLP), yzygiderli tabletoplar.
Netije
Threat Modeling bir gezeklik resminama däl-de, töwekgelçiligi dolandyrmagyň in engineeringenerçilik tejribesidir. Aktiwleri we ynam çäklerini kesgitläň, STRIDE/LINDDUN ulanyň, töwekgelçiligi ölçäň, registrde belläň we CI/CD-e we işe goşup, gözegçilikleri kod hökmünde amala aşyryň. Kämillik ölçegleri we yzygiderli gözden geçirmek bilen howpsuzlygy öňünden aýdyp boljak binagärlik ukybyna öwürersiňiz - düşnükli baha, täsir we tizlik bilen.