تم اكتشاف ثغرة أمنية في APT تسمح لك باستبدال حزمة قابلة للتنزيل

الضعف المناسب

قد تم تعريفه ثغرة أمنية في مدير حزم APT (CVE-2019-3462)، ماذا يسمح للمهاجم ببدء محاكاة ساخرة للحزمة المثبتة ما إذا كان المهاجم يتحكم في مرآة المستودع أو يمكنه تعطيل حركة المرور العابر بين المستخدم والمستودع (هجوم MITM).

تم تحديد المشكلة من قبل الباحث الأمني ​​ماكس جوستيتش، المعروف باكتشاف الثغرات الأمنية في مدير حزم APK (Alpine) وفي مستودعات Packagist و NPM و RubyGems.

المشكلة يرجع ذلك إلى التحقق غير الصحيح من الحقول في رمز معالجة إعادة توجيه HTTP.

ما المشكلة؟

هذا الضعف يسمح للمهاجم باستبدال المحتوى الخاص به في البيانات المنقولة داخل جلسة HTTP (يستخدم Debian و Ubuntu HTTP وليس HTTPS للوصول إلى المستودع ، بافتراض أن التوقيع الرقمي كافٍ لمطابقة البيانات الوصفية وحجم الحزمة.)

تسمح الثغرة الأمنية التي تم تحديدها لقوة المهاجم استبدل الحزمة المرسلة ، وبعد ذلك ستدرك APT أنها مستلمة من المرآة الرسمية وتبدأ عملية التثبيت.

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

لتنزيل البيانات من المستودع ، تبدأ APT عملية فرعية بتنفيذ نقل محدد وتنظم التفاعل مع هذه العملية باستخدام بروتوكول نصي بسيط مع تقسيم الأوامر على سطر فارغ.

كيف أكتشف المشكلة؟

جوهر المشكلة هو أن معالج النقل HTTP، عند تلقي استجابة من خادم HTTP بالعنوان "الموقع:" ، فإنه يطلب تأكيد إعادة التوجيه من العملية الرئيسية.

تماما نقل محتوى هذا العنوان. نظرًا لعدم نظافة الأحرف الخاصة المرسلة ، يمكن للمهاجم تحديد فاصل سطر في حقل "الموقع:".

نظرًا لأنه سيتم فك تشفير هذه القيمة ونقلها عبر قناة الاتصال مع العملية الرئيسية ، يمكن للمهاجم محاكاة استجابة مختلفة من معالج نقل HTTP واستبدال كتلة 201 URI الوهمية.

على سبيل المثال ، إذا قام المهاجم ، عند طلب حزمة ، باستبدال الاستجابة ، فسيؤدي هذا الاستبدال إلى نقل الكتلة التالية من البيانات إلى العملية الرئيسية.

تتم معالجة حساب التجزئة للملفات التي تم تنزيلها والعملية الرئيسية تتحقق ببساطة من هذه البيانات باستخدام تجزئات من قاعدة بيانات الحزم الموقعة.

من بين البيانات الوصفية ، يمكن للمهاجم تحديد أي قيمة تجزئة تجريبية مرتبطة في قاعدة البيانات بالحزم الموقعة الفعلية ، لكنها لا تتوافق في الواقع مع تجزئة الملف المنقول.

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

يتم تنزيل حزمة ضارة عن طريق إرفاق الحزمة بملف Release.gpg أثناء النقل.

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

عند الحصول على البيانات ، يعطل apt العمليات العاملة المتخصصة في البروتوكولات المختلفة التي سيتم استخدامها لنقل البيانات.

تتواصل العملية الرئيسية بعد ذلك مع هؤلاء العمال عبر stdin / stdout لإخبارهم بما يجب تنزيله ومكان وضعه على نظام الملفات باستخدام بروتوكول يشبه إلى حد ما HTTP.

ستقوم العملية الرئيسية بعد ذلك بإرسال التكوين الخاص بها وطلب مورد وستستجيب العملية العاملة.

عندما يستجيب خادم HTTP بإعادة توجيه ، تقوم العملية العاملة بإرجاع 103 إعادة توجيه بدلاً من 201 URI Done ، وتستخدم العملية الرئيسية هذه الاستجابة لمعرفة المورد المطلوب طلبه بعد ذلك.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.