المعلوماتية > عام

تفاصيل فيروسية! أنواع الفيروسات وانتشارها...

يمكننا النظر إلى برمجة الفيروسات على أنها لعبة، لعبة من ألعاب الحاسوب التي تعتمد على التسلسل وراءَ خطوطِ الأعداء وإلحاق أكبر ضرر بهم دون أن يتم اكتشاف المهاجم. يبدو ذلك مسلياً! ولكنه صعبٌ ويسبب مخاطرَ كثيرة، فكم خسرت شركاتٌ ملايين الدولارات بسبب أذية فيروسية.

لكي ندخل في عالم الفيروسات الخطير والشيّق في الوقت نفسه، علينا أن نتعرف إلى فكرة مهمة ألا وهي الحقن، طبعاً لا نقصد هنا الإبر والأدوية وإنما نقصد حقن الشيفرة البرمجية (Code Injection).

نعني هنا بمفهوم الحقن إضافةَ مقاطع برمجية لبرنامج يعمل بشكل نظامي تهدف إلى تعديل وظيفته أو إضافة وظيفة جديدة أو إصلاح أخطاء في البرنامج.

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

يعدُّ الحقن مفهومًا أساسيًا ضمن الفيروس ولبَّ عمله، فالفيروس غيرُ قادر على أن يوجدَ كبرنامجٍ مستقل، وإنما يحتاج إلى مُضيف يتطفل عليه، وذلك بأن يحقن نفسَه ضمن هذا المضيف ويستخدمه كنقطة للانتشار.

في بعض الأحيان قد تكون عملية الحقن سريعة، أي أن الفيروس يقوم بنسخ نفسه لكل البرامج التي يجدها جاهزةً لتلقي شيفرته البرمجية، طبعاً هذه السرعة في عملية الحقن تضمن معدلَ إصابةٍ عالٍ، لكنّ برامجَ الحماية تراقب سلوكَ البرامج التي يتم تنفيذها على النظام، وستلتقط هذا النشاطَ غيرَ الاعتيادي للبرنامج المصابِ فتتعرف عليه كفيروس وتوقِفُه. وفي بعض الأحيان تكون عملية الحقن بطيئة، فمثلاً من كل 10 مرات يتم تشغيل الفيروس، في مرة واحدة فقط يقوم هذا الفيروس بالبحث عن مضيف جديد ونسخ نفسه إليه. طبعاً تضمن هذه الطريقة الاختباءَ عن أعين برامج الحماية لأن سلوك البرنامج المصاب سيكون عادياً لكن معدل الانتشار فيها بطيء. [1، p. 63]

عندما يتم الحقن، يقوم الفيروس بنسخ نفسه من المضيف لبرنامج جديد. قد يقوم الفيروس بنسخ نفسه دون أي تعديل (Clone). وهذه الطريقة سهلة، إلا أن نقل الشيفرة البرمجية للفيروس دون أي تعديل يجعل اكتشافَها سهلًا من قِبل برامج الحماية. أما الطريقة الأصعب هي إجراءُ تعديل على الشيفرة البرمجية للفيروس أثناء النسخ (Polymorphic) دون أن يؤثرَ ذلك على أسلوب العمل (على مبدأ 1+1=2 و 3-1=2). طبعاً الصعوبة في هذه الطريقة تأتي مع ميزة، إذ يصبحُ اكتشافُ الفيروس صعباً على برامج الحماية. [2، p. 425]

لا تتوقف الفيروسات عند شكل معين للانتشار أو التأثير الخاص بها، ففي بعض الأحيان، تستخدمُ البريدَ الإلكتروني لنشر نفسها من جهاز إلى آخر لتُعرف باسم "E-Mail Viruses". أو يمكن أن تصيب قطاع الإقلاع لتُعرف باسم "Boot Sector Viruses"، أو يمكن أن تقوم بتغيير بعض وظائف متصفح الويب بهدف إجبار المستخدم على زيارة مواقع معينة لتُعرف باسم "Browser Hijack"، أو قد تكون "Macro Viruses" كما في ملفات Microsoft Office التي تسمح بوجود شفيرةٍ تنفيذية ضمن ملفاتها تُعرف باسم Macro التي قد تكون فيروساً، كما يمكن لها أن تنتشرَ بأكثر من طريقة وتمتلك أكثر من تأثير كما في "Multipartite Viruses"، وقد تكون متغير الشيفرة "Polymorphic Viruses"، أو قد تعيش في الذاكرة "Resident Viruses"، أو قد تكون مكتوبةً باستخدام لغات الـ"Web Scripting" كالجافا سكريبت. لا يمنع أن يكونَ الهدف الرئيسي للفيروس إصابة برامج الحماية ومنعها من أداء عملها أي يعمل بشكل مشابه لفيروس الإيدز. [3] [4]

هل يشمل ما سبق كلَّ شيء عن الفيروسات؟ بالتأكيد لا، فأنواع الفيروسات كثيرة كما تقنياتُ التخفي الخاصة بها، وقد قمنا بذكر أبسطها وأكثرها شيوعًا. كما أن علمَ الفيروسات لا يتوقف عند تصميم الفيروس، فالبرمجة عمليةٌ معقدة، إذ عليك أن تحقق فيروسك بأصغر شيفرة ممكنة، وفي حال كنت تود كتابةَ فيروسات لأجهزة الحاسوب، ربما عليك أن تتعلم لغة "Assembly" بشكل جيد لكتابة فيروس يصيب الملفاتِ التنفيذية.

-------------------------------

المراجع:

[1] M. A. Ludwig، The Little Black Book Volume One :The Basic Technology، American Eagle Publications، 1996.

[2] M. A. Ludwig، The Giant Black Book of Computer Viruses، American Eagle Publications، 1995.

[3] M. Smith، "The 9 Types of Computer Viruses To Watch Out For & What They Do،" Make Use Of، 5 1 2011. Available: هنا .

[4] P. Szor، THE ART OF COMPUTER VIRUS RESEARCH AND DEFENSE، Addison Wesley Professional، February 03، 2005، p. 744.