GH GambleHub

Threat Modeling va xavf-xatarlarni nazorat qilish

1) Qonunning

1. Architectural First. Biz kontekstlar, ishonch chegaralari va ma’lumotlar oqimlaridan boshlaymiz.
2. Risk ≈ Likelihood × Impact. O’lchaymiz, sezmaymiz.
3. Defense in Depth. Har bir qatlamdagi nazorat: kod → protokol → platforma → odamlar.
4. Shift Left/Right. PR + dagi erta geytlar, prodda monitoring va reaktsiya.
5. Privacy by Design. Biz nafaqat xavfsizlikka tahdid, balki maxfiylik xavfini ham modellashtiramiz.
6. Automate Where Possible. Kod, avtoprovkalar, «qizil chiziqlar» kabi siyosatlar.


2) Inventarizatsiya: aktivlar, subyektlar, ishonch chegaralari

Aktivlar: ma’lumotlar (PII, moliya, sirlar), hisoblash resurslari, kalitlar, kirish imkoniyatlari, biznes-jarayonlar.
Subyektlar: foydalanuvchilar, servislar, ma’murlar, sheriklar, tashqi provayderlar.
Ishonch chegaralari: foydalanuvchilar, front, front, API-shlyuz, servislar, BD/kesh/navbatlar, mintaqalar/bulutlar.
Hujum yuzasi: kirish nuqtalari (API, vebxuklar, UI, tarmoqlar, CI/CD, supply chain).

DFD (misol, Mermaid):
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) Tahdidlar freymvorkalari

STRIDE (безопасность): Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege.
LINDDUN (приватность): Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance.
PASTA (jarayon): biznes maqsadlari va tahdid aktorlaridan → texnik tafsilotlar → test stsenariylari.

Jadval (parcha, STRIDE × komponentlar):
KomponentSTRIDENazorat
API GatewaymTLS/OIDC, WAF, rate-limit, audit, HSTS
KafkaACL, imzolangan voqealar, kvotalar, DLQ
PostgresTLS, RLS, KMS, validatsiyali migratsiyalar

4) Tavakkalchiliklarni baholash

Zaifliklar uchun DREAD/OWASP Risk Rating yoki CVSS.
Ehtimollik (L): hujum qiluvchining motivi/imkoniyatlari, murakkabligi, sirt ekspozitsiyasi.
Ta’siri (I): moliya, yuriski, nuqsonlar, PD oqishi.
Xavf (R = L × I) → ustuvorlik va tritment: Avoid/Reduce/Transfer/Accept.

Matrix (misol):

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

Tavakkalchiliklar registri (minimal maydonlar):’id, stsenariy, STRIDE, aktiv, L, I, R, egalari, nazoratlari, maqomi, qayta ko’rib chiqish sanasi’.


5) Nazorat: Prevent/Detect/Respond

Prevent (oldini olish):
  • Autentifikatsiya/avtorizatsiya: OIDC/OAuth2, PoLP, RBAC/ABAC, qisqa muddatli servis-kreddlar.
  • Sirlar/kalitlar: KMS/HSM, rotatsiya, «bilmaslik» tamoyili, FPE/shifrlash.
  • Xavfsiz protokollar: TLS1. 2 +, mTLS, vebxuk imzolari, idempotentlik va anti-replay.
  • Validatsiya/sanitariya: sxemalar (JSON Schema/Proto), limitlar, normallashtirish.
  • Izolyatsiya: network policies, segmentatsiya, sandbox, namespaces, bulkheads.
Detect (aniqlash):
  • Audit-loglar (qaytarilmaydigan), SIEMdagi korellatsiya, anomaliyadagi alertlar.
  • Imzo va yaxlitlik monitoringi (xesh artefaktlar eksporti, attestation).
  • Honeytokens/kanareyki uchun erta detektor kalitlari.
Respond (reaksiya):
  • Runbook IR: tasniflash, izolyatsiya qilish, kalitlarni qaytarib olish, ogohlantirish, forenzika.
  • Avtomatik kill-switch/feature-flag, tokenlarning «qora roʻyxatlari».
  • MD bilan bog’liq hodisalarda foydalanuvchilar/regulyatorlarni xabardor qilish.

6) SDL va xavfsizlik geytalari

G’oya/dizaynda: threat model (RFC/ADR), chek-nazorat varaqasi.
Ishlab chiqishda: SAST/secret-scan, qaramlik skanerlari (SCA), qaramlik siyosati.
Yig’ilishda: SBOM, artefaktlarning imzosi, zaiflik siyosati (CVSS ostonalari).
Deploida: OPA/Kyverno - IaC/manifestlar siyosati (securityContext, tarmoq siyosati, sirlarni ochish).
IDS/WAF, anomaly detection, canary-tekshirish, xaos-xavfsizlik (masalan, muddati o’tgan sertifikat).

Gate misoli (Policy as Code, psevdo-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) Supply Chain va artefaktlarga bo’lgan ishonch

