دراسة الفيروسات بين الاقتحام والتخريب

عام 0 geek4arab
Spread the love
0
(0)

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

دراسة الفيروسات بين الاقتحام والتخريب

الهدف اولا من هذه الدراسة الصغيرة هي توضيح بعض النقاط العامة حول تكنولوجيا فايروسات الكومبيوتر و برامج التجسس و اقتحام الانظمة و الحمايات التي تتوفر و مجموعة اخرى من المواضيع حول ذلك.

موضوع مكافحة الفيروسات و الاقتحام موضوع كبير جدا في البداية قبل ان نبداء بكتابة المقال اريد ان انبهكم بانني لن استخدم عبارة فايروسات و مضادات للفيروسات و برامج تجسس في المقال لاحقا ، ساحاول قدر الامكان استبدالهم بكلمة “كود تخريبي” للتعبير عن الفيروسات و برامج الاقتحام. السبب في ذلك هو باننا كبشر نعامل الامور التي لها نفس الاسم بصورة جماعية ، اي انه عندما نقول فايروس ، فانه فورا نتخيل كائن على شكل فايروس صغير مختبيئ في الكومبيوتر ، و عندما ياتي لنا شخص و يقول بانه وجد حل متكامل للفايروسات ، سيسهل علينا تصديقة ، لاننا نعامل كل الفيروسات كائنها كائن واحد ذات صفات و خواص معينة. ربما للوهلة الاولى يظهر ذلك شيئ طبيعي و لكن كلمة فايروس لوصف البرامج التخريبية هي كلمة بعيدة كل البعد عن الحقيقة و الواقع ، فبرامج الكومبيوتر التخريبية تتنوع و تتشكل بطريقة تجعل من غير الممكن علينا ان نعممها و نشملها تحت كلمة فايروس فامر الفيروسات يذكرني بمشكلة العام الفين ، حيث كان هناك تقصير من المبرمجين في برمجة الكثير من برامج الكومبيوتر في التسعينات و الثمانينات ، و كانت الشركات تعلم ذلك و لكن التكلفة العالية في ذلك الوقت لاصلاح المشكلة ادت الى تاجيلها و تراكمها حتى وصلت الى ما وصلت اليه عام 1999 عندما اصبح لا مفر الا من اصلاحها.

مشكلة عام الفين ايضا استغلت كثيرا حيث ادعى البعض انه لديه الحل الكامل، و لكن لسهولتها و لفهم الكثيرين بان الموضوع يتعلق بكل برنامج على حدا لم تمر تلك الادعائات على احد بصورة جدية و انتهت فورا.بالطبع نظم الفيروسات و مضاداتها معقدة و لا يفهمها الكثيرين جيدا لذلك سيسهل على البعض تمرير ادعائاتهم المشكلة في كتابة هذه الدارسة هي من اين ابدا ، من اية تاريخ ، فالكود التخريبي موجود منذ ان وجدت نظم الكومبيوتر. حسنا سنبدا من عام 1980 تقريبا اوما حوله من اعوام حيث بدئت اوائل الكومبيوترات الشخصية بالانتشار.

في سنوات الثمانينات بدئت نظم الكومبيوتر المنزلية بالانتشار وقامت بالتغطية على النظم الكبيرة التي كانت تستخدم في الشركات الكبيرة فقط ، نظم الكومبيوتر الاولية هذه كانت عبارة عن وحدة معالجة مركزية و ذاكرة و محرك اقراص مرنة و شاشة عرض و لوحة مفاتيح ايضا. لم تتوفر في تلك الاجهزة اقراص صلبة في بداية الامر و كان تشغيلها سهل للغاية، فاما ان تشغل الجهاز بدون قرص مرن لتظهر لك لغة البيزك فقط بدون نظام تشغيل ، حتى تقوم ببناء البرامج التي يمكنها العمل على قرص واحد فقط. اما ان تضع قرص مرن عليه نسخة اولية من نظام التشغيل حتى يحمل الجهاز النظام من هذا القرص و من ثم تشغل البرامج الاخرى كبرنامج واحد كل مرة. او تضع قرص البرنامج نفسه حيث يكون مصمم لان يشغل نفسه بنفسه هذه هي الثلاثة طرق التي وجدت يومها ، لم تكن هناك شبكات ولا نظم موديم و لا طرق اخرى لربط اجهزة الكومبيوتر.

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

كان امام صانعي الأكواد التخريبية يومها الامكانيات التالية فقط اما ان يقوموا بصناعة برنامج كومبيوتر صغير جدا يستبدل قطاع التشغيل في القرص المرن او القرص الصلب لاحقا و يشغل نفسه قبل تشغيل نظام التشغيل و يخبرك بوجود رسالة خطاء لتدخل قرص تحميل نظام تشغيل اخر حيث سيسجل نفسه عليه و سيعمل الجهاز لديك. بالطبع رسالة الخطاء كانت تظهر احيانا فقط (عشوائيا) و كود تخريبي من هذا النوع كان يسهل تتبعه ثم بعد ذلك لاحقا تطور هذا النوع من البرامج و اصبح قادر على الاستقرار في الذاكرة، نظرا لزيادة حجم الذاكرة و نظرا لتمكن معالجات 80286 من تشغيل اكثر من قطعة كود معا في المعالج ، (المعالج 80186 كان بامكانه ذلك ولكنه سحب من الاسواق بعد فترة بسيطة من اصداره وذلك حسب معلوماتي). اي ان البرنامج يبقى بالذاكرة و كلما تقوك بادخال قرص مرن يسجل نفسه عليه لعلك يوما ما تقوم بتشغيل كومبيوتر اخر من هذا القرص. حجم هذا الكود التخريبي كان لا بد ان لا يزيد عن 256 تعليمة بلغة الالة مع باراميترات التعليمات (المتغيرات المستخدمه منها)، اي انه من الصعب جدا عمل شيئ به، لاحقا تطور ليقسم الى اجزاء اول جزء منه في قطاع بدء التحميل Boot Sector و الاخر في مكان فارغ لا يستخدم من القرص المرن او القرص الصلب (تكنولوجيا FAT القديمة كانت لا تستخدم كل القرص بصورة كاملة).

مكافحة هذا النوع كان سهل جدا و هي منع الجهاز من الكتابة على قطاع بدء التحميل و الذي يسمى ايضا بال Boot Sector لذلك ظهرت اول مضادات الفيروسات التي تبقى في الذاكرة لتراقب اية برنامج يحاول ان يعدل في ال Boot Sector و لاحقا الجهاز نفسه اصبح بامكانه اظهار رسالة تعلمك بذلك.

الطريقة الاخرى التي توفرت في ذلك الوقت هي ان يسجل الكود التخريبي نفسه مع الملفات التنفيذية و ذلك في بدايتها او نهايتها حيث يعمل ذلك الكود بعد انهاء البرنامج او قبل بدء تشغيل البرنامج و في اغلب الاحيان كان يقوم ذلك الكود بالبحث عن ملفات تنفيذية اخرى ليعدلها و يضع نفسه بالداخل.

