دور الـ 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 يمكنك الاطلاع عليها وتجربتها .