الهندسة العكسية للبرامج الضارة (Malware Reverse Engineering)

السلام عليكم و رحمة الله وبركاته

ماهو الـ (Sheep Dipping)؟

هو تحليل الملفات والحزم المشتبه بها من فيروسات وبرامج ضارة في بيئة معزولة، قبل السماح بإتاحتها للمستخدمين، و يتم إجراء هذا التحليل على جهاز كمبيوتر مخصص، وهذا هو تشغيل خط الدفاع الأولي، مع حوسبة آمنة للغاية إلى جانب منفذ المراقبة (port monitoring)، وملف المراقبة (file monitoring) ومكافحة الفيروسات (anti-viruses) وبرامج الأمان الأخرى(security programs).

ماذا يعني تحليل البرامج الضارة (Malware Analysis)؟

عبارة عن عملية تحديد(identification) البرامج الضارة و التحقق من إزالتها تمامًا، بما في ذلك مراقبة سلوك البرامج الضارة (observing malware behavior)، وتحديد نطاق التهديد المحتمل (potential threat) للنظام والعثور تدابير أخرى. قبل شرح تحليل البرامج الضارة، نحتاج إلى تحليل البرامج الضارة(malware analysis) والهدف المراد تحقيقه من خلال هذه التحليلات.

محلل الأمن (Security analyst) ومحترف الأمن (security professional) في مرحلة ما من حياتهم المهنية، عليهم أجرى تحليل البرامج الضارة، و الهدف الرئيسي من تحليل البرامج الضارة هو الحصول على معلومات مفصلة ومراقبة سلوك البرمجيات الخبيثة للحفاظ على الاستجابة للحوادث والعمل الدفاعي لتأمين المنظمة.

 كيف تتم عملية تحليل البرامج الضارة (Malware Analyses process)؟

1.تبدأ هذه العملية من خلال إعداد الاختبار(Testbed) للتحليل.

2.يقوم محترف الأمن (Security Professional)  بتجهيز a Virtual machine  كنظام تشغيل مضيف (a host operating system)، حيث سيتم إجراء تحليل ديناميكي للبرامج الضارة عن طريق تنفيذ البرمجيات الخبيثة على نظام التشغيل الضيف (guest operating system).

3.يتم مراقبة سلوك البرامج الضارة باستخدام الحجر أو العزل (quarantine) حيث يكون نظام التشغيل المضيف معزول عن الشبكات الأخرى.

4. بعد تنفيذ البرنامج الضار في في بيئة الاختبار(Testbed) الثابتة والديناميكية يتم إجراء التحليل.

5.يتم إعداد اتصال الشبكة لاحقًا لمراقبة السلوك باستخدام أدوات مراقبة العمليات (Process monitoring tools) وأدوات مراقبة الحزم (Packet monitoring tools) و أدوات تصحيح الأخطاء (debugging tools) مثل OllyDbg و ProcDump.

ماهي أهداف تحليل البرامج الضارة (Malware Analyses)؟

1.تشخيص شدة التهديد أو مستوى الهجوم.

2.تشخيص نوع البرامج الضارة.

3.تحديد نطاق أو مجال الهجوم (Scope the attack).

4.بناء دفاع لتأمين الشبكة وأنظمة المنظمة.

5.بناء إجراءات استجابة للحوادث.

6.تطوير مكافحة البرامج الضارة (Anti-malware).

7.البحث عن السبب الجذري(a root cause).

ماهي أنواع تحليل البرامج الضارة؟

 يتم تصنيف تحليل البرامج الضارة إلى نوعين أساسيين:

1)التحليل الثابت (Static Analysis):

 يتم إجراء التحليل الثابت (Static Analysis) أو تحليل الكود (Code Analysis) عن طريق تجزئة (fragmenting) الموارد في الملف الثنائي (binary file) دون تنفيذه ودراسة كل مكون. ويستخدم مفكك (Disassembler) مثل IDA لتفكيك الملف الثنائي(binary file).

2)التحليل الديناميكي(Dynamic Analysis):

يتم تنفيذ التحليل الديناميكي (Dynamic Analysis) أو التحليل السلوكي (Behavioral Analysis) من خلال تنفيذ برامج ضارة على مضيف (host) ومراقبة سلوكه. و يتم إجراء هذه التحليلات السلوكية في بيئة  Sandbox.

ماهي تقنية الـ Sandboxing ؟

هي تقنية تساعد في اكتشاف التهديد بطريقة مخصصة، في بيئة متطورة؛ أثناء وضع البرامج الضارة في الـsandbox ، يتم البحث عنها في قاعدة بيانات الذكية (Intelligence database) من أجل تقرير التحليل؛ فقد يكون من الممكن أن تتوفر تفاصيل التشخيص إذا تم اكتشاف التهديد مسبقًا؛ إذا تم تشخيص التهديد من قبل، ويتم تسجيل تحليلاته للاستخدام المستقبلي؛ يساعد على التشخيص الآن. وإذا تم العثور على تطابق في قاعدة البيانات، فهذا يساعد في الاستجابة السريعة.

م.أمــــل عبـــدالكريــــم الأصبـــــحي،،،

https://t.me/amaltechnology

مصدر المعلومات كتاب: CEH v10: EC-Council Certified Ethical Hacker