طريقة الحماية التي توفرت يومها هي ان يراقب مضاد الفيروسات الملفات التنفيذية و يخبرك اذا تغير احدهما برسالة على الشاشة حيث ستفهم ان ثمة شيئ يحدث في جهازك و ان هناك كود تخريبي او فايروس كما يسمى. الطريقة الثالثة التي توفرت هي بتعديل عمل بعض الملفات التنفيذية التي هي جزء من نظام التشغيل ، اي انه اذا لم تشتري نظام تشغيل اصلي فقد تكون هناك احد النسخ التي تستخدمها تحوي على ملفات نظام تشغيل لا تعمل بالطريقة التي يفترض ان تعمل بها لتحذف مثلا كل بياناتك مستقبلا.

مضادات الفيروسات وطريقة عملها في تلك الفترة عموما الأكواد التخريبية حتى لو تمكنت من البقاء في الذاكرة لفترة بسيطة فلم يكن بامكانها السيطرة على الجهاز بالكامل و لا مشاركة المعالج الخاص بالجهاز مع البرامج الموجودة في نفس الوقت لان الجهاز لم يكن مصمم لذلك اصلا. البعض قد ينبهني بان اصدارات Microsoft Windows 1.01, 2.0, 3.0, 3.1 كان بامكانها العمل على معالجات Intel 80286 و تشغيل اكثر من برنامج معا ، ولكن اذا راجعت الى الطريقة التي كانت معتمدة في ذلك الوقت فالبرامج لم تكن تشغل بصورة متزامنة ، و البرامج لم تكن منفصلة بصورة متكاملة عن بعضها ، كما ان الكثير من الحيل استخدمت يومها لبناء Windows 3.1. و مضادات الفيروسات من طرفها كانت تعتمد على مراقبة الجهاز ، بالطبع لا يمكن ان تعمل معا هي و البرامج في نفس الوقت نظرا لان المعالج لم يكن ليسمح بذلك ، لذلك استغلت المضادات حيلة صغيرة جدا و هي تعديل خطوط المقاطعة الخاصة بنظام التشغيل لتمر عبر مضاد الفيروسات اولا. خط المقاطعة Interrupt و منها الرقم 21 المسؤول عن عمليات القرائة و الكتابة هذا الرقم كانت تطلبه البرامج عندما كانت ترغب بالقرائة او الكتابة ، فبدل ان يذهب الى نظام التشغيل كان يذهب لتفعيل كود مضاد الفيروسات في الذاكرة ليفحص الطلب و من ثم يعده الى نظام التشغيل.

من ناحية اخرى كان المضاد يحتوي على توقيعات الأكواد التخريبية المعروفة ، اي انه من الطبيعي ان يكون هناك اكواد تخريبية و لكن نظرا لتعقيد بنائها فمن الطبيعي ان يكون عددها قليل ، لذلك ممكن جمع كل المعلومات حولها و تسجيله ضمن مضاد الأكواد التخريبية.

تطورت بعض مضادات الفيروسات في هذه الحقبة لتقدم حماية متكاملة للجهاز ، عليك بالطبع اولا ان تقوم بانزال نظام التشغيل من اقراص اصلية بعد عمل Format للقرص الصلب او القرص المرن الذي ستستخدمه للتشغيل ، و لكن اعتماد البرامج السابقة كان على القرص الصلب لانه كان موجود يوم وجدت معالجات Intel80286. على العموم انت تقوم بتحميل نظام التشغيل بعد عملية نهيئة الجهاز ثم تقوم لاحقا بتنزيل مضاد الفيروسات و الذي سيحتفظ بنسخة من قطاع التحميل ال Boot Sector في جهازك مباشرة عند تركيبه.

يقوم نظام مضاد الفيروسات بتعديل خطوط المقاطعة المهمة ليراقب الجهاز و يفحص الذاكرة ليعرف ان كانت هناك برامج لا يعلم عنها الان عندما تاتي باية برنامج اخر يرغب بالكتابة او القرائة الى القرص الصلب سيمر عبر مضاد الفيروسات و طالما انه لا يقوم بتعديل ملف تنفيذي او قطاع بدء التحميل فلا يمكنه ان يكون كود تخريبي و اذا حدث تعديل ما على قطاع بدء التحميل فسيقارن مع النسخة التي اخذت سابقا في مضاد الفيروسات .

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

يظهر بان الحماية السابقة مطلقة اليس كذلك ، نعم و لكن نوعا ما. المسألة انه اذا اردت الوصول الى القرص الصلب او المرن فانت ربما اذا كنت مبرمج مبتدء ستستخدم الامر 21 من ارقام خطوط المقاطعة لتطلب مساعدة من نظام التشغيل للوصول الى الملفات. اما ان كنت مبرمج محترف فالامر يختلف قليلا ، فالرقم 6 من ارقام المقاطعة يسمح لك بالوصول الى القرص المرن مباشرة بدون تدخل نظام التشغيل ، اساسا نظام التشغيل يفسر الامر 21 الى عشرات اوامر مقاطعة بالرقم 6 للقرص المرن ، فالارقام من صفر الى 15 لا يمكن لنظام التشغيل التدخل فيها بتاتا. الرقم 14 ايضا سيسمح لك بالوصول الى القرص الصلب مباشرة بدون تدخل نظام التشغيل ايضا. البعض يتسائل و ما الفرق بين الارقام 6 و 14 و 21 ؟ عندما تقرر بناء برنامج يستخدم الرقم 6 فانت تقوم بكل الامور على عاتقق بدون مساعدة،

