مسح الضعف والتصحيح
موجز
إدارة الضعف دورة مستمرة: الكشف → تقييم المخاطر → والقضاء (التصحيح/الهجرة/التكوين) → التحقق → الإبلاغ. تعطي تقنيات المسح (SCA/SAST/DAST/IAST/Cloud/Container) إشارات، والسياق (التعرض والامتيازات والبيانات و EPSS، المآثر) يحدد الأولوية. الهدف هو تقليل المخاطر الحقيقية دون توقف العمل باستخدام الأتمتة وحسابات الكناري ومسح SLOs.
مسح التصنيف
SCA (تحليل تكوين البرامج): تحليل التبعية/الترخيص ؛ اكتشاف CVE في المكتبات، SBOM.
SAST-Static تحليل الشفرة الأصلية قبل التجمع.
DAST: الصندوق الأسود الديناميكي مقابل خدمة التشغيل.
IAST: مستشعرات داخل التطبيق (أثناء الاختبارات) - أقل FP، سياق أعمق.
مسح الحاوية/نظام التشغيل: الصور (الصورة الأساسية، الطرود)، المضيفون (النواة/الطرود/التكوينات)، معايير رابطة الدول المستقلة.
Cloud/Infra (CSPM/KSPM): أخطاء cloud/K8s (IAM، الشبكات، التشفير، الدلاء العامة).
مسح الأسرار: تسريبات المفتاح/الرمز في المستودعات والصور.
مسح ثنائي/أثري: التحقق من القطع الأثرية المجمعة (التوقيعات، نقاط الضعف).
نموذج المخاطر وتحديد الأولويات
النتيجة = CVSS v3. x (الأساس) × (احتمال الاستغلال) × السياق (التعرض، البيانات، الامتيازات، التدابير التعويضية).
عوامل السياق:- التعرض على الإنترنت/الداخل، وجود WAF/mTLS/العزلة.
- البيانات: PII/finance/secrets.
- امتيازات العملية/العقدة، إمكانية الحركة الأفقية.
- توافر الاستغلال العام/الهجمات الجماعية، ومتطلبات الامتثال.
مثال متجه CVSS: 'CVSS: 3. 1/AV: N/AC: L/PR: N/UI: N/S: U/C: H/I: H/A: H '→ إذا كانت الخدمة عامة ودون تدابير تعويضية - ف 1.
عتبات SLO (مثال):- P1 (حرج، يعمل): إصلاح ≤ 48 ساعة.
- P2 (مرتفع): تثبيت ≤ 7 أيام.
- P3 (متوسط): إصلاح ≤ 30 يومًا.
- ف-4 (منخفضة/معلومة): من المقرر/حسب الأعمال المتراكمة.
دورة حياة إدارة الضعف
1. جرد الأصول: الخدمات والصور والمجموعات ونظام التشغيل والحزم والتبعيات والنسخ.
2. المسح المجدول والمناسبات: يلتزم، يبني، مقالب، نوافذ يومية/أسبوعية.
3. الفرز: التفريغ، التطبيع (CVE→Ticket)، رسم الخرائط للمالك.
4. تحديد الأولويات حسب السياق: التعرض/البيانات الخاصة بـ CVSS/EPSS +.
5. الإصلاح: تحديث التصحيح/التبعية/تصلب التكوين/التصحيح الافتراضي (WAF).
6. التحقق: الإنقاذ، الاختبارات، الكناري.
7. الإبلاغ: مقاييس الإغلاق، عمر نقاط الضعف، امتثال SLO.
8. الدروس: إصلاح القوالب (الصورة الأساسية، مخطط هيلم)، سياسة المستقبل.
الاندماج في مؤتمر نزع السلاح
في الخطوة PR: SAST + SCA + الفحص السري ؛ "break build' حسب P1/P2 أو شرط الطلب.
في مرحلة البناء: مسح الصور، جيل SBOM (CycloneDX/SPDX)، توقيع القطع الأثرية (كوزين).
عند النشر: مرحلة سياسة القبول - حظر الصور ذات نقاط الضعف «الحرجة/العالية» وغير الموقعة/SBOM.
ما بعد المرحلة: DAST/IAST ضد التدريج والإنتاج الجزئي (ملامح آمنة).
مثال: التجديد/التبعية (جزء)
json
{
"extends": ["config:recommended"],
"vulnerabilityAlerts": { "enabled": true },
"packageRules": [
{ "matchUpdateTypes": ["minor","patch"], "automerge": true },
{ "matchManagers": ["dockerfile"], "enabled": true }
]
}
سياسة القبول (كوبرنيتس، 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)
ОС (لينكس/ويندوز)
نافذة التصحيح: نوافذ عادية + نوافذ طارئة غير عادية لـ P1.
الاستراتيجية: عقد الكناري 5-10٪ أولاً، ثم الأمواج.
النشر التلقائي: Ansible/WSUS/Intune/SSM ؛ فحص القيود والتراجع.
Kernel Live Patching (حيثما أمكن) لتقليل وقت التوقف.
خدمات إعادة التشغيل: التصريف/الطوق المُدار للعقد K8s، والإغلاق الرشيق.
حاويات
النهج الثابت: ليس «الترقية المناسبة» في وقت التشغيل ؛ إعادة بناء الصورة مع القاعدة المحدثة.
الصور الأساسية: تحديث منتظم للصور الذهبية (Alpine/Debian/Distroless)، إصلاح الإصدارات (موجز).
التجميعات متعددة المراحل: تقليل السطح (إزالة أدوات البناء).
مسح ما قبل النشر - حظر الصور مع CVEs الحرجة.
شبكة Kubernetes/Service
مستوى التحكم: إطلاقات طفيفة في الوقت المناسب، إغلاق CVE k8s/etcd/containerd.
وقت تشغيل نظام التشغيل/الحاوية: التحديثات المجدولة، توافق الإصدار.
الشبكة/الدخول: تعد إصدارات Envoy/Istio/NGINX حاسمة (غالبًا CVE في المحللين/NTTR3).
سياسات القبول: الحظر ': أحدث'، شرط التوقيع، حدود الضعف.
الرقع الافتراضية والتدابير التعويضية
عندما لا يكون التصحيح ممكنًا بسرعة:- WAF/WAAP: التوقيع/النموذج الإيجابي لنقطة نهاية محددة.
- أعلام الميزة: تعطيل الوظائف الضعيفة.
- قائمة السماح لشبكة ACL/mTLS/IP: تقييد الوصول إلى الخدمة الضعيفة.
- تصلب التهيئة: خفض الحقوق، صندوق الرمل، FS للقراءة فقط، تعطيل الوحدات الخطرة.
- تخفيض رموز/مفاتيح TTL، وتدوير الأسرار.
قبول المخاطر
ويصدر استثناء مع تذكرة مع: التبرير، والتدابير التعويضية، وجيش تحرير السودان للإلغاء، وتاريخ المراجعة.
الإبلاغ عن «القبول المؤقت للمخاطر» وإدراجه في الاستعراض الشهري.
إمكانية الرصد والمقاييس
التقنية:- متوسط الوقت للتصحيح (MTTP) по P1/P2/P3.
- حصة الأصول المشمولة بالمسح (٪).
- عصر نقاط الضعف المفتوحة (p50/p90)، وحرق الأعمال المتراكمة.
- النسبة المئوية للصور مع SBOM والتوقيع.
- إكمال المنظمات غير الحكومية بحلول مواعيد الإغلاق (مثلاً) 95٪ P1 ≥ ≤ 48 ساعة)
- التأثير على وقت التشغيل (عدد حوادث التصحيح).
- الكشف المتكرر عن نفس CVE (تثبيت الجودة في القوالب).
كتب اللعب (مختصرة)
P1: برنامج التدريب المهني في مجال الخدمة العامة
1. تفعيل قاعدة WAF/تصحيح wirth.
2. منع الوصول إلى المصادر غير المأذون بها (عند الاقتضاء).
3. إعادة بناء الصورة العاجلة/رقعة نظام التشغيل، موجة الكناري →.
4. فحص DAST/القياس عن بعد المتكرر، مراقبة الخطأ.
5. ما بعد الحادث: أصلح الإصلاح في الصورة الأساسية/مخطط Helm، أضف الاختبار إلى CI.
1. التناوب الفوري للأسرار/المفاتيح، وإلغاء الرموز.
2. العثور على آثار الاستخدام، والحد من نقاط النهاية.
3. مسح إعادة الشراء/الصور بحثًا عن الأسرار، وتنفيذ ماسح ضوئي مسبق.
أمثلة على القطع الأثرية
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) سياسة القبول (كيفيرنو، كتلة الضعف الحرجة)
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/fintech
المناطق عالية الخطورة: بوابات الدفع، الدفع الخلفي، مكافحة الاحتيال، معالجة PII/PAN - P1/P2 التصحيحات ذات الأولوية.
نوافذ الخدمة: التنسيق مع البطولات/العروض الترويجية، مخابئ ما قبل الدفء، طيور الكناري في المناطق منخفضة التحميل.
التنظيم (PCI DSS/GDPR): الجدول الزمني لإصلاح نقاط الضعف، والأدلة (لقطات الشاشة/التقارير)، وتجزئة منطقة CHD، والتشفير.
تكامل الشركاء: يتطلب عملاء SDK/SDK، و SCA الإلزامي و HMAC/mTLS على خطوط الويب.
أخطاء شائعة
«مسح كل شيء - لا يصلح شيئًا»: لا يوجد مالكون و SLO.
التركيز فقط على CVSS بدون سياق (التعرض، EPSS، البيانات).
رقع في وقت تشغيل الحاوية بدلاً من إعادة بناء الصورة.
نقص خطط الكناري/التراجع.
تجاهل التشكيلات الخاطئة cloud/K8s (غالبًا ما تكون أكثر أهمية من CVE).
لا يوجد SBOM/signature - سلسلة إمداد.
خارطة طريق التنفيذ
1. جرد الموجودات والمالكين ؛ سجل موحد للخدمات/الصور.
2. مكدس الماسح الضوئي: SCA/SAST/DAST/Container/Cloud + secret-scan ؛ في مؤتمر نزع السلاح.
3. '1' سياسات تخطيط البرامج وتحديد أولوياتها: سياق نظام تقييم الأداء والضمان الاجتماعي + نظام دعم البرامج ؛ نماذج التذاكر.
4. القبول/السياسة كمدونة: حظر نقاط الضعف الحرجة، اشتراط التوقيعات/التوقيعات.
5. عمليات التصحيح: النوافذ، الكناري، التراجع ؛ الطيار الآلي للإصدارات الصغيرة/التصحيح.
6. الإبلاغ والمقاييس: MTTP، التغطية، العمر ؛ الاستعراض الأسبوعي للمخاطر.
7. التمارين المنتظمة: محاكاة CVE الحرجة، التحقق من كتب اللعب والتراجع.
النتيجة
إدارة الضعف الناضجة هي عملية وليست «تنظيف» لمرة واحدة: الكشف التلقائي، وتحديد أولويات السياق، والتصحيح السلس من خلال الكناري/التراجع، والسياسة كرمز عند مدخل الحث، ومقاييس التنفيذ الشفافة. من خلال تأمين الأقفال في الصور والأنماط الأساسية، فإنك تقلل من خطر التكرار وتحافظ على سطح الهجوم تحت السيطرة الثابتة.