يعرض هذا الدرس وبشكل موجز، بعض المبادئ الأساسية اللازمة لفهم بنية الفيروس البرمجي وآلية عمله . وسنقوم في الدروس اللاحقة بالتوسع في شرح وتوضيح هذه المبادئ من خلال دراسة نماذج لأنماط مختلفة من الفيروسات .
[c] أنماط الفيروسات[/c]
يمكن تصنيف الفيروسات بعدة طرق، إلا أن أكثر الفيروسات شيوعاً هو تلك التي تهاجم البرامج التطبيقية، إذ يتم حفظ البرامج والمعطيات التي لا تنتمي إلى نظام التشغيل بصيغة ملفات بسيطة، لكل ملف اسم مؤلف من عدة أحرف بالإضافة إلى لاحقة من ثلاثة أحرف، فيمكن مثلاً أن نطلق على ملف ما اسم TRUE.TXT فتمثل اللكمة TRUE اسم الملف. في حين تمثل الأحرف TXT اللاحقة التي نختارها عادة بحيث تعطي بعض المعلومات عن طبيعة الملف، ففي مثالها هذا يمكن أن يكون الملف TRUE.TXT ملفاً نصياً . أما البرامج فتخزن في ملفات تنتهي أسماؤها بلاحقة مثل COM أو EXE أو SCR أو BAT. فتحت نظام التشغيل DOS و Windowsلا يمكن التنفيذ إلا الملفات التي تحمل أسماؤها واحدة من هذه اللاحقات.
وبما أن الفيروس هو برنامج ينتظر التنفيذ لذا عليه أن يلتصق بملف من هذه الأنواع أما إذا التصق بملف من نوع آخر فلا يمكنه أن ينفذ ولا أن يتكاثر، ولكن يمكنه أن يخرب بعض المعلومات .
لكل نوع من الملفات القابلة للتنفيذ صيغة خاصة تختلف عن غيرها يصمم الفيروس بحيث يلتصق بنوع محدد من البرامج، فالفيروسات المصمم لمهاجمة الملفات من النوع COM لا يستطيع مهاجمة الملف من EXE، والعكس أيضاً صحيح .
ويمكن بالطبع تصميم فيروسات تستطيع مهاجمة نوعين أو أكثر من البرامج إلا أن ذلك يتطلب استخدام طرق خاصة لإعادة إنتاج الفيروس بطريقة مختلفة حسب نوع وصيغة الملف الذي يهاجمه .
ثمة مجموعة أولى من الفيروسات مكتوبة لتهاجم ملفات محددة بدلاً من مهاجمة نوع من الملفات، أي أن الفيروسات مثلاً تختبئ في منطقة تخزين المعطيات التابعة للبرنامج بدلاً من الالتصاق بالبرنامج نفسه، ويتطلب ذلك معرفة دقيقة بموقع تخزين معطيات البرنامج الأمر الذي يختلف من برنامج لآخر .
يركز هذا النوع من الفيروسات على مهاجمة الملفات التابعة لنظام التشغيل، مثل الملف Command.com، وبذلك ينتقل الفيروس من حاسب لآخر دون أن يستطيع التكاثر على الحاسب نفسه نظراً لعدم وجود أكثر من نسخة من الملف المحدد .
والنوع الآخر من الفيروسات التي سنتعرف عليها إن شاء الله هو ذلك النوع المعروف باسم فيروسات قطاع التمهيد ( Boot Sector ) وهي فيروسات أكثر تطوراً من النوع السابق فهي تهاجم موقعاً محدداً من القرص يُعرف باسم قطاع التمهيد وهو القطاع الذي يضم المعطيات والبرامج التي يقوم الحاسب بشحنها إلى الذاكرة وتنفيذها فور تشغيله. ويستطيع هذا الفيروس السيطرة على الحاسب بشكل كامل، إذ يستطيع من خلال وجوده في هذه المنطقة أن ينفذ تعليماته قبل أي برنامج آخر وقبل أن يستطيع المستخدم اكتشاف وجوده .
[c] العناصر الوظيفية للفيروس[/c]
يتضمن الفيروس إجرائيتين أساسيتين لا غنى عنهما، أولى هذه الإجرائيان هي إجرائية البحث التي تقوم بتحديد الملفات أو مواقع الذاكرة التي يمكن أن تكون هدفاً للفيروس. تقوم هذه الإجرائية إذاً بتحديد الموقع الذي ستتم عملية نسخ الفيروس إليه كما تحدد إذا كان يجب أن يتم هذا النسخ بسرعة أو ببطء ، وإذا كان بإمكان الفيروس مهاجمة وحدات مختلفة داخل الحاسب أم القرص فقط مثلاً . وإذا كان بإمكانه مهاجمة أي جزء من القرص أم أجزاء محددة فقط .
يمكن أن يكون برنامج البحث هذا أكثر تطوراً إلا أن ذلك يتطلب استخدام المزيد من الذاكرة لتخزين الفيروس، وبالرغم من أن طريقة بحث أكثر كفاءة يمكنها أن تساعد الفيروس على تأدية عمله بشكل أفضل إلا أن ذلك سيؤدي إلى زيادة حجم الفيروس وهذا أمر غير مرغوب فيه من وجهة نظر كاتب الفيروس.
أما الإجرائية الثانية التي يجب أن يتضمنها الفيروس فهي إجرائية النسخ التي تقوم بإعادة نسخ تعليمات الفيروس إلى المنطقة التي تكون إجرائية البحث قد حددتها في وقت سابق، ويجب أن تكون هذه الإجرائية متطورة بما يكفي لأن تؤدي عملها دون أن تصبح عرضة للاكتشاف، وكلما كانت هذه الإجرائية صغيرة كلما كان أداء الفيروس أفضل، ويربط حجم هذه الإجرائية عادة بدرجة تعقيد نظام إعادة النسخ، فالفيروس المصمم لمهاجمة الملفات COM فقط يستخدم إجرائية نسخ أصغر بكثير من تلك التي يستخدمها الفيروس المصمم لمهاجمة ملفات EXE، إذ أن صيغة هذه الأخيرة أكثر تعقيداً من صيغة الملف COM، وبالتالي يحتاج الفيروس لمزيد من العمل لكي يستطيع الالتصاق بالملفات من النوع EXE .
تسمح هاتان الإجرائيتان للفيروس بتنفيذ أهدافه، إلا أنه قد يضاف للفيروس في بعض الأحيان وظيفة أخرى بهدف حمايته، أي إخفائه بحيث يصعب على المستخدم أو برامج البحث عن الفيروسات اكتشاف وجوده، ويمكن تحقيق هذه الوظيفة ضمن إجرائي البحث والنسخ، كما يمكن أن تشكل إجرائية مستقلة بحد ذاتها. يمكن لبرنامج البحث مثلاً أن يقصر عمله على منطقة صغيرة محددة ذلك أن ترك هذا البرنامج يعمل دون قيود قد ينبه المستخدم بطريقة أو بأخرى إلى حدوث فعالية غير عادية ضمن الحاسب . من ناحية أخرى يمكن لبرنامج الإخفاء أن يضبط عمل الفيروس، فعلى سبيل المثال يمكن أن يقوم هذا البرنامج بإطلاق عمل الفيروس في وقت وتاريخ محددين يكون الفيروس قبلها هامداً . أو يطلق عمله عند غياب الضغط على أحد المفاتيح لمدة خمس دقائق مثلاً ، الأمر الذي يعني أن المستخدم غائب عن مراقبة حاسبه .
الدرس الثاني
http://www.arabteam2000.com/vb/showthread....p?threadid=6677
الدرس الثالث
http://www.arabteam2000.com/vb/showthread....p?threadid=6935
------------------------------------------
المرجع : كتاب تشريح الفيروسات ( بتصرف)
اخوكم