الجمعة، 30 أغسطس 2013

ملف مضغوط بحجم 4.2 كيلوبايت يحتوي على بيانات بحجم 43000 تيربايت

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

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

  • كيف يعمل هذا الملف ؟
يكون مساحة الملف في الغالب صغيرة جداُ مما يصعب اكتشافه , ويحتوي على كمية من البيانات العديمة النفع و ذلك للاستهلاك موارد النظام عند فك الملف .


  • كيف يؤثر هذا الملف على برنامج حماية الفيروسات ؟
 
كجزء من اساليب الحماية يقوم معظم برامج الحماية الحديثة بمسح الملفات الجديدة في النظام بشكل ألي للبحث عن الفيروسات , و بالنسبة للملفات المضغوطة يتم أولا فك ضغط الملف و في حالة الملف المحتوي على الثغرة سوف يتم استهلاك مساحة القرص الصلب و حدوث انهيار للنظام .


  • كيف يمكن ان يحتوي ملف بهذا المساحة على هذه الكميات من البيانات ؟
لفهم هذا اللغز لابد لك من فهم كيفية عمل خوازمية الضغط المستخدمة في ملفات (zip) , و لنبدأ بسلسلة البيانات التالية كمثال عن البيانات الغير مضغوطة :

AAAAABBBBCCCCBAAAA

تلاحظ بأن هنالك تكرار للأحرف بشكل كبير مما يؤدي لزيادة طول السلسلة ,  و لكن ماذا لو قمنا بأعادة كتابة سلسلة الحرف A في بداية السلسلة من (AAAAA) إلى (5A) حيث يرمز العدد في أول السلسلة لتكرار القيمة يليه القيمة المكررة , و الأن لنعد كتابة السلسلة السابقة باستخدام هذه الخوازمية :

5A4B4C1B4A

تلاحظ هنا حدوث تطلق لطول السلسلة بعد تطبيق الخوازمية , و الأن بعد أن أصبحت لديك فكرة عن عمل الخوازمية الخاصة ببرنامج الضغط , لنفترض بأننا قمنا بأرسال سلسلة نصية تتكون من الحرف A بطول 10000 سيكون تمثيلها بعد تطبيق خوازمية الضغط عليها كالتالي :
 10000A

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


  • هل زال هذا الملف يشكل خطراً على برامج حماية الفيروسات ؟
معظم برامج الحماية الحديثة تقوم بالتعرف على هذا النوع من الملفات مباشرة و تتجنب فتحها .

  • هل يوجد مثال على هذا النوع من الملفات ؟
يوجد مثال عملي على الموقع http://www.unforgettable.dk , و الملف الموجود في هذا الموقع تم تصميمه بتضمين العديد من الملفات المضغوطة معاُ مما يزيد من فعاليته في ايقاف عمل برنامج الحماية من الفيروسات .

ملا حظة : تم تزويد الملف الموجود في الموقع بكلمة سر لمنع برنامج الحماية من الفيروسات من فتحه .

  • المصادر :
  1. http://en.wikipedia.org/wiki/Decompression_bomb
  2. http://research.swtch.com/zip
  3. http://www.steike.com/code/useless/zip-file-quine