المقدمة معظم حوادث الإختراق الأمني هذه الأيام سببها غالبا برامج خبيثة، وجود مثل هذه البرامج داخل المنظمات إما لأسباب تخريبية, او تجسسية بهدف الاطلاع على ملفات سرية أو سرقة بيانات حساسة. سوف نعرض لكم في هذه المقالة بشكل مبسط كيف يمكن لمحلل المخاطر الاطلاع على أهم المفاتيح لفهم طريقة عمل البرامج الخبيثة للحد من خطرها طرق تحليل البرامج الخبيثة هناك طريقتان لتحليل البرامج الخبيثة, إما بالطريقة الديناميكية أو الطريقة الثابتة.
التحليلات الثابتة ببساطة هذه الطريقة تستخدم لتحليل البرامج الخبيثة بدون تشغيلها ودراسة المحتوى بشكل آمن, مثلا الاطلاع على APIs و ASCII & Unicode او الميتا داتا
يساعد هذا النوع من التحليل للفهم والتأكد إذا ما كان البرنامج خبيث أم لا. بعد الاطلاع إلى الصورة أدناة، سنرى أن البرنامج يحتوي على API CryptDecrypt هذا النوع من الـ API يستخدم في التشفير
يمكن ان نرى ايضا ان هناك احتمالية تخاطب البرنامج الخبيث مع خادم خارجي قد يكون الغرض منه التحكم بجهاز الضحية عبر بروتكول HTTP
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) HTTP/1.1 Connection: close
نرى أيضا خلال تحليلنا لهذا البرنامج الخبيث وجود احتمالية مفاتيح تسجيل, تستخدم هذي المفاتيح لضمان إعادة تشغيل البرنامج الخبيث بعد إطفاء جهاز الضحية
Software\Microsoft\Windows\CurrentVersion\Run
بعد ما تم تشغيل البرنامج الخبيث داخل بيئة امنة, نستطيع ان نتحقق اذا ما كان البرنامج يحاول التخاطب مع خادم خارجي كما ظهر لنا في التحليلات الثابتة في المثال السابق
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) HTTP/1.1 Connection: close
في العادة يستخدم برنامج ال debugger في هذه العملية لضمان دراسة تحركات البرنامج الخبيث داخل الذاكرة
مراحل تحليل البرامج الضارة هناك ٤ مراحل تستخدم في تحليل البرامج الخبيثة. تكون المراحل الأربع في شكل مخطط هرمي وكلما نرتقي في الهرم، يزداد تعقيد مرحلة التحليل
المراحل هي:
التحليل التلقائي الكامل تحليل الخصائص الثابتة تحليل السلوك التفاعلي تحليل الكود اليدوي
التحليل التلقائي الكامل التحليل التلقائي بالكامل يكون سريع وبسيط وبشكل آلي يمكن تحليل البرامج الخبيثة باستخدام SandBox مثل Cuckoo و hyper بعد الانتهاء من التحليل تقوم الأداة بإنشاء تقرير سريع عن محتويات الملف
تحليل الخصائص الثابتة تعتبر نقطة البداية الجيدة, حيث يقوم المحلل بفحص الخصائص الثابتة للعينة مثل البيانات الوصفية. تعد PeStudio واحدة من أفضل الأدوات المستخدمة لهذا النوع من التحليل كما هو موضح في الصورة أدناه
تحليل السلوك التفاعلي بعد استخدام الأدوات وفحص الخصائص الثابتة للملف، يقوم المحلل بإلقاء نظرة أعمق لدراسة سلوك البرنامج غالبًا ما يتضمن ذلك إصابة النظام بالبرنامج الخبيث داخل بيئة آمنة لمراقبة سلوكه كما فعلنا من قبل أثناء التحليل الديناميكي في هذا المثال سوف نقوم باستخدام أداة Process Monitor لمراقبة سلوك البرنامج ما يهدف إليه هذا النوع من التحليل هو الحصول على فكرة عن ما تحاول البرامج الضارة القيام به عند تشغيلها على جهاز الضحية
تحليل الكود اليدوي تعتبر هذه المرحلة متقدمة في تحليل البرامج وتتطلب فهمًا جيدًا في لغة البرمجة Assembly أحد الأمثلة في تحليل الكود اليدوي هو استخدام أداة الـDebugger لتشفير ملف أو بيانات، يجب أن يكون لديك نسخة واضحة منه أولاً. توضح الصورة أدناه المحتوى الذي يحاول البرنامج تشفيره