تحديث البرامج الأمن

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


TheUpdateFramework


سلامة


يمكننا اعتبار نظام تحديث البرامج "آمنًا" إذا:


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

لتحقيق ذلك ، هناك حاجة إلى استراتيجيات وقائية عملية ضد العديد من الهجمات المحتملة.


الهجمات والضعف


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


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

مبادئ السلامة


من أجل التأكد من حماية النظام من جميع الهجمات الموضحة أعلاه ، تعتمد بنية تطبيق Update Framework (TUF) وتطبيقه على العديد من المفاهيم الأساسية. يمكن الاطلاع على تفاصيل كيفية نقل TUF للمعلومات الموضحة أعلاه في وثائق البيانات الأولية .


ثقة


تعني الوثوق في الملفات التي تم تنزيلها فعليًا افتراض أن الملفات قد تم توفيرها من قِبل طرف ما دون وجود حلول معمارية ضعيفة. الجانبان المراوغان غالبًا للثقة في نظام تحديث البرامج هما:


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

الحد من المخاطر الرئيسية (مقاومة التسوية)


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


يشمل تأمين العملاء عند اختراق المفتاح ما يلي:


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

سلامة


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


موضوعية


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


ضمان الملاءمة يعني:


  • لا تقبل أبدًا الملفات الأقدم من تلك المثبتة بالفعل.
  • تحديد المشاكل المحتملة مع تلقي التحديثات.

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


أمن التنفيذ


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

Source: https://habr.com/ru/post/ar464171/


All Articles