بشكل علم يمكننا تعريف فيروسات الحاسب بأنها نوع معين من البرامج الضارة التي تنتشر عن طريق إصابة الملفات الأخرى بحمولتها الضارة. تعرفنا في مقال سابق على مخاطر الفيروسات سنتعرف في هذا المقال على طرق انتشارا وآلية عمل بعض أنواع الفيروسات:
فيروسات الحاسب التي تصيب MBR :
MBR – Master Boot Record بالإضافة إلى DOS boot record system sectors هو الحيز الذي يقوم نظام التشغيل بتنفيذ الكود الخاص بعملية الإقلاع ضمنها. تحوي MBR على معلومات أساسية لنظام التشغيل. مثل: كيف تتوزع الأقراص، في أي جزء من هذه الأقراص يوجد نظام التشغيل و كيف يمكن إقلاع هذا النظام. عتبر أكثر منطقة معرضة لهجوم الفيروسات وفي حال تعطلها سيتم فقدان كل البيانات.
تعتبرDOS boot sector الخاصة بعملية الإقلاع هدفاً مهماً للفيروسات. System sector يتألف من 512 bytes فقط لذلك فإن هذا النوع من الفيروسات يقوم بإخفاء نفسه في مساحات أخرى من القرص. وكما هو موضح في الشكل التالي، هذا النوع من الفيروسات يقوم بنقل MBR إلى مكان أخرى على القرص ويقوم بنسخ نفسه في المكان الخاص بـ MBR. وعندما تبدأ عملية اقلاع النظام فإن الفيروس سيتم تنفيذه ويعيد التحكم بعدها إلى MBR الاصلية.
كان نظام الويندوز أكثر عرضة لهذا الهجوم مقارنة بأنظمة لينكس أو ماك التي تملك آلية حماية داخلية ضد مثل هذا النوع من الفيروسات . و لتجنب هذا النوع من الفيروسات ينصح بالقيام بعملية فحص كاملة للفيروسات وبشكل دوري للوقاية.
فيروسات الملفات:
يصيب هذا النوع من الفيروسات ملفات من أنواع مختلفة exe, sys, ovl, obj and bat. ويمكن أن يبدأ العمل بشكل فوري وممكن أن يبقى ساكن في الذاكرة لفترة معينة. يقوم هذا النوع من فيروسات الحاسب بحقن الكود البرمجي الخاص بها ضمن الملف الأصلي ليتم تنفيذها عند فتح أو تشغيل هذا الملف وعندها ستقوم بعدوى وإصابة ملفات أخرى.
الفيروسات المتعددة الأقطاب Multipartite Viruses:
وتعرف أيضاً باسم متعددة الأجزاء أو الهجينة وتجمع بين آلية إصابة الملفات وإصابة سجلات الإقلاع، تحاول مهاجمة boot sector وبنفس الوقت إصابة الملفات التنفيذية.
Macro Viruses:
تصيب ملفات Microsoft word or excel والتطبيقات المشابهة. مهمة الماكرو هو اتمتة المهام التي تتم بشكل متكرر. معظم فيروسات الماكرو يتم كتابتها بلغة البرمجة VBA – Visual Basic for Applications ويتم تشغيلها عند فتح الملف.
Cluster Viruses:
تصيب الفيروسات العنقودية الملفات بدون تغير الملف أو زرع ملفات إضافية وهي تقوم بحفظ الكود الخاص بها على القرص الصلب وتخبر المؤشر ليشير لمكان وجودها بدل مكان وجود البرنامج. ويتم الوصول لها وتشغيلها عند فتح أي ملف ومن ثم يتحول التحكم ليقوم بتشغيل البرنامج المطلوب.
Stealth Viruses/Tunneling Viruses:
كما هو مبين في الشكل التالي، يعمل هذا النوع من الفيروسات على إخفاء نفسه لعدم اكتشافه من قبل مضادات الفيروسات. يبدل الكود الخاص بهذا النوع من فيروسات الحاسب الطلبات الخاصة بعمليات الفحص ويقوم بإرسال نسخة من البرنامج سليمة للفحص وإخفاء النسخة المصابة بمكان آخر ضمن القرص . ولتجنب اكتشافه يقوم بالسيطرة على عمليات النظام واستخدامها ليخفي وجوده.
فيروس التشفير-Encryption Viruses:
يتألف من نسخة مشفرة من الفيروس وجزئية خاصة لفك التشفير والتي تحوي على مفتاح فك التشفير. عندما تتم عملية الإصابة يتم فك تشفير الفايروس ومن ثم يتم تنفيذه. ومن الممكن إصابة أكثر من ملف وكل ملف سيكون له مفتاح فك تشفير مختلف وبسبب استخدام التشفير فإن مضاد الفيروسات لن يتمكن من اكتشاف الفيروس بالاعتماد على توقيعه الرقمي.
فيروسات الحاسب -Sparse :
هذا النوع يحاول إخفاء نفسه من مضاد الفيروسات ويقلل من احتمالية اكتشافه من خلال عمله في بعض الأحيان بحالات معينة فقط أو إصابته فقط لملفات معينة لها أطوال ضمن مجال محدد ويعمل من خلال الأسلوب التالي:
⦁ يتكاثر أو يكرر نفسه في بعض الأحيان فقط (يوم محدد في الأسبوع)
⦁ يحدد نوع الملفات الهدف من خلال شرط معين (مثال: الملفات التي حجمها أقل من 128 kb)
فيروسات الحاسب Polymorphic :
يصيب الفيروس المتعدد الأشكال الملف بنسخة مشفرة ليتم فك تشفيرها من قبل decryption module. ثم يقوم بتغير الكود البرمجي الخاص به في كل عملية تكرار وذلك لتجنب اكتشافه. وآلية تغير الكود تتم من خلال تغير encryption module ومن خلال تغيير ترتيب التعليمات وتوليد أرقام عشوائية خلال التنفيذ وهذا يمنع مضاد الفيروسات من اكتشافه.
الفيروس المتعدد الأشكال يتألف من ثلاث مكونات :
- Encrypted virus code
- Decryptor routine
- Mutation engine
مهمة آلية فك التشفير هي فك تشفير الكود الخاص بالفيروس بينما مهمة محرك التعداد هو توليد آليات فك تشفير بشكل عشوائي في كل مرة يقوم بها الفيروس بإصابة ملف جديد. هذا النوع من فيروسات الحاسب يقوم بتشفير الكود البرمجي الخاص به بالإضافة لتشفير محرك التعداد. وعندما يقوم المستخدم بفتح ملف مصاب بهذا الفيروس تبدأ عملية فك التشفير. ومن ثم يقوم الفيروس بإصابة ملف أخر. في الذاكرة RAM – Random Access Memory يقوم الفيروس بتبديل نفسه وتبديل محرك التعداد ومن ثم يتم توليد آلية جديدة لفك التشفير. وهذا يجعل من عملية اكتشافه أمر صعب بسبب تشفير الكود الخاص بالفيروس. وتغير آلية فك التشفير في كل مرة يتم فيها إصابة ملف جديد.
فيروسات الحاسب المتحولة- Metamorphic Viruses:
الفيروسات المتحولة قادرة على إعادة كتابة نفسها بشكل كامل في كل مرة تصيب فيها ملف تنفيذي وبشكل مشابه للفيروسات متعددة الأشكال. فهي تملك محرك خاص تتمكن من خلاله بخلق كود مختلف لكي يؤدي نفس المهمة ومن خلال ذلك يمكنها تجاوز مضاد الفيروسات. وهي فعالة بشكل أكبر من الفيروسات المتعدد الأشكال.
عملية التحول ممكن أن تكون بسيطة وممكن أن تكون معقدة وذلك بحسب التقنية المستخدمة. فيما يلي بعض الأمثلة على هذه التقنيات:
- Disassembler تفكيك
- Expander توسيع
- Permutator تبديل
- Assembler تجميع
⦁ Overwriting File or Cavity Viruses:
فيروسات الفجوات: بعض البرامج تحوي على مساحات فارغة ضمنها وهذا النوع من الفيروسات قادر على كتابة نفسه على نوع معين من الملفات أو البرامج بدون زيادة حجم هذا الملف وهذا يحمي الفيروس من عملية الاكتشاف. لكن التصميم الجديد لملفات الويندوز يسمى Portable Executable – PE تم من خلاله تحسين تحميل وتسريع البرنامج ولكنه ترك فراغ في الملف عند التنفيذ يمكن لهذا الفيروس استخدام هذا الفراغ ليدخل نفسه ضمن البرنامج.