LoadLibrary ، مشروع لتحميل ملفات DLL في Linux كما لو كانت رمزًا أصليًا

تحميل مكتبة

جيه تي أورماندي ، باحث أمني في Google ، كشف النقاب قبل أيام قليلة من تطوير المشروع فشل LoadLibraryالذي يهدف إلى تحميل مكتبات Windows DLL لاستخدامها في تطبيقات Linux. يوفر المشروع مكتبة عبر الطبقات يمكنك من خلالها تحميل DLL بتنسيق PE / COFF واستدعاء الوظائف المحددة فيه.

فشل LoadLibrary يتولى وظيفة تحميل المكتبة في الذاكرة واستيراد الأحرف الموجودة ، تزويد تطبيق Linux بواجهة برمجة تطبيقات dlopen style. يمكن تصحيح أخطاء الكود باستخدام gdb و ASAN و Valgrind. يمكنك ضبط التعليمات البرمجية القابلة للتنفيذ في وقت التشغيل عن طريق توصيل الخطافات وتطبيق التصحيحات (تصحيحات وقت التشغيل). يُسمح بالاستثناءات غير المرغوب فيها لـ C ++.

مشروع LoadLibrary لا يقصد به أن يحل محل المشاريع الحالية التي تقوم بعمل مماثل ، مثل Wine. تهدف LoadLibrary إلى السماح بتحميل مكتبات DLL الخاصة بـ Windows والوصول إليها لأنها ستكون رمز Linux أصليًا ، ولا تحاول تشغيل Windows على Linux وبرامج أخرى مماثلة ، ولكن مجرد تحميل المكتبات.

الهدف من المشروع هو تنظيم اختبارات التشويش الموزعة القابلة للتطوير وملفات DLL الفعالة في بيئة تستند إلى Linux.

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

الهدف من مواصلة تطوير هذا المشروع هو تمكين النشر الفعال والقابل للتطوير لمكتبات Windows المستقلة على Linux.

  • إرسال استثناء C ++ والاسترخاء.
  • تحميل رموز IDA إضافية.
  • تصحيح الأخطاء باستخدام gdb (بما في ذلك الرموز) ونقاط التوقف وتتبعات المكدس وما إلى ذلك.
  • وقت التشغيل مدمن مخدرات ومصحح.
  • دعم ASAN و Valgrind لاكتشاف أخطاء تلف الذاكرة الدقيقة.
  • إذا كنت بحاجة إلى إضافة دعم لأي استيراد خارجي ، فعادة ما تكون التنبيهات النصية القصيرة سريعة وسهلة.

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

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

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

على سبيل المثال باستخدام LoadLibrary ، كان من الممكن تنفيذ برنامج مكافحة الفيروسات لـ Windows Defender للتشغيل على Linux. سمحت لنا دراسة mpengine.dll ، التي تشكل أساس Windows Defender ، بتحليل عدد كبير من برامج التشغيل المعقدة ذات التنسيقات المختلفة ، ومحاكيات FS ، ومترجمي اللغة الذين يحتمل أن يوفروا موجهات للهجمات المحتملة.

فشل LoadLibrary تم استخدامه أيضًا لتحديد ثغرة أمنية بعيدة في حزمة مكافحة الفيروسات Avast.

عند دراسة DLL الخاص بمضاد الفيروسات هذا ، تم الكشف عن أن عملية الفحص بامتياز المفتاح تتضمن مترجمًا كاملًا لجافا سكريبت يستخدم لمحاكاة تنفيذ كود JavaScript لجهة خارجية.

لا يتم عزل هذه العملية في بيئة آلية تحديد الصلاحيات ، ولا تقوم بإعادة تعيين الامتيازات ، وتقوم بتحليل بيانات FS الخارجية التي لم يتم التحقق منها وحركة مرور الشبكة التي تم اعتراضها.

نظرًا لأن أي ثغرة أمنية في هذه العملية المعقدة وغير الآمنة يمكن أن تؤدي إلى اختراق عن بُعد للنظام بأكمله ، فقد تم تطوير غلاف avscript خاص على أساس LoadLibrary لفحص الثغرات الأمنية في برنامج مكافحة الفيروسات Avast في بيئة تستند إلى Linux.

محمل PE / COFF مبني على كود ndiswrapper. يتم توزيع كود المشروع بموجب ترخيص GPLv2. يمكن الرجوع إلى الرمز في الرابط التالي. 


اترك تعليقك

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

*

*

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

  1.   خطوط الرمز البريدي قال

    لقد قيل للجميع للتخلص من dlls ، لا تنسوا ورق التواليت