الدرس الرابع – التحليل الساكن للبرامج الخبيثة

بسم الله الرحمن الرحيم

 

تكلمنا في الموضوع السابق عن التحليل الديناميكي للبرامج الخبيثة و من خلال التحليل كشفنا عن الكثير من المعلومات المهمه الخاصه بالبرنامج الخبيث المسمى ب illusion , في هذا الموضوع سنقوم باستخادم طريقة التحليل الساكن لنؤكد ما تم ايجاده و نبحث عن مؤشرات للاصابه التي تهمنا في الدرجه الاولى .

 

اولا ما هو التحليل الساكن للبرنامج الخبيث ؟

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

 

ثانيا ما هو هدفنا في التحليل الساكن ؟

1) الحصول على قيمه الhash الخاص بالبرنامج الخبيث باستخدام خوارزميه md5 و sha1 .

2) استخدام مضاد فيروسات لنتأكد اذا ما تم اكتشاف البرنامج الخبيث من قبل .

3) الحصول على معلومات لتركيب ونوع البرنامج الخبيث و لغه البرمجه المتسخدمه واذا ما تم استخدام برامج معينه لتشفير محتواه .

4) الحصول على جميع الكلمات والجمل المقروئة داخل البرنامج التي يمكن انت تتضمن عناوين بريد الكتروني خاص بالمخترق او كلمات سر او عناوين IP او اسماء نطاقات يمكن ان تفيدنا في تميز البرنامج الخبيث و غيرها من الجمل التي كتبت لتسهيل حل مشاكل البرنامج من قبل المبرمج .

5) الحصول على جميع المكتبات والدوال التي يستخدمها البرنامج الخبيث واذا ما كان يحمل استغلال لثغرات داخل البرنامج .

6) عمل هندسة عكسيه و ارجاع البرنامج من ارقام بلغه الاله الى كود بلغه ال Assembly يمكن فهمه وتتبعه .

7) الحصول على خوارزميات انشاء اسماء النطاقات التي يقوم البرنامج الخبيث بالاتصال بها ( تقوم بعض البرامج الخبيثة باستخدام هذه الخوارزميات حتى لا يتم كتابة اسماء النطاقات بشكل صريح داخل البرنامج وانما يتم انتجاها بشكل ديناميكي اثناء عمل البرنامج .

8) الحصول على خوارزميات تشفير البيانات المرسله عبر الشبكه ليتم فك تشفيرها لاحقا .

9) تحديد تقنيات الحماية من الهندسة العكسية او الحماية من التشغيل داخل الانظمه الوهمية .

ثالثا ما هو ال hash ؟

هو رقم يمثل بالنظام السداسي ال Hex مميز لكل بيانات يتم انتاجه منها ولا يمكن ارجاعه لاصله . يتم انتاجه عن طريق ادخال المعلومات باحدى خوارزميات التشفير التي تقوم بعمل عمليات حسابية بطريقه معينه لينتج هذا الرقم المميز . يستخدم في تمييز البيانات واذا ما تم التعديل عليها لان اي تعديل بسيط يغير القيمه بشكل كبير لذلك نقوم باستخدامه بتميز البرامج الخبيثه عن بعضها . يوجد الكثير من خوارزميات ال hashing منها md5 و sha1 و sha2 وغيرها .

تختلف الخوازميات بقوه التشفير و عدم قدره المخترق على ارجاع القيمه لاصلها او توليد قيمه لبيانات مختلفه بنفس hash لبيانات اخرى مثلا :

لو قمنا باستخدام الخورزميه md5 على باسورد P@ssw0rd سينتج : 161ebd7d45089b3446ee4e0d86dbcf92

لو كانت الخوارزميه ضعيفه ويمكن ارجاع قيمه الهاش لاصله سيتم معرف كلمه السر .
ايضا لو كان هنالك كلمتان بنفس الهاش وكان هنالك نظام يستخدم الهاش للتاكد من المستخدم سيتم اجتياز التحقق بكلمه سر مختلفه و في مجال عملنا يمكن عمل برنامج خبيث بنفس الهاش لبرنامج نظيف وهكذا يتم تخطي مضادات الفيروسات .

رابعا ما هو ال Portable Executable Header PEH ؟

هو عباره عن قيم مرتبه بطريقه معينه موجوده في اول الملف التشغيلي تحمل معلومات عن البرنامج يستخدمها النظام ليقوم بتشغيل البرنامج بطريقه صحيحه .

من المعلومات التي يمكن استخراجها من هذا التركيب :

1) وقت انتاج البرنامج (compile time ) .
2) المعمارية التي يدعمها البرنامج 32 او 64 .

3) عدد ال المقاطع (section ) التي يستخدمها البرنامج وهي اماكن في الملف تحوي على الكود الذي سيتم تشغيله مثل .text و المتغيرات و الثوابت التي تم تعريفها مثل .data و المقاطع الاضافيه التي يمكن ان تستخدم لاغراض مختلفه كمان سنتعلم بالدروس القادمة

4) المكتبات و الدوال التي يستخدمها البرنامج خلال عمله

5) البيانات التي يحملها البرنامج معه كمثال من البرامج العاديه عندما تقوم بتحميل لعبة يكون الملف تشغيلي قد تم تضمينه بالصور و الموسيقى وتكون محفوظه في قسم ال resources . كمثال في البرامج الخبيثه يمكن ان يتم تضمين استغلال للثغرات داخل هذا القسم ليقوم البرنامج باستخدامها خلال عمله ( ابحث عن stuxnet ) .

للتعمق في موضوع PEH من هنا فهو موضوع يحتاج لكورس كامل لوحده .

 

من المهم ان تكون قد تعاملت او درست لغه الاسمبلي و فهمت الاساسيات لانه الموضوع لن يقوم بشرح الاساسيات و لكن سيتم عمل كورس منفصل لتعلم الهندسة العكسية واعطاء الاساسيات فيه .

يمكنك قرائه الكتب المختصه في الاسمبلي الموجوده في لائحه الكتب او يمكنك متابعه هذا الكورس المختص في هذه اللغه من هنا .

يوجد شرح لاساسيات لغه الاسمبلي مع تطبيق عليها خلال الدرس المقسم لخمس اقسام كما ترونها في الاسفل .

 

الان اترككم مع الشرح التوضيحي

[youtube https://www.youtube.com/watch?v=1AnPXs7vjF8&w=560&h=315]

[youtube https://www.youtube.com/watch?v=KcvSjgY_YA0&w=560&h=315]

[youtube https://www.youtube.com/watch?v=H-1JmPLuCuY&w=560&h=315]

[youtube https://www.youtube.com/watch?v=CsVhKPguHJA&w=560&h=315]

[youtube https://www.youtube.com/watch?v=o4VkUdQHYeY&w=560&h=315]