اي انه يجب ان ترسل امر ليقوم بتدوير القرص المرن و امر لينقل رئس القرائة و الكتابة الى المكان المطلوب ليقوم بالعمل المطلوب نفس الشيئ للرقم 14 و القرص الصلب اما بالرقم 21 فانت تنقل كل السابق الى نظام التشغيل ليقوم هو بالمهمة بدلا عنك و انت ستزوده بالبيانات المطلوبة فقط بالطبع الرقم 21 يمكنه الكتابة على الشاشة ايضا و امور اخرى . الان الحيلة هو ان يكون مصمم الكود التخريبي محترف ليصمم في 10 دقائق كود يمكنه الوصول الى العتاد عبر رقم المقاطعة 14 الى القرص الصلب و ذلك لو وجد في قرص مرن ما و قمت بتشغيل الجهاز انت من هذا القرص المرن لسبب ما. الكود التخريبي سيرى مضاد الفيروسات و سيعدل بداخله ربما (ان كان مصمم لذلك) حتى لا يتمكن المضاد من معرفة وجوده و هكذا انت بحاجة الى تحديث اخر للمضاد. لعبة جميلة للقط و الفئر اليس كذلك ، في هذه اللعبة لا يمكن اطلاقا بناء فايروس (كود تخريبي مثالي لا يمكن ايقافه) و لا يمكن بناء مضاد فيروسات مثالي يقدم حماية متكاملة ، المسئلة كلها في بنية نظام الكومبيوتر نفسه !!!! اي ان نظام الكومبيوتر و المعالج Intel80286 و ما قبله و اللوحة الام ايضا و العتاد بنيت بطريقة اولية (هكذا تظهر في عصرنا هذا) حيث ان تلك الطريقة لم تقدم مميزات الى اية طرف من الاطراف السابقة الامر اختلف قليلا في المعالج Intel 80386 او كما سمي لاحقا i386 و التغير الجذري في تكنولوجيا صناعة البرمجيات ، فحلقات الحماية ، و الذاكرة الافتراضية ، و تكنولوجيا عنونة بطول 32 بت للذاكرة ، و لعبة القط و الفئر تستمر بمن سيسيطر على الحلقة صفر من حلقات الحماية في المعالج الجديد. قبل ان ادخل في التفاصيل سارجع قليلا الى الوراء حيث صممت شركة انتل اول معالج للاجهزة المنزلية عن طريق الخطاء نتيجة لتصميمها الة حاسبة لشركة يابانية في العام 1970 في الفترة السابقة لتكنولوجيا الكومبيوتر قبل المعالج 386 كانت شركات الكومبيوتر العملاقة هي التي تسيطر على اجهزة الكومبيوتر و صناعتها و بالطبع توفرت لها من مدة طويلة معظم مميزات المعالج 386 و اكثر من ذلك ، و لكن ارتفاع اسعارها لم يجعل الا الشركات الكبيرة تشتري تلك الاجهزة. ثم ان السيطرة بدئت تزول رويدا رويدا من الشركات الكبيرة مع انتشار الاجهزة العادية ، اي انه اصبح بامكان الشركات الصغيرة شراء اجهزة عادية لتقوم ببعض المهام المطلوبة ، وبعد كثرة انتشار الاجهزة الصغيرة زاد مبيعات شركات مثل Intel و AMD ، و زيادة في المبيعات للاجهزة يعني عائد اكبر ، و بوجود منافسة يعني اسثمار مبالغ اكبر في بناء معالجات افضل.

من ناحية اخرى نظم التشغيل زادت مبيعاتها و هذا يعني دخل اكبر لابحاث لشركات مثل Microsoft و IBM و الكثير من الشركات الاخرى التي كانت تصمم نظام تشغيل DOS يومها (DOS لم يكن يصمم من مايكروسوفت فقط ، انا كان لدي 3 نسخ مختلفة منه). الطريقة الصحيحة التي قامت بها مايكروسوفت بابحاثها حول DOS اوصلتها الى ما هي عليه اليوم و لكن لذلك قصه اخرى. لنرجع الى السابق ، طوال سنوات و شركات تصنيع الاجهزة الكبيرة تمزح عندما يذكر الكومبيوتر المنزلي على انه لعبة اطفال رائعة ، و لكن بنزول العالج i386 اختلفت الامور كليا. i386 صدر اول مرة في عام 1985 و لكن نظرا لتكلفته العالية و لعدم الحاجة من كل ما يوفره من امكانيات فلم ينتشر كثيرا ذلك الوقت ، مثل معالج Intel Itanium اليوم ربما (و لكن اليوم الظروف مختلفة قليلا) بداخل المعالج الجديد هناك امور مهمة لا يمكن اهمالها، فلاول مرة تمكن ذلك المعالج من توفير طريقة ما لتشغيل اكثر من برنامج في نفس الوقت ، بالطبع التشغيل ليس في نفس الوقت بصورة كاملة و لن تكون يوما في تكنولوجيا الكومبويتر و لكن الفكرة اصبحت ممكنة و ذلك باستخدام حيلة بسيطة. الحيلة هي ان يبرمج المعالج من قبل نظام التشغيل على تنفيذ أكثر من تعليمة من كل برنامج على حدا، ليظهر للمستخدم النهائي بان البرامج تقوم بالتنفيذ معا. هذه الطريقة تستخدم حتى في الاجهزة العملاقة و باستخدامها في الاجهزة العادية اصبح بالمناسبة امكانية نقل نظم تشغيل مثل Unix من الاجهزة العملاقة الى الاجهزة العادية و ذلك حصل لاحقا بظهور SCO Unix و Linux و غيرها. و تنفيذ اكثر من برنامج معا يعني ستكون هناك حاجة الى اضافة نوع من انواع التنسيق بين البرامج، هذا التنسيق سمي لاحقا بحلقات الحماية ال 32. وهذه ال 32 حلقة الوهمية تمكن المعالج بتنفيذ البرامج بصورة منفصلة عن بعضهم البعض بحيث لا تتعدى تلك البرامج على بعضها البعض في الذاكرة لحظة التنفيذ. الذاكرة الوهمية ظهرت ايضا و لاحقا سميت الذاكرة الافتراضية بحث يسمح تقسيم الذاكرة الى قطاعات من 64 بت بصورة اكبر من الذاكرة الموجودة بحيث يستخدم جزء من القرص الصلب كذاكرة ارخص من الذاكرة العادية.

الكثير من الامور الاخرى ظهرت و المشكلة هنا ان المعالج ظهر عام 1985 و اول نظام تشغيل من مايكروسوفت تمكن فعليا من الاستفادة من كل ما قدمه ظهر في عام 1993 و 1994 و هو Microsoft Windows NT 3.5 و لاحقا ظهر ايضا نظام مبني بطريقة اخرى و هو Microsoft Windows 95 و الذي ايضا يستفيد كثيرا من الامكانيات الجديدة. بالطبع IBM اصدرت عام 1992 او 1993 ، اصدرت IBM OS/2 و هو نظام يستفيد بصورة كاملة من مميزات المعالج و اصدرت نظم اخرىعلى ما اعتقد سمي Next Step او شيئ مشابه ، كما ظهرت نظم من Unix. المسئلة كلها بانه حتى ظهور تلك النظم كانت هناك فترة 10 اعوام تقريبا كان يستخدم بها Windows و DOS و لا يستفيدان من كل مميزات الجهاز ، 10 اعوام استغلت من الفيروسات ايضا. الأكواد التخريبية تطورت ، بالطبع كان لا يزال يمكننا ان نسميها فايروسات و لكنها تطورت اكثر من المعتاد حيث بدء الاسم لا ينطبق عليها بالكامل.و رجع الموضوع النظري الى الجامعات و هي امكانية بناء نظام حماية متكامل بالاعتماد على الحلقات الوهمية من الحماية بحيث يستقر النظام في الحلقة صفر ويقوم بمنع اية فايروس من العمل في الجهاز. و من ناحية اخرى هل ممكن بناء فايروس ليستقر في تلك الحلقة و يمنع المضاد من اكتشافه ؟

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

لذلك في تلك السنوات تطورت الفيروسات و لكنها لم تصل الى الحد الاقصى المطلوب من التطور ، اي ان الامر النظري بالوصول الى برنامج حماية يحمي جهازك كليا كما ا ن الفيروسات جميعها التي تحاول ان تسيطر على الجهاز اصبحت قريبة جدا من الواقع و لكنها لم تتحقق و نفس الشيئ بالنسبة للاكواد التخريبية. و مع ذلك استغلت الأكواد التخريبية حلقات الحماية لاحقا لتستقر في الذاكرة عبر ال Boot Sector ، حتى ان بعضها اصبح ذكي جدا حيث يستقر في الذاكرة بعد تعديل ال Boot Sector و يحتفظ بنسخة اصلية من ال Boot Sector القديم و عندما يطلب مضاد الفيروسات ال Boot Sector ليجري مقارنة فيرسل له القطاع الاصلي من الفايروس و تمر الحيلة. بالطبع مضادات الفيروسات تطورت حيث بدئت تفشل في اكتشاف الفايروس في الذاكرة و لكنها على الاقل حاولت اكتشافه عن طريق اثار عمله. اي ان الحاجة لمضاد الفيروسات بان يعرف تفاصيل كثيرة عن نظام التشغيل نفسه و عن الفيروسات نفسها كانت شديدة جدا. لذلك اليوم عندما تقوم بتحديث نظام تشغيل ترى بان كل المضادات القديمة لا تعمل معه و ان عملت لا تكتشف الأكواد التخريبية حتى البسيط منها ،

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

فمضاد الفيروسات يفترض تركيبه بعد نظام التشغيل الاصلي فورا و ليقوم بدوره باستخدام قاعدة بيانات مشفرة ليحفظ بها تفاصيل عن كل الملفات التنفيذية و قطاع بدء التحميل و الذاكرة، اضافة لمراقبة الجهاز و استبدال خطوط المقاطعة و ما الى ذلك. و تعقد الامر مع Windows 3.11 عندما استخدم الذاكرة الافتراضية يومها حيث كان على الشركات بدورها ان تزيد من تطوير نظام الحماية حتى لا يتضارب مع الذاكرة الافتراضية التي كانت في القرص الصلب. الأكواد التخريبية استغلت الكثير من الثغرات الجديدة في حلقات الحماية و تعليمات المعالج و استخدمت النمط المحمي في احيان قليلة و استخدمت بعض القصور في DOS لتختبئ في الذاكرة كبرنامج محمل في الذاكرة و ليس ضمن حلقات الحماية و استغلت ايضا الاثنين معا في اوقات قليلة جدا. واكثر من ذلك ، مع Windows اصبح بالامكان ارفاق نسخة تنفيذية من الكود التخريبي في ملفات ال INI التي تستخدم لتشغيل البرامج لحظة تشغيل Windows اي ان الكود التخريبي اصبح يعتمد على مراحل عدوى متكررة ليبقى بالداخل ، على سبيل المثال قد يصل للجهاز عبر قطاع بدء التحميل و يستخدم ملف system.ini و win.ini للوصول الى هدفه بحيث يرجع قطاع بدء التحميل كما كان قبل ان يقوم المضاد باكتشافة. وبهذا نعرف بان لكل كود تخريبي اصبحت هناك طريقة عمل مختلفة ، و هنا ياتي الوقت لان نزيل كلمة فايروس عنه ليصبح كود تخريبي ، فهو يختلف كثيرا عن بعضه البعض.

و يختلف ايضا عن البيئة التي يعمل بها فقد انتشرت انترنت في تلك الفترة و انتشر لاحقا نوع جديد من الأكواد التخريبية و لكن تكنولوجيا الكومبيوتر نفسها تعقدت بشكل رهيب و الأكواد التخريبية تنوعت بشكل رهيب ايضا. اريد ان اجمل هنا بان تركيبة المعالج i386 و المعالجات اللحقة و مع انها بارعة جدا ، الا انها لم تتمكن من ان تخفي كود بالكامل عن الاخر كما كان مطلوب، فذلك يمكن ان يحدث طبعا و لكن الاثار من الصعب محوها. اي ان لعبة القط و الفئر لم تنتهي ، فالأكواد التخريبية لن تصل الى المثالية ولا كل الابحاث حول كل المضادات لم تصل الى الحد الامثل الذي لا يمكن اختراقة. المراقبة و الحاجة الى التحديث لم تزول اطلاقا فهي الطريقة المثلى للمكافحة و لكن هل بقي الامر كذلك مع معالجات بنتيوم ؟ معالجات بنتيوم غيرت الامور قليلا ولكن لن اتطرق اليها. طوال الفترة من عام 1980 الى عام 1993 و 1994 ظهرت العديد من الأكواد التخريبية و الكثير من مضادات الفيروسات . كما ان اعدادها بعشرات الالاف و لكن ذلك لم يعني انه في نهاية عام 1994 مثلا كانت كلها فعالة و قادرة على عدوة كل الاجهزة. الكثير منها فشل في عمله بالمناسبة نعم فشل ، تحديث المعدات و انظمة التشغيل يغير قليلا في بيئة الكومبيوتر ،

بالطبع انت بحاجة الى ان تحدث مضاد لفيروسات و بالطبع انت بحاجة الى ان تحصل على فايروسات جديدة قادرة على العمل على النظام الجديد. الأكواد التخريبية عندما صممت في الثمانينات صمم بعضها ليتعامل مع القرص الصلب او المرن بطريقة مباشرة، الاقراص يومها كانت تعمل بتكنولوجيا Fat 12 على ما اظن ، او ربما ما قبل FAT 12 ، كما ان انظمة التشغيل كانت تتطور باستمرار و تدير الجهاز بصورة افضل. تخيل انه صمم كود تخريبي في عام 85 ليعمل مع DOS 2.0 او DOS 3.0 فهو يعرف بان DOS يستقر في الجزء الفلاني في الذاكرة و يقسم القرص المرن بهذه الطريقة و القرص الصلب بهذه الطريقة و ما الى ذلك. و لكن DOS 2.0 يختلف كثيرا عن DOS 3.0 ، اما DOS 4.0 و كل الارقام بعده لا مجال لمقارنتها حتى DOS 5 فانه يقسم القرص الصلب بطريقة تختلف عن DOS 6 و عن DOS 7 الذي يدير Windows 9x في الكثير من الاحيان الفيروسات فشلت في العمل على التحديثات الجديدة ، و عندما يفشل فايروس فهو بالطبع لا يصدر لك رسالة خطاء (رسالة وهمية مثل مثلا “الفايروس فشل في التركيب في الذاكرة، برجاء ارجاع دوس القديم” ) نظرا لانها تتعامل مع المعدات بصورة مباشرة فهي تعمل على عدد محدود من المعدات فقط ، بكلمات اخرى قد لا يعمل كود تخريبي صمم لمعالج i386 على جهاز به معالج 286 ! و قد لا تعمل كل الفيروسات القديمة المصممة لمعالج 286 في النمط الغير محمي في معالج 486 مع Windows 95 المسئلة في عدم معرفة البعض ذلك هو عدم اصدار تلك الأكواد التخريبية رسائل خطاء ، و في معظم الاحيان تتوقف عن الانتشار و العمل بدون ان تعلم. نفس المسئلة حدثت مع الكثير من الفيروسات المخصصة لمهاجمة الاقراص الصلبة، في التسعينات كانت شبكات Novell في بدايتها ، طريقة عمل تلك الشبكات هي ايهامك بان القرص الصلب الخاص بالجهاز المركزي هو القرص الصلب الخاص بك، و ان قرر فايروس مهاجمته مباشرة بدون خط المقاطعة 21 فلن يجده او سينهار الفايروس ليكمل الجهاز عمله. و نفس الشيئ بالنسبة لمضاد الفيروسات فهو يجب ان يتشارك مع ملفات Novell في مراقبة خط المقاطعة 21 و الذي يوصلك للاقراص الصلبة الاضافية عبر الشبكة مسئلة معقدة اي انه يجب ان تحدث مضاد الفيروس نفسه حتى لا يتضارب مع نظام التشغيل و الشبكات معا.

اي انه انت دائما بحاجة الى تحديث مضاد الفيروس كلما تغيرت التكنولوجيا قليلا حتى يكمل عمله ، لان التكنولوجيا تتغير في الداخل اكثر من الخارج بكثير و اشياء تبدوا للوهلة الاولى ممكنة قد لا تكون كذلك. تكنولوجيا ضغط الاقراص ايضا اثرت على عمل الفيروسات التي تحاول الوصول المباشر الى العتاد و جعلتها تنهار ، لان القرص الصلب المضغوط لا يستخدم نظام ملفات FAT يستخدم ملف مضغوط و ايهام لاستخدم FAT. اقصد بالضغط السابق الضغط الذي توفر في DOS 6.0 و ما بعده في Windows. و من هذا المنطلق انا استغرب جدا عندما ياتي موقع على انترنت او شخص او اية موضوع عن حماية متكاملة بدون تحديث فهذا لايمكن ابدا . بالطبع الموضوع لم ينتهي الى هنا بعد ، فهناك الكثيرر عام 1994 ففي هذه المدة اصدرت مايكروسوفت احد افضل نظم التشغيل التي صنعتها يوما ما في ذلك الوقت و هو Microsoft Windows NT 3.5 و NT في ذلك الوقت كانت اختصار ل New Technology و هي بالفعل كانة تكنولوجيا جديدة كليا ، غيرت مفهوم بناء الفيروسات و لكن قبل ذلك ، لماذا لم يسمع الكثيرون عنه ، السبب في ذلك هي قدرات الجهاز الذي يتطلبه ، مايكروسوفت قررت في تلك الايام بناء نظام تشغيل متكامل بشكل صحيح و هذا النظام احتاج الى ما لا يقل عن 24 ميغا رام ليعمل و يفضل وجود 32 هذا في وقت كانت تكلفة كل ميجا رام بين 100 دولار الى 50 دولار للميجا الواحد ، اي بكلمات اخرى الذاكرة مكلفة للغاية ، و سيكلفك جهاز يشغل النظام السابق ثروة لذلك النظام السابق لم يستغل الا في الشركات الكبيرة و في عام 1995 اصدرت مايكروسوفت نظامها الشهير Windows 95 و الذي يحمل القليل جدا من تكنولوجيا NT 3.51 لنرجع الى NT ، عندما نزل قامت مايكروسوفت بتصميمه باخذ افضل صانعي نظم التشغيل في الشركات العملاقة مثل IBM و HP عندها في محاولة لبنائه و وفرت لهم كل ما رغبوا به.

اول الامور التي قرروا اصلاحها هو نظام الملفات و الذي يسهل العمل كثيرا على الفيروسات ، فاستبدلوه بنظام متطور سمي NTFS هذا النظام يسمح بوضع صلاحيات وصول تمنع الأكواد التخريبية بالوصول الى الملفات بدون اذن. ثاني شيئ تم ايقافه هو الوصول الى الحلقة صفر ، فاما ان تكون نواة نظام التشغيل في الحلقة صفر او ان لا يعمل الجهاز نهائيا و بذلك انتهت امكانية ان تحمل الفيروسات نفسها في الذاكرة قبل نظام التشغيل. ثالث شيئ هوال Boot Sector مختلف مع Boot Manager فاما ان يعمل هو او لن يعمل الجهاز نهائيا. الهدف من الامور السابقة هو ان حدثت عدوى ستعرف ذلك فورا ، و المشاكل الخاصة بقطاع بدء التحميل التي قد يسببها كود تخريبي ما امكن اصلاحها بسهولة من قرص الليزر.

اي انه بضربة واحدة ميكروسوفت وفرت حماية متكاملة على مستوى الكود الذي يجب ان يعمل قبل نظام التشغيل و هكذا نظام التشغيل اصبح المسيطر الاول و الاخير. حماية مطلقة اليس كذلك ، بصراحة هي أنهت عقد كامل من الفيروسات و لكن صانعي الفيروسات وجدوا طرق اضافية ، ومن مطلق ان الحماية الكاملة غير ممكنة. ومن مميزات ال NT 3.5 و NT 3.51 قام ايضا بمنع استخدام خطوط المقاطعة ما بين الخط 0 الى الخط 15 بدون اذنه، و هذا ممكن في المعالجات i386 و هكذا انتهى امر كل الأكواد التخريبية التي تحاول الوصل المباشر الى الملفات. الامر لم ينتهي الى هنا، فنظام الملفات الجديد NTFS بامكانه مراقبة كل التغيرات التي تحدث في اية ملف و تسجيلها في سجل الحركات للنظام. انقلاب متكامل في عالم الكومبيوتر ، و لذلك احتاجت الأكواد التخريبية الى وقت طويل لتتمكن من مهاجمة NT 4 لاحقا ، اما مضادات الفيروسات فلم تهتم به كثيرا نظرا للمناعة التي يقدمها Microsoft Windows NT 3.5, NT 3.51, NT 4 ولكن الانظمة السابقة لم تستخدما على نطاق واسع فورا ، فالذاكرة لم يهبط سعرها فورا ، اضافة الى مشكلة اخرى عويصة جدا و هي ان معظم البرامج في ذلك الوقت و خصوصا الالعاب تصل الى شاشة الكومبيوتر عبر خط المقاطعة الخاص بها و ليس عبر نظام التشغيل و كما هو معروف فهذا غير ممكن في NT لذلك فهي لم تعمل عليه و استمر العمل على 3.11 Windows اما في نهاية عام 1995 قامت Microsoft باصدار نسخة جديدة من Windows و هي Microsoft Windows 95 ، تحمل القليل من تكنولوجيا NT و حل وسط مؤقت لحتى ان يصل الوقت لتتحول البرمجيات الى NT و اتت لاحقا بنسخة من NT و هي الرابعة بنفس شاشات Windows 95, 98 و حدثت لاحقا NT الى النسخة الخامسة و التي اصبحت Windows 2000 و Microsoft Windows XP بالمناسبة كل النسخ الجديدة هي النسخة 5.1 من Windows NT.نظام التشغيل Windows 95 قدم حماية اولية ضد فايروسات قطاع بدء التشغيل ، فهو سيخبرك في بداية تشغيله بان هناك برنامج يعمل في الحلقة صفر ، كيف يحدث ذلك لا اعلم بالضبط و لكن هناك على ما اعتقد حيلة لمتابعة اثار وجود فايروس في الحلقة صفر لحظة بدء التشغيل.

على العموم طوال الفترة التي عاش فيها Microsoft Windows 95, 98, ME تطورت الاكود التخريبية من جديد و تطورت مضادات الفيروسات و بقى NT بعيدا عن الاثنين لمدة طويلة. وظهرت اكواد فايروس جديدة ككود تخريبي مدمج ببرامج و حافظات شاشات و امور اخرى من هذا النوع تقوم بتحميلها من انترنت ، حيث يقوم هذا الكود التخريبي بتعديل الملف ini ليعمل عند تشغيل الجهاز او انه يستغل تشغيله التلقائي كحافظة شاشة لانه اصبح جزء من النظام. الكود السابق طريقة توزيعه هو درجة شهرته ، اي اذا كانة حافظة الشاشة مشهورة و جميلة و موجود في مكان عام مثل download.com او windows95.com و هي مواقع عامة، فالكل سيقوم بتحميله من هناك و بعد اشهر عندما يصبح هناك الكثير من النسخ موزعة سيعمل و يخرب الجهاز. و الطريقة الاضافية و هي ما يسمى بالماكرو ،او الكود البرمجي البسيط ، هل تذكرون رسالة الحب التي دمرت الكثير. مايكروسوفت بحسن نية و لزيادة قوة نظام تشغيلها وفرت بيئة برمجية ضمن تطبيقات ال Office التي توزعها و لاحقا دمجت ضمن نظام التشغيل ، اي بكلمات اخرى ان صنعت ملف نص في جهازك و سميته test.vb و كتبت به “msgbox “hahaha و حفظته و نقرت مرتين عليه فستجده يعمل.

اي ان الملفات التنفيذية لم تصبح فقط تحمل الامتداد EXE بل اصبح هناك ال DLL و ال vb و ال js و لاحقا ال جافا بملفات class اضافة الى ملفات ال bat و ال cmd التي تحتوي على اوامر مركبة ، اضافة الى ملفات ال asp لاحقا و التي تعمل بداخل ال web server و مجموعة ملفات. كل ذلك كان كنز للاكواد التخريبية، و مصيبة للشركات المصنعة للمضادات ، فأصبح بحاجة الى بناء انواع جديدة من المضادات و صرف الملايين كرواتب لمبرمجين لبينوا اضافات الى كل اجزاء نظام التشغيل ، فالمضاد لم يصبح فقط نظام مخصص لمراقبة الملفات بل اصبح عليه القيام باكثر من ذلك. اي ان ياتي شخص و يقول انا صنعت برنامج ضد كل انواع الفيروسات مسألة أصبحت مستحيلة منذ وقت بعيد و بعد كل هذه التطورات الامر لم ينتهي الى هنا ، فنظام التشغيل Windows 9x لم يسيطر على كل خطوط المقاطعة، سيطر على الخط 14 و الذي منع ظهور فايروسات ال boot sector نوعا ما و لكن ليس كليا. ساعود لشرح مفصل للسابق و لكني احب ان اشرح اين اتجه Windows حتى عندما ارجع و افصل السابق يكون اوضح قليلا في عام 1999 حذرت مايكروسوفت جميع الشركات التي لم تعدل برامجها للعمل ضمن NT 4 بانها ستخسر امكانية ان تعمل تلك البرامج ضمن Microsoft Windows القادم ، البعض من هذه الشركات حدث برامجه ،

بعض مصنعي الالعاب و الذين كانوا العقبة الاساسية حولوا العابهم لتعمل بتكنولوجيا DirectX و هكذا انتهت مشاكل كبيرة و الكثير من الشركات لم تقم بشيئ في هذا المجال. عام الفين ظهر نظام Microsoft Windows 2000 و الذي قرر ينهي مدة طويلة من Windows 9x مع حلول متكاملة ضد الكثير من الفيروسات مبنية بداخله مع عدم تمكن الكثير من الشركات من تحديث برامجها اضطرت مايكروسوفت لتحديث Windows 98 مرة اخرى و وفرت Windows ME. و التحذير في نهاية عام 2001 هذه المرة كان نهائي ، اوقفت مايكروسوفت تصنيع Window 9x كليا بايقاف مشروع “نبتون” الذي كان يفترض ان كون النسخة 2002 من Windows ME و عممت Windows XP المبني بالكامل على تكنولوجيا NT. و قررت حل الكثير من المشاكل من طرفها بتوفير تكنولوجيا المحاكاة للنظم الاقدم و انتهت حقبة كبيرة من الفيروسات ،

حقبة كبيرة انتهت و لكن حقبة جديدة رائعة بدئت لفيروسات اكبر قوة و اكثر تدميرا عام 2002 ظهرت تكنولوجيا Microsoft .NET و التي تعتبر بيئة اخرى بالكامل بحاجة الى مضاد فيروسات خاص بها و فايروسات خاصة بها ايضا اكثر الاجهزة التي تضررت من الفيروسات في الفترة ما بين 95 و 2002 كانت تلك التي تعمل بواسطة تكنولوجيا Microsoft Windows 9x و الاقل تضررا كانت تلك التي تعمل بتكنولوجيا Microsoft Windows NT 4, 2000. و لكن اكثر الانظمة التي تضررت من مهاجمتها عبر انترنت هي تلك العاملة بواسطة Microsoft Windows NT بالمناسبة فحقبة من الأكواد التخريبية انتهت و لكن حقبة اخرى كبيرة بدئت. الفيروسات في Windows 9x تنوعت كثيرا و استغلت الامور التالية – قطاع بدء التحميل في القرص المرن و في احيان قليلة جدا في القرص الصلب ، اذا كان مصمما بارع جدا. – الالتحاق بالملفات التنفيذية ، مع ان ذلك خف كثيرا مع تطور تركيبة تلك الملفات – البقاء في الذاكرة الخاصة ب Windows عبر احدى الطرق السابقة او عبر التشغيل الالي من خلال ال Windows Registry او من خلال ملفات ال ini او عبر حافظ الشاشة ، او عبر برنامج غريب انزل من انترنت – الالتحاق بملفات Microsoft Office نظرا لتوفر لغة برمجة بداخله و نظرا لانتشار VBA و هو اختصار لفيجوال بيزك للتطبيقات الى اكثر من مائة برنامج اخر و نظام التشغيل نفسه ، فاصبحت قادرة على ان تعدي ملفات من انواع كثيرة ، حتى ملفات ال Autocad الجديدة و هي خرائط لم تعد محمية – الالتحاق ضمن ملفات الصوت MP3 !!! ، MP3 قادرة على حمل كود بداخلها و لكن نظرا لانه لا تتوفر لدي معلومات مفصلة فلا يمكنني شرح هذه النقطه. – الانتشار عبر البريد الالكتروني نفسه باستغلال لغات البرمجة المدمجة بداخله. طرق اخرى كابوس بالنسبة لشركات مكافحة الفيروسات أليس كذلك،

فالفيروس لم يعد بحاجة الى ان يعمل في بيئة نظام التشغيل، بل اصبح بحاجة الى ان يعمل ضمن الملفات فقط و بيئة البرامج التي تشغلها. اصبحت هناك فايروسات تعمل في Microsoft Outlook فقط او Microsoft Excel او غيرها ، و اصبحت على شركة مضادات الفيروسات توفير مضاد يتدخل في عمل كل هذه البرامج حتى يقدم حماية اكبر، ملايين الدولارات صرفت و من الصعب توفير حماية مطلقة. ابسط الامور هي ان تقوم بانزال حافظ شاشة من انترنت ليدمر جهازك لاحقا ، او بطاقة معايدة جميلة تحفظ في جهازك لترسلها الى الكثيرين و تدمر الاجهزة ايضا ، اي ان الأكواد التخريبية حاولت استغلال المستخدم باكثر الطرق الممكنة لمساعدتها في الانتشار.

اغرب فايروس رئيته في حياتي و سجله التاريخ كان العام السابق ، حتى انه لم يكن فايروس بل رسالة عادية ، نص عادي ، بدون كود ، نص و عشر خطوط حمراء تحت كلمة نص. كيف يعمل اذن ؟ بسيطة ، رسالة جميلة ارسلها شخص الى اصدقائه و الى مجموعة كبيرة من العناوين (هذا الشخص يعتبر الموزع الاول) الرسالة تقول بانه وصلته من شركةMcaFeea و هو عمل لها تحويل لهم ، و الرسالة تحذر من فايروس على شكل ملف DLL موجود في الجهاز و يجب حذفه ، و من ثم اذا امكن ارسال هذه الرسالة الى اكبر عدد ممكن من الاصدقاء وقام الكل بحذف ذلك الملف و ارسل تلك الرسالة الى الاخرين ، و نظرا لحسن النية كان المنفذ و الموزع هو المستخدم نفسه و الكود التخريبي رسالة نص عادية السؤال هنا كيف يمكن بناء مضاد فيروسات يحميك من ذلك ، اعتقد انه من المستحيل ، يعني من المفترض للحماية من مثل هذا النوع من الفيروسات على الاقل ان يقوم مضاد الفيروسات بقراءة بريدك و يفهمه!

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

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

في النسخ السابقة من Microsoft Windows 9x و عندما اكتب 9x انا اقصد النسخ التالية Microsoft Windows 95 Microsoft Windows 95 SE Microsoft Windows 98 Microsoft Windows 98 SE Microsoft Windows ME Microsoft Windows Neptune Beta و الذي توقف لاحقا و لم يصدر و استبدل ب XP في تلك النسخ بامكان البرامج ان تقوم بالاختفاء في الذاكرة و هذا بسبب عدم الادارة المطلقة للذاكرة من قبل نظام التشغيل. بطبيعة الحال انت ستقوم بالضغط على الازرار CTRL + ALT + DEL لترى قائمة بالبرامج الفعالة و لكن بامكان الأكواد التخريبية التي تستهدف النظام الاختباء من هذه القائمة بسهولة ، بالطبع الاكود التخريبية التي تعمل بداخل البرامج لا يمكن ان تظهر بتلك القائمة لانها تعمل كجزء من البرنامج ، اقصد بالتي تعمل بداخل البرامج مثل التي تعمل بداخل Word و Excel و غيرها و ليس تلك التي تتحد بالكود فقط. و لكن في Microsoft Windows NT 3.5, 3.51, 4, 2000, XP , .net في تلك النسخ من Windows لا يمكن اخفاء برنامج او كود تخريبي فعال في الذاكرة الخاصة بالنظام باية شكل من الاشكال. حيث انه بتشغيل ال Task Manager سترى تفاصيل كل القطع التي في الذاكرة و اسمائها و ما الذي تقوم به بالتفصيل و بامكانك منعها من العمل لو رغبت ، اي ان الاختفاء غير ممكن في الذاكرة نهائيا. ساحاول ان اجمل النص السابق بانه لو وجد كود تخريبي في جهازك فهذا الكود غير ضار الى ان يفعل بطريقة ما ، لحظة تفعيله يصبح ضار و انما ان لم يفعل او لم تتوفر له فرصة الحصول على الحياة بالانتقال الى الذاكرة الرئيسية عندما يفعل فلن يكون خطير. و من ناحية اخرى لا يوجد شيئ اسمه فايروس حميد و فايروس ضار و فايروس من نوع اخر ، هناك كود تخريبي له هدف ، اذا تم تفعيله فسينفذ هدفه ، ربما يكون هدفه مسح كل ملفاتك و ربما فقط اظهار رسالة تسلم عليك و ربما لا تراه يقوم بشيئ نهائيا و هدفه الانتشار فقط الامر يرجع الى المصمم نفسه و ماذا كتب به و لكن في كل الاحيان فانا شخصيا ساسميه كود تخريبي نظرا لانه يقوم بالتحرك في جهازي و محاولة القيام بشيئ بدون اذني ، حتى لو كان يحاول القيام بشيئ جيد ، فبدون اذني او معرفتي يعتبر عمل تخريبي.

لنتعرف أكثر على أنواع الأكواد التخريبية حسب نظام التشغيل المستخدم النسخ القديمة من Microsoft DOS و IBM DOS و غيرها من النظم المتوافقة مع مواصفات DOS. و نظام التشغيل windows وهي مقسمة كالأتي

1 – كود تخريبي يصيب قطاع بدء التشغيل BOOT Sector – هدفه :الوصول الى قطاع بدء تشغيل الجهاز ليعمل قبل ان يتم تشغيل الجهاز ،

– طرق العدوى :هي بالوصول المباشر الى قطاع بدء التحميل او بالوصول عبر اوامر DOS الداخلية (خطوط المقاطعة بعد الرقم 16 و ما فوق).

-الوظيفة : الكود التخريبي يحاول تشغيل جزء اخر مخفي منه في مكان ما في القرص الصلب على شكل ملف ربما، و من ثم ينقل التحكم الى نظام التشغيل. الهدف في تقسيم الكود التخريبي الى جزئين هو نظرا لوجود حد اقصى من كتابة 256 امر بلغة الالة في قطاع التحميل فقط. و الكود التخريبي يحاول البقاء في الذاكرة ليسجل نفسه في الاقراص المرنة لحظة وضعها في الجهاز و محاولة القرائة او الكتابة اليها

– وظيفة المضاد : في اغلب الأحيان يقوم بالاحتفاظ بنسخة من قطاع التحميل و يقارنها مع نسخة احتياطية احتفظ بها المضاد. كما ان المضاد يحاول فحص الذاكرة و اكتشاف الكود التخريبي فيها بنائا على قاعدة بيانات مسبقة وبهذا فان الكود التخريبي و المضاد لا يمكنهما منع بعضهما كليا من الوجود في تلك الفترة نظرا لعدم توفير امكانية تحكم كامل من المعالجات القديمة و من المشاكل التي كانت تحدث هي ان معظم انواع الكود التخريبي تعمل مع نسخة معينة من DOS و لحظة استبدالها تفشل في العمل نظرا لتغير طريقة تركيبة نظام الملفات و قطاع التحميل.

2- كود تخريبي يتحد بالملفات التنفيذية هدفه الالتصاق في الملف التنفيذي بانواعه المختلفة من com او exe ،

-هدفه : يسعى دائما بالوصول الى command.com و الذي يعبر عن نواة نظام التشغيل DOS.

-طريقة الانتشار : متعددة، فإما ان يصيب command.com و ينتقل عن طريقه الى الذاكرة و يبقى هناك ليضيف نفسه الى كل الملفات التنفيذية في كل مكان حيث عند نقل ملف تنفيذي لاحقا الى جهاز اخر و تشغيله في جهاز اخر ينتقل الى command.com في ذلك الجهاز ليكمل عملية العدوى.

– الوظيفه . البعض منه لا يبقى في الذاكرة ليصعب اكتشافه و ينتشر لحظة تنفيذ الملف التنفيذي حيث ينفذ قبله و يقوم بالانتشار في ملف تنفيذي اخر و من ثم يزيل نفسه من الذاكرة و يرجع التنفيذ الى الملف التنفيذي. الوصول الى الملفات يتم في معظم الاحيان عبر نظام التشغيل حيث يسهل الامر على المضاد لاكتشافه و في القليل من الاحيان الوصول يتم بشكل مباشر الى القرص الصلب و لكن ذلك يفقد فاعلية الكود عند تغير نظام التشغيل حيث تتغير تركيبة الملفات في القرص الصلب.

– وظيفة المضاد : يقوم بعملية فحص للذاكرة للبحث عن الكود التخريبي و يقوم بفحص الملفات التنفيذية واحد تلوى الاخر بحث عن اكواد تخريبية و مقارنتها مع قاعدة البيانات. يقارن المضاد الملفات التنفيذية التي يجمع المعلومات حولها عند تركيبها اول مرة مع المعلومات حولها الان لحظة الفحص ، على سبيل المثال لو كان الملف a.exe حجمة 100 ك لحظة تركيبة و اصبح الان حجمه 110 ك فهذا يعني الملف مصاب بكود تخريبي. يفشل الكثير من تلك الأكواد التخريبية العمل على النسخ الاحدث من DOS و خصوصا هذه المخصة بالوصول المباشر للاقراص الصلبة و المرنة. 3

– كود تخريبي مخفي في برنامج او نظام التشغيل حدث كثيرا بان اخفى صانعي البرامج تلك الأكواد التخريبية داخل برامجهم،

– هدفه: أخفيت في نسخ مقرصنة من البرامج ، حيث قد يدمج ا لكود في امر ما شائع الاستخدام في نظام التشغيل بحيث يقوم بعملية تخريب ما لاحقا عند توفر ظروف معينة لا تقوم تلك الأكواد بأية عدوى لان طريقة التوزيع هي النسخ الذي يقوم به الانسان نفسه ، و يصعب جدا على المضادات تتبعها. و قد تخفى البرامج التخريبية ضمن العاب او برامج اخرى بسيطة ، اي انه يمكن اخفائها في اية برنامج يوزع عن طريق النسخ ، انتشارها ايضا محدود بالمجموعة التي نسخت البرنامج فقط.النسخ الاحدث من Microsoft DOS و التي تشغل ايضا Microsoft Windows 3.11 تشمل انواع الأكواد التخريبية التي ذكرت سابقا اضافة الى كود تخريبي يتحد بالملفات التنفيذية المساعدة و ظهرت مجموعة كبيرة من الملفات التنفيذية المساعدة في DOS عندما كبر حجم البرامج و مجموعة اخرى في Windows و التي سميت ب DLL و ظهرت ايضا انواع اخرى مثل VXD و غيرها ، جزء منها بقى و جزء اندثر.

– طريقة العدوى: الكود التخريبي هنا اكثر تخصصا حيث يبحث عن ملفات خاصة ببرنامج ما ليتحد معها حتى يختفي من مضاد الفيروسات و في معظم الاحيان يستخدم حيل معقدة لان الملفات التنفيذية المساعة لا تنفذ مباشرة بل تنفذ اجزاء منها. العدوى اقل خطورة حيث انه يحاول ان يصل الى معظم ملفات ال DLL مثلا حيث اذا نقلت البرنامج الذي يستخدمها مع تلك الملفات الى جهاز اخر سيقوم بعدوته. و لكن نظرا لقلة نقل تلك الملفات فالعدوى ضئيلة للغاية ، مع انها ازدادت مع ازدياد نسخ الالعاب و البرامج لاحقا. المضاد لها أصبح أكثر تعقيدا لان المضاد أصبح بحاجة إلى التدخل في عمل البرنامج نفسه و متابعة استدعاء الملفات المساعدة، مما ابطئ سرعة جهاز الكومبيوتر

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

4- كود تخريبي يتحد بملفات البرامج – هدفه : وفرت في هذه الفترة لغة برمجة مبسطة خاصة بها سميت سكريبت، امكن اضافة سكريبت الى المستندات لزيادة قوتها ولكن استغل ذلك من مصممي الكود التخريبي و ظهرت اول فايروسات المستندات.

– طريقة العدوى: الأكواد التخريبية السابقة لا تستقر في الذاكرة و تنتشر ضمن البرنامج نفسه و تفعل فقط إذا فتحت الملف المعدي و ليس البرنامج نفسه، تطورت لاحقا باستغلال ثغرة في Word و هي ملف ال normal.dot و الذي هو مستند يفتح اليا لحظة فتح word.

– وظيفة المضاد : لا يمكن مقارنة التغير في إحجام الملفات هنا من مضاد الفيروسات و يتدخل في عمل البرامج نفسه ، حيث اصبح يراقب عملية فتح و حفظ الملفات و يبحث في الكود الخاص بها لحظة الفتح باحثا على كود سكريب مشبوه و أصبحت المضادات أكثر تعقيدا نظرا لانها يجب ان تفهم تركيبة الملفات نفسها لذلك قامت شركات مثل مايكروسوفت بتوفير تركيبة ملفات ال Word و ال Excel و غيرها من الملفات التي يمكن ان تحتوي على كود الى الشركات المصنعة لمضادات الفيروسات .

5- كود تخريبي من ملفات مشبوهة من انترنت

– هدفه : بعض الألعاب الصغيرة التي كانت تحمل في هذه الفترة او بعض البرامج الصغيرة التي انتشرت بقوة في انترنت كانت تعمل بوجهين ، الاول هو ان تقوم بعمليات تخريب في جهازك او مساعدة المصنع لها من الوصول الى جهازك عبر انترنت. و البعض منها في تاريخ ميعن و حسب توفر ظرف معين كان يقوم بعمله ، مثل حذف ملف ما عشوائي مرة واحدة في الاسبوع مثلا او شيئ من هذا القبيل.

– طريقة العدوى: يصاب جهازك بهذه الأكواد عن طريق تحميلك لهذه الملفات عن طريق انترنت او وصولك عبر البريد الالكتروني وطريقة انتشارها هو عن طريق شهرتها وبحسن نية يقوم المستخدم بتحمليها وتشغيلها على جهازه

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

طبعا وجود مضاد للفيروسات يعتبر وسيلة للدفاع ولكن في المقام الاول يجب معرفة ما يدخل وينفذ على جهازك ومن اين حصلت عليه وباذن الله لن تصاب باي فيروس فقليل من الحرص وعدم الفضول الزائد في استكشاف كل ملف ياتي من رسالة مجهولة قد يعني دمار لجهازك

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة