اقرأ في هذا المقال
- ما هي الأدوات اللازمة لبرمجة فيروسات الكمبيوتر؟
- أهم الأمثلة على لغات البرمجة (Visual Basic 6)
- الطرق التي يقوم بها مبرمجي الفيروسات للتصدي لمحاولات القمع
ما هي الأدوات اللازمة لبرمجة فيروسات الكمبيوتر؟
عالم الفيروسات كبير ويتم برمجتها لأهداف كثيرة، وعندما نقوم ببرمجة الفيروسات فإننا نحتاج إلى معرفتنا بمجموعة من الأدوات اللازمة للوصول إلى الهدف المطلوب ومن المتطلبات اللازمة لبرمجة الفيروسات:
1. معرفة نوع نظام التشغيل:
تعد معرفتنا بنظام التشغيل هي أول وأهم خطوة للقيام ببرمجة الفيروسات إذا أنّ نظام التشغيل هو المسؤول عن تنفيذ أوامرالفيروس، وبدون معرفتنا بنظام التشغيل لن نتمكن من برمجة الفيروس بشكل الصحيح فمثلا ً: إذا قمنا ببرمجة فيروس يعمل فورمات ل (Drive D) إنّ هذا القرص مسؤول عن قراءة أي قرص صلب تم وضعه في جهاز الحاسوب، ويجب أن نفهم كيف يقوم النظام بالتعامل مع العمليات والأوامر وكيف يقوم بتشغيل البرامج والتعامل مع المكونات الصلبة التي يتم اتصالها بالجهاز وكذلك معرفتنا بخدمات النظام (System Services) لذا يجب أن نكون على معرفة بكل معلومة في نظام التشغيل وجميع محاوره.
2. توفر برنامج تشفر وحماية للفيروس:
بعد الانتهاء من برمجة الفيروس وكتابة الكود الخاص به تواجهنا هنا مشكلتين هما:
- كُبر حجم الفيروس لما فيه من أوامر.
- سهولة قراءة الفيروس وتفكيكه والحصول على الكود الخاص به وكشف الأوامر والعمليات الموجودة به (Disassembling).
وحتى نعمل على حماية الفيروس من التعديل وإخفاء الكود الخاص به سنستخدم برنامج (Packer) حيث يعمل على ضغط الملفات التنفيذية المحتوية على كود أوامر الفيروس، وهذا البرنامج يقوم على ضغط وتشفير الكود التنفيذي للملفات التنفيذية ويوجد أيضاً برامج أخرى يمكن إستخدامها مثل برنامج (UPX) الشهير.
3. إتقان إحدى لغات البرمجه:
تتنوع لغات البرمجة في عالم المعلوماتية وعندما نقوم ببرمجة الفيروسات يجب علينا أن نكون على معرفة كاملة وبشكل متقن بإحدى لغات البرمجة الشهيرة، مثل (C وC++ وC# وJAVA BASIC وDelphi) بحيث تعد لغة البرمجة هي الأساس لصناعة الفيروس وتحويل وتطبيق أفكارنا إلى واقع نستطيع مشاهدته وتجربته.
4. توفر مبرمج خاص بلغة البرمجة:
يقوم المبرمج الخاص بلغة البرمجة على تحويل الكود الذي قمنا بكتابته إلى برنامج تنفيذي للاستفادة من الفيروس بهذا البرنامج، ونقوم بتحقييق ملف مستقل للفيروس إذاً تتمحور صناعة وبرمجة الفيروسات على أربع نقاط أساسية ويجب معرفتها لأي مبرمج حتى يتمكن من صناعة فيروس خطير وإليك هذه النقاط:
- آلية الإستنساخ (The Replication Mechanism): بهذه الآلية يقوم الفيروس بنسخ الكود المصدري الخاص به أكثر من مرة.
- آلية التخفي (The Protection Mechanism): تقوم بعض أنواع من الفيروسات على التخفي في جهاز الحاسوب حتى لا يتمكّن المستخدم من معرفة وأكتشاف وجودها أوحذفها.
- آلية التنشيط (The Trigger Mechanism): حيث يقصد من هذه الآلية هي إنتشار الفيروس على جهاز الحاسوب بشكل كامل دون رصده ومعرفة المستخدم وانتشاره على أي جهاز يتم ربطه معه.
- آلية التنفيذ (The Payload Mechanism): في هذه المرحلة الأخيرة يقوم الفيروس على تنفيذ أوامره ووظائفه ليفعل ما تم برمجته لأجله.
أهم الأمثلة على لغات البرمجة (Visual Basic 6):
مع أن هذا الإصدار من اللغة قديم إلا أنه محبب من قبل مبرمجين الفيروسات مقارنة بلغات البرمجة الأخرى مثل: (Visual Basic .NET) وذلك لأنه مدعوم من قبل جميع إصدارات (Windows) بحيث يتميز بالآتي:
- أن أي إصدار جديد من أنظمة التشغيل يدعم إصدارات لغات البرمجة التي قبله وبذلك تكون مدعومة من كل الإصدارات.
- هذه اللغه مستقلة لا تحتاج إلى أي إضافات على جهاز الحاسوب وهذه الميزة التي يحتاجها الفيروس الذي نقوم ببرمجته أن يكون مستقل بذاته.
- إن هذا الاصدار من اللغة يدعم جميع أوامر النظام.
- هذا الإصدارمن لغة فيجوال بيسك 6 يوجد معه مبرمج خاص لبرمجة الفيروس من تصنيع شركة ميكروسوفت العالميه يسمى “المترجم أو بيئة التطوير المتكاملة ” الشهيرة بالفيجوال بيسك الإصدار السادس.
الطرق التي يقوم بها مبرمجي الفيروسات للتصدي لمحاولات القمع:
- إخفاء التطبيق من مدير المهام: ذلك لمنع المستخدم من إغلاق برنامج الفيروس من خلال إدارة المهام و يتم حل هذه المشكلة من خلال برامج مشابهة لمدير المهام الخاص بالنظام وهي أفضل منه.
- التخفي و خداع المستخدم: يتم ذلك باستبدال ملفات عادية تنفيذية من النظام بالفيروس أو تسمية الفيروس بأسماء مألوفة في النظام مثل (svchost.exe).
- الانتشار: يصعب حذف جميع ملفات الفيروس و التي تكون نسخة طبق الأصل ولكنها أصبحت منتشرة بشكل لا يمكن مقاومته، تخيل نسخ ملف واحد فقط كل ثانية.
- طريقة كلب الحراسة: وهي طريقة ذكية تعتمد على وضع برنامجين من الفيروس بحيث كل منهما يختبر الثاني إن كان غير فعالاً، فإن كان كذلك يقوم بتشغيله والعكس صحيح ومنطقياً لا يمكن للمستخدم إنهاء البرنامجين في نفس اللحظة.
- التحولّ والتغير: هي من أصعب أنواع الفيروسات على كلاً من المبرمج (من حيث البرمجة) والمستخدم وبرنامج مضاد الفيروسات وذلك من حيث التصدي للفيروس قبل فوات الأوان فهذا النوع من الفيروسات لا يكتفي بتغيير خلفية سطح مكتبك.