Zaiflik va patchlarni skanerlash
Qisqacha xulosa
Zaifliklarni boshqarish - bu uzluksiz tsikl: aniqlash → xavfni baholash → bartaraf etish (patch/migratsiya/ ) → tekshirish → hisobot. Skanerlash texnologiyalari (SCA/SAST/DAST/IAST/Cloud/Container) signallar beradi, kontekst esa (eksponatsiya, imtiyozlar, ma’lumotlar, EPSS, eksploytlar) ustuvorlikni belgilaydi. Maqsad - avtomatlashtirish, kanareik hisob-kitoblar va aniq SLOlardan foydalangan holda biznesni toʻxtatmasdan real xavfni kamaytirish.
Skanerlash taksonomiyasi
SCA (Software Composition Analysis): qaramliklar/litsenziyalar tahlili; kutubxonalarda CVE topish, SBOM.
SAST: yigʻishdan oldin oʻz kodini statik tahlil qilish.
DAST: ishlayotgan xizmatga qarshi dinamik «qora quti».
IAST: ilova ichidagi datchiklar (test paytida) - FP dan kichik, kontekstdan chuqurroq.
Container/OS Scan: rasmlar (base image, paketlar), xostlar (yadro/paketlar/konfiglar), CIS benchmarklari.
Cloud/Infra (CSPM/KSPM): bulutlar miskonfigi/K8s (IAM, tarmoqlar, shifrlash, ommaviy baketalar).
Secrets Scan: omborxonalar va tasvirlarda kalitlar/tokenlarning chiqib ketishi.
Binary/Artifact Scan: toʻplangan artefaktlarni tekshirish (imzolar, zaifliklar).
Tavakkalchilik modeli va ustuvorlik
Baholash = CVSS v3. x (baza) × EPSS (foydalanish ehtimoli) × kontekst (ko’rgazma, ma’lumotlar, imtiyozlar, kompensatsiya choralari).
Kontekst omillar:- Internet/ichki ko’rgazma, WAF/mTLS/izolyatsiya mavjudligi.
- Ma’lumotlar: PII/moliya/sirlar.
- Jarayon/uzel imtiyozlari, lateral movement-potensial.
- Ommaviy eksployt/ommaviy hujumlarning mavjudligi, komplayens talablari.
CVSS-vektor misoli:’CVSS: 3. 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H’→ tanqidiy; agar xizmat ommaviy bo’lsa va kompensatsiya choralarisiz - P1.
SLO ostonalari (misol):- P1 (tanqidiy, ekspluatatsiya qilinadigan): fix ≤ 48 soat
- P2 (yuqori): fiks ≤ 7 kun.
- P3 (o’rtacha): fix ≤ 30 kun.
- P4 (past/ma’lumot) : rejali/beklog bo’yicha.
Zaifliklarni boshqarishning hayot sikli
1. Aktivlarni inventarizatsiya qilish: servislar, tasvirlar, klastyerlar, OS, paketlar, qaramliklar, versiyalar.
2. Jadval va hodisa bo’yicha skanerlash: kommitalar, yig’ilishlar, deploy, kunlik/haftalik derazalar.
3. Triaj: deduplikatsiya, normallashtirish (CVE → Ticket), egasiga mapping.
4. Kontekst bo’yicha ustuvorlik: CVSS/EPSS + ko’rgazma/ma’lumotlar.
5. Remediatsiya: patch/qaramlikni yangilash/ -hardning/virtual patch (WAF).
6. Verifikatsiya: qayta skanerlash, testlar, kanareyka.
7. Hisobot: yopilish metrikasi, zaiflik yoshi, SLOga muvofiqlik.
8. Darslar: shablonlardagi fix (base image, Helm chart), kelajak siyosati.
CI/CDga integratsiya qilish
PR bosqichida: SAST + SCA + sir-skan; «break build» P1/P2 yoki appruvning talabi bo’yicha.
Build bosqichida: tasvir skaneri, SBOM (CycloneDX/SPDX) generatsiyasi, artefaktlar imzosi (cosign).
Deploy bosqichida: ruxsat siyosati (Admission) -’critical/high’zaif va imzosiz tasvirlarni taqiqlash/SBOM.
Postdeplay: DAST/IAST vs steyjing va qisman production (xavfsiz profillar).
Misol: Renovate/Dependabot (parcha)
json
{
"extends": ["config:recommended"],
"vulnerabilityAlerts": { "enabled": true },
"packageRules": [
{ "matchUpdateTypes": ["minor","patch"], "automerge": true },
{ "matchManagers": ["dockerfile"], "enabled": true }
]
}
Ruxsat berish siyosati (Kubernetes, OPA/Gatekeeper - soddalashtirilgan)
rego package policy.vuln
deny[msg] {
input.image.vuln.critical > 0 msg:= sprintf("Image %s has critical vulns", [input.image.name])
}
deny[msg] {
input.image.sbom == false msg:= sprintf("Image %s without SBOM", [input.image.name])
}
Patch-menejment (OS, konteynyerlar, K8s)
ОС (Linux/Windows)
Patch window: P1 uchun muntazam + favqulodda.
Strategiya: avval kanareyka 5-10% tugun, so’ngra to’lqin.
Avto- burish: Ansible/WSUS/Intune/SSM; qaramlik va orqaga qaytishni tekshirish.
Boʻsh vaqtni minimallashtirish uchun Kernel Live Patching.
Restart-servislar: boshqariladigan drain/cordon uchun K8s nod, graceful shutdown.
Konteynerlar
Immutable-yondashuv: rantaymda «apt upgrade» emas; yangilangan baza bilan rasmni qayta yig’ish.
Asosiy tasvirlar: muntazam ravishda golden images (Alpine/Debian/Distroless) ni yangilash, versiyalarni (digest) mustahkamlash.
Ko’p bosqichli yig’ilishlar: sirtni minimallashtirish (build-tools olib tashlash).
Deploydan oldin tekshirish: tanqidiy CVEga ega tasvirlar bloki.
Kubernetes/Service Mesh
Control Plane: o’z vaqtida minor relizlar, yopish CVE k8s/etcd/containerd.
Node OS/Container runtime: rejali yangilanishlar, versiyalarning mosligi.
Mesh/Ingress: Envoy/Istio/NGINX versiyalari tanqidiy (ko’pincha parserlarda CVE/NTTR3).
Admission Policies: taqiq’: latest’, imzo talabi, zaiflik limitlari.
Virtual patchlar va kompensatsiya choralari
Patch tezda boʻlmasa:- WAF/WAAP: aniq endpoint uchun ijobiy model.
- Fichflaglar: zaif funksionallikni oʻchirish.
- Tarmoq ACL/mTLS/IP allow-list: zaif xizmatdan foydalanishni cheklash.
- -hardnening: huquqlarni pasaytirish, sandbox, read-only FS, xavfli modullarni o’chirish.
- TTL tokenlarini/kalitlarini qisqartirish, sirlarni almashtirish.
Istisnolarni boshqarish (Risk Acceptance)
Istisno: asoslash, kompensatsiya choralari, bartaraf etish uchun SLA, qayta ko’rib chiqish sanasi bilan tiket bilan rasmiylashtiriladi.
Hisobotda «tavakkalchilikni vaqtincha qabul qilish» deb belgilansin va har oylik sharhga kiritilsin.
Kuzatish va metrika
Texnik:- Mean Time To Patch (MTTP) по P1/P2/P3.
- Skanerlash bilan qoplangan aktivlar ulushi (%).
- Ochiq zaiflik yoshi (p50/p90), backlog burn-down.
- SBOM va imzo bilan tasvirlar foizi.
- Yopish muddati bo’yicha SLOni bajarish (masalan, 95% P1 ≥ 48 soat ≤).
- Aptaymga ta’sir (patchlarda hodisalar soni).
- Bir xil CVElarni qayta aniqlash (namunalardagi fiks sifati).
Pleybuklar (qisqartirilgan)
P1: Ommaviy xizmatda tanqidiy RCE
1. WAF qoidasini/virt patchini faollashtirish.
2. Ruxsat etilmagan manbalarga kirishni toʻxtatish (agar mumkin boʻlsa).
3. Suratni shoshilinch qayta yig’ish/patch OS, kanareyka → to’lqin.
4. Qayta DAST/Telemetriyani tekshirish, xato monitoringi.
5. Post-hodisa: Fixni asosiy/Helm chart shaklida mahkamlash, testni CI ga qoʻshish.
1. Sirlarni/kalitlarni darhol almashtirish, tokenlarni chaqirib olish.
2. Foydalanish izlarini qidirish, endpointlarni cheklash.
3. Sirlarga repo/tasvirlar skaneri, pre-commit skanerni joriy etish.
Artefaktlar namunalari
1) «Issiq» zaifliklar bo’yicha SQL-hisobot
sql
SELECT service, cve, cvss, epss, exposed, has_exploit, created_at,
PRIORITY(exposed, has_exploit, cvss, epss) AS prio
FROM vuln_findings
WHERE status = 'open' AND (cvss >= 8.0 OR has_exploit = true)
ORDER BY prio DESC, created_at ASC;
2) Admission siyosati (Kyverno, critical zaifliklar bloki)
yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata:
name: block-critical-vulns spec:
validationFailureAction: Enforce rules:
- name: image-must-have-no-critical match: { resources: { kinds: ["Pod"] } }
validate:
message: "Image contains critical vulnerabilities"
pattern:
metadata:
annotations:
vuln.scanner/critical: "0"
3) SBOM ishlab chiqarish va imzo (Makefile parcha)
make sbom:
cyclonedx create --output sbom.json sign:
cosign sign --key cosign.key $(IMAGE_DIGEST)
iGaming/fintech uchun xususiyatlar
Yuqori tavakkalchilik zonalari: to’lov shlyuzlari, to’lovlar bekofisi, antifrod, PII/PANni qayta ishlash - patchlar P1/P2 ustuvorligi.
Xizmat ko’rsatish oynalari: past yuklangan hududlarda turnirlar/aksiyalar, pre-warm keshlar, kanareykalar bilan kelishish.
Regulyator (PCI DSS/GDPR): zaifliklarni bartaraf etish muddatlari, dalillar (skrinshotlar/hisobotlar), CHD zonasini segmentlash, shifrlash.
Hamkorlik integratsiyalari: vebxuklarda versiyalangan SDK/mijozlar, mandatli SCA va HMAC/mTLS talab qilish.
Tipik xatolar
«Hamma narsani skanerlaymiz - hech narsani tuzatmaymiz»: egalari va SLO yo’q.
Faqatgina kontekstsiz CVSSga eʼtibor qaratish (eksponatlilik, EPSS, maʼlumotlar).
Konteyner rantaymida tasvirni qayta yig’ish o’rniga patch.
Kanareya/rollback rejalari yo’qligi.
Bulutlar/K8s miskonfiglarining ignori (koʻpincha CVE dan ham muhimroq).
SBOM/imzo yoʻq - kuzatish qobiliyati sust (supply chain).
Joriy etish yo’l xaritasi
1. Aktivlar va egalarni xatlovdan o’tkazish; servislar/tasvirlarning yagona reyestri.
2. Skanerlar steki: SCA/SAST/DAST/Container/Cloud + secret-scan; CI/CD ga integratsiya qilish.
3. SLO va ustuvorlik siyosati: CVSS + EPSS + kontekst; tiketlar shablonlari.
4. Admission/Policy-as-Code: tanqidiy zaifliklarni taqiqlash, SBOM/imzolar talabi.
5. Patch-jarayonlar: derazalar, kanareykalar, otkatlar; minor/patch-versiyalar uchun avtopilotlar.
6. Hisobot va metrika: MTTP, qamrov, yosh; tavakkalchilikni har haftalik ko’rib chiqish.
7. Muntazam mashqlar: tanqidiy CVE simulyatsiyasi, pleybuklar va rollbackni tekshirish.
Jami
Zaifliklarni mukammal boshqarish - bu bir martalik «tozalash» emas, balki jarayon: avtomatik aniqlash, kontekstda ustuvorlik, kanareykalar/rollback, prodga kirishda policy-as-code va shaffof metriklar orqali uzluksiz patchlar. Asosiy tasvirlar va shablonlarda fikslarni biriktirib, siz takrorlanish xavfini kamaytirasiz va hujum yuzasini doimiy nazorat ostida ushlab turasiz.