فيروسات للتحميل

هذه المواقع توفر ملفات خبيثة ( فيروسات) للتحميل. هذه الفيروسات مهمه لدراسة الفيروسات وتحليلها ومعرفة طريقة عملها.

malwr.com
contagiodump.blogspot.com
virusshare.com
malware.lu
malshare.com
kernelmode.info

تحذير : يجب ان يكون لديك خبرة في التعامل مع مثل هذه الملفات بسبب انها ملفات خبيثة وقد تصيب جهازك وتدمره

دور الـ fuzzy hashing في اكتشاف الـ Malwares

fuzzy hashing هي عباره عن خوارزميات تقوم باكتشاف درجة القرابة بين ملفين واعطاء نسبة بين 0 الى 100 حيث 0 هي اختلاف الملفين تماما و 100 تعني الملفان متشابهين تماما . هذه الخوارزميات تستخدم وبشكل كبير في عملية اكتشاف الـ malwares ولها بعض التطبيقات الاخرى مثل spam detection.

cryptographic hashing algorithm مثل MD5 و SHA-256  هي عباره عن خوارزميات رياضية تقوم بحساب هاش ( قيمه طويلة hexadecimal يختلف حجمها بحسب الخوارزميه) فريد لكل ملف وهذا الهاش يتغير بتغير الملف حتى ان كان التغير  عباره عن bit واحد فقط . هذه الخوارزميات تستخدم بشكل واسع جدا في امن المعلومات واحد التطبيقات لها وهي في  برامج الحماية للتفريق بين الملفات الحميده والخبيثه اثناء الفحص عن طريق اخذ الهاش للملف ومقارنته بقاعدة بيانات البرنامج والتي تحتوي على هاشات لملفات خبيثه تم جمعها مسبقا . في حالة تطابق الهاش فان الملف خبيث واذا لم يتطابق فان الملف سليم ولا يشكل خطر . هذه الطريقة لها عيوب كثيره ويمكن خداعها بسهولة عن طريق تغيير بعض القيم في الملف الخبيث وسوف يتيغير الهاش الخاص بالملف ولا يمكن اكتشافه .التغيير في الملف الخبيث قد يكون يدوي من قبل المهاجم او الملف الخبيث نفسه تمت برمجته بحيث يتغير تلقائيا وهذه الانواع تعرف بالـ polymorphic و metamorphic وكل منها له اختلاف في طريقة العمل.

دور الـ fuzzy hashing في اكتشاف الـ Malwares

fuzzy hashing تعمل بطريقة مختلفه عن طريق تقسيم الملف الى اقسام صغيره (segments) ويتم حساب الهاش لكل جزء ثم احتساب الهاش الكلي وبطريقه حسابيه معينه يتم مقارنة الهاشات مع ملفات اخرى واستخراج درجة القرابة بين الملفين . هذا مفيد جدا في حالة نريد نتحقق من وجود ملف معين داخل مجموعه من الملفات مثل ان يكون لدينا صوره ونريد نعرف اذا ما هذه الصوره متواجده في ملف اخر . هذا مفيد اثناء متابعه الادلة في التحقيق الجنائي الرقمي واستخراج المعلومات . كذلك في اكتشاف الفيروسات حيث انه لا يتم الاعتماد على هاش تم احتسابه للملف بالكامل وانما fuzzy hash والذي يعطينا درجه القرابه بينه وبين هاشات سابقه وعلى هذا الاساس يتم اكتشاف الملفات الخبيثة وتمميزها حتى مع تغيرها.

على سبيل المثال اذا اخذت malware مشهور مثل wannaCry وقمت بتعديل شي بسيط فيه واخذت الهاش باستخدام SHA256 وفحصته في موقع virus total سوف يكون الناتج بان الملف سليم 100% ولكن اذا تم رفع الملف بعد التعديل البسيط الذي قمنا به سوف يتم اكتشافه فورا وهذا تم باستخدام fuzzy hashing. مثال اخر اذا كان لدينا صورتين وقمت بتعديل الصوره الاول بوضع نقطه فقط او تعديل جدا بسيط. باستخدام الخوازميات التقليديه سوف يكون الهاش مختلف تماما ولا يمكن اكتشاف بان الصورتين في الحقيقه نفس الصوره ولكن باستخدام الـ fuzzy hashing يمكن اكتشاف ذلك وبسهوله. ايضا يتم استخدام نفس الطريقه اثناء التحقق بان ليس هناك سرقة ادبيه في رسائل الدكتوراه والابحاث العلمية عن طريقه مقارنة المحتوى واكتشاف درجة التقارب بين الورقه البحثيه وورقه اخرى .

تطبيقات الـ fuzzy hashing كثيرة ولكن  امن المعلومات اخذ الجزء الاكبر. اول خوارزميه كان الهدف منها اكتشاف رسائل السبام في الايميل. ثم ظهرت خوارزميات اخرى وكل خوارزميه قويه في جانب معين طريقة العمل والاداء.

  • ssdeep
  • sdhash
  • mvHash
  • mersh v2

كلها fuzzy hashing algorithms يمكنك الاطلاع عليها وتجربتها .

كيف تتم عملية تحليل الفيروسات – Dynamic analysis

هذه التدوينة تعتبر تكملة للتدوينة السابقة التي كتبت فيها عن الـ Static analysis , اتمنى ان تقرأها ثم تعود الى هذه التدوينة والتي سوف تكون عن جزء الـ Dynamic analysis من تحليل الفيروسات . كما عرفنا من التدوينة السابقة ان الـ Dynamic analysis تركز على سلوك الفيروس بغض النظر عن بنيته وتقينات البرمجه التي كُتب بها .

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

هناك الكثير من الادوات التي يمكن من خلالها مراقبة سلوك البرنامج , من ابرز هذه الاداوات لنظام وندوز هي اداة procmon من مايكروسوفت, الاداة تقوم بمراقبة كل شي يخص العمليات , يمكن استخراج الكثير من المعلومات التي تقوم بها اي عملية او كل العمليات , تابع هذا الفيديو عن الاداة متابعة قراءة “كيف تتم عملية تحليل الفيروسات – Dynamic analysis”

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

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

سوف ابدأ التدوينة باعطاء لمحة سريعة عن الفرق بين الـ static analysis و الـ Dynamic analysis

كل التقنيات والادوات التي تستخدم اثناء عمل static analysis تهتم ببنية الفيروس  وتحلل الكود وطريقة برمجة الفايروس دون تشغيله . يتم أستخدام ادوات معينة (سوف نتطرق لها لاحقا في هذا المقال) لتحليل الكود الخاص بالفيروس واي معلومات تتعلق ببنية الفايروس . المعلومات تختلف على حسب نوع الفايروس فعلى سبيل المثال اذا كان الفايروس مكتوب بلغة البرمجة C سوف نحلل Assembly كود الناتج من الملف التنفيذي  وندرسه بشكل معمق .

بالنسبة لـ Dynamic analysis كل ما يهمنا هو سلوك الفيروس والتغييرات التي يحدثها , لا يهمنا كيف تمت برمجته او كيف يقوم الكود بعمل التغييرات او الدمار . الأدوات تراقب سلوك البرنامج ومتابعة كل التغيرات التي تحصل بسبب الفايروس ويتم تسجيلها ومتابعتها . سلوك البرنامج يقصد به مثلا الملفات التي يغيرها , اتصاله بالانترنت والمعلومات التي ترسل , اسماء الدوال التي يستدعيها من نظام التشغيل .. الخ . لن نقوم بدراسة الكود الخاص بالفايروس في هذا النوع من التحليل . قد يكون خطراً جدا ان تقوم بتشغيل ملف خبيث لذلك توخى الحذر وقم بالعمل في معمل منفصل عن طريق استخدام virtualbox او ماشابه . متابعة قراءة “كيف تتم عملية تحليل الفيروسات”