ملخص

  • حولت Log4Shell مكون تسجيل Java إلى اختبار عالمي للمساءلة لأن العديد من المنظمات لم تستطع تحديد ما إذا كان Apache Log4j موجودًا بشكل مباشر، أو مضمنًا في المنتجات، أو مجمعًا داخل الأجهزة، أو مخفيًا في الخدمات المدارة من البائعين.
  • جعلت التوجيهات العامة لـ CISA والتوجيه الطارئ 22-02 مشكلة الإصلاح مرئية: لم يكن التصحيح مجرد شعار. كان على الوكالات الفيدرالية المدنية المشمولة تحديد الأصول المتأثرة، وتخفيفها أو تحديثها، والإبلاغ عن الحالة، والاستمرار في البحث مع تغير المنتجات والتوجيهات.
  • قضية المساءلة المركزية هي الإصلاح القابل للتحقق. البيان العام بأننا "قمنا بالتصحيح" لا يثبت اكتمال المخزون، أو اكتشاف التبعيات المتداخلة، أو الضوابط التعويضية، أو التنسيق مع البائعين، أو مراقبة الاستغلال، أو أدلة الإغلاق.
  • تم توزيع المسؤولية. قام Apache بصيانة المشروع وإصدار الإصلاحات. سيطرت الوكالات والمؤسسات على اكتشاف الأصول. سيطر البائعون على تنبيهات المنتجات. لاحظ مزودو الخدمات السحابية والأمن الاستغلال ومنعه. احتاج العملاء إلى دليل على أن مورديهم قد قللوا بالفعل من التعرض.
  • الدرس الدائم هو أن حوكمة سلسلة توريد البرامج تفشل عندما لا تستطيع المؤسسات إثبات ما يديرونه. جعلت Log4Shell المخزون وقوائم المواد البرمجية وإدارة الثغرات والمراقبة بعد التصحيح ضرورات تشغيلية بدلاً من أوراق الامتثال.

كانت الطوارئ فشلاً في المخزون بقدر ما كانت عيبًا في الكود

تبدأ قصة Log4Shell بثغرة، لكن قصة المساءلة تبدأ بالاكتشاف. تصفصفحة أمان Log4jالخاصة بـ Apache والمدخل الخاص بـCVE-2021-44228الحقائق على مستوى المشروع: الإصدارات المتأثرة، والإصدارات المُصلحة، والثغرات ذات الصلة، وسياق التخفيف. يوفرسجل CVE-2021-44228من NVD البيانات الوصفية العامة للثغرة وتأطير شدتها. تحدد هذه المصادر لماذا كانت الثغرة عاجلة. لكنها لا تحدد ما إذا كانت أي منظمة معينة قد عثرت على كل نسخة من Log4j التي كانت تديرها.

هذا التمييز هو الذي حدد الأزمة. عرفت العديد من المنظمات أن لديها تطبيقات Java. قلة منها عرفت أي الخدمات الداخلية، أو منتجات البائعين، أو الأجهزة، أو أدوات التطوير، أو أعباء العمل السحابية التي تضمنت Log4j. يمكن أن يكون المكون موجودًا داخل تطبيقات لم يعد لها مالكون نشطون. يمكن أن يكون مجمعًا في منتجات تحت اسم بائع بدلاً من Apache. يمكن أن يكون موجودًا في بيئات الاختبار، أو الإصدارات الأقدم، أو وحدات التحكم الإدارية، أو مجمعات السجلات، أو البرامج التابعة لجهات خارجية. يمكن للفريق تصحيح الخادم الواضح مع ترك منتج مكشوف في مكان آخر.

التقطتنبيه توجيه ثغرة Apache Log4jالأول من CISA حالة الإلحاح العام. جمعمورد توجيه ثغرة Apache Log4jالأوسع للوكالة المراجع التشغيلية. لكن المساهمة الأعمق لم تكن مجرد نشر استشاري آخر. ساعدت CISA في تحويل المحادثة من "هناك CVE حرجة" إلى "أظهر عملك." أصبح السؤال أي الأنظمة تم فحصها، وأي الأنظمة كانت ضعيفة، وأيها تم تصحيحها، وأيها لديها ضوابط تعويضية، وأيها كانت تنتظر البائعين.

وهنا أصبحت كلمة "تصحيح" صغيرة جدًا. تصحيح تطبيق مملوك داخليًا هو فعل واحد. العثور على Log4j مضمّن داخل جهاز بائع هو فعل آخر. تطبيق تخفيف لأن الإصدار المُصلح غير متوفر بعد هو فعل آخر. فحص السجلات للاستغلال هو فعل آخر. إعادة الاختبار بعد أن يراجع البائع توجيهاته هو فعل آخر. إزالة المكتبات القديمة الضعيفة من بناء هو فعل آخر. كان الجمهور بحاجة إلى مفردات يمكنها فصل هذه الأفعال.

السؤال القابل للمساءلة بعد Log4Shell لم يكن "هل قمت بالتصحيح؟" بل "هل يمكنك إثبات أن المكون الضعيف لم يعد قابلاً للاستغلال في الأنظمة التي تتحكم فيها، وهل يمكنك إثبات ما تبقى غير مؤكد؟" المنظمة التي يمكنها الإجابة على هذا السؤال لديها مخزون وقاعدة أدلة. المنظمة التي لا تستطيع لديها مشكلة حوكمة حتى لو عمل مهندسوها طوال عطلة نهاية الأسبوع.

جعل التوجيه الطارئ 22-02 الإصلاح قابلاً للقياس للوكالات المشمولة

ينطبق التوجيه الطارئ 22-02 الصادر عن CISA على الوكالات التنفيذية المدنية الفيدرالية الأمريكية. هذا النطاق مهم. لم يخلق التوجيه التزامات لكل شركة خاصة على وجه الأرض، ولا ينبغي لمقالة عامة مسؤولة أن توحي بذلك. تكمن أهميته في نموذج الإصلاح الذي جعله مرئيًا: تحديد الأصول المتأثرة، والتخفيف، والإبلاغ، والاستمرار في تحديث الحالة مع تغير المعلومات.

كانت قيمة التوجيه في المساءلة إجرائية. فقد أقر بأن الاستجابة للثغرات الطارئة لا يمكن إدارتها بإعلان واحد. كان على الوكالات المشمولة مراجعة الأصول المتصلة بالإنترنت، واستخدام أدوات CISA أو طرق مكافئة، وتحديث أو تخفيف البرامج المتأثرة، والإبلاغ عن الحالة. كما أقر التوجيه بأن قوائم المنتجات ومعرفة الثغرات ستتطور. وهذا يعني أن الوكالات لا تستطيع ببساطة إعلان الإغلاق من اليوم الأول والمغادرة.

هذه هي مشكلة الإثبات. إذا قالت وكالة إنه ليس لديها أصول متأثرة، فما المخزون الذي يدعم هذا البيان؟ إذا قالت إن أحد الأصول تم تخفيفه، فما التحكم الذي تم تطبيقه وكيف تم اختباره؟ إذا كان منتج بائع لا يزال ينتظر تصحيحًا، فما التحكم التعويضي الذي قلل التعرض؟ إذا ظهر منتج متأثر جديد لاحقًا، كيف أعادت الوكالة تقييم الوضع؟ كان الإصلاح حلقة أدلة.

نفس المنطق ينطبق خارج النطاق الفيدرالي حتى عندما لم يكن التوجيه ملزمًا قانونيًا للمؤسسات الخاصة. جميع المؤسسات والولايات والجامعات والمستشفيات ومقدمي الخدمات السحابية والشركات الصغيرة واجهت نفس المشكلة التقنية: اعثر على المكون، وافهم التعرض، أصلح أو خفف، راقب الاستغلال، ووثق المخاطر المتبقية. أعطاهم توجيه CISA مثالًا عامًا على الحوكمة الطارئة المنضبطة.

يعززكتالوج الثغرات المستغلة المعروفةهذه النقطة. عندما تكون ثغرة معروفة بأنها مستغلة، لم تعد إدارة الثغرات تمرينًا نظريًا للترتيب. تصبح واجبًا تشغيليًا. لا يثبت الكتالوج أي منظمة تم استغلالها. يخبر المدافعين أن الاستغلال النشط هو مدخل حوكمة. بالنسبة لـ Log4Shell، جعل سياق الاستغلال موقف "سنصلح لاحقًا" أضعف بكثير.

كما تكشف التوجيهات الطارئة عن مشكلة نقل التكلفة. كانت الوكالات والمؤسسات تعتمد على البائعين للإفصاح عما إذا كانت المنتجات تتضمن Log4j، وتوفير التصحيحات، وشرح التخفيفات، وتحديث التوجيهات. يمكن للعميل أن يتحمل المخاطرة ولكن ليس المعرفة الكاملة. إذا كان توجيه البائع متأخرًا أو غامضًا، كان سجل إصلاح العميل أضعف. أصبح هذا الاعتماد قضية مساءلة عامة لأن الأنظمة المتأثرة غالبًا ما كانت تدعم الخدمات الأساسية.

سيطر البائعون على الحقائق التي لم يستطع العملاء رؤيتها بشكل مستقل

كشف Log4Shell عن عدم تناسق أساسي في سلاسل توريد البرامج. يمكن للعملاء فحص أنظمتهم الخاصة، لكنهم غالبًا لا يستطيعون رؤية داخل المنتجات المملوكة أو الخدمات السحابية المدارة. يحتاجون إلى البائعين ليقولوا ما إذا كان المنتج متأثرًا، وما الإصدارات الضعيفة، وما إذا كان هناك تصحيح، وما إذا كان التخفيف آمنًا، وما إذا لوحظ استغلال. أصبحت توجيهات البائعين كائنات أدلة.

سيطر Apache على سجل المشروع مفتوح المصدر لـ Log4j نفسه. سيطر بائعو المنتجات على كيفية ظهور هذا المكون داخل برامجهم الخاصة. سيطر مزودو الخدمات السحابية على وضع الخدمات المدارة. سيطرت شركات الأمن على القياسات عن بعد وتوجيهات الكشف. سيطر العملاء على النشر والتعرض والتخفيف المحلي. سافرت الثغرة عبر كل هذه الطبقات. تطلبت المساءلة أن تكون كل طبقة محددة بشأن ما تعرفه.

لهذا السبب أصبحت قوائم المواد البرمجية أكثر من مجرد عبارة سياسة. تصفموارد SBOM الخاصة بـ CISAطريقة لتحسين الرؤية في مكونات البرامج. SBOM وحده لا يصحح الثغرة. لا يثبت أن المنتج آمن. لكن عندما تضرب أزمة، يمكن لمخزون موثوق للمكونات أن يقصر الوقت بين "Log4j ضعيف" و"هذه المنتجات والإصدارات والخدمات متأثرة." بدون هذا المخزون، يبحث العملاء والبائعون يدويًا تحت الضغط.

يقدم NIST SP 800-161 Revision 1،ممارسات إدارة مخاطر سلسلة توريد الأمن السيبراني للأنظمة والمنظمات، الإطار الحوكمي. مخاطر سلسلة التوريد ليست فقط أوراق المشتريات. إنها حقيقة أن النتائج الأمنية تعتمد على مكونات وموردين خارج سيطرة المشتري المباشرة. أظهر Log4Shell النسخة التشغيلية من هذه الحقيقة. بدأت ساعة استجابة الحوادث للمشتري قبل أن يعرف العديد من المشترين أي الموردين ضمن النطاق.

يضيف توجيهآمن بالتصميممن CISA عدسة واجب المورد. يجب على صانعي البرامج تقليل العبء الذي يضعونه على العملاء. خلال Log4Shell، كان ذلك يعني توجيهات في الوقت المناسب، مصفوفات إصدارات متأثرة واضحة، تعليمات تخفيف آمنة، وتأكيد لاحقًا بأن الإصلاحات كانت كاملة. البائع الذي انتظر أو تحوط أو نشر بيانات غامضة دفع التكلفة على العملاء الذين اضطروا إلى الاستمرار في السؤال عما إذا كانوا معرضين.

كان للاستجابة المسؤولة للبائعين عدة سمات. حددت المنتجات والإصدارات المتأثرة. ميزت بين "غير متأثر" و"قيد التحقيق." حددت الحلول البديلة ومخاطرها. حدثت التوجيهات عندما تغيرت الحقائق. شرحت ما إذا لوحظ استغلال في منتج البائع. قدمت للعملاء طريقة للتحقق من الإصدارات المثبتة. أبقيت التوجيهات القديمة متاحة للتدقيق. حولت هذه السمات تواصل البائع إلى دليل إصلاح قابل للاستخدام.

كانت مراقبة الاستغلال جزءًا من الإصلاح

إصلاح مكتبة ضعيفة لا يجيب عما إذا كانت الثغرة قد استغلت قبل الإصلاح. لذلك تطلبت استجابة Log4Shell الكشف والصيد. أظهرت توجيهات Microsoft،توجيهات لمنع واكتشاف وصيد استغلال CVE-2021-44228، كيف تعامل المدافعون مع السجلات والمؤشرات والنشاط المشبوه. وصفداخل ثغرة Log4j2من Cloudflare ملاحظات الاستغلال والتخفيف من وجهة نظر مزود الحافة.

هذه المصادر مهمة لأنها تجعل الإصلاح ثنائي الأبعاد. البعد الأول هو التعرض: أين كان Log4j الضعيف وما إذا كان يمكن الوصول إليه. البعد الآخر هو الاختراق: ما إذا كان المهاجمون استخدموا الثغرة قبل التصحيح أو أثناءه أو بعده. المنظمة التي صححت كل مثيل معروف ولكنها لم تراجع السجلات قد تفوت مهاجمًا دخل قبل الإصلاح. المنظمة التي صيدت استغلالًا ولكنها تركت منتجات ضعيفة غير معروفة مكشوفة بقيت في خطر.

علنًا، غالبًا ما يُفقد هذا التمييز. قد تقول شركة إنها عالجت الثغرة. قد يسمع العملاء ذلك على أنه "لم يحدث حادث." هاتان ادعاءان مختلفان. المعالجة تعني أن الثغرة تمت معالجتها. التحقيق يعني مراجعة الأدلة للاستغلال. إغلاق الحادث يعني أن المنظمة لديها حقائق كافية لتقول ما حدث، وما لم يحدث، وما تبقى غير مؤكد. تطلب Log4Shell الثلاثة جميعًا.

كانت الصعوبة أن محاولات الاستغلال كانت صاخبة وواسعة الانتشار. مسح المهاجمون والباحثون الإنترنت. حظرت منتجات الأمن المحاولات. احتوت السجلات على فحوصات وحمولات وأحيانًا سلاسل غامضة. بعض المنظمات لديها سجلات مفصلة؛ البعض الآخر لا. بعض المنتجات سجلت الحقول الصحيحة؛ البعض الآخر فقد الأدلة. بعض الأنظمة كانت متصلة بالإنترنت؛ البعض الآخر كان يمكن الوصول إليه داخليًا فقط. وجود فحص لا يساوي دائمًا اختراقًا. غياب إدخال السجل لا يثبت دائمًا السلامة.

لهذا السبب كان يجب أن يكون الدليل متواضعًا. يمكن لمنظمة مسؤولة أن تقول: هذه الأنظمة كانت ضعيفة، هذه تم تصحيحها، هذه السجلات تمت مراجعتها خلال هذه الفترة، هذه المؤشرات تم العثور عليها أو لم يتم العثور عليها، هذه الأنظمة تفتقر إلى سجلات تاريخية كافية، وهذه الضوابط التعويضية لا تزال قائمة. هذا البيان أقل ترتيبًا من "أصلحناها،" لكنه أكثر فائدة. يخبر صانعي القرار أين الثقة عالية وأين تبقى عدم اليقين المتبقي.

يجب أن ينطبق نفس المعيار على البائعين. إذا قال بائع منتج إن المنتج كان متأثرًا ولكن لم يلاحظ استغلال، يجب على العميل أن يسأل كيف سيعرف البائع. هل كان للمنتج قياس عن بعد؟ هل تلقى البائع تقارير العملاء؟ هل كانت السجلات متاحة؟ هل تم حظر محاولات الاستغلال قبل الوصول إلى الوظيفة الضعيفة؟ هل كان البيان مبنيًا على غياب الأدلة أم دليل الغياب؟ هذا المستوى من الدقة ليس تحذلقًا. إنه كيف يقرر العملاء ما إذا كان هناك حاجة إلى مزيد من الإجراءات.

ملاحظة حول الطباعة

يجب معالجة المخزون كتحكم حي

أحرج Log4Shell مخزونات الأصول. اكتشفت العديد من المنظمات أن قواعد بيانات إدارة الثغرات وسجلات المشتريات والمخزونات السحابية وجداول بيانات مالكي التطبيقات لم تكن متطابقة. قد يعرفون اسم خدمة الأعمال ولكن ليس مكتباتها. قد يعرفون خادمًا ولكن ليس حزمة Java داخل حاوية. قد يعرفون منتج بائع ولكن ليس المكونات التي يجمعها. قد يعرفون الإنتاج ولكن ليس بيئات الاختبار القديمة.

NIST SP 800-40 Revision 4،دليل تخطيط إدارة تصحيحات المؤسسات، مفيد لأنه يعامل إدارة التصحيح كبرنامج، وليس كتدافع. البرنامج يحتاج إلى تحديد الأصول، والوعي بالثغرات، وتحديد الأولويات، والاختبار، والنشر، والتحقق، وإدارة الاستثناءات. أظهر Log4Shell ما يحدث عندما تكون هذه الخطوات بطيئة جدًا لحالة طارئة. كان الاستغلال التقني سريعًا؛ كانت الخريطة التنظيمية غالبًا بطيئة.

لذلك يجب أن يتضمن الإصلاح المسؤول بعد Log4Shell تحسين المخزون. أي الأنظمة تفتقر إلى المالكين؟ أي المنتجات لا يمكن فحصها؟ أي البائعين لم يستطيعوا الإجابة بسرعة؟ أي التطبيقات الداخلية لديها تبعيات قديمة؟ أي أعباء العمل السحابية كانت غير معروفة لفريق الأمن؟ أي الضوابط التعويضية كانت مرتجلة لأن المنظمة لم تكن تعرف ما تديره؟ هذه الأسئلة غير مريحة لأنها لا تقتصر على CVE واحد. إنها تكشف ضعفًا هيكليًا.

المخزون ليس قائمة ثابتة. يتغير مع نشر المطورين لخدمات جديدة، وتحديث البائعين للمنتجات، وتوسع أعباء العمل السحابية، وإعادة بناء الحاويات، وبقاء الأنظمة القديمة. قائمة دقيقة مرة واحدة في السنة لن تنجو من استجابة ليوم الصفر. يجب أن يكون التحكم حيًا بما يكفي للإجابة على أسئلة عاجلة: أين هذا المكون، من يملكه، ما هو مكشوف، ما الإصدار الذي يعمل، كيف نحدثه، وكيف نعرف أن التحديث نجح؟

يمكن لقوائم المواد البرمجية أن تساعد، ولكن فقط إذا كانت حالية وقابلة للاستخدام ومتصلة بالعمليات. قائمة مكونات PDF في ملفات المشتريات لن تجد خادمًا مكشوفًا. SBOM قابل للقراءة آليًا مرتبط بالمنتجات والإصدارات وخلاصات الثغرات والمالكين يمكن أن يقصر الاستجابة. يجب أن يكون معيار المساءلة عمليًا: هل ساعد المخزون الفرق في العثور على Log4j أسرع من البحث اليدوي وحده؟ إذا لم يكن كذلك، لم يكن تشغيليًا بعد.

زاوية استمرارية الخدمة العامة كانت حقيقية

أثر Log4Shell على أكثر بكثير من مجرد مخاطر المؤسسات الخاصة. كان على الخدمات الحكومية والوكالات العامة والجامعات والأنظمة الصحية ومشغلي البنية التحتية الحيوية تقييم التعرض. تُظهرملاحظة ثغرة Log4Shellمن ENISA وتوجيهاتثغرات Apache Log4jمن NCSC البريطاني كيف تعاملت السلطات السيبرانية الوطنية مع القضية على أنها نظامية. كان ذلك مناسبًا لأن المكون الضعيف يمكن أن يكون داخل أنظمة يعتمد عليها المواطنون.

استمرارية الخدمة العامة تغير سؤال المساءلة. لا يمكن لوكالة حكومية أن تعامل الإصلاح فقط على أنه نظافة سيبرانية داخلية إذا كانت البوابات العامة، وأنظمة المزايا، والخدمات الطارئة، ومنصات الضرائب، والخدمات الصحية، أو أنظمة الهوية قد تكون متأثرة. التوفر والنزاهة والثقة العامة مهمة. تصحيح متسرع يعطل الخدمة يمكن أن يضر المستخدمين. تصحيح متأخر يمكن أن يترك الخدمة مكشوفة. بيان عام غامض يمكن أن يقوض الثقة. الإصلاح يحتاج إلى أدلة وتنسيق.

لذلك لم يكن دور CISA في الولايات المتحدة تقنيًا فقط. لقد ساعد في خلق توقعات مشتركة للوكالات المشمولة ونقطة مرجعية للآخرين. أعطى التوجيه والتوجيهات ومركز الموارد للوكالات هيكلًا للعمل. كما أعطوا الكونغرس وهيئات الرقابة والجمهور طريقة لسؤال ما إذا كانت الوكالات تتابع. هذه وظيفة حوكمة.

نفس مشكلة الاستمرارية ظهرت للخدمات الخاصة ذات الاعتماد العام. كان على مزودي الخدمات السحابية ومزودي المصادقة ومعالجي الدفع ومزودي الخدمات المدارة والمستشفيات والمنصات المتعلقة بالاتصالات الحفاظ على الخدمة أثناء إصلاح التعرض. لم يهتم العملاء ما إذا كان المكون الضعيف مدفونًا على عمق ثلاث تبعيات. اهتموا بما إذا كانت الخدمة تظل جديرة بالثقة ومتاحة.

لذلك طمس Log4Shell الخط الفاصل بين إدارة الثغرات والمرونة. كان على فرق الإصلاح التصحيح دون كسر الإنتاج. كان على فرق الأمن التخفيف دون حظر حركة المرور الشرعية. كان على البائعين إصدار توجيهات دون التسبب في الذعر. كان على المديرين التنفيذيين تخصيص موارد طارئة. كان على فرق الاتصالات تجنب اليقين الكاذب. كان على السلطات العامة تنسيق التوجيهات عبر الولايات القضائية. لم يكن هذا مجرد تحديث برنامج. كان تمرين استمرارية.

المجاهيل المتبقية والسؤال القابل للمساءلة

ربما لن يعرف الجمهور أبدًا سجل الإصلاح العالمي الكامل لـ Log4Shell. لا نعرف أي المنظمات وجدت كل مثيل بسرعة، وأيها تركت منتجات ضعيفة مكشوفة، وأيها تم استغلالها ولكن لم يتم اكتشافها أبدًا، أو أي توجيهات البائعين كانت متأخرة جدًا لمنع الضرر. لا نعرف عدد الأنظمة الداخلية فقط التي كانت ضعيفة ولكن يتعذر على المهاجمين الوصول إليها. لا نعرف عدد المكونات القديمة الضعيفة التي بقيت خاملة حتى وقت لاحق.

هذه المجاهيل لا تجعل المساءلة مستحيلة. إنها تحدد الأدلة المهمة. من سيطر على مخزون البرامج؟ من سيطر على توجيهات المنتجات؟ من سيطر على التخفيف الطارئ؟ من سيطر على الاحتفاظ بالسجلات؟ من سيطر على تنسيق البائعين؟ من قرر متى يكون النظام آمنًا بدرجة كافية للعودة إلى التشغيل العادي؟ من تحقق من أن التصحيح طبق على المكون الفعلي الجاري، وليس فقط على قائمة الحزم؟

كانت الإجابة موزعة. سيطر Apache على إصلاحات المشروع وسجل الإفصاح عن Log4j. سيطرت CISA على توجيه الطوارئ الفيدرالي ضمن نطاقها والتنسيق العام الأوسع. سيطرت الوكالات والمؤسسات على المخزون الخاص بها والتخفيف والمراقبة. سيطر البائعون على توجيهات المنتجات المحددة والتصحيحات. سيطر مزودو الخدمات السحابية والأمن على القياس عن بعد الدفاعي وتوجيه العملاء. سيطر العملاء على أسئلة المتابعة الخاصة بهم وقبول المخاطر المتبقية.

لا يمكن لأي فاعل واحد إغلاق المخاطر العالمية بأكملها. لكن يمكن لكل فاعل تقديم دليل أفضل للطبقة التي يتحكم فيها. هذا هو معيار المساءلة الدائم بعد Log4Shell. لا يكفي أن نقول "لقد أصلحنا." يجب على الجمهور أن يسأل: ماذا وجدت، ماذا أصلحت، ماذا خففت، ماذا راقبت، ماذا فاتك، وكيف تعرف؟

من الطوارئ إلى الإصلاح الدائم

أفضل درس من Log4Shell ليس أن المنظمات بحاجة إلى التفاعل بشكل أسرع في المرة القادمة، رغم أنها تحتاج ذلك. الدرس الأفضل هو أن السرعة في الطوارئ تعتمد على الإعداد العادي. لا يمكنك اختراع مخزون أصول دقيق في وسط يوم صفري عالمي. لا يمكنك إنشاء تعاون البائعين بعد أن تتجاهل العقود واجبات الأدلة. لا يمكنك صيد الاستغلال بفعالية إذا لم يتم الاحتفاظ بالسجلات أبدًا. لا يمكنك التحقق من المعالجة إذا كان المالكون والإصدارات والتبعيات غير معروفة.

لذلك يجب أن يغير الإصلاح الدائم الميزانيات والحوكمة. يجب أن تشمل مخزونات الأصول رؤية المكونات. يجب أن تتطلب المشتريات الإفصاح في الوقت المناسب عن الثغرات وأدلة مكونات المنتج. يجب على فرق التطوير تقليل انتشار التبعيات وتحديث المكتبات القديمة. يجب على فرق العمليات اختبار إجراءات التصحيح والاسترجاع الطارئة. يجب على فرق الأمن الاحتفاظ بسجلات مفيدة والحفاظ على محتوى الكشف. يجب على المديرين التنفيذيين معرفة أي الأنظمة سيكون من الأصعب تقييمها في الثغرة النظامية التالية.

هذا هو المكان الذي تصبح فيه مشكلة الإثبات منتجة. الإثبات ليس فقط للمدققين. إنه يخبر المنظمة ما إذا كانت قادرة على التصرف. إذا كان بإمكان الفريق إثبات مكان تشغيل المكون، يمكنه التصحيح بشكل أسرع. إذا كان بإمكان البائع إثبات أي المنتجات متأثرة، يمكن للعملاء تحديد الأولويات. إذا كانت السجلات يمكن أن تثبت عدم حدوث استغلال مشبوه في نافذة محددة، يمكن للقادة اتخاذ قرارات أكثر هدوءًا. إذا تم توثيق عدم اليقين المتبقي، يمكن لمالكي المخاطر أن يقرروا ما إذا كانوا سيضيفون مراقبة أو ضوابط تعويضية.

كان Log4Shell مخيفًا لأنه كان في كل مكان وعاجلاً. كان أيضًا موضحًا. لقد أظهر أن استجابة الثغرات هي سلسلة أدلة: الإفصاح عن المشروع، البيانات الوصفية للثغرة، مخزون الأصول، توجيهات البائعين، التصحيحات، التخفيفات، مراقبة الاستغلال، إشعار العملاء، ومراجعة الحوكمة. اكسر أي رابط ويضعف سجل الإصلاح.

جعل الدور العام لـ CISA هذه السلسلة أصعب في تجاهلها. من خلال تأطير Log4Shell كحالة طارئة تتطلب إجراءً منظمًا وإبلاغًا للوكالات المشمولة، ساعد في تحويل المحادثة بعيدًا عن شعارات التصحيح نحو الإصلاح القابل للقياس. هذا هو المعيار الذي يجب أن ترثه الثغرة النظامية التالية.

حولت الشروحات المبكرة التجريد إلى مخاطر تشغيلية

أحد أسباب انتشار Log4Shell بسرعة عبر انتباه المديرين التنفيذيين هو أن الممارسين ترجموا الثغرة إلى عواقب تشغيلية واضحة. ساعد الشرح التقني المبكر لـ LunaSec،Log4Shell: RCE 0-day exploit found in log4j، العديد من القراء على فهم لماذا يمكن لتسجيل المدخلات غير الموثوقة أن يصبح تنفيذًا عن بعد في التكوينات المتأثرة. النقطة المتعلقة بالمساءلة ليست أن كل مدير تنفيذي يحتاج إلى فهم كل تفاصيل Java. إنها أن القادة يحتاجون إلى فهم لماذا يمكن لمكون روتيني أن يحول معالجة الطلبات العادية إلى تعرض خطير.

كانت هذه الترجمة مهمة لأن الاستجابة الطارئة تعتمد على دعم الإدارة. لا تستطيع فرق الأمن انتظار نوافذ الصيانة العادية إذا كانت الأنظمة المتصلة بالإنترنت مكشوفة. كان على فرق المشتريات الضغط على البائعين. كان على فرق العمليات الموافقة على تخفيفات قد تؤثر على سلوك الخدمة. كان على فرق الاتصالات شرح الحالة تحت عدم اليقين. كان على فرق المالية دعم العمل الإضافي والأدوات والمشاركة الطارئة مع البائعين. بدون شرح واضح لماذا كانت الثغرة مهمة، يمكن أن يتعطل الإصلاح خلف العملية العادية.

خلقت الشروحات العامة المبكرة أيضًا مفردات مشتركة لغير المتخصصين. لقد أظهروا لماذا "نحن لا نستخدم Log4j مباشرة" لم يكن إجابة كافية. يمكن لمنتج استخدام إطار، استخدم مكتبة، جمعت إصدارًا ضعيفًا. يمكن لبائع استخدامه داخل جهاز. يمكن لأداة داخلية أن تكون قد نُشرت منذ سنوات ونسيت. يمكن لمسار تسجيل أن يتلقى سلاسل يتحكم فيها المستخدم بطرق لم يتوقعها مالكو التطبيق. هذا الواقع المتداخل جعل الاكتشاف صعبًا.

يجب على المنظمة الناضجة الحفاظ على وظيفة الترجمة هذه للثغرات النظامية المستقبلية. عندما يظهر عيب مكون عالي التأثير، يجب أن تفصل الإحاطة الأولى الآلية، ومسار التعرض، وفئات الأصول المتأثرة، ونشاط الاستغلال العام، والإصلاحات المتاحة، والتخفيفات، والمراقبة، والأسئلة المفتوحة. لا ينبغي إجبار القادة على الاختيار بين تفاصيل تقنية لا يمكنهم تحليلها وإلحاح غامض لا يمكنهم حوكمته. أظهر Log4Shell أن الشرح الواضح هو بحد ذاته تحكم.

كانت الاستثناءات جزءًا من سجل المخاطر

تخلق كل موجة إصلاح كبيرة استثناءات. لا يمكن تصحيح بعض الأنظمة فورًا لأن البائع لم يصدر إصلاحًا. بعض الأنظمة هشة وتتطلب اختبارًا. بعضها لم يعد مدعومًا. بعضها له ملاك تشغيل غير متاحين. بعضها معزول بما يكفي ليكون التخفيف التعويضي مقبولًا مؤقتًا. بعضها مهم للمهمة ولا يمكن إيقافها دون ضرر عام. الاستثناءات ليست فشلًا تلقائيًا. الاستثناءات غير المدارة هي الفشل.

لذلك يجب أن يتضمن سجل إصلاح Log4Shell حوكمة الاستثناءات. أي الأنظمة المتأثرة لم تستطع التصحيح بحلول التاريخ المستهدف؟ لماذا؟ ما الضوابط التعويضية التي تم تطبيقها؟ من وافق على التأخير؟ ما الأدلة التي أظهرت أن التحكم التعويضي يعمل؟ ما التاريخ المحدد للمعالجة النهائية؟ من تلقى التصعيد إذا تأخر التاريخ؟ بيان بأن "الأنظمة المتبقية قيد المعالجة" أضعف من سجل استثناءات مع ملاك ومواعيد نهائية.

هذا مهم بشكل خاص لبيئات الخدمة العامة. النظام الذي يدعم وصول المواطنين قد يكون مهمًا جدًا لتصحيحه بتهور، ولكن أيضًا مهم جدًا لتركه مكشوفًا. إجابة الحوكمة ليست ارتجالًا بطوليًا. إنه قرار مخاطر موثق يزن نشاط الاستغلال والتعرض والتخفيفات المتاحة واستمرارية الخدمة وخطة التعافي. يجب أن يكون رئيس المجلس أو رئيس الوكالة أو مالك المخاطر التنفيذي قادرًا على رؤية الاستثناءات المتبقية ولماذا.

تكشف الاستثناءات أيضًا عن اعتماد البائعين. إذا لم تستطع منظمة التصحيح لأن المورد لم يصدر تحديثًا مدعومًا، فهذه الحقيقة تنتمي إلى ذاكرة المشتريات. يجب أن يتطلب العقد التالي توجيهات أسرع، وإفصاحًا أوضح عن المكونات، ودعمًا طارئًا. المورد الذي يكرر ترك العملاء غير قادرين على إغلاق الثغرات الحرجة ليس بطيئًا فقط؛ إنه ينقل المخاطر الأمنية إلى المشترين الذين لا يستطيعون إصلاح المنتج بأنفسهم.

أفضل سجل استثناءات هو مؤقت. يجب أن يتقلص بمرور الوقت، وليس أن يصبح قائمة دائمة من التعرض المقبول. بعد Log4Shell، المنظمات التي لا تزال لديها أنظمة متأثرة بعد أشهر تحتاج إلى شرح لماذا: برنامج غير مدعوم، مالك مفقود، مقاومة أعمال، فشل بائع، أو قيد تقني حقيقي. كل سبب يشير إلى إصلاح مختلف. بدون هذا الشرح، يصبح الخطر المتبقي طبيعيًا.

كانت إعادة الفحص مهمة لأن الحقائق استمرت في التغير

لم تكن استجابة Log4Shell تمرينًا ليوم واحد. ظهرت منتجات متأثرة جديدة. نُشرت توجيهات بائعين جديدة. دخلت ثغرات Log4j إضافية وإصدارات مُصلحة إلى السجل العام. تطور محتوى الكشف. تحسنت الماسحات. المنظمات التي فحصت مرة واحدة وتوقفت خاطرت بفقدان حقائق لاحقة. لهذا السبب كان مركز موارد CISA ونموذج التوجيه مهمين: كان يجب أن تظل عملية الإصلاح حية مع تغير الأدلة.

يجب أن تكون إعادة الفحص رسمية. يجب أن يعرف الفريق متى آخر مرة بحث فيها عن الأصول المتأثرة، ومصدر استخبارات الثغرات الذي استخدمه، وأي توجيهات البائعين تمت مراجعتها، وأي نتائج الفحص تم تأكيدها، وأي الأنظمة أعيد اختبارها بعد التصحيح. إذا كان توجيه بائع جديد يذكر منتجًا تستخدمه المنظمة، فلا ينبغي للمنظمة الاعتماد على ذاكرة إعلان "الكل واضح" السابق. يجب إعادة فتح العنصر.

ينطبق الشيء نفسه على عمليات البناء والنشر. قد يصحح الفريق الإنتاج لكنه يترك تبعية قديمة في مستودع المصدر أو تعريف الحاوية. البناء التالي يمكن أن يعيد إدخال المكون الضعيف. قد يصحح الفريق فرع خدمة واحد لكنه يترك فرعًا آخر خلفه. قد ينسخ مطور مكتبة قديمة إلى مشروع جديد. يجب أن تشمل أدلة الإصلاح منع إعادة الإدخال، وليس فقط التنظيف الطارئ.

هذا هو المكان الذي تتصل فيه إدارة الثغرات بالتطوير الآمن. فحص التبعيات، وتثبيت الإصدارات، ومخزونات القطع الأثرية، وصور الأساس المعتمدة، ومراجعة الإصدارات ليست ضوابط براقة. إنها تمنع نفس الثغرة من الظهور مرة أخرى بعد حالة طارئة عامة. المنظمة التي لا تستطيع منع إعادة الإدخال لم تصلح بيئة التحكم؛ لقد نجت فقط من الموجة الأولى.

إعادة الفحص مهمة أيضًا لثقة العملاء. البائع الذي يحدث توجيهاته مع تغير الحقائق قد يبدو أقل يقينًا في اللحظة، لكنه أكثر جدارة بالثقة بمرور الوقت من البائع الذي ينشر بيانًا ثابتًا ولا يعود إليه أبدًا. يعرف العملاء أن الثغرات النظامية تتطور. يحتاجون إلى البائعين ليقولوا متى تغيرت الحقائق وماذا يعني ذلك. الصمت بعد التوجيه الأول يمكن أن يُقرأ خطأً على أنه إغلاق حتى عندما يستمر التحقيق.

يجب الاحتفاظ بالأدلة لمراجعة الحسابات التالية

لا ينبغي أن تختفي أدلة الإصلاح التي تم إنشاؤها خلال Log4Shell بعد الأزمة. السجلات ونتائج الفحص وتوجيهات البائعين وتذاكر التصحيح وموافقات الاستثناءات وإشعارات العملاء وإحاطات المديرين التنفيذيين مفيدة بعد أشهر. تساعد المدققين في تقييم ما إذا كانت المنظمة استجابت بشكل معقول. تساعد المستجيبين للحوادث في فهم ما إذا كان النشاط المشبوه اللاحق يمكن أن يعود إلى نافذة الثغرة. تساعد فرق المشتريات في تحديد الموردين الضعفاء. تساعد المهندسين في تحسين مخزون المكونات.

الاحتفاظ ليس مثل تخزين كل شيء إلى الأبد. يجب على المنظمة الحفاظ على الأدلة اللازمة لإعادة بناء القرارات. أي الأنظمة تأثرت؟ ما الإجراء الذي تم اتخاذه؟ متى تم اتخاذه؟ من وافق على الاستثناءات؟ ما المراقبة التي تم إجراؤها؟ ما التواصل مع العملاء أو الهيئات التنظيمية الذي حدث؟ ما بقي غير مؤكد؟ يجب تخزين هذه الأدلة بطريقة تبقى على قيد الحياة بعد تغيير الموظفين وانتشار الأدوات الطارئة.

يجب أيضًا مقارنة المراجعة طويلة الأجل بين القدرة المتوقعة والقدرة الفعلية. هل عرفت قاعدة بيانات الثغرات أين كان Log4j؟ هل وجدت الماسحات ما وجده مالكو التطبيقات يدويًا؟ هل تطابقت سجلات البائعين مع النشر الفعلي؟ هل شملت المخزونات السحابية جميع أعباء العمل الجارية؟ هل دعمت السجلات مراجعة الاستغلال؟ هل وصلت قنوات الاتصال إلى الفرق الصحيحة؟ يجب أن يصبح كل فجوة عنصر تحسين للتحكم.

هذا يحول Log4Shell من أزمة معزولة إلى بروفة للثغرة التالية. قد تؤثر الثغرة النظامية التالية على لغة أو مدير حزم أو خدمة سحابية أو مكتبة مصادقة أو مكون أجهزة مختلف. سيكون التصحيح المحدد مختلفًا. ستبدو سلسلة الأدلة مألوفة: تحديد التعرض، تنسيق الموردين، إصلاح أو تخفيف، مراقبة الاستغلال، إدارة الاستثناءات، توصيل النطاق، وإثبات الإغلاق. المنظمات التي احتفظت بأدلة Log4Shell وراجعتها يجب أن تكون أفضل استعدادًا.

يجب أن تصبح أسئلة العملاء لغة عقد

طرح العملاء أسئلة عاجلة على البائعين خلال Log4Shell: هل أنت متأثر؟ أي المنتجات؟ أي الإصدارات؟ ماذا يجب أن نفعل؟ متى ستصل التصحيحات؟ هل رأيت استغلالًا؟ هل ستخطرنا إذا تغيرت الحقائق؟ لا ينبغي أن تختفي هذه الأسئلة بعد الطوارئ. يجب أن تصبح متطلبات تعاقدية وضمانية.

سيتطلب عقد أقوى من الموردين الحفاظ على مخزونات المكونات، وتقديم توجيهات الثغرات ضمن أطر زمنية محددة، ونشر مصفوفات الإصدارات المتأثرة، ودعم التخفيف الطارئ، والاحتفاظ بالسجلات ذات الصلة، والتعاون مع طلبات الأدلة من العملاء، وتحديث الإشعارات عندما تتغير الحقائق. سيوضح أيضًا ما إذا كان المورد يمكنه تقديم SBOMs، وما إذا كانت SBOMs حديثة، وكيف يمكن للعملاء استهلاكها. الهدف ليس الأوراق. الهدف هو إصلاح أسرع عند ظهور العيب النظامي التالي.

يجب أن يختبر ضمان المورد الممارسة، وليس فقط السياسة. قد يدعي بائع أنه يمتلك إدارة الثغرات، ولكن يجب على العملاء أن يسألوا مدى سرعة تحديد البائع لتعرض Log4j، وكيف تم إصدار التوجيهات، وكيف تم تتبع الاستثناءات، وماذا تغير بعد ذلك. البائع الذي لا يستطيع الإجابة على هذه الأسئلة ربما نجا من الحدث من خلال الجهد بدلاً من نضج التحكم.

ينطبق نفس الدرس داخليًا. لا ينبغي لوحدات الأعمال التي تشتري البرامج أن توقع عقودًا تترك فريق الأمن أعمى أثناء الطوارئ. يجب أن تعرف المشتريات أي الأنظمة حرجة، وأي البائعين يحملون وظائف أساسية، وأي العقود تتضمن واجبات الأدلة. يجب أن يدعم القانون لغة تجعل التعاون الطارئ إلزاميًا. يجب أن يفهم المديرون التنفيذيون أن البرامج الرخيصة يمكن أن تصبح باهظة الثمن إذا لم يستطع المورد الإجابة على أسئلة المكونات الأساسية أثناء الأزمة.

هذا هو قوس المساءلة من Log4Shell: ثغرة في مكون واسع الاستخدام كشفت عن مخزونات ضعيفة وأدلة بائعين ضعيفة وحوكمة استثناءات ضعيفة. الإصلاح ليس مجرد إصدار مُصلح. إنه اتفاق أفضل حول من يجب أن ينتج أي الحقائق عندما يكون الوقت قصيرًا.

يجب أن يكون معيار الإثبات إنسانيًا لكن حازمًا

سيكون من غير المنصف التظاهر بأن كل منظمة يمكنها العثور فورًا على كل مكون متأثر في ديسمبر 2021. كانت الثغرة شديدة، والمكون واسع الانتشار، والمعلومات العامة تطورت بسرعة. عمل العديد من المدافعين تحت ضغط شديد. يجب أن تعترف المساءلة بهذا الواقع. لا ينبغي أن تطالب بالعلم المطلق الكامل.

لكن المساءلة الإنسانية ليست مساءلة ناعمة. إنها تسأل ما إذا كانت المنظمات تحسنت بمجرد أن أصبحت الفجوة مرئية. هل وثقوا عدم اليقين بدلاً من إخفائه؟ هل أعطوا الأولوية للأنظمة المكشوفة؟ هل استمروا في البحث بعد الموجة الأولى؟ هل تواصلوا بصدق مع العملاء؟ هل أصلحوا نقاط الضعف في المخزون والبائعين والتسجيل بعد ذلك؟ هل جعلوا الطوارئ التالية أسهل؟

هذا المعيار عادل لأنه يركز على التحكم بمرور الوقت. قد لا يكون لدى منظمة صغيرة مخزون مكونات كامل في اليوم الأول. لا يزال بإمكانها إنشاء مخزون أفضل. قد يحتاج البائع إلى وقت لاختبار تصحيح. لا يزال بإمكانه نشر تخفيفات مؤقتة وحالة صادقة. قد يكون لدى وكالة عامة أنظمة قديمة. لا يزال بإمكانها تتبع الاستثناءات والإبلاغ عن المخاطر. المقياس ليس ما إذا كان كل فاعل مثاليًا. إنه ما إذا كان كل فاعل حول الاكتشاف الطارئ إلى تحسن دائم.

يستحق Log4Shell البقاء في سجل المخاطر لهذا السبب. إنه تذكير بأن أخطر عبارة بعد ثغرة نظامية ليست "نحن نحقق." يمكن أن تكون تلك العبارة صادقة. العبارة الخطيرة هي "لقد أصلحنا" عندما لا يستطيع أحد إظهار ما تم العثور عليه، وما فات، وما تمت مراقبته، وما الأدلة التي تدعم الإغلاق.

سيصل العيب النظامي التالي تحت اسم مختلف. قد يتضمن مكتبة هوية، أو صورة حاوية، أو تحكم سحابي، أو حزمة تبدو عادية جدًا لتكون استراتيجية. المنظمة المسؤولة ستكون تلك التي يمكنها الإجابة بسرعة لأنها تعرف بالفعل مكوناتها وأصحابها ومورديها وسجلاتها واستثناءاتها وواجبات الأدلة. هذا هو الإصلاح الحقيقي الذي يشير إليه سجل Log4Shell لـ CISA، وهو المقياس الذي يستحق الحمل قدمًا من أجل المرونة.