har bir rasm/paket uchun SBOM; bog’liqlikni yangilash - bot/siyosat orqali.
SLSA/Provenance: takrorlanadigan toʻplamlar, imzolar, attestations.
Konteynerlar: minimal tasvirlar, rootless, drop capabilities, read-only FS.
IaC-skanlar: Terraform/Helm - shifrlash, ochiq portlar, tarmoq qoidalari siyosati.


8) Maxfiylik va komplayens

Maxfiylik tahdidlari, ma’lumotlar minimizatsiyasi, taxalluslashtirish/anonimlashtirish bo’yicha LINDDUN xaritasi.
Saqlash siyosati: TTL/retenshn, «olib tashlash huquqi», PDdan foydalanish auditi.
Mahalliylashtirish: geo-cheklovlar, «ma’lumotlar mintaqada qoladi».
Shaffoflik: qayta ishlash, bildirishnoma va rozilik jurnallari.


9) Bulutlar va perimetrlar

Zero Trust: har bir soʻrovni autentifikatsiya qilish, mTLS/OPA xizmatlar oʻrtasida.
Segmentatsiya: VPC/kichik tarmoqlar/SG, xususiy endpointlar, egress-nazorat.
Kalitlar/sirlar: KMS, rotation, CI (OIDC-federatsiya) dagi qisqa kredlar.
Zaxira/DR: shifrlangan bekaplar, alohida kalitlar, tiklanish mashqlari.


10) Qizil/binafsha rangli jamoalar va tabletop-mashqlar

Red Team: tahdidlar gipotezalarini tekshirish, ijtimoiy muhandislik, zanjirlardan foydalanish.
Purple Team: detektorlar/alertlarni birgalikda tuzatish, IR playbook’larni yaxshilash.
Tabletop: «sertifikat muddati tugadi», «kalitlarning sizib chiqishi», «supply-chain kompromat» skriptlari. Natija - yangilangan nazorat va metrika.


11) Etuklik metrikasi va boshqaruv

Coverage: aktual threat model va DFD bilan xizmatlar%.
MTTD/MTTR xavfsizligi, nazoratga olingan hodisalar ulushi.
CI da policy pass-rate, tanqidiy zaifliklarni yopish vaqti.
Maxfiylik: TTL/ILM datasetlari%, asosli kirish ulushi.
Audit: xavflar registrini qayta ko’rib chiqish muntazamligi (har chorakda).


12) Artefaktlar shablonlari

12. 1 Tavakkalchilik kartochkasi (misol)


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 Dizayn chek-varaqasi

Aktivlar va PII aniqlanganmi? Ishonch chegaralari belgilanganmi?
DFD/maʼlumot konturlari ADR bilan bogʻlanganmi?
STRIDE/LINDDUN har bir DFD oʻqi boʻyicha bosib oʻtilganmi?
Tavakkalchilik tritmenti tanlandi; egalari/muddatlari/DoD?
Siyosat kod sifatida qoʻshilganmi?
Monitoring/alert rejasi va IR-runbook yangilanganmi?
Privacy: minimallashtirish, shifrlash, TTL/retenshn, lokalizatsiya?

12. 3 Vebxuk siyosati (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-patternlar

DFD/invariantsiz «belgi uchun» Threat modeli.
Servisning ichki autentifikatsiyasisiz «Super-perimetr».
O’zgaruvchan muhit/repoda uzoq umr ko’radigan sirlar.
Kod sifatida kiritilmagan siyosatlar → qoʻlda «unutiladi».
PD bilan niqobsiz va retenshna/TTLsiz loglar.
Supply chain (SBOM/imzo/skan yoʻq) ni eʼtiborsiz qoldirish.
Tavakkalchilikni (Accept) egasi va qayta ko’rib chiqish sanasisiz qabul qilish.


14) Jarayonlarga integratsiya

RFC/ADR: har bir muhim qaror «Tahdidlar va nazorat» bo’limini o’z ichiga oladi.
Docs-as-Code: threat model, DFD, kod yonidagi versiyadagi xavflar registri.
Release gates: Release SAST/SCA/SBOM siyosati muvaffaqiyatsizlikka uchraganda yoki yuqori tanqidiy nazorat mavjud boʻlmaganda bloklanadi.
O’qitish: ishlab chiquvchilar uchun pleybuklar (sirlar, imzolar, PoLP), muntazam tabletoplar.


Xulosa

Threat Modeling - bu bir martalik hujjat emas, balki xatarlarni boshqarishning muhandislik amaliyoti. Aktivlar va ishonch chegaralarini aniqlang, STRIDE/LINDDUN’ni qo’llang, xavfni o’lchang, uni ro’yxatga oling va CI/CD’ga va foydalanishga qo’shib, nazoratni kod sifatida amalga oshiring. Etuklik ko’rsatkichlari va muntazam qayta ko’rib chiqish bilan siz xavfsizlikni oldindan aytib bo’ladigan me’moriy qobiliyatga aylantirasiz - aniq narx, ta’sir va tezlik bilan.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.