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


طريق العرب
 
الرئيسيةإتصل بناأحدث الصورالتسجيلدخول

 

 تعريف فيروس الحاسب

اذهب الى الأسفل 
كاتب الموضوعرسالة
عندليب متواضع

عندليب متواضع


الجنس : ذكر
عدد المساهمات : 627
نقاط : 1601

تعريف فيروس الحاسب Empty
مُساهمةموضوع: تعريف فيروس الحاسب   تعريف فيروس الحاسب Emptyالإثنين 26 أبريل 2010 - 5:42



تعريف فيروس الحاسب :-

ماهو فيروس الحاسب ؟ ومن هو هذا الكائن الذي أخذ يهدد عالم المعلوماتية بعد عقود قليلة من بدء عصر الحاسبات الألكترونية ؟
لقد ولدت فكرة الفيروس الإلكتروني منذ الأيام الأولى لعصر الحاسب وكان جون فون نيومن رائد الحاسبات الأول هو الذي أرسى حجر الأساس لذلك في مقالته التي نشرها بعنوان «نظرية وتنظيم الألة المعقدة ذاتية الحركة » إذ وضع فون تيومن «أوتومات» من حالة تقوم بإنتاج نسخة مطابقة لذاتها . وتعرف الأوتومات بأنها الصيغة الأبسط للنموذج الرياضي الذي يمثل آله مجردة تُعّرف بمجموعة من الحالات الممكنة وتستطيع هذه الآلة قراءة سلسلة من الرموز تشكل أبجدية خاصة بالآلة وتقوم هذه الآلة بتغيير حالتها الداخلية تبعاً للدخل المقروء والحالة الداخلية للآلة في تلك اللحظة ويستخدم هذا النموذج عادة لتوصيف النظم المنطقية والبرمجيات .
وفي عام 1983 نكث كين توميسون بوعد الشرف وهو كاتب النموذج الأصلي من نظام التشغيل المعروف UNIX وقد حصل على جائزة اتحاد الأجهزة الحاسبة تكريماً له . وعندما ألقى خطابه بهذه المناسبة لم يكتف توميسون بالكشف عن وجود فيروسات الحاسب الأولي وإنما يبين للحضور أيضاً كيفية صنعها وقال «إذا لم يكن قد سبق لكم فعل ذلك من قبل فإنني أحثكم أن يخربوه بأنفسكم »
وفي آيار من عام 1384 نشرت مجلة العلوم الأمريكية مقالة نصف تفاصيل لعبة حرب الوحدة المركزية وعرضت على القراء مقابل دولارين فقط هي أجرة البريد الحصول على التوجيهات اللازمة للكتابة مثل هذه البرامج «الفيروسات» ومن ذلك الوقت بدأت الفيروسات بالظهور والتكاثر .
أن الفيروسات البرمجية ليست مؤذية كبرامج بحد ذاتها . وخطورتها ناجمة أساساً عن قدرتها على السيطرة على العمليات التي تجري في الحاسب والبدء بعملية التكاثر والنسخ الذاتي وليس على قدرتها على أتلاف المعطيات .
أن تسمية هذه البرامج بالفيروسات غير دقيقة والتسمية العلمية الدقيقة لها هي «طفيليات برمجية قادرة على الانتساخ الذاتي »
أنماط الفيروسات :
يمكن تصنيف الفيروسات بعدة طرق ، إلا أن أكثر الفيروسات شيوعاً هو تلك التي تهاجم البرامج التطبيقية . إذ يتم حفظ البرامج والمعطيات التي لا تنتمي إلى نظام التشغيل بصيغة ملفات بسيطة ، لكل ملف اسم مؤلف من ثمانية أحرف بالإضافة إلى لاحقة من ثلاثة أحرف فيمكن مثلاً :-
1- تطلق على ملف ما أسم TRUE.TXT فتمثل الكلمة TRUE اسم الملف . في حين تمثل الأحرف TXT اللاحقة التي تختارها عادة بحيث تعطي بعض المعلومات عن طبيعة الملف ، ففي مثالنا هذا يمكن أن يكون الملف TRUE.TXT ملفاً نصياً . أما البرامج فتخزن في ملفات تنتهي أسماؤها بلاحقة مثل COM أو EXE أو SYS فتحت نظام التشغيل DOS لا يمكن تنفيذ إلا الملفات التي تحمل أسماؤها واحدة من هذه اللاحقات . وبما أن الفيروس هو برنامج ينتظر التنفيذ لذا عليه أن يلتصق بملف من نوع COM أو EXE أو SYS أما إذا التصق بملف من نوع آخر يمكنه أن ينفر ولا يتكاثر ولكن يمكن أن يخرب بعض المعلومات . ولكل نوع من الملفات القابلة للتنفيذ صيغة خاصة تختلف عن غيرها لذلك يصمم الفيروس بحيث يلتصق بنوع محدد من البرامج ، فالفيروسات المصممة لمهاجمة الملفات من النوع COM لا يستطيع مهاجمة الملف من نوع EXE والعكس أيضاً صحيح .
ويمكن بالطبع تصميم فيروسات تستطيع مهاجمة نوعين أو أكثر من البرامج إلا أن ذلك يتطلب استخدام طرق خاصة لإعادة انتاج الفيروس بطريقة مختلفة حسب نوع وصيغة الملف الذي يهاجمه .

العناصر الوظيفية للفيروس :
يتضمن الفيروس اجرائيين أساسيين لا غنى عنهما وهما :-
1- اجرائية البحث التي تقوم بتحديد الملفات أو مواقع الذاكرة التي يمكن أن تكون هدفاً للفيروس وتقوم هذه الاجرائية إذاً لتجديد الموقع الذي ستتم عملية نسخ الفيروس إليه كما تحدد إذا كان يجب أن يتم هذا النسخ بسرعة أم ببطء وإذا كان بإمكان الفيروس مهاجمة وحدات مختلفة داخل الحاسب أم القرص الصلب فقط مثلاً .
2- اجرائية النسخ التي تقوم بإعادة نسخ تعليمات الفيروس إلى المنطقة التي تكون اجرائية البحث قد حددتها في وقت سابق ويجب أن تكون هذه الاجرائية متطورة بما يكفي لأن تؤدي عملها دون أن تصبح عرضة للإكتشاف وكلما كانت هذه الإجرائية صغيرة كلما كان أداء الفيروس أفضل .

كتابة الفيروسات :-
تكتب الفيروسات باللغة التجميعية (assembly) فاللغات عالية المستوى مثل باسكال و C وغيرها تسمح بكتابة برامج مستقلة إلا أنها لا تقدم لنا الامكانيات التي تقدمها اللغة التجميعية فاللغة التجميعية هي اللغة الوحيدة التي تمكننا من أمتلاك السيطرة الكاملة على كافة موارد الحاسب واستخدامها بالطريقة التي نريد .

فيروس STEALTH

تعريفه :
يستطيع الاختباء على الأقراص المرنة والصلبة كما يستطيع أن يصيب الأقراص الأخرى بطريقة فعالة جداً وفي أي وقت وليس فقط خلال مرحلة تمهيد الحاسب وتحيل ترميز تعليمات هذا الفيروس أكثر من قطاع واحد وهو يستخدم تقنيات متقدمة نادرة الاستخدام تسمح له بالعمل دون تخريب أية معطيات موجودة على القرص . ويترك هذه الفيروس جزء من تعليماته مقيماً في الذاكرة .
إلا أنه لا يستطيع استخدام وظيفة نظام DOS الخاصة بذلك ( الوظيفة 31H ) كبقية البرامج المقيمة (TSR) لأنه يبدأ عمله قبل أن يتم شحن نظام DOS كما يقوم بخداع هذا النظام .
النسبة الأساسية للفيروس :
يتألف الفيروس STEALTH من ثلاثة أجزاء فهو يتضمن : قطاع التمهيد المصاب وهو عبارة عن قطاع من التعليمات الجديدة التي ستحتل مكان قطاع التمهيد الأساسي في المسار 5 الرأس 1 القطاع 1 . أما الجزء الثاني فهو برنامج الفيروس المؤلف من عدة قطاعات . الجزء الثالث : هو قطاع التمهيد القديم (الأساسي) يقوم قطاع التمهيد المصاب عند شحنه وتنفيذه بالذهاب إلى القرص ويشحن منه برنامج الفيروس الأساسي وقطاع التمهيد القديم . فيتم بعد ذلك تغيير برنامج الفيروس الذي يقوم باصابة القرص وربما يوضع في الذاكرة حيث يستطيع من هناك نقل العدوى لاحقاً لأقراص أخرى إلى نظام التشغيل ، يقوم قطاع التمهيد المصاب عند شحنه وتنفيذه بالذهاب إلى القرص ويشحن منه برنامج الفيروس الأساسي وقطاع التمهيد القديم ، فيتم بعد ذلك تنفيذ برنامج الفيروس الذي يقوم بإصابة القرص وربما بالتوضع في الذاكرة حيث يستطيع من هناك نقل العدوى لاحقاً لأقراص أخرى ، أما قطاع التمهيد القديم فيكتب في الذاكرة في العنوان 000:7c00h أي في المنطقة التي تقع بعد قطاع التمهيد المصاب ، وفي المرحلة الأخيرة يتم تنفيذ تعليمات قطاع التمهيد القديم بحيث يتم تمهيد الحاسب الشكل طبيعي .
يستطيع الفيروس STEALTH أن يصيب قطاع التمهيد الخاص بتجزئة القرص الصلب والذي يتضمن تعليمات تختلف تماماً عن تلك التي يحويها قطاع تمهيد التشغيل . يحتفظ هذا الفيروس بقطاع التمهيد الأساسي كما هو ولذلك فهو لا يحتاج للتمييز بين قطاع تمهيد القرص المرن وقطاع تمهيد القرص الصلب ، إذ يكتفي ببساطة بنسخ التعليمات الموجودة أساساً في القطاع ويستخدمها بطريقته الخاصة ، وهذا ما يجعله مستقلاً تماماً عن نظام التشغيل .

آلية النسخ :
قبل شرح آلية النسخ التي يستخدمها الفيروس سندرس كيفية اختفاء الفيروس على القرص إذا يحتاج هذا الفيروس إلى استخدام ستة قطاعات لتخزين تعليماته ، وهو يستخدم لذلك طريقة فعالة تسمح له بالاختفاء على كل أنواع الأقراص المرنة وكذلك على الأقراص الصلبة مهما كان نوعها .
توضع تعليمات هذا الفيروس في منطقة من القرص خارجة عن نطاق ما يمكن أن يفهمه نظم DOS ( أو غيره من نظم التشغيل ) بحيث يصبح غير مرئي نهائياً . ويترجم هذا الكلام ، في حالة الأقراص المرنة بتنسيق القرص بطريقة غير قياسية لكنها قادرة على احتواء تنسيق القطاعات القياسي الذي يستخدمه نظام DOS ، فيستطيع نظام DOS استخدام القطاعات المنسقة بالطريقة القياسية ، أما الأجزاء الأخرى فتكون غير مرئية بالنسبة له وفيها يتم تخزين تعليمات الفيروس . ويمكن الوصول إلى هذه القطاعات بكتابة برنامج خاص يستدعي مباشرة وظائف نظام BIOS الخاصة بالتعامل مع الأقراص .
يستخدم الفيروس STEALTH الطريقة السابقة مع الأقراص المرنة قياس 5.25 إنش وبسعة 360 كيلو بايت و 1.44 ميغابايت ، إذ يطلب الفيروس من النظام حجز منطقة معينة من القرص والبقاء بعيداً عنها ليتوضع فيها الفيروس .
لنتفحص طريقة تنسيق الأقراص 5.25 و 3.5 إنش لنرى كيف تساعد الطريقة الموصوفة سابقاً في إخفاء الفيروس ، ولنأخذ أولاً الأقراص المرنة بسعة 1.2 ميغابايت وقياس 5.25 إنش . ينسق القرص بشكل وجهين 0 و 1 يضم كل منها 80 مساراً مرقمة من 0 إلى 79 ، ويحتوي كل مسار 15 قطاعاً سعة كل منها 512 بايت ، وبالتالي تكون سعة هذا القرص : = 512 X2 X80 1228800 بايت . يستخدم جزء منها لتخزين قطاع التمهيد وجدول تخصيص الملفات (FAT) والدليل الجذري فيبقى منها 1213952 بايت يستخدمها المستثمر حسب حاجته .
ليس ثمة ما يمنع من تنسيق مسار إضافي على القرص يحمل الرقم 80 ، ويمكن لرأس القراءة والكتابة أن ينتقل إلى هذا المسار وبالتالي يمكنه تسجيل المعطيات على هذا المسار . وتصمم الأقراص دائماً بحيث تحوي هذه المساحة الزائدة . إن إضافة هذا المسار تعني إضافة 15 قطاع إلى كل وجه ، ونظام التشغيل لن يرى هذه القطاعات على الإطلاق .
عندما يحاول الفيروس إصابة قرص مرن قياس 5.25 إنش بسعة 1.2 ميغابايت فإنه يتقصى أثر المسار 80 أو المعطيات المسجلة في القطاعات من 1 إلى 5 ، ويقوم بقراءة قطاع التمهيد الأساسي إلى الذاكرة ثم يكتبه في نهاية القطاع رقم 6 من المسار 80 ، ويضع قطاع التمهيد المصاب الخاص به مكان التمهيد الأساسي في المسار 0 ، الوجه 0 القطاع 1 .
أما بالنسبة للأقراص المرنة قياس 3.5 إنش بسعة 720 كيلوا بايت والتي تحو 80 مساراً في كل وجه و 9 قطاعات في كل مسار فلا يقوم الفيروس بتنسيق مسار جديد ، بل يكتب تعليماته ومعطياته في القطاعات من 4 إلى 9 من المسار 79 على الوجه رقم (1). وهي القطاعات الستة الأخيرة من القرص والتي قد تحوي معطيات ، وبالتالي سيتم تخريب هذه المعطيات في حال إصابة القرص . يكبت الفيروس STEALTH تعليمات برنامجه الأساسي في القطاعات من 4 إلى 8 ، أما في القطاع رقم 9 فهو يخفي قطاع التمهيد الأساسي ، ولمنه نظام DOS من استخدام هذه المنطقة يلجأ الفيروس إلى كتابة معلومات في جدول تخصيص الملفات توحي لنظام التشغيل أن هذه القطاعات غير صالحة للاستعمال .
يرتب النظام DOS الأقراص المرنة في كتل عنقودية (Cluster) تضم كل منها قطاعاً واحداً أو عدة قطاعات متجاورة ويقابل كل كتلة مدخل في الجدول FAT يتضمن قيمة ترمز على 12بت . فعندما تكون الكتلة فارغة تكتب القيمة 0 في المدخل المقابل لها في الجدول FAT ، أما إذا كانت الكتلة مستخدمة فيتضمن المدخل المقابل لها عدداً يشير إلى رقم الكتلة التالية في الملف ، وتوضع في المدخل قيمة محصورة بين FF8 و FFF للإشارة إلى أن هذه الكتلة هي الكتلة الأخيرة من الملف ، وتستخدم القيمة FF7 للإشارة إلى أن الكتلة غير صالحة للاستخدام .
فعلى سبيل المثال تتألف كل كتلة عنقودية في القرص المرن ذي السعة 720 كيلو بايت من قطاعين ، فيقوم الفيروس STEALTH بكتابة القيمة FF7 في مداخل الكتل الثلاث الأخيرة مما يوحي لنظام التشغيل أن هذه الكتل ( 6 قطاعات ) غير صالحة للاستخدام وبالتالي يبتعد عنها .
يواجه الفيروس STEALTH مشكلة أخرى مع الأقراص الصلبة إذ توجد أنواع مختلفة من السواقات وعليه أن يتأقلم مع كل منها بطريقة مختلفة ، لكن هذه المشكلة محلولة من الناحية العملية إذ لا تنظم الأقراص الصلبة عادة بحيث يشغلها نظام DOS بالنسبة 100٪ فعلى كل قرص صلب منطقة غير خاضعة لنظام DOS ونخص بالذكر قطاع التمهيد الأول فهو ليس ملفاً ببنية ملفات نظام DOS .
إن إيجاد منطقة ما على قرص صلب غير خاضعة لنظام DOS ليس أمراً صعباً ، فإذا استخدمت برنامج FDISK لتجزئة القرص الصلب إلى عدة أجزاء ستكتشف وبسرعة أمراً هاماً ، فبالرغم من أن قطاع التمهيد الأول يتوضع في القطاع الأول من المسار 0 على الوجه 0 فإن برنامج FDISK ( في كل إصدارات نظام DOS ) لا يضع بداية الجزء الأول في القطاع الثاني من المسار 0 على الوجه 0 ، وبدلاً من ذلك يبدأ الجزء الأول دائماً عند القطاع الأول من المسار 0 على الوجه رقم (1) ، وهذا يعني أن المسار رقم 0 على الوجه رقم 0 ( باستثناء القطاع الأول منه ) يشكل مساحة حرة على القرص ، وحتى أصغر الأقراص الصلبة التي تتسع لـ 10 ميغا بايت فقط تحي 17 قطاع في كل مسار ، بذلك يستطيع الفيروس STEALTH الاختفاء في هذه القطاعات المهجورة ويستخدم لذلك التقنية نفسها مهما كان نمط وحجم القرص الصلب ( يُذكر هنا أن بعض برامج التنسيق على المستوى الأدني ( low level format ) تستخدم هذه القطاعات لتخزين بعض المعلومات الخاصة بها ، إلا أن كتابة الفيروس فوق هذه المعلومات لن تسبب أي ضرر لعمل الحاسب ) .
تجري عمل الإصابة بشكل تقليدي ، فالإصابة قرص ما ينفذ الفيروس الخطوات التالية :
(1 يحدد نمط القرص المستهدف : قرص صلب أم واحد من أنماط الأقراص المرنة الأربعة التي يعرفها .
( 2 يتفحص القرص ليعرف إذا كان مصاباً سابقاً ، فإذا كان الأمر كذلك لا يحاول إصابة القرص مرة أخرى .
( 3 ينقل ترميز تعليمات الفيروس بأكملها إلى المنطقة المخفية على القرص .
( 4 يقرأ قطاع التمهيد الأساسي عن القرص ويكتبه في المنطقة المخفية على القرص نفسه ، في القطاع الذي يلي مباشرة قطاعات ترميز تعليمات الفيروس .
( 5 يقرأ من قطاع التمهيد الأساسي المعطيات الخاصة بتحديد معاملات القرص ( بالإضافة للمعلومات المتعلقة بتجزئة القرص في حالة الأقراص الصلبة ) ويقوم بكتابة هذه المعطيات في المواقع المحددة لها في قطاع التمهيد المصاب ثم يكتب قطاع التمهيد الجديد ( المصاب ) في القطاع الأول من المسار رقم 0 على الوجه رقم 0 >
( 6 يعدّل مداخل تخصيص الملفات (FAT) ، حسب الحاجة ، بحيث تبدو القطاعات التي تحوي تعليمات الفيروس كقطاعات معطوبة غير صالحة للاستخدام .
ستلاحظ أثناء دراستك لتعليمات هذا الفيروس أن يرنامج النسخ يتضمن عدة مواقع تفريع أهمها البرنامجان الجزئيان INFECT_HARD الذي يصيب الأقراص الصلبة و INFECT_FLOPPY الذي يصيب الأنماط المختلفة من الأقراص المرنة . يقوم البرنامج INFECT_FLOPPY أولاً بتحديد نمط القرص الذي يتعامل معه بقراءة قطاع التمهيد الموجود على القرص وملاحظة عدد القطاعات الموجودة ( وهو المتحول SEC_COUNT في الجدول رقم 2 ) فإذا وجد ما يبحث عنه ، يستدعي إحدى الإجرائيات INFECT_12M , INFECT_720 , INFECT_360 أو INFECT_144M التي تختخص كل منها بإصابة أحد أنماط الأقراص المرنة . تجد عرضاً لكل هذه البرامج في الملحق (هـ) .

آلية البحث :
يستخدم الفيروس STEALTH طريقة مميزة للتعرف على وجوده ، فهو يقرأ قطاع التمهيد الموجود على القرص المستهدف ويقارن بين البايتات الثلاثين الأولى ( التي تبدأ بعد منطقة المعطيات في قطاع التمهيد ) من هذا القطاع وبين البايتات الثلاثين الأولى من ترميز تعليماته ذاتها فإذا لم تتطابق هذه البايتات يكون القرص سليماً وبالتالي يحاول إصابته .
تتم عملية المقارنة هذه بواسطة البرنامج الجزئي IS_VBS :
IS_VBS :
Push si ; save these
Push di
Cld
mov di , OFFSET BOOT ;set up for a compare
mov si , OFFSET SCRATCHBUF + ( OFFSET BOOT - START )
mov cx , 15
repz cmpsw ; compare 30byes
pop di ; restore these
pop si
ret ; return with z properly set

فإذا كان القرص مصاباً تعيد هذه الإجرائية القيمة 1 في العلم z وتمثل العلامة BOOT عنوان بداية الترميز في قطاع التمهيد أما العلامة BOOT_START فتؤشر إلى بداية قطاع التمهيد في

العنوان 7 COOH ، يتم استعداء الإجرائية IS VBS بعد أن تكون قراءة قطاع التمهيد من القرص قد أنجزت بواسطة البرنامج الجزئي GET BOOT SEC الذي يضعه في منطقة المعطيات المحددة بالعلامة SCRATCHBUF :









تصبح مسألة البحث أكثر جدية عندما يتم البحث عن قرص لإصابته فعملية إصابة القرص المرن تختلف تماماً عن عملية إصابة القرص الصلب ، والمستخدم الذي يملك قرصاً صلباً مثبتاً داخل حاسبه نادراً ما يستخدم قرصاً مرناً لإقلاع الحاسب ، وغالباً يكون التمهيد عن القرص المرن حالة طارئة ، يمكن مثلاً أن ينهي المستثمر عمله ويطفئ الحاسب تاركاً قرصاً مرناً في السواقة A ثم يأتي في اليوم التالي ويشغل الجهاز مباشرة ، وغالباً لن يكون هذا القرص قرص نظام مما سيسبب حدوث خطأ . سيرى المستثمر رسالة الخطأ على الشاشة ويسحب القرص من السواقة ، إلا أن قطاع التمهيد الموجود في القرص المرن يكون قد شحن ونفذ . يستفيد الفيروس STEALTH من هذا الخطأ البسيط الناتج عن قلة انتباه المستثمر لينقل العدوى من القرص المرن المصاب إلى القرص الصلب السليم . نستنتج إذ أن إصابة القرص الصلب تتم في مرحلة التمهيد .
وبمجرد أن يصيب الفيروس قرصاً صلباً يصبح بإمكانه الانتقال إلى العديد من الأقراص المرنة يومياً ، ولكي يستطيع الفيروس إصابة هذه الأقراص عليه أن يبقى مقيماً في ذاكرة الحاسب وينشط نفسه في كل مرة يحاول فيها أحد البرامج الأخرى تنفيذ عمليات معينة على القرص المرن ، وبهذه الطريقة يصبح الحاسب المصاب نفسه وسيلة لإنتاج أقراص مرنة مصابة بالفيروس . لكن أي نوع من العمليات على الأقراص المرنة سينشط عملية الإصابة ؟ يجب أن يكون من العمليات التي تحدث بشكل متكرر مع الالتزام بأقل قدر ممكن من النشاط الإضافي ابالنسبة للقرص ، ويجب أن تتم الإصابة في الوقت نفسه الذي تنفذ فيه العملية على القرص ، ذلك أن الأقراص المرنة يمكن أن تسحب من السواقة أو توضع فيها بسهولة ، فإذا لم تتم هذه العلميات في الوقت نفسه يمكن أن يشير البحث إلى وجود قرص غير مصاب في السواقة A ، وبذلك سيحاول الفيروس أن يصيب قرصاً مصاباً إذا قام المستثمر خلال وقت قصير باستبدال القرص الموجود في السواقة بقرص آخر مصاب .
إن اللحظة المناسبة هي اللحظة التي تبدأ فيها عملية قراءة قطاع معين من القرص ، وقد تكون عملية قراءة هذا القطاع متكررة جداً أو نادرة وذلك حسب القطاع المختار ، وبما أن القرص نادراً ما يكون مملوءاً فإن قطاعاً قريباً من هاية القرص نادراً ما يقرأ ، بالمقابل إذا أراد الفيروس أن ينفذ عمله عند قراءة قطاع التمهيد فإن القرص سيصاب مباشرة ، حيث تتم قراءة قطاع التمهيد الموجود على القرص المرن المدخل حديثاً في السواقة قبل أن تنفذ أية عمليات أخرى .
ينشط الفيروس STEALTH عملية الإصابة في أي لحظة تتم فيها قراءة القطاع الأول من المسار الأول على الوجه رقم 0 ، وهي عملية متواترة كفاية . يقوم الفيروس STEALTH بحجب المقاطعة رقم 13 H ( وهي الوظيفة المتعلقة بالأقراص في نظام BIOS ) في لحظة التمهيد ، ويرصد أية محاولة لقراءة القطاع الأول من المسار الأول على الوجه رقم(0) ، فعندما تتم مثل هذه المحاولة يقوم الفيروس بشحن قطاع التمهيد الموجود على هذا القرص المرن ثم يتفحصه باستخدام الإجرائية IS VBS ، وبعد أن ينهي الفيروس عمله ( إصابة القرص في حال كونه غير مصاب) يسمح للبرنامج الذي كان يحاول الوصول إلى القطاع الول من المسار الأول على الوجه 0 أن يتابع عمله بكل طبيعي
يمكن حجب المقاطعة 13 H بواسطة التعليمات التالية :














حيث OLD_13H هو موقع شعاع المقاطعة الأساسي والإجراء CHECK_DISK الإجراء IS_VBS , GET_BOOT_SEC بعد أن يكون قد حفظ قيم كل المسجلات ليمررها فيما بعد لنظام BIOS .


















آلية الحماية والاختفاء
يعتمد الفيروس STEALTH بخلاف الفيروسات التي درسناها سابقاً ، على آلية خاصة لحماية نفسه ، وهي كافية لأخفاء الفيروس ليس فقط على المستثمر العادي ، بل حتى على المستثمر الخبير المسلح بأدوات برمجية متطورة من ضمنها البرامج المصممة خصيصاً للكشف عن الفيروسات .
إن الجزء الأساسي من الفيروس STEALTH مخفي على القرص في قطاعات خارج نطاق رؤية نظام التشغيل العادي ، فعلى الأقراص المرنة يكون قطاع التمهيد المصاب الجزء الوحيد غير المخفي ، وعلى الأقراص الصلبة يكون الفيروس بكامله مكشوفاً نظراً لأنه يتوضع في المسار 0 على الوجه 0 . وبشكل عام لا تعتبر البرامج عادة هذه القطاعات بالرغم من أن البرنامج FDISK يعيد كتابة قطاع التمهيد الخاص بتجزئة القرص الصلب.
وقد رأينا كيف يقوم الفيروس STEALTH بحجب المقاطعة 13H الخاصة بقراءة الأقراص ، ويمكن في الواقع استخدام الآلية لمنع البرامج الأخرى من قراءة قطاعات محددة يخفي فيها الفيروس تعليماته ومعطياته ، فيعيد توجيه عمليات القراءة بحيث تعطي المستخدم أو البرامج الأخرى معطيات صحيحة ( كأن يجعلها تقرأ قطاع التمهيد السليم بدلاً من قطاع التمهيد المصاب ) كما يعيد توجيه عمليات الكتابة باتجاه القطاع القديم .
بالإضافة لإخفاء قطاع التمهيد يمكن إخفاء بقية أجزاء الفيروس عن أية محاولة للوصول إليه بواسطة المقاطعة 13H، فعلى الأقراص الصلبة لا يسمح لنا الفيروس STEALTH بالقراءة من أو الكتابة على القطاعات من 2 إلى 7 من المسار 0 على الوجه 0 لأن تعليمات ومعطيات الفيروس مسجلة على هذه القطاعات ،وهو يخدع البرنامج الذي يحاول قراءة هذه القطاعات بأن يعيد له كتلة من المعطيات الوهمية ( أصفار) ، كما يخدع البرنامج الذي يحاول الكتابة فوق هذه القطاعات بأن يعيد التحكم له كما لو أن الكتابة قد تمت بنجاح مع العلم بأن عملية الكتابة قد أهملت فعلياً .
باستخدام إجراءات الحماية هذه يصبح برنامج الفيروس الأساسي مخفياً جيداً ، وعندما يحاول برنامج ما تفحص قطاع التمهيد فإنه سيجد قطاع التمهيد الأصلي . إن الطريقة الوحيدة لكشف هذا الفيروس هي كتابة برنامج يصل إلى معطيات القرص مباشرة بواسطة التحكم المباشر بالتجهيزات ، أو الانطلاق من قرص غير مصاب وتفحص قطاع التمهيد على القرص المصاب .























وضع الفيروس في الذاكرة
قبل أن يقوم الفيروس بإعادة التحكم بسير العمليات إلى قطاع التمهيد الأساسي الذي يشحن نظام DOS ، يتوضع في منطقة من الذاكرة العليا حيث لا يمسه شيء ، إذ يقرأ نظام التشغيل حجم الذاكرة المتوفرة ( بالكيلو بايت) من الموقع ذي العنوان 0040:0013 حيث يكون نظام BIOS قد كتب في هذا الموقع حجم الذاكرة المتوفرة فعلياً وذلك قبل أن يبدأ بقراءة قطاع التمهيد ، يستطيع الفيروس STEALTH تغيير هذا العدد وكتابة قيمة أقل قبل شحن نظام DOS ، وبذلك لا يستخدم النظام كل الذاكرة المتاحة ، بل فقط الحجم الذي يشير غليه هذا العدد ويبقى الجزء الموجود بعد هذه النقطة محفوظاً ولا يمسه النظام .
يشحن الفيروس STEALTH تعليماته في أعلى جزء ممكن من الذاكرة ، والذي يتم تحديده بالاعتماد على العدد الذي يضعه نظام BIOS في الموقع المذكور ، فيطرح منه الفيروس العدد الافي لتخزين تعليماته ومعطياته ، وبهذه الطريقة يصبح هذا الجزء خارج نطاق استخدام نظام التشغيل .









يقوم إذا قطاع التمهيد المصاب بشحن برنامج الفيروس الأساسي إلى الذاكرة ، ثم يقوم بشحن وتنفيذ قطاع التمهيد الأصلي ، فعندما يشحن BIOS قطاع التمهيد المصاب ( وهو يشحن القطاع الأول من المسار رقم 0 على الوجه رقم 0 بغض النظر عن ماهيته ) يتوضع هذا القطاع في الـ512 بايت الأعلى في الذاكرة (ضمن حدود الـ 640 كيلو بايت) . ففي آلة سعة ذاكرتها 640 كيلو بايت تكون أول بايت حرة هي البايت ذات العنوان A0000:0000 ينتقل قطاع التمهيد إلى الـ 512 بايت الموجودة قبل هذا العنوان ، ثم إلى العنوان 9820:7C00 حيث يجب أن يكون .
يقوم قطاع التمهيد المصاب بعد ذلك بكتابة برنامج الفيروس الأساسي ( المؤلف من 6 قطاعات ) في المنطقة الواقعة بين الموقعين 9820:7000 ، 9820 : 7BFF يمثل منها قطاع التمهيد الأساسي المنطقة المحصورة بين العنوانين 9820:7000 ، 9820 : 7BFF . ويقوم قطاع التمهيد المصاب بطرح العدد 4 من محتوى البايت ذات العنوان 0040:0013H لحجز 4 كيلو بايت من الذاكرة للفيروس ويعيد توجيه المقاطعة 13 H إلى الفيروس .
وفي النهاية يقوم قطاع التمهيد المصاب بنقل قطاع التمهيد الأساسي من العنوان 9820:7A00 ، إلى العنوان 0000:7C00 ويسلمه التحكم فتنفذ تعليمات هذا القطاع الذي يقوم بشحن نظام التشغيل ومتابعة تشغيل الحاسب بشكل طبيعي .


الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
تعريف فيروس الحاسب
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» حل مشكلة اللغة العربية فى أجهزة الحاسب
» مقدمة هامة عن أجزاء الحاسب الآلي
» دليل الشهادات التقنية في مجال الحاسب الالي
» دورة مراقبة الجودة بإستخدام الحاسب الآلى
» Lightbulb صيانه الكمبوتر ( الجزء الاول مكونات الحاسب )

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات طريق العرب :: الأقسام العامة فى منتديات طريق العرب :: المنتديات العامة :: قسم الحاسب الآلى :: منتدى الكمبيوتر العام-
انتقل الى: