LoadLibrary، وهي طبقة لتحميل ملفات Windows DLL إلى تطبيقات Linux

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

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

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

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

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

المصدر: opennet.ru

إضافة تعليق