Խոցելիության և փամփուշտների սկանավորում
Ռուսական ռեզյումե
Խոցելիությունների կառավարումը շարունակական ցիկլ է 'ռիսկի ռիսկի վերջնական գնահատումը։ Սկանավորման տեխնոլոգիաները (SCA/SFC/DMS/IFC/Cloud/Intainer) ազդանշաններ են տալիս, իսկ կոնտեքստը (էքսպոնիան, արտոնությունները, տվյալները, EPSA, էքսպլոյտները) որոշում է գերակայությունը։ Նպատակը 'նվազեցնել իրական ռիսկը առանց բիզնեսի ձախողման' օգտագործելով ավտոմատիզացիա, կանարյան կպչումներ և հստակ SLO-ներ։
Սկանավորման տաքսոնոմիա
SCA (Software Composts Analysis) 'կախվածության վերլուծություն/2019; CVE հայտնաբերումը գրադարաններում, SBSA-ում։
SFC 'սեփական կոդի ստատիկ վերլուծություն մինչև հավաքումը։
DFC: Դինամիկ «սև արկղը» աշխատանքային մրցույթի դեմ։
IFC 'ծրագրի ներսում սենսորները (թեստերի ընթացքում) - ավելի քիչ FP, ավելի խորը կոնտեքստը։
Windainer/OS Scan: Պատկերներ (bultimage, փաթեթներ), հոստներ (միջուկ/փաթեթներ/ֆայլեր), CIS-բենչարկներ։
Cloud/Infra (CSPM/KSPM) 'ամպերի/K8s (IAM, ցանցեր, կոդավորում, հանրային տանկեր)։
Secrets Scan: Reposorts և պատկերների արտահոսքեր։
Binary/Artifact Scan: հավաքված արտեֆակտների ստուգում (ստորագրություններ, խոցելիություններ)։
Ռիսկի մոդել և գերակայություն
Գնահատումը = CVIII v3։ X (բազա) - EPSA (գործողության հավանականությունը) հաստատվում է համատեքստում (էքսպոնիան, տվյալները, արտոնությունները, որոնք փոխհատուցում են միջոցները)։
Կոնտեքստային գործոններ
Էքսպոնիան ինտերնետում/ներսում, WAF/mTSA/մեկուսացման առկայությունը։
Տվյալները ՝ PII/ֆինանսներ/գաղտնիքներ։
Գործընթացի առավելությունները/հանգույցը, lateral movert պոտենցիալ։
Հանրային էքսպլոյտի/զանգվածային հարձակումների առկայությունը, կոմպլանսի պահանջները։
CVIII-վեկտորի օրինակը '"CVIII: 3։ 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H: H '210 քննադատեց; եթե ծառայությունը հանրային է և առանց փոխհատուցման միջոցներ 'P1։
SLO շեմերը (օրինակ)
P1 (քննադատական, վիրահատված): ֆիքսը 3848 ռուբլիներ
P2 (բարձր) '7 օր ֆիքս։
P3 (միջին) '30 օր ֆիքս։
P4 (ցածր/inform.) 'պլանավորված/beklogue։
Խոցելիության կառավարման կյանքի ցիկլը
1. Ակտիվների բուլարիզացիան 'ծառայություններ, պատկերներ, կլաստերներ, ՕՀ, փաթեթներ, կախվածություններ, տարբերակներ։
2. Սկանավորում ժամանակացույցով և իրադարձությամբ 'կոմունիտներ, հավաքումներ, դեֆորմացիա, ամենօրյա/շաբաթական պատուհաններ։
3. Եռյակը 'դեդուպլիկացիա, նորմալացում (CVE no Ticket), մապինգ սեփականատիրոջ վրա։
4. Առաջնահերթություն համատեքստով 'CVSA/EPSA + էքսպոնիոնարություն/տվյալներ։
5. Ռեմեդիացիան 'պաթչ/կախվածության թարմացում/www.g-hardnening/վիրտուալ պաթչ (WAF)։
6. Վերիֆիկացիան 'կրկնվող սկանավորում, թեստեր, կանարեյկա։
7. Հաշվետվություններ ՝ փակման չափումներ, խոցելիության տարիքը, SLO-ի համապատասխանությունը։
8. Դասերը 'ֆիքսը (bultimage, Helm chart), ապագայի քաղաքականությունը։
Ինտեգրումը CI/CD
PR: SFC + SCA + գաղտնիք-սկան; Break build-ը P1/P2-ով կամ ախորժակի պահանջով։
Build-ի փուլում 'պատկերի սկան, SBSA (Cyclator DX/SPDX), արտեֆակտների ստորագրությունը (cosport)։
Deploy-ի փուլում (Admission) - «critical/high» խոցելիությամբ և առանց ստորագրության/SBSA-ի պատկերների արգելքը։
Հետդեպլոը 'DFC/IFC սթեյջինգի դեմ և մասամբ անջատումը (անվտանգ պրոֆիլներ)։
Օրինակ ՝ 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])
}
Patch-կառավարման (OS, բեռնարկղեր, K8s)
ОС (Linux/Windows)
Patch 210: wwwwww.ww.w.P.
Ռազմավարություն 'սկզբում կանարեյկան 5-10 տոկոսը հանգույցների, ապա ալիքների։
Ավտոմատացումը 'Ansible/WSUS/Intune/SSM; կախվածության և արձագանքի ստուգում։
Kernel You Patching (որտեղ հնարավոր է) արագությունը նվազեցնելու համար։
Restart-ծառայություններ 'K8s nood, graceful shutdown։
Բեռնարկղեր
Immutable-մոտեցումը 'ոչ թե «apt upgrade» - ում, փոխպատվաստել պատկերը նորացված հիմքով։
Հիմնական պատկերները 'պարբերաբար թարմացնել golden images (Alpine/Debian/Distroless), համախմբել տարբերակները (digest)։
Բազմաթիվ հավաքումներ 'նվազագույնի հասցնել մակերեսը (հեռացնել build-toope)։
Ստուգումը դոպլոյից առաջ 'CVE-ի կրիտիկական պատկերների բլոկը։
Kubernetes/Service Mesh
Contll Plane: Ժամանակին minories, www.CVE k8s/etcd/wwww.ainerd։
Node OS/Intainer runtime: Պլանավորված նորարարություններ, տարբերակների համատեղելիություն։
Mesh/Ingress: Envoy/Istio/NGINX տարբերակները կրիտիկական են (հաճախ CVE պարսերում/NTTR3)։
Admission Policies: արգելքը 'latest', ստորագրության պահանջը, խոցելիության սահմանները։
Վիրտուալ փամփուշտներ և փոխհատուցող միջոցներ
Երբ փամփուշտը անհնար է արագ
WAF/WAAP: ազդանշան/դրական մոդել կոնկրետ էնդպոինտի համար։
Ֆիչֆլագի 'անջատել խոցելի ֆունկցիոնալությունը։
Ցանցային ACL/mTRK/IP allow-list 'սահմանափակել խոցելի ծառայության հասանելիությունը։
Քրեյգ-hardnening 'իրավունքների նվազում, sandbox, read-only FS, վտանգավոր մոդուլների անջատումը։
TTL-ի կրճատումը Տոկենով/2019, գաղտնիքների վերացումը։
Բացառությունների կառավարում (Risk Acceptics)
Բացառությունը ձևավորվում է տիկետի միջոցով 'հիմնավորում, փոխհատուցում, SLA-ի վրա, վերանայման ամսաթիվը։
Հաշվետվություններում նշեք որպես «ռիսկի ժամանակավոր ընդունումը» և ներառեք ամսական ակնարկում։
Դիտարկումը և չափումները
Տեխնոլոգիական
Սկանավորման միջոցով ծածկված ակտիվների մասնաբաժինը (%)։
Mean Time To Patch (MTTP) по P1/P2/P3.
Բաց խոցելիության տարիքը (p50/p90), backlog burn-down։
Պատկերների տոկոսը SBSA-ի և ստորագրության հետ։
Բիզնես/SLO
SLO-ի կատարումը փակման ժամանակ (օրինակ, 3695 տոկոսը P1-48 ժամ)։
Aptaim-ի վրա ազդեցությունը (col-col-ը փամփուշտների ժամանակ)։
Նույն CVE-ի կրկնվող հայտնաբերումները (ձևանմուշների որակը)։
Պլեյբուկի (կրճատ)
P1: Քննադատական RCE հանրային ծառայության մեջ
1. Ակտիվացնել WAF-կանոն/վիրուսային պաթչ։
2. Արգելափակել չօգտագործված աղբյուրների հասանելիությունը (եթե թույլատրելի է)։
3. Պատկերի/պաթչ ՕՀ-ի հրատապ փոխպատվաստումը, ալիքի կոյուղաջրերը։
4. Կրկնվող DFC/հեռուստատեսության ստուգում, սխալներ։
5. Փոստի դեպքը 'ամրացնել ֆիքսը հիմնական պատկերով/Helm chart, ավելացնել CI թեստը։
Secret leak (հեղինակային)
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) SBSA գեներացիան և ստորագրությունը (Makefile հատվածը)
make sbom:
cyclonedx create --output sbom.json sign:
cosign sign --key cosign.key $(IMAGE_DIGEST)
Հատուկ iGaming/fintech
Ռիսկի բարձրացված գոտիները ՝ մետրոպոլիտենի կողպեքները, becope-ը, հակաֆրոդը, PII/PAN-ի վերամշակումը - P1/P2 առաջնահերթությունը։
Ծառայության պատուհանները 'հյուրանոցներ/բաժնետոմսեր, pre-warm քեշեր, ցածր բեռնված տարածքներում։
Կարգավորող (PCI DSS/GDPR) 'խոցելիությունների վերացման ժամկետները, ապացույցները (սքրինշոտներ/հաշվետվություններ), CHD գոտիների հատվածը, կոդավորումը։
Գործընկերություն 'պահանջել MSK/հաճախորդներ, մանդատ SCA և HMAC/mTRK վեբհուկներում։
Տիպիկ սխալներ
«Կանենք ամեն ինչ, մենք ոչինչ չենք մաքրում», ոչ սեփականատերեր և SLO-ներ։
Ֆոկուսը միայն CVSA-ի վրա առանց կոնտեքստի (էքսպոնիրիվությունը, EPSA, տվյալները)։
Պատկերի փոխպատվաստման փոխարեն բեռնարկղի մեջ փամփուշտներ կան։
Կանարյան/rollback պլանների բացակայությունը։
Ամպի/K8s (հաճախ ավելի քննադատական է CVE)։
Ոչ SBIM/ստորագրությունները թույլ հետադարձ են (supply chain)։
Ճանապարհային քարտեզը
1. Ակտիվների և սեփականատերերի բուլգարիզացիան; ծառայությունների/պատկերների միավորում։
2. Սկաներների Stek: SCA/SMS/DMS/DRainer/Cloud + secret-scan; ինտեգրումը CI/CD-ում։
3. SLO քաղաքականությունները և գերակայությունները ՝ CVSA + EPSA + ենթատեքստը; տիկետների ձևանմուշներ։
4. Admission/Policy-as-Code: քննադատական խոցելիության արգելք, SBSA/ստորագրությունների պահանջը։
5. Patch գործընթացներ 'պատուհաններ, կանարեյներ, արձագանքներ։ ավտոպիլոտներ մինոր/պաթչ տարբերակների համար։
6. Հաշվետվություններ և չափումներ ՝ MTTP, ծածկույթ, տարիք։ շաբաթական ռիսկի ակնարկ։
7. Ուսուցումները 'քննադատական CVE սիմուլյացիա, պլեյբուսների ստուգում և rollback։
Արդյունքը
Խոցելիությունների հասուն կառավարումը գործընթաց է, ոչ թե տարբեր «մաքրող» 'ավտոմատ հայտնաբերում, համատեքստային գերակայություն, անկայուն փամփուշտներ կանարիկայի/rollback, policy-as-code, և թափանցիկ գծապատկերներ։ Ամրացնելով ֆիքսները հիմնական պատկերներում և ձևանմուշներում, դուք նվազեցնում եք կրկնության ռիսկը և պահում եք հարձակման մակերեսը կայուն վերահսկողության տակ։