Осалдықтар мен патчтарды сканерлеу
Қысқаша түйіндеме
Осалдықтарды басқару - бұл үздіксіз цикл: анықтау → тәуекелді бағалау → жою (патч/көші-қон/ ) → тексеру → есептілік. Сканерлеу технологиясы (SCA/SAST/DAST/IAST/Cloud/Container) сигналдар береді, ал контексті (экспонатталуы, артықшылықтары, деректері, EPSS, эксплойттары) басымдықты анықтайды. Мақсаты - автоматтандыруды, канареялық есептеулер мен нақты SLO пайдалана отырып, бизнестің тоқтап қалуынсыз нақты тәуекелді азайту.
Сканерлеу таксономиясы
SCA (Software Composition Analysis): тәуелділіктерді/лицензияларды талдау; кітапханаларда CVE, SBOM табу.
SAST: құрастыру алдында жеке кодты статикалық талдау.
DAST: динамикалық «қара жәшік» жұмыс істеп тұрған сервиске қарсы.
IAST: қосымшаның ішіндегі датчиктер (тест кезінде) - FP-ден кем, контекстен тереңірек.
Container/OS Scan: бейнелер (base image, пакеттер), хосттар (ядро/пакеттер/конфигалар), CIS-бенчмарктар.
Cloud/Infra (CSPM/KSPM): бұлттардың мисконфигтері/K8s (IAM, желілер, шифрлау, көпшілік бақеттері).
Secrets Scan: репозиторийлер мен бейнелерде кілттердің/токендердің жылыстауы.
Binary/Artifact Scan: жиналған артефактілерді тексеру (қолтаңбалар, осалдықтар).
Тәуекел моделі және басымдылығы
Бағалау = CVSS v3. x (база) × EPSS (пайдалану ықтималдығы) × контекст (экспонатталу, деректер, артықшылықтар, орнын толтыру шаралары).
Мәтіндік факторлар:- Интернетте/ішінде, WAF/mTLS/оқшаулаудың болуы.
- Деректер: PII/қаржы/құпиялар.
- Процестің/тораптың артықшылықтары, lateral movement-әлеует.
- Көпшілік эксплойттың/жаппай шабуылдардың болуы, комплаенс талаптары.
CVSS-вектордың мысалы: 'CVSS: 3. 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H '→ сыни; егер сервис жария болса және өтемақы шараларынсыз - P1.
SLO табалдырықтары (мысал):- P1 (сыни, пайдаланылатын): фикс ≤ 48 сағ.
- P2 (жоғары): фикс ≤ 7 күн.
- P3 (орташа): 30 күнге ≤ фикс.
- P4 (төмен/ақпарат) : жоспарлы/бэклог бойынша.
Осалдықтарды басқарудың өмірлік циклі
1. Активтерді түгендеу: сервистер, бейнелер, кластерлер, ОЖ, пакеттер, тәуелділіктер, нұсқалар.
2. Кесте бойынша және оқиға бойынша сканерлеу: коммиталар, жиналымдар, деплой, тәуліктік/апта сайынғы терезелер.
3. Триаж: дедупликация, қалыпқа келтіру (CVE → Ticket), иесіне маппинг.
4. Мәтін бойынша басымдылығы: CVSS/EPSS + экспонатталуы/деректері.
5. Ремедиация: патч/тәуелділікті жаңарту/ -хардненинг/виртуалды патч (WAF).
6. Верификация: қайта сканерлеу, тестілер, канарейка.
7. Есептілік: жабылу метрикасы, осалдықтардың жасы, SLO сәйкестігі.
8. Сабақтар: үлгідегі фикс (base image, Helm chart), болашақ саясаты.
CI/CD біріктіру
PR кезеңінде: SAST + SCA + құпия-сканер; «break build» P1/P2 немесе аппрувтың талабы бойынша.
build кезеңінде: бейнені сканерлеу, SBOM (CycloneDX/SPDX) генерациясы, артефактілердің қолтаңбасы (cosign).
Deploy кезеңінде: рұқсат саясаты (Admission) - 'critical/high' осалдықтары бар және/SBOM қолтаңбасыз бейнелерге тыйым салу.
Постдеплой: DAST/IAST стейджингке қарсы және ішінара production (қауіпсіз профильдер).
Мысал: Renovate/Dependabot (үзік)
json
{
"extends": ["config:recommended"],
"vulnerabilityAlerts": { "enabled": true },
"packageRules": [
{ "matchUpdateTypes": ["minor","patch"], "automerge": true },
{ "matchManagers": ["dockerfile"], "enabled": true }
]
}
Рұқсат ету саясаты (Kubernetes, OPA/Gatekeeper - жеңілдетілген)
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])
}
Патч-менеджмент (ОС, контейнерлер, K8s)
ОС (Linux/Windows)
Patch window: P1 үшін тұрақты терезелер + шұғыл кезектен тыс.
Стратегия: алдымен 5-10% түйін канареясы, содан кейін толқындар.
Автоматты түрде бұрау: Ansible/WSUS/Intune/SSM; тәуелділіктер мен кері қайтаруларды тексеру.
Бос тұруды азайту үшін Kernel Live Patching (мүмкін болған жерде).
Қайта бастау қызметтері: басқарылатын drain/cordon үшін K8s нод, graceful shutdown.
Контейнерлер
Immutable-тәсіл: рантаймдағы «apt upgrade» емес; жаңартылған базасы бар бейнені қайта жинақтау.
Негізгі бейнелер: golden images (Alpine/Debian/Distroless) ұдайы жаңартып отыру, нұсқаларын бекіту (digest).
Көп сатылы құрастырмалар: бетті барынша азайту (build-tools жою).
Деплоның алдында тексеру: сыни CVE бейнелер блогы.
Kubernetes/Service Mesh
Control Plane: уақытылы шағын релиздер, CVE k8s/etcd/containerd жабу.
Node OS/Container runtime: жоспарлы жаңартулар, нұсқалардың үйлесімділігі.
Mesh/Ingress: Envoy/Istio/NGINX нұсқалары - сыни (көбінесе парсерларда CVE/НТТР3).
Admission Policies: тыйым ': latest', қолтаңба талабы, осалдықтар лимиттері.
Виртуалды жапсырмалар және орнын толтыру шаралары
Патч тез мүмкін болмағанда:- WAF/WAAP: нақты эндпоинт үшін оң модель/белгі.
- Фичфлагтар: осал функционалдықты өшіру.
- Желілік ACL/mTLS/IP allow-list: осал қызметке қатынауды шектеу.
- -харднинг: құқықтарды төмендету, sandbox, read-only FS, қауіпті модульдерді ажырату.
- TTL белгілерін/кілттерін қысқарту, құпияларды ротациялау.
Ерекшеліктерді басқару (Risk Acceptance)
Ерекшелiк: негiздемесi, өтемдiк шаралары, жоюға арналған SLA, қайта қарау күнi бар тикетпен ресiмделедi.
Есептілікте «тәуекелді уақытша қабылдау» деп белгілеу және ай сайынғы шолуға енгізу.
Бақылау және метрика
Техникалық:- Mean Time To Patch (MTTP) по P1/P2/P3.
- Сканерлеумен жабылған активтердің үлесі (%).
- Ашық осалдықтардың жасы (p50/p90), backlog burn-down.
- SBOM және қолтаңбасы бар бейнелер пайызы.
- Жабу мерзімі бойынша SLO орындау (мысалы, ≥ 95% P1 ≤ 48 сағ).
- Аптаймға әсері (патч кезіндегі инциденттер саны).
- Сол CVE қайта анықтау (үлгілердегі фикстің сапасы).
Ойнатқыштар (қысқаша)
P1: Қоғамдық сервистегі сындарлы RCE
1. WAF ережесін/вирт-патч.
2. Рұқсат етілмеген көздерге қатынасуға тыйым салу (егер мүмкін болса).
3. ОС бейнесін/патчін жедел қайта іріктеу, канарейка → толқындар.
4. Телеметрияны қайта DAST/тексеру, қателер мониторингі.
5. Пост-инцидент: базалық/Helm chart суретіндегі фиксті бекіту, тестті CI-ге қосу.
1. Құпияларды/кілттерді дереу ротациялау, токендерді қайтарып алу.
2. Пайдалану іздерін іздеу, эндпоинттерді шектеу.
3. Репо/бейнелердің құпия сканерлері, pre-commit сканерін енгізу.
Артефакттар мысалдары
1) «Ыстық» осалдықтар бойынша SQL-есеп
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 саясаты (Kyverno, critical осалдықтар блогы)
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 генерациясы және қолы (Makefile фрагменті)
make sbom:
cyclonedx create --output sbom.json sign:
cosign sign --key cosign.key $(IMAGE_DIGEST)
iGaming/финтех ерекшелігі
Жоғары тәуекел аймақтары: төлем шлюздері, төлемдер бэкофисі, антифрод, PII/PAN өңдеу - патчтар P1/P2 басымдығы.
Қызмет көрсету терезелері: төмен жүктелген өңірлердегі турнирлермен/акциялармен, pre-warm кэштермен, канареялармен келісу.
Реттеуіш (PCI DSS/GDPR): осалдықтарды жою мерзімдері, дәлелдер (скриншоттар/есептер), CHD-аймағын сегменттеу, шифрлау.
Серіктестік интеграциялар: веб-хуктарда SDK/клиенттер, мандатты SCA және HMAC/mTLS нұсқаларын талап ету.
Типтік қателер
«Бәрін сканерлейміз - ештеңені жөндейміз»: иелері мен SLO жоқ.
Тек контекстсіз CVSS-ке назар аудару (экспонатталуы, EPSS, деректер).
Бейнені қайта жинаудың орнына контейнер рантаймасындағы патч.
Канарейка/rollback-жоспарларының болмауы.
Бұлт мисконфигтерінің инноры/K8s (көбінесе CVE-ден критикалық).
SBOM/қолтаңбасы жоқ - әлсіз бақылау (supply chain).
Енгізу жол картасы
1. Активтер мен иелерін түгендеу; сервистердің/бейнелердің бірыңғай тізілімі.
2. Сканерлер стегі: SCA/SAST/DAST/Container/Cloud + secret-scan; CI/CD біріктіру.
3. SLO және басымдық саясаты: CVSS + EPSS + контексті; тикет үлгілері.
4. Admission/Policy-as-Code: сыни осалдықтарға тыйым салу, SBOM/қолтаңбалар талабы.
5. Патч-процестер: терезелер, канареялар, кері қайтулар; минор/патч-нұсқаларға арналған автопилоттар.
6. Есептілік және метрика: MTTP, жабындысы, жасы; тәуекелге апта сайынғы шолу.
7. Тұрақты жаттығулар: сыни CVE симуляциясы, плейбуктерді тексеру және rollback.
Жиынтық
Кемшіліктерді жетілген басқару - бұл бір реттік «тазалау» емес, процесс: автоматты анықтау, контекстік басымдық беру, канарейка/rollback, policy-as-code арқылы тоқтаусыз жапсырмалар. Базалық кескіндер мен үлгілердегі фикстерді бекіте отырып, сіз қайталану қаупін азайтасыз және шабуыл бетін тұрақты бақылауда ұстайсыз.