في عام 1991 ، وقع حدثان غير مرتبطين ، بشر كل منهما بحريتين مختلفتين تمامًا: نهاية الحرب الباردة وولادة لينكس.
جاءت إمكانية تصحيح النواة في الوقت الفعلي في عام 2008 ، عندما كان Linux لا يزال مراهقًا. الآن بعد أن أوشكت نواة Linux على الوصول إلى 30 ، أصبح الترقيع في الوقت الفعلي ناضجًا أيضًا ، وهو مهيأ للتقليل من سمعته كإضافة اختيارية "من الجيد وجودها في الصندوق".
هناك سببان لهذا. الأول هو هيمنة Linux باعتباره النظام الأساسي المفضل لاستضافة الويب الاقتصادية والمتعددة الاستخدامات: أكثر من النصفمن بين جميع المواقع الشهيرة التي تعمل حاليًا على Linux. ثانيًا ، الاعتراف بأن الترقيع في الوقت الحقيقي هو أكثر من مجرد راحة ؛ إنها أيضًا طريقة فعالة ومنخفضة التكلفة لتحسين أمان نظام Linux الخاص بك.
Ksplice ، أول حل لإصلاح نواة Linux في الوقت الفعلي ، اكتسب بلا مجهود مكانة مربحة بعد الإطلاق ، وعزز ريادته فقط عندما اشترته عملاق التكنولوجيا Oracle في عام 2011. اليوم هي أشهر خمس منظمات تقدم خدمات تصحيح الأمان الآلي لنظام Linux. بالترتيب الأبجدي ، هذه هي:
- خدمة Canonical Livepatch لـ Ubuntu.
- KernelCare لـ Ubuntu و Red Hat Enterprise Linux و Oracle Linux و Amazon Linux والمزيد.
- Kpatch لـ Red Hat Enterprise Linux.
- Ksplice لـ Oracle Linux.
- SUSE Linux Enterprise Live Patching لـ SUSE Linux Enterprise.
تقوم كل شركة بالترويج لخدماتها باستخدام نفس الكلمات الأساسية المعيارية ونفس العبارات القياسية التي تتكرر بلا نهاية. سأقدم لك أكثرها شعبية وكيف يجب أن تفهمها.
- Rebootless : تحديث نواة Linux بدون إعادة التشغيل.
- آلي: للتحقق من تحديثات أمان kernel وتثبيتها بدون مراقب.
- التثبيت السهل: التثبيت والإعداد بسيط جدًا أو غير ضروري.
- مدعوم بالكامل: لست بحاجة إلى كتابة التصحيحات بنفسك. (ألق نظرة على دليل كتابة التصحيح الخاص بـ Kpatch لمعرفة سبب أهمية ذلك)
تجاهل نقاط البيع الواضحة هذه وستجد ميزات أخرى يجب وضعها في الاعتبار ، وعوامل أخرى يمكنك استخدامها لمقارنة خدمة بأخرى. يستكشف هذا المقال بعضًا منهم ، متمرسًا بشكل طفيف مع التأكيد والتنوير. لكن أولاً ، دعنا نتذكر ما هو الترقيع المباشر.
ما هو ترقيع Linux kernel في الوقت الحقيقي؟
تحتوي نواة Linux على أكثر من 20 مليون سطر من التعليمات البرمجية المكتوبة في الغالب (على الأرجح) بواسطة مبرمجين بشريين. كما هو الحال مع جميع البرامج ، فإنه يحتوي على أخطاء. في عصر التركيز المتزايد على الأمن السيبراني ، تشير الأخطاء إلى وجود نقاط ضعف . لحل هذه المشكلة ، يحاول بائعو Linux إصدار تحديثات لنواةهم في أسرع وقت ممكن. يحاول مسؤولو نظام Linux أيضًا الاستجابة بسرعة عن طريق تثبيت هذه التحديثات ، مما يجعل الجدولة أكثر صعوبة. هذا بسبب عدم وجود نمط لاكتشاف الثغرات الأمنية. فيما يلي بعض الأسباب:
- هناك العديد من الإصدارات المختلفة من Linux kernel قيد الاستخدام في أي وقت. سيحتاج البعض إلى الإصلاح ؛ البعض لا.
- , .
- Linux , .
- Linux . , , — .
هناك شيء آخر نادرًا ما يتم ذكره: إنه الاشمئزاز الغريزي من مسؤول النظام لإيقاف الجهاز ، مما يتسبب في إزعاج جسدي من الاضطرار إلى القول: "الخادم معطل للصيانة".
لماذا اوقف السيرفر؟ لأن تحديث kernel لن يصبح ساري المفعول حتى إعادة التشغيل. إذا لم تقم بإعادة التشغيل - إذا قمت بوضعه على الموقد الخلفي أو نسيته - فستجد نفسك في مأزق ، لأن الخادم الذي لا يحتوي على أحدث التصحيحات غير آمن . سنتحدث عن هذا الشعار بمزيد من التفصيل لاحقًا ، لكن جوهره هو:
عندما تصبح نقاط الضعف عامة ، يحدث الشيء نفسه مع مآثرهم.
أو بعبارة أخرى ، لديك نقطة ضعف لم تكن تعرف عنها من قبل ، لكنك تعرفها الآن. والجميع أيضًا.
المنقذ في هذا السيناريو هو الترقيع المباشر . هذه طريقة لتحديث ليس نواة Linux بالكامل ، ولكن فقط الجزء الإشكالي منها. ويتم ذلك دون توقف العمليات أو مقاطعة عمل المستخدمين.
ومع ذلك ، هناك قيود. لا يمكن أن يصلح تصحيح النواة في الوقت الفعلي جميع أنواع الأخطاء. إن التعقيد الهائل لرمز kernel والتحديات التقنية لتعديل التعليمات البرمجية أثناء التنقل يعني أن هذه التقنية تستخدم فقط لاستكشاف المشكلات الحرجة التي تتعلق عادةً بالأمان.
على الرغم من ذلك ، فإن النظام الذي يحتوي على مرافق تصحيح في الوقت الفعلي أكثر أمانًا من نظام بدونه. إليك بعض الأسئلة التي يجب طرحها عند البحث عن حل التصحيح في الوقت الفعلي:
1. ماذا يوجد بداخل الرقعة (ومن خلفها)؟
عندما تقوم بالتسجيل في خدمة التصحيح المباشر ، فإنك تدفع أكثر من مجرد البرنامج نفسه. يصبح هذا واضحًا عندما تبدأ في البحث من خلال مصدر Linux kernel وتدرك كيف يمكن أن يؤدي التصحيح المكتوب بشكل سيء إلى إلحاق الضرر بنظام Linux بأكمله.
لقد ذكرت سابقًا أن النواة عبارة عن مجموعة ضخمة من الأعمال التي يبدو أنها تتوسع في كل من النشاط والحجم. لاحظ الزيادة في عدد سطور التعليمات البرمجية في الفرع الرئيسي لمستودع Linux kernel. (يُحسب اعتبارًا من 1 يناير من كل عام. يتم حساب ملفات C / C ++ والرؤوس فقط وملفات Python و Perl.)
مع وجود الكثير من التعليمات البرمجية ، فإن كتابة تصحيحات لنواة Linux ليست مهمة سهلة. مطلوب فهم عميق لبنية النواة وهياكل البيانات. تجربة مع اتفاقيات ترميز مجتمع Linux ومعايير الجودة. ويتطلب الأمر موهبة خاصة لابتكار حلول لا تؤثر على الوظائف والأداء والاستقرار.
هناك طريقتان معاكستان يستخدمهما بائعو التصحيح لتطوير تصحيحات kernel وتقديمها. أسميها تدريجية ومتجانسة .
يتم تكديس البقع الإضافية ، مثل كرة من العلكة ، فوق بعضها البعض ، كل منها يعدل سلوك السابق. كعميل ، يجب عليك تتبع التصحيحات التي تقوم بتثبيتها والتي لم تقم بتثبيتها ، والترتيب الذي تم تثبيتها به. يمكن أن يؤدي عدم الانتباه لهذه المشكلات إلى تغييرات غير متوقعة في سلوك نظامك. تسمح طريقة الترقيع هذه للبائعين بإطلاق تصحيحات صغيرة ومستهدفة بسرعة. ولكن بمرور الوقت ، يمكن أن يصبح النظام غير مستقر لدرجة أن تحديث kernel الكامل فقط يمكنه استعادته.
الرقعة المتجانسة هي رقعة تشمل جميع التصحيحات السابقة. في الأساس ، يوجد تصحيح رئيسي واحد فقط يحل محل التصحيح النشط بدلاً من إضافته إليه. هذا النهج يجعل النظام الأساسي أكثر استقرارًا ، ويزيد بشكل كبير من وقت تشغيل الخادم ، والذي يتم قياسه غالبًا بآلاف الأيام.
2. كم من الوقت تنتظر حتى التصحيح التالي؟
هناك حتماً تأخير بين الإبلاغ عن ثغرة أمنية وإصلاحها. يستغرق تحليل أخطاء kernel وقتًا ووقتًا لتقييم تأثيرها. يتطلب الأمر براعة ومهارة لإيجاد حل ، والعديد من الاختبارات للتأكد من أنه يعمل. يخضع بعد ذلك للمراجعة والموافقة الإلزامية كجزء من عملية تطوير Linux.
تحدث التأخيرات التي يمكن تجنبها عندما يستبدل بائع Linux تصنيف خطورة المجتمع بتصنيفه الخاص. هذا يعني أن البائع يمكنه إصلاح العديد من الثغرات الأمنية مع عدد أقل من التصحيحات ، ولكن لهذا السبب ، ينتظر العميل في المتوسط وقتًا أطول لإصلاح بعض المشكلات.
مديري Linux الذين يفهمون أسباب الطبيعة غير المنتظمة لإصدارات التصحيح لا يستفيدون أكثر من أولئك الذين لا يفعلون ذلك. لم يجد أي منهم الراحة في معرفة أنه أثناء انتظار التصحيحات ، فإن أنظمتهم تكون أكثر عرضة للاستغلال مما كانت عليه قبل اكتشافها.
إليكم السبب: يحب أعضاء مجتمع أبحاث الأمن السيبراني الإعلان عن نقاط الضعف جنبًا إلى جنب مع حالة الاستخدام المرئي. وعادة ما تأخذ شكل إثبات المفهوم ، ووصف تقني مفصل لكيفية إعادة إنتاج خطأ أو استخدام استغلال. هذه الأوصاف بحسن نية لمساعدة مطوري النواة في العثور على الثقب وتصحيحه. لكنها توفر أيضًا الكثير من الوقت والجهد للمتسللين من خلال منحهم طريقًا مختصرًا لوصفة حرفية لكارثة في سباقهم لاستغلال الضعف كسلاح.
3. ما مدى خطورة الخطأ؟
يتم تخصيص معرف CVE لجميع الثغرات المكتشفة حديثًا تقريبًا. في وقت لاحق ، عند الفحص الدقيق من قبل الباحثين الأمنيين ، يتم تصنيف الثغرة على أنها خطورة ، أي مقياس لتأثيرها.
من بين خطط التصنيف المهمة تقييم الضعف العام للنظام (CVSS - نظام تسجيل نقاط الضعف المشترك) . إنه يمثل نقطة ضعف كمجموعة من الأرقام ، كل منها عبارة عن درجة لخاصية معينة ، على سبيل المثال:
- ما مدى سهولة التكاثر (الاستخدام).
- ما مدى صعوبة إصلاحه.
- حجم التأثير على توافر الخوادم والخدمات.
- أهمية أو سرية البيانات المفتوحة.
تتضمن المجموعة الكاملة العديد من التقييمات المماثلة. تقوم الخوارزمية بدمجها في النتيجة الأساسية ، رقم واحد أنيق يمثل شدة الضعف ، يتراوح من 0 (منخفض) إلى 10 (مرتفع). CVSS من الإصدار الثاني يقسم نطاقات هذه الأرقام إلى الكلمات الأساسية LOW و MEDIUM و HIGH. يضيف الإصدار الجديد من CVSS 3 نسختين أخريين: NONE و CRITICAL.
وبالتالي ، فإن عدد نقاط الضعف يختلف ليس فقط بالشهور والسنوات ، ولكن أيضًا حسب الشدة.
تمكّن أنظمة تصنيف الثغرات الأمنية مثل CVSS بائعي Linux من تقييم كيفية الاستجابة لثغرة أمنية معينة في kernel. على سبيل المثال ، قد يرغبون في كتابة تصحيحات للثغرات ذات الدرجة التراكمية 7 أو أعلى. هذا يعني HIGH في CVSS v2 أو HIGH أو CRITICAL في CVSS v3. لا يمكن للمورد الذي يدعي أنه يستهدف الثغرات الأمنية إلا أن يشير إلى الثغرات الأمنية ذات تصنيفي الخطورة 9 و 10 عند استخدام CVSS v3.
4. هل يمكنني التراجع عن التصحيح؟
يعد تثبيت التصحيحات تلقائيًا دون أي إشراف فكرة مروعة للعديد من مسؤولي النظام. إنهم يعلمون أنه حتى الإصلاحات التي تم اختبارها جيدًا يمكن أن تغير سلوك النظام ، مما يؤثر على أدائه أو وظيفته بطريقة خفية وليست واضحة تمامًا. عندما يحدث هذا ، عندما يتصرف الخادم بشكل غريب بعد تثبيت التصحيح ، فإن أسرع طريقة للتعامل معه هي إزالة التصحيح.
يمكن لبعض خدمات التصحيح في الوقت الفعلي إزالة التصحيحات. هذا يجعل من السهل تحديد ما إذا كان التحديث الأخير يسبب تغييرًا في سلوك النظام.
5. هل يمكنني استضافة خادم التصحيح الخاص بي؟
يتحقق وكيل برنامج التصحيح في الوقت الحقيقي من التصحيحات المتوفرة على خوادم التصحيح البعيدة. يقوم بذلك على فترات منتظمة قابلة للتكوين ، وعادة ما يكون مع القدرة على إجراء عمليات تحقق مخصصة. في حالة توفر تصحيح ، سيقوم برنامج الوكيل بتنزيله وتثبيته. ولكن إذا كان عامل الترقيع غير قادر على الاتصال بخادم التصحيح حيث تقوم خدمة الترقيع الخاصة بالبائع بتخزين التصحيحات ، فلن يحدث الترقيع المباشر.
لحل هذه المشكلة ، تحتاج إلى إنشاء خادم التصحيح الخاص بك. يبث مثل هذا الخادم المحلي تصحيحات لجميع أجهزة الكمبيوتر في شركتك تحت جدار الحماية الخاص بك. يقوم Copy Safe بتنزيل التصحيح ثم توزيعه عبر جدار الحماية بعد التحقق من سلامة ملفات التصحيح. يمكنك إدارة ومراجعة هذه العملية على راحتك عن طريق جعل مجلس إدارة شركتك أكثر استرخاءً.
وهناك فوائد أخرى أيضا:
- لديك سيطرة أفضل على التصحيحات التي تتلقاها خوادمك ومتى.
- يمكنك حظر عدد كبير من الخوادم لمستويات التصحيح المعروفة.
- من الأسهل فصل مجموعات الخوادم من أجل التطوير والاختبار والتجهيز المرحلي والإنتاج.
يتطلب التصحيح الديناميكي وكيلًا محليًا وخادم تصحيح بعيد. يعد التحكم في كليهما أمرًا بالغ الأهمية لعمليات النشر في المؤسسة.
خاتمة
قبل الاستيقاظ ، إليك ثلاثة أسئلة إضافية لطرحها على مزود حلول الترقيع المحتمل:
- هل يمكنني إلغاء التجديد التلقائي؟ هناك أوقات لا تريد فيها تحديث النواة تلقائيًا.
- ما هي المنصات التي تعمل عليها؟ بينما قد تمنع بيئة الخادم لديك أي مرونة في اختيار حل التصحيح في الوقت الفعلي ، فمن الأفضل إذا كان اشتراكك في الخدمة لا يحد من متغير Linux الذي تحتاج إلى استخدامه.
- ? , Linux. . , .
حقيقة أنها أقل بروزًا في تصحيح أوصاف منتجات البائع لا تجعل الميزات الموضحة في هذه المقالة أقل أهمية. يمكن لأي من هذه العوامل التأثير على قرارك بالاتصال بمورد معين. كل من هذه يمكن أن تؤثر بشكل مباشر على فعالية وملاءمة الحل لبيئتك. نظرًا لأن رسوم اشتراك الخادم تتراوح من بضع عشرات شهريًا إلى آلاف الدولارات الأمريكية سنويًا ، فمن المفيد توخي الحذر عند اختيار حل Linux kernel patching.
اقرأ أكثر:
قم بتثبيت وتكوين AlienVault SIEM (OSSIM) من
أفضل 10 ممارسات لتأمين صور Docker. الجزء الأول
10 أفضل الممارسات لتأمين صور Docker. الجزء 2