1- الجزء الأول : مقدمة عن الفيروسات :
1-1 ما هي الفيروسات ؟
الفيروسات هي برامج قادره على اعادة نسخ نفسها و الحاق نفسها ببرنامج آخر و هي ما تسمى ببرامج ذاتية النسخ او ذاتية التكاثر.
.و ليس كل البرامج الضاره فيروسات و ليس كل فيروسات ضاره . فليست كل البرامج الضاره ذاتية النسخ او ذاتية التكاثر و ليست كل الفيروسات تحتوي علي أوامر تخريبيه ضاره و لكن الهدف الحقيقي للفيروسات هو التكاثر و الانتشار من جانب و مقاومة مضادات الفيروسات و تحديها من جانب آخر.
و يمكن القول ان الفيروس هو برنامج قادر على أن ينتج نُسخ من نفسه بشكل تكراري
2-1 من إخترع الفيروسات ؟
أول من تمكن من وضع أساس للبرامج ذاتية التكاثر هو العالِم جون فون نيرمان سنة 1949 ولم يكن يطلَق عليها فيروسات آن ذاك حتى جاء العالِم فريدريك كوهين سنة 1984 الذي وضع الأساس لفيروسات الكومبيوتر وأطلق عليها هذا الإسم و يعتبر هو الأب الحقيقي للفيروسات.
3-1 لماذا يبرمجون الفيروسات ؟
لإجابة على هذا السؤال الحقيقه ليست سهله كما تظن .و لكنهم أطفال أذكياء لجأواَ إلى التخريبِ الرقميِ لتَسْلِية أنفسهم و تحقيق رغباتهم. و تنوعت أسباب تورطهم في هذا المجال فمنها :
1-التخريب :
بعض مبرمجين الفيروسات يكون لديهم حب التخريب . عندما يرى أحدهم فيروس ما في الصحف و الجرائد أنه دمر و خرب يشعر أن هذا نجاح من مبرمِج هذا الفيروس و يسعى دائماً لتحقيق إنجاز مثله. و هذه المشكله إنتشرت في الوطن العربي في الوقت الحالي و إنتشر النظر إلى المخترق أو مبرمج الفيروسات علي أنه طفل ذكي غير عادي لا على أنه مخرب .
2-التجسس :
البعض الآخر ينخرط في هذا المجال حباً في التجسس و إكتشاف المجهول أو جمع معلومات سريه عن حكومه أو منظمةٍ ما . و أحيانا بسبب الفضول لمعرفة ما يفعله الآخرون. و رغم أن هذا كله ينطبق على برامج التجسس إلى أنه أيضاً ينطبق على الفيروسات التي تحتوي بداخلها على برامج تجسس
<b>
3-الإبتكار :
وبعضٍ آخر نتيجة حب دراسة هذا المجال و تعلمه. فهم يرون أن أفضل طريقِ لفهم الشيءِ أَن يُجربوه.و أحياناً، أفضل طريقِ لإختِبارهذا الفيروس أَن يراه يعمل على أرض الواقع .
و بعض لصوصِ الكومبيوتر العديمو الأخلاقِ أَو اللاأخلاقيينِ نتيجه لإهتمامِهم بهذا المجال قد يَختبر فيروساتهم بإطلاقهم ورؤية ماذا سوف يعملون.
وهناك آخرين يرون أن مجال الفيروسات هو فن الإبتكار و لذالك يقوموا بإبتكار أفكار جديده في هذا المجال و ليس بالضروره نشرها للأذية و لكن لتحدي مضادات الفيروسات و خلق أفكار جديده و الشعور بأنهم علماء و مبتكرون..
4-المال :
وهنا الكثير والكثير ينخرطون في هذا المجال من أجل المال خصوصاً في مجال الديدان الإلكترونيه .فهؤلاء يقومون بنشر برامج تجسس لحساب الآخرين و تقاضي أموال لذالك .أو عمل فيروس يقوم بتعديل صفحات الإنترنت و ضع إعلانات لحسابهم الشخصي و هذا ما أًصبت به شخصياً.
5-السياسة :
هناك أيضاً البعض ينخرطون في هذا المجال لأسباب سياسيه مثل الحرب بين الفليسطنيين و الإسرائليين الذي نتج عنه الفيروس الشهير" أورشليم" و فيروسات أخرى.و هؤلاء يقوموا بالهجوم على حكوماتٍ ما أو بعض المؤسسات الحكومية أو بعض المؤسسات الخاصة المؤيدة و هذا ما يسمى غالباً بالحرب الإليكترونيه من إختراقات أو إنتاج فيروسات.
6-الدراما :
و آخرين يحبون أن يكون لديهم خلفيه سوداء أو حياء أخرى لا يعرف عنها أحد مثل فيلم سبيدرمان أو سوبرمان.و في هذا الصنف الكثيرين من مبرمجين الفيروسات الذين يشعرون أنهم أقل من غيرهم في الحياه الحقيقية أو لديهم شعور بالنقص مما يدفعهم الى تعويض هذا النقص بحياه تخيلية ناجحه.
2- الجزء الثاني : الفيروسات تتحدى :
وفي هذا الجزء سوف نقوم بسرد أفكار الفيروسات و كيف تحدت مضادات الفيروسات خلال العشرين سنه الماضيه
1-2 الفيروسات المشفرة :
بينما كانت الفيروسات فريسه سهله لمضادات الفيروسات و( ذلك عن طريق أخذ جزء من الفيروس كعلامه مميزة و البحث عنها داخل كل ملف ) ظهر التشفير كحل لهذه المشكله و ذلك عن طريق تشفير الفيروس و وضع كود في بداية أو نهاية الفيروس لفك تشفير الفيروس "فاكك التشفير
و أيضاً ظهرت فيروسات مشفره متعددة الطبقات وهي فيروسات تتكون من عدة طبقات من التشفير كما بالشكل السابق
2-2 الصورة المطوره من الفيروسات المشفرة :
رغم أن الفيروسات المشفره تبدو فكرة قوية ولكن أيضاً كود فك التشفير كبير كفاية ليكون علامه للفيروس و إمكانية البحث عنه داخل أي ملف وإكتشاف الفيروس لذلك ظهرت فيروسات تحتوي علي العديد من الأشكال من فاكك التشفير تقوم بالتبديل فيما بينهم ولكن هذه الفكرة أيضاً لم تدم كثيراً لأن مضادات الفيروسات كانت تعتبر كل منهم فيروس مختلف ولم تظهر التحديات الحقيقية إلا عند ظهور الفيروسات متعددة الأشكال.
3-2 الفيروسات المتعددة الأشكال :
لقد ظهرت الفيروسات المتعددة الأشكال لكي تكسر كل القواعد وكل الصور التقليديه لمضادات الفيروسات . فلم يعد طرق البحث العادية مجديه أمام هذا النوع من الفيروسات . فهذا النوع يحتوي على مولد للكود يستطيع توليد الآلاف بل من الملايين من الأشكال المختلفه من فاكك التشفير و ذلك بناءاً علي مصدر أو صوره لفاكك التشفير بداخله و بهذا المصدر يستطيع أن ينتج العديد من الصور بالتغيير في شكل الكود دون التغيير في المهمة التي يقوم بها وذلك ما يسمى بالتشويش
و التشويش عادتاً – حتى في أقوى الفيروسات – يتكون من هذه الأنواع من التشويش :
1- إبدال مواضع الأوامر :
و هذه الطريقة تقوم علي إبدال الأوامر فيما بينها (القابله للتبديل)
2- إبدال المتغيرات :
و هذه الطريقة تقوم علي إبدال المتغيرات لا الأوامر وهي تعتبر من أصعب أنواع التشويش برمجياً بمعنى وضع س مكان ص و ص مكان س وهكذا
3- إدخال أوامر القمامه :
رغم أن إسم هذه الطريقه غريب و لكن هذا التشويش ليس غريب . فهو يقوم بإضافه أوامر ليس لها قيمه و لن تؤثر علي مهمة البرنامج
4- تغيير شكل الأوامر :
و هذه الطريقه تقوم على تغيير شكل الأمر لا المهمه
حيث يقوم بوضع س = 3000 تم طرح 2000 من (س) حتى تصبح 1000 وهكذا قد تغير الشكل لا المضمون
4-2 الفيروسات المتحولة :
الفيروسات المتحوله هي بكل بساطه هي فيروسات تقوم بتغيير أو تشويش نفسها كلياً . و لقد ظهرت نتيجه لإكتشاف مضادات الفيروسات للفيروسات المتعددة الأشكال بطرق جديدة و قوية ( التي سيتم شرحها في الجزء القادم) . و لم تكن هذه الطريقه أصعب بكثير (نسبه لفارق الصعوبه في البرمجة) و لكنا كانت أيضاً تحدي كبير. و هذه الطريقه لا تعتمد على مصدر للأوامر بل تقوم بتحويل البرنامج إلى لغة وسيطة , تم إلغاء التشويش (إرجاعها إلى أصلها) , تم تشويشها من جديد بصورة مختلفه و اخيراً تحويلها من اللغه الوسيطة الى لغة الآله من جديد ليظر الفيروس كله بصوره جديدة.
5-2 حجب نقطة البداية :
و هذه الطريقه مختلفه عن كل الطرق السابقه فهي تعتمد على عدم جعل الفيروس يعمل في البداية بل قد لا يعمل على الإطلاق (أحياناً) وذلك لتجنب الكثير من طرق إكتشاف الفيروسات (التي سيتم شرحها في الجزء القادم). وتتم هذه الطريقة بإضافة أمر الذهاب الى الفيروس في وسط البرنامج
و رغم أن هذه الطريقه سهله برمجياً إلى أنها قوية جداً ضد مضادات الفيروسات و مجديه إلى حد كبير .
هذه هي معظم أفكار الفيروسات عامتاً ولكن تحت كل بند الكثير والكثير فعالم الفيروسات و مضاداتها عالم كبير ملئ بالأفكار و التلاعب فهو فعلاً فن الإبتكار.
3- الجزء الثالث : الدفاع و الحماية ضد الفيروسات :
بينما كانت الفيروسات في تطور مستمر لذلك كان من الطبيعي ظهور تطور مناظر في مجال مضادات الفيروسات . و في هذا الجزء سوف نسرد معاً تطور مضادات الفيروسات
1-3 البحث النصي :
البحث النصي هي من أسهل الطرق لإكتشاف الفيروسات . و هي تعتمد على البحث عن سلسلة من الأوامر التي لا تظهر بهذا التتابع إلا في ملف مصاب بالفيروس . و هذه الطريقه كانت قويه إزاء الفيروسات العادية و المشفرة و لكنها لم تستطع أن تكتشف الفيروسات المتعددة الأشكال.
و لقد تتطورت هذه الطريقة تطور كبير على مدار الوقت فأصبح الباحث النصي ليس من الشرط البحث عن أوامر متتالية بل من الممكن أن يتخللها أوامر أخرى ليست في نص البحث (و ذلك كان قادر على التغلب على بعض طرق التشويش " إدخال أوامر القمامه" )
و البعض كان يقبل بدرجة من التشابه أي تشابه لا يقل عن نسبه معينه (متشابه بنسبة 90% مثلاً)
لا تزال هذه الطريقة مستخدمة إلى الآن و قويه و لا تزال مضادات الفيروسات تطور هذه الطريقة لتجعلها أكثر مرونة و أكثر سرعة.
2-3 محاكي لوحدة المعالجة المركزية :
محاكي لوحدة المحاجه المركزيه هو من أفضل الطرق لإكتشاف الفيروسات المتعددة الأشكال. هذا المحاكي يقوم بوضع الفيروس في بيئة تخيلية (جهاز تخيلي) ويقوم بتشغيل الفيروس فيها و مراقبته في هذه البيئة التخيليه حتى يقوم بفك تشفيره نهائياً ثم التأكد أن ما قام هذا الكود بفك تشفيره هو الفيروس نفسه و وذلك بإستخدام باحث نصي بسيط للتأكد أنه الفيروس.
و هذه الطريقه أيضاً كانت قويه للتغلب علي الفيروسات المتحوله و ذلك بمراقبة سلوكها و معرفة إذا كان هذا السلوك هو سلوك الفيروس أم لا. وأيضاً كانت الكثير من الفيروسات تقوم بكتابة بعض النصوص في الذاكرة أثناء التشغيل (التي تكون مخفيه أو مشفرة داخل الملف قبل التشغيل).
رغم قوة هذه الفكرة إلا أنها كانت غير قادرة على التغلب الفيروسات الثي تقوم بتشويش نقطة البداية أو الفيروسات التي لا تقوم بالعمل إلا في أيام معينه أو ظروف معينه .
3-3 أشعة إكس :
وهذه الطريقة تختلف كثيراً عنها في الطب . فهذه الطريقه تقوم بإكتشاف الفيروسات المتعدده الأشكال مهما كانت معقدة أو مشوشه إذا كانت معادلة التشفير سهلة أو ضعيفة .
هذه الطريقة تقوم على:
1- فرض أن الفيروس موجود في مكان ما وليكن (س)
2- ثم بمعلوميه الصوره الحقيقية للفيروس (قبل التشفير) تقوم بإختبارها مع الصوره المشفره داخل الملف عند (س) و إحضار كلمة سر التشفير.
3- تقوم بإختبار كلمه السر بفك تشفير جزء من الملف (إبتداءاً من س) ثم إجراء البحث النصي داخل هذا الجزء عن الفيروس
4- فإذا لم يوجد الفيروس في هذا الجزء نعيد هذه الخطوات إبتداءاً من (2) ولكن فرض أن الفيروس موجود في المكان س+1
هذه الطريقه مجديه ضد الكثير من الفيروسات و لكنها بطيئه جداً مع الفيروسات المشفره المتعددة الطبقات و الفيروسات التي تحتوي على معادله تشفير معقدة .
و لكن هذه الطريقه تستخدم كبديل المحاكي الذي سبق ذكره ضد الفيروسات الثي تقوم بتشويش نقطة البداية أو الفيروسات التي لا تقوم بالعمل إلا في أيام معينه أو ظروف معينه.
4-3 التحليل الإرشادي :
و هذه الطريقه قويه جدا في إكتشاف الفيروسات الجديدة وهي تقوم على تشغيل البرنامج في بيئة تخيليه ( بإستخدام المحاكي) و البحث عن كود مريب لا يظهر إلا في الفيروسات .
أو أحياناً تقوم بالبحث عن الأخطاء البرمجية للفيروسات التى قد تؤدي إلى ظهور أشياء مريبه لا تظهر إلا عندما يكون الملف مصاب بفيروس ما.
و للتوضيح , مثلاً هناك بعض الفيروسات تقوم بإصابه ملف ما بوضع كودها داخل البرنامج مع نسيان تعديل خانة حجم الكود في الملف كله (مكان في أول الملف يحدد حجم الكود في البرنامج) و هكذا ... فيقوم التحليل الإرشادي بإختبار الحجم الفعلي للكود (حجم كود البرنامج + حجم كود الفيروس) و إختباره مع خانة حجم الكود فإذا كانوا مختليفين فهذا يدل على إحتمال إصابه الملف بفيروس.
تظهر عيوب هذه الطريقه في أنها تعطي الكثير من الإنذارات الخاطئه على ملفات غير مصابه بأي فيروس و لكن رغم ذلك فهي لا غنى عنها في أي مضاد للفيروسات.
5-3 إختبار السلامة :
إختبار السلامه هي أولى الطرق و أسوء الطرق لإكتشاف الفيروسات و هي تقريباً لم تعد مستخدمه إلى الآن.
هذه الطريقه تقوم على التأكد أن الملفات المراد التأكد من سلامتها (ملفات البرامج) لم تتغير منذ أول مرة أختبرت فيها.
بمعني أنه يقوم بحفظ حجم الملفات و بعض المعلومات عنها و عند إختبارها مرة أخرى يتأكد من أن حجمها لا يزال ثابت و أن الملف لم يتغير .
وهذه الطريقة من عيوبها أن المستخدم في أغلب الأحيان لا يقوم بشراء مضاد للفيروسات إلا عندما يكون فعلاً مصاب بفيروس ما
إضافة أن هناك بعض البرامج المشهورة تقوم بتعديل نفسها من وقت لآخر لإضافة معلومات داخل الملف
و أيضاً هذه الطريقه تعاني من البطء ولذلك هذه الطريقة غير مستخدمة بكثره إلا مع أنواع أخرى من الحماية لزيادة الأمان.