هذه المقالة سوف توضح التسلسل التاريخي للبرامج الخبيثة والفيروسات، وكيف تطورت عبر الزمن، وأنواع هذه البرامج الخبيثة وكيف يعمل أي نوع منها، أيضاً توضح كيف يتم تسمية الفيروسات بهذا الإسم وما هي الأليات لذلك.
كيف تطورت البرامج الخبيثة عبر الزمن
منذ بدايات القرن ال20 وحتى تاريخ هذه اللحظه وما زال البشر يقوموا بمحاولة بناء جهاز قادر على التفكير وحل المشاكل مثل الإنسان ، وبغض النظر عن تسمية هذا الجهاز سواء بالحاسب Computer أو بالإنسان الألى Robotics فالمحاولات كانت جارية منذ القدم. فأول محاولة كانت لبناء جهاز universal machine قادر على حل أي معادلة رياضية وقام بها المشفر البريطاني الآن تيورنغ Alan Truing. هذا الجهاز سمى فيما بعد بـ Truing Machine ومن هذا النموذج استمدت فكره أول جهاز حاسب أو على الأقل أول جهاز شبيه بالحاسب ولذلك اطلق على الآن تيورنغ Alan Truing بأبو الحاسبات الشخصية Father of Personal Computer.
جهاز تيورنغ جهاز بسيط ويعتمد في عمله على 3 مكونات ، المكون الأول وهو شريط الذاكرة tape لحفظ البيانات ويمكن أن يشبة بالذاكره memory(في الذواكر هذه الأيام). أما المكون الثاني فهو الرأس head وهو الذي يقرأ ويكتب البيانات من والى الtape ، والمكون الاخير وهو والبرنامج Application وهو الذي يتحكم بالعملية بالكامل .وكان حاسب تيورنغ تمهيد لفكرة بناء الحاسبات الشخصية Computer .
الشكل 1‑1 يبين نموذج الآن والذي سمى بTuring Machine
استلم بعدها زمام الأمور العالم الهنغاري Von Neumann جون فون نيومان الذي له الكثير من الإسهامات في مجال الرياضيات والفيزياء والتحليل المنطقى للإستراتجيات والذي سمى فيما بعد بالGame Theory . وقام جون ببناء ما يعرف الأن ب Von Neumann Architecture وهو تصميم لأجهزه الحاسب تستخدم فيه وحده للمعالجة ويحتفظ بالبيانات وبالتعليمات في الذاكرة RAM . وتفوق ذلك التصميم على أجهزه الحاسب القديمه في ذلك الوقت مثل الحاسب ENIAC و Colossus التي كانت تبرمج بضبط المفاتيح switch وادخال البطاقات المثقبة للجهاز punched card .
الشكل 1‑2 يبين معمارية جون فون نيومان Von Neumann Architecture
وكطبيعه العلماء وحبهم لتمثيل الطبيعه من خلال نماذج صغيره Models قام جون في الفترة ما بين 1948 الى 1956 بعد دراسه مفهوم التكاثر Replication بتقديم فكرة ال Self- Reproducing Automate وهي فكرة رياضية نظرية Theory لبناء أجهزه أو أنظمة قادرة على اعاده بناء نفسها بنفسها Self-Replicate وأطلق عليها اختصارا الإسم Automation.
تكون النموذج الذي وضعه جون من 3 مكونات رئيسية هي أله تيورنغ Universal Machine وUniversal Constructor و Tape يحتوي على المعلومات . وطريقة عمله بأن تقوم أله تيورنغ Universal Machine بقرائه شريط المعلومات Tape وباستخدام المعلومات التي توجد على هذا الشريط فإن الجهاز سوف يستطيع اعادة بناء Rebuilding نفسه قطعه قطعه باستخدام المكون الثاني Universal Constructor.
الجهاز الذي وضعه جون لن يستطيع فهم ما يجري بالطبع فكل ما عليه هو اتباع التعلميات التي توجد على شريط المعلومات ومهمه الجهاز فقط في إختيار القطعه المناسبة من بين جميع القطع وذلك بالبحث عنها قطعه قطعه الى أن يتم ايجاد القطعه الملائمه. وحين ايجاده يتم تركيبها مع القطعه السابقة على حسب التعليمات في الشريط وتستمر الأله في العمل الى أن يستطيع الجهاز اعاده بناء نفسه بالكامل.
الشكل 1‑3 يبين نموذج Self-Building Machine
قام جون بعد ذلك بتحويل النموذج واستخدم فيه ال cellular automate بدلا من استخدام الأجهزه Machine ولكن النظام الذي اقترحه جون كان معقد للغاية حيث طبقت أول نسخة مبسطة منه بعد 40 سنة على الهارديور.
الشكل 1‑4 يبين أحد نماذج الأجهزه القادره على بناء نفسها
في تلك الأثناء كانت هناك العديد من المحاولات لتبسيط نموذج جون وأشهرها محاوله جون كانوي John Conway والتي سميت فيما بعد بالإسم Game of Life.
الأعمال التي قام بها جون نيومان كانت تأسيس لفرع جديد في علم الحاسبات وهو الCellular Automate Theory وفتح المجال لغيره من الباحثين لعمل حواسيب قادرة على الإنشاء Creatures اضافة لفتحه لمجال الArtificial life . نتيجة لذلك وفي بدايات 1960 بدأ العلماء الإهتمام بأفكار جون وقام ثلاثة باحثين في معامل بل Bill Lab بوضع تلك الأفكار على محك التطبيق.
وفي معامل Bill قام الباحث الأول فيكتور Victor Vyssotsky بعمل لعبة سميت بـ Darwin تقوم فيها برامج صغيره بالتنافس مع بعضها البعض في بيئة تخيلية وساعده في ذلك زميله الأخر Douglas McElroy الذي برمج الكثير في اللعبة بالإضافة الى كتابة المحاكي في اللعبة والباحث الثالث روبرت موريس –الأب- Robert Morris Sr قام بمساعدتهم حيث أضاف بعض الإضافات في اللعبة. استخدمت اللعبة وقتها في جهاز IBM 7090 ولن تشتهر في ذلك الوقت مما أدى لنسيانها.
بعد ذلك وبتطور الحاسبات طورت اللعبة من قبل نفس الباحثين وأصبحت تسمى Core War والتي ما زال هناك العديد من المبرمجين والرياضيين يلعبوا بهذه اللعبة الى وقتنا هذا . حيث يستخدم اللاعب لغة أسمبلي مبسطة تسمى RedCode ويقوم بمهاجمة اللاعب الأخر. ويخسر اللاعب في حال كان مؤشر التعليمات Program Counter يشير لتعليمة خاطئة ليست من ضمن تعليمات الـ RedCode . كانت البرامج في الCore War تعمل في بيئة إفتراضية Virtual Machine ولكن ليس جميع هذه الألعاب تتطلب ذلك، فلعبة داروين Darwin لم تتطلب ذلك.
الشكل 1‑5 يبين صوره للعبة Core War تحت المحاكي PMars
بضعه أعوام أخرى ومن نظرية Self-Replicate التي وضعها فون نيومان الى تطبيقها العملي ، حيث شهد أول تطبيق لها في أوائل 1970 حيث قام Bob Thomas في شركة BBN بالتجربه في ال Self-Replicating Program ونتج عن ذلك الفايروس Creeper حيث أصاب أجهزه شركه DEC(من النوع PDP-10) والتي كانت تعمل على نسخه من نظام تشغيل TENEX . دخل هذا الفايروس عن طريق الشبكه APANET وقام باصابة الأجهزة الأخرى على الشبكه . تاثير Payload ذلك الفايروس كان من خلال طباعة الجمله “I’m the creeper, catch me if you can!”.
بعد اصابة الـ Creeper للعديد من الأجهزه قام Bob Thomas ببرمجة برنامج الReaper لكي يتم القضاء على الفايروس Creeper وأستخدم نفس الألية للإنتشار التي أستخدمها الفايروس ، بالتالي يعد ال Reaper أول برنامج مضاد للفايروسات على الإطلاق.
بالتعريف الصحيح للفايروسات سنجد أن ال Creeper لا يعد من الفايروسات ، ولكنه يصنف ضمن الديدان Worms وذلك لأنه يقوم بنشر نفسه عبر الشبكه Network Reproducing بالإضافه لعدم قدرته على إصابة الملفات التنفيذية . في هذه اللمحه التاريخيه لن نفصل كثيرا في تصنيف الMalware لذلك سوف نذكرهم جميعهم ب “فايروس Virus” كما هو اللفظ الشائع للبرامج الخبيثة عامة Malicious Software .
بعدها وبمرور ثلاثة أعوام تحديدا في 1974 ، ظهر نوع جديد من الفايروسات يقوم بمحاولة أستهلاك مصادر الجهاز System Resources بقدر الإمكان ، بداية مع الوابت Wabbit حيث يقوم هذا البرنامج بنسخ نفسه مرات عديده في النظام الى أن تملتئ الذاكره ويقل أداء النظام حتى حصول Crash للنظام. أعتبر هذا البرنامج من نوع ال Fork Bomb وهو أحد أنواع تنصيف شامل لهذا النوع من البرامج وهو الـ Rabbit .
ولم تسلم البرامج العادية أيضا من الفايروسات ، فاللعبة “Animal” التي تعد أشهر الألعاب على الأجهزة الضخمة Mainframe في فترة السبيعينات 1970 تم التعديل عليها لكي تشكل ضررا للمستخدم ، في الأساس تقوم فكرة اللعبة على سؤال المستخدم 20 سؤال عن نوع الحيوان الذي يفكر به المستخدم ، ويبدأ البرنامج بالتخمين حول هذا الحيوان . قام جون واكر John Walker وهو مبرمج نظم لأجهزه ال UNIVAC في ذلك الوقت بعمل تعديل بسيط على اللعبة حيث تحسنت بشكل جيد وبدأ الكثير من مستخدمين بارسال الأشرطه Tape لبريد جون واكر حتى يرسل لهم النسخه المعدلة من اللعبة والذي كان بدوره لا يتردد في ارسال اللعبة لمن يريد . ولكن عمليه التحميل والإرسال كانت مرهقة لجون لذا بدأ يفكر في كيفية ارسال اللعبه بنفسها بدون أي تدخل من المستخدم Self-Reproducing .
ومن الألعاب الى الفايروسات حيث قام جون في 1975 بعمل نسخه جديده من ال Animal ولكن هذه المرة أحتوت على برنامج فرعي يسمى بـ Pervade ، يقوم هذا البرنامج الفرعي عندما تبدأ اللعبة بالعمل بفحص جميع مجلدات النظام ونسخ نفسه لأي مجلد وأستبدال أي نسخه قديمه لAnimal بالنسخة الجديدة .
وبالرغم من قدم هذا الفايروس الإ أنه شوهد بعد فترة في أحد الأجهزه الصغيره Unisys 2200 والذي يعتبر أحد أحفاد الجهاز UNIVAC ، وهكذا يتم مرة أخرى اثبات أن الفيروسات لها طبيعة متقلبة unpredictable nature لا يمكن التكهن بها أو معرفتها . حينها أعتبر Pervading Animal أول فايروس ينتشر in the Wild . جون واكر بعدها بعدة سنوات في 1980 أسس شركة Autodesk وساهم كمبرمج مساعد في برنامج AutoCAD الشهير.
بانتشار الأجهزه المكتبية Desktop Computer في ذلك الوقت ، لم يساعد ذلك فقط على ظهور العديد من الفايروسات ، بل ساعد على ظهور العديد من مبرمجين الفايروسات والذي تعلموا العديد من خفايا وأسرار عمل تلك الأجهزة . أحد أبرز المبدعين هو الطالب ريشتارد سكرينتا Rich Skrenta البالغ من العمر 15 سنه حيث تعلم العديد من الأمور حول أجهزه APPLE II وقام بكتابة العديد من البرامج الطريفة يقوم باعطائها لزملائه في الفصل .
الشكل 1‑6 يبين ريتشارد سكرينتا أول مبرمج فايرس لأجهزة أبل
جهاز APPLE II كان من الأجهزه التي تقلع من خلال نظام التشغيل يكون موجود على القرص المرن Floppy Disk ، وكان ريتش في بداية الأمر يأخذ أقراص أصدقائه لتوزيع الألعاب –على حد قوله- ويقوم باضافه برامجه الخاصة والتي كانت تقوم باعاده تشغيل الجهاز أو طباعة رسالة على الشاشة بشكل يزعج الطلاب . حينما أكتشف الطلاب أن ريتش هو من يقوم بذلك أمتنعوا عن أعطائه أقراصهم الخاصة وعدم أخذ أي شيء من ريتش . من هنا فكر ريتش بطريقة تجعل البرنامج يقوم بتوزيع نفسه self-propagating ويصيب أقراص APPLE II وقام بكتابة البرنامج –في عام 1982- الذي سمى ب Elk Cloner حيث يقوم الجهاز المصاب بإعادة تشغيل الجهاز كل 5 مرات تشغيل إضافة الى طباعة قصيدة على الشاشة كل خمسين 50 إعادة تشغيل للجهاز .
الشكل 1‑7 يبين الPayload للفايروس Elk-Cloner
في نفس العام ومن معامل Xerox PARC قام الباحثان John Shoch و Jon Hupp بعمل أول تجربة سموها فيما بعد بالإسم “الدوده Worm” نسبة الى رواية الخيال العلمي The Shockwave Rider والتي تحدثت عن برنامج “tapeworm” أنتشر حول شبكة تربط جميع أنحاء العالم ، ومن هذه الرواية أخذ الأسم الدوده worm كإسم للبرامج التي تنتشر عبر الشبكة.
المحاولة التي قام بها الباحثان في معامل زيوركس كان الهدف منها هو عمل تحديث لبرنامج يقوم بقياس أداء الشبكة ، ولكن لم تمض تلك المحاولة كما تمنى الباحثان ، حيث أدى وجود خطأ Bug في البرنامج الى فشل التجربة بالكامل وتحطيم Crashed حوالى 100 جهاز كانوا من ضمن التجربة .
وبمرور سنتين من تلك المحاولة (في 1984( وبالدارسة الأكاديمية التي أجراها الطالب فريد كوهين Fred Cohen والتي اعتبرت أول دراسة حقيقية أكاديمية في مجال البرامج ذاتية الإنتشار Self-Replicating Programs في جامعة Lehigh ، حينها وبمعاونه مشرفه أدلمان Adleman (أحد مخترعي شفره RSA والحرف الأول من اسم الشفره A يعود اليه ) تم تسمية تلك البرامج بالإسم “فايروسات Viruses” والذي تم اقتسابه من أحدى روايات الخيال العلمي ، ومن ذلك الوقت أنتشر ذلك الإسم والى اليوم يعرف فريد كوهين بأنه الأب للمصطلح الفايروسات Father of Computer Viruses.
الشكل 1‑8 يبين فريد كوهين أول من أستخدم المصطلح Virus .
أربعة سنوات أخرى 1986 ومن قلب مدينة لاهور في باكستان ، قام الأخوة باسط فاروق -19 سنه- وأمجد فاروق بكتابة أول فايروس يصيب أجهزه IBM PCs . سمى ذلك الفايروس بBrain نسبة الى إسم الشركه التي أسسها الأخوان ، حيث يصيب هذا الفايروس قطاع الإقلاع في الأقراص المهيئة بنظام ملفات FAT ويقوم بنقل قطاع الإقلاع الى مكان أخر على القرص وأستبداله بنسخه من الفايروس .
كما ذكر الأخوان لمجلة TIME فيما بعد أن القصد لم يكن تخريبي وإنما كان لحماية برامجهم الطبية التي يقوموا بصنعها من القرصنة ، وأن الرسالة سوف تظهر في حال قام من يريد انتهاك حقوق البرنامج . وربما كانوا صادقين في ذلك فالرسالة التي يخرجها الفايروس تحتوي على أسماء المبرمجين وأرقام هواتفهم وأحتوي على رساله تطلب الإتصال في حالة الإصابة
Beware of this VIRUS…. Contact us for vaccination…
الشكل 1‑9 يعرض صورة من قطاع الإقلاع لأحد الأقراص المصابة بفايروس الـ Brain.
بمرور سنتان (1988( وبقيام الطالب الخريج روبرت موريس (يطلق عليه الإبن بسبب تشابه الإسم مع روبرت موريس –مبرمج اللعبة Darwin-) بكتابة دودة استغلت العديد من الثغرات في نظام Unix وأصابت حوالى 5% من الأجهزه المتصلة بالإنترنت. سيتم توضيح عمل هذه الدودة Internet Worm في الباب الرابع عند الحديث حول الديدان بشكل عام .
كل هذا كان مجرد البدايه فقط فعند بداية التسعينات كان عدد الفايروسات المعروفة يقدر ب200 فايروس فقط ، ومن ذلك الوقت انتشرت فايروس أكثر خطوره وتطورا وأكثر ذكاء (وصلت عددها الى 70000 فايروس في 2003( بدءاً من فايروسات الماكرو Macro Virus (ظهرت في 1995( وفايروسات البريد Mass-Mailing والتي ترسل نفسها عبر البريد كمرفق Attachment (مثل فايروس ILOVEYOU الشهير والذي انتشر في 2000 ويقوم بارسال رسالة بعنوان ILOVEYOU تحتوي على الفايروس كمرفق( وانتهاءا بالفايروسات أو الديدان والتي استغلت برامج معينه في النظام مثل SQL Slammer (2003( والتي استغلت ثغره Buffer Overflow في برنامج MS-SQL Server وأدت لتقليل حركة traffic العديد من مستضيفي المواقع host ، وأخيرا الدودة الأخيره (ظهرت أول نسخه منها في 2008( المسمى ب Conficker أو Kido والتي استخدمت طرق متقدمة في الإصابة واستهدفت أنظمه الويندوز واستغلت ثغره في NetBIOS في الويندوز.
الشكل 1-10 يبين مدى انتشار الدودة في الولايات المتحده حيث انتشرت بمعدل 6% من الأجهزه المتصله بالإنترنت، ويبين انتشار الدودة Conficker في الولايات المتحده في April 2009
1.1. تعاريف أساسية Malware Definitions:
هناك أربعة مخاطر رئيسية تصيب الأنظمة :
- Spam: يشير المصطلح إلى إستخدام عدة طرق لإغراق البريد Mailbox الخاص بالمستخدمين. الدراسات تشير إلى أن حوالي 70% من حركه البريد Email traffic مصاب بالـ Spam Message .
- Bugs: يشير المصطلح إلى الأخطاء البرمجية الموجودة في الأنظمة، وفي حال وجدت هذه الأخطاء يمكن أن تسبب في أبسط الحالات تحطيم للبرنامج Crash أو حذف البيانات وتخريبها أو تؤدي لوجود ثغرة في النظام Security Weakness يمكن أن يستفاد منها لاحقاً في إختراق النظام بالكامل.
- Denial of Services: يشير المصطلح إلى الهجوم على النظام من خلال اغراقه بالطلبات وذلك لإستهلاك المصادر Consume Resources حتى يتحطم النظام بالكامل أو على الأقل تبطئ الـ Network Traffic.
- Malicious Software: تعد البرامج الضارة (أختصارا بـ Malware) من أخطر أنواع المخاطر السابقة حيث يمكن من خلال هذه البرمجيات أن تسبب في كل المخاطر السابقة ، مثلا تقوم بارسال رسائل Spam من جهاز أحد المستخدمين العاديين ، أو أن تكون مرفق مع أحد رسائل الSpam ،أو أن تستغل وجود Bug في أحد الأنظمة لكي تخترقه ، أو تستخدم في القيام بهجوم من DoS. لذلك سوف يكون الحديث في هذا الباب عن هذا النوع من المخاطر وتفصيل أنواعه من Trojan Horse أو Worm أو Viruses أو Rabbit وغيرها من أنواع الMalware كما سيتبين ذلك لاحقا .
1.2. The Myth of Absolute Security:
قد تكون الحماية الكاملة هي الرغبة لأي مستخدم أو مبرمج أي نظام، ولسوء الحظ لا توجد حماية “مطلقة Absolute” والتي تعني الإجابة بنعم أو لا، اذ مهما بلغت إستخدام التقنيات والوسائل القوية في الحماية الإ أنها لن تصمد كثيرا في وجه مخترق يعرف تفاصيل هذه الحماية. وأحيانا يمكن أن يشكل المخترق العادي بوسائل التقليدية (السرقة،التسلل،اجبار المستخدمين على الحديث) ضررا كبيرا على النظام .
من هنا تكون الحماية نسبية دائماً، ويمكن تقدير تلك النسبة اعتماداً على النقاط التالية:
- أهمية المعلومات أو البيانات التي تقوم بحمايتها.
- نوعية المخترق الذي يريد الحصول على هذه المعلومات.
- نوعية المهارات والمصادر التي يجب أن تتوفر لهذا المخترق.
- القيود المفروض لإستخدام النظام بشكل صحيح Legitimate.
- المصادر المتاحة لتطبيق الحماية Security.
بتقسيم مسألة الحماية بهذه الطريقة سوف تتحول المسألة من إجابة قاطعه (نعم\لا) الى إدارة كاملة للمخاطر Risk Management . وبالتالي تطبيق الحماية سوف يكون أعتماداًَ على درجة الحماية المطلوبة، ومدى أستخدامية النظام Usability، وتكلفة تطبيق الحماية.
1.3. التكلفة الناتجه من الإصابة بالفايروسات The Cost of Malware:
للبرامج الضارة تأثير كبير من الناحية المالية Financial سواء كان ذلك بالنسبه للمؤسسات والشركات Business أو بالنسبه للمستخدمين العاديين. وبما أن الحماية كما ذكرنا هي عبارة عن إدارة للمخاطر فيجب أن تكون الخسائر الناتجة من الإصابة بهذه البرمجيات الخبيثة واضحة ومقدرة بشكل جيد.
لكن عملية تقدير هذه المخاطر عملية معقدة وصعبة في أن واحد ولا يتفق عليها أثنان، فهناك خسائر واضحة Real Cost يمكن تقديرها كإصابة الأجهزة في أحدى الشركات بفايروس يؤدي لتعطيل العمل لعدة ساعات، في هذه الحالة يمكن تقدير الخسائر وذلك بتقدير الوقت المستهلك من غير عمل بالإضافه لحساب الوقت الذي يقوم به الفريق التقنى Support Stuff للقضاء على الفايروس. أما في حالة أصاب الفايروس بنك أو مؤسسة تجارية فعملية التقدير لن تكون دقيقة إطلاقاً حيث هناك Hidden Cost لا يمكن معرفتها ولا تقديره، فسمعة ذلك البنك على سبيل المثال سوف تنخفض ويقل عدد عملاء البنك ومثل هذه الأضرار لا يمكن تقديرها بشكل واضح.
من جانب المستخدم العادي Users فيمكن أن تتسبب له الـ Malware بفقدان معلوماته الشخصية ككلمات المرور ورقم الحساب البنكي ومثل هذه المعلومات التي قد يخسر المستخدم من كشفها.
1.4. عدد المخاطر The Number of Threats:
بالرغم من تزايد عدد الفايروسات في كل يوم الإ أنه لا يمكن تحديد نوعية هذه الThreats أو تحديد عددها بالضبط، فقد تجد أن بعض البرامج المضادة للفايروسات تتعرف على عدد معين من الفايروسات يختلف من برنامج لأخر ومن شركه لأخرى. ذلك الإختلاف يرجع لعده عوامل منها حصول المضاد الأول على نوعية من الفايروسات لم يحصل عليها المضاد الأخر، أو قد تصنف أحدى المضادات برنامج ما على أنه فايروس Threat في حين يراه المضاد الأخر برنامج طبيعي.
حتى طريقة حساب الفايروسات قد تختلف من مضاد لأخرى فمثلا الفايروسات التي تقوم بتوليدها برامج توليد الفايروسات بضغطه زر Virus Generated Tools هل يمكن أعتبارها فايروس واحد أم كل منها فايروس منفصل؟ حيث حدث في 1998 عندما تم توليد حوالى 15000 فايروس في ليلة وضحاها بواسطة أحد تلك البرامج.
أعتبار أخر وهو الفايروسات غير المعروفة وغير المنتشرة، وبشكل عام يجب أن تتعامل البرامج المضادة مع الفيروسات المعروفة وغير المعروفة، ولكن القبض على جميع الفايروسات المستقبلية أمر يستحيل القيام به كما وضح فريد كوهين ذلك. أيضا الفايروسات التي لا تعمل الا في ظل وجود نظام معين ، ففي حال لم تجد تلك البيئه فلن تعمل وتكون خامده Dormant ولكن بمجرد نقلها ولو بطريق الخطأ الى البيئة المخصصة لعمل الفايروس سوف يبدأ بالعمل، لذلك قد نجد مضاد يتعامل معها ومضاد أخرى يتجاهلها باعتبار أنها ملفات غير مضره للنظام الحالي.
1.5. سرعة انتشار الفايروسات Speed of Propagation:
سرعة انتشار الMalware قد يختلف باختلاف طريقة التصميم أو الطريقه التي ينتشر بها، وبتخصيص الحديث حول الديدان worms نجد أن السرعة القصوى-بشكل نظري- لإنتشار دودة قوية تكون ما بين 510 ميلي ثانية –عند إستخدام UDP- الى 1.3 ثانية –عند استخدام TCP-لإصابة جميع الأجهزة والتي تحتوي على الثغرة التي تستغلها الدودة.
الشكل 1-11 يبين المنحنى العام لكيفية انتشار دودة Worm propagation curve مع تقدم الزمن وإزدياد عدد الأجهزة المصابة .
الشكل 1‑11 يبين المنحنى لكيفية انتشار الدودة مع الزمن
صاحب الدودة Worm Author سوف يريد أن تنتشر الدودة بأسرع وقت ممكن ، وبالتالى من جهته فهو يريد شكل منحنى الوقت يرجع قليلا لجهة اليسار، أما صاحب المضاد Defender فسوف يريد أن تبطئ الدودة من سرعة الإنتشار حتى يقوم بوضع المضاد اللازم fix أو أن يكون معدل إنتشار الدودة صغير جدا.
الشكل 1‑12 يبين المنحى من وجهه نظر المخترق والمدافع
1.6. أنواع الفايروسات Malware Type:
تقسم البرامج الخبيثة Malware لعدة أقسام أعتماداً على طريقة عمل هذه البرامج ، وبغض النظر عن تسمية هذه البرامج وتصنيفها يستطيع مضاد الفيروسات القضاء عليها جميعا .
هناك عده أمور تشترك فيه هذه البرامج :
- الإنتشار الذاتي Self-Replication : وتشير هذه الخاصية الى أن البرنامج لكي ينشر نفسه يقوم بانشاء نسخ عديده من نفسه instance بشكل متكرر. ويمكن أن ينتشر البرنامج عندما يقوم المستخدم بنقله بشكل يدوي الى جهاز أخر ، ولكن هذا لا يعني أنه Self-replicating.
- قابلية التغيير Population growth: تشير هذه الخاصية إلى أن النسخة الجديدة من الفايروس يحصل بها تغيير وبالتالي تختلف عن الفايروس الأصلي ولو بشكل بسيط. بعض الـ Malware التي لا تعد Self-Replicating لها درجة الصفر في ال population growth والعكس غير صحيح حيث يمكن أن يكون ال Malware من ال Self-replicating لكنه له zero في معدل التغيير .
- التطفل Parasitic: تشير هذه الخاصية إلى أن الـ Malware يحتاج إلى أن يلتصق –يتطفل- بأي كود تنفيذي executable code حتى يعمل. الكود التنفيذي يمكن أن يكون الكود في قطاع الإقلاع Boot block disk أو أي Binary code أو Interpreted code. وبعض الأحيان يكون الكود المصدر Source Code القابل لعملية الترجمة.
فيما يلي نقوم بسرد أغلب أنواع هذه الMalware مع شرح مبسط لوظيفة وألية عمل كل منهم .
1.6.1. Logic Bomb:
الإنتشار الذاتي Self-Replicate : لا يوجد .
قابلية التغيير Population growth: صفر zero.
التطفل Parasitic : محتمل possibly .
الLogic Bomb هو كود تنفيذي يتكون من جزئين ، الجزء الأول وهو الوظيفة Payload التي يقوم بها وهي غالبا ما تكون وظيفة لها طابع خبيث Malicious Effect. أما الجزء الثاني وهو الTrigger وهو شرط تنفيذ الPayload وقد يكون مرتبط ذلك الشرط بتاريخ معين متى تحقق يبدأ الPayload بالعمل، أو قد يكون الtrigger مرتبط بتسجيل دخول مستخدم معين أو أي شرط ممكن .
من الممكن أن يتم ادخال الLogic Bomb في برنامج ما –بين الأسطر البرمجيه- Inserting to code أو قد يكون برنامج مستقل بذاته Standalone Application. الـ Pseudo-code في الشكل 1-13 يبين كيف يقوم Logic Bomb بتحطيم الجهاز عند اليوم ال 13 .
الشكل 1‑13 يبين الPseudo-Code للLogic Bomb
مثل هذا الLogic Bomb صغير الحجم يكون عالى الخطورة في حال أدخل وسط عشرات الأكواد الأخرى حيث لا يمكن أكتشافه بسهوله،وقد حدث أنه تم طرد أحد الموظفين فقام بكتابة Logic Bomb ووضعه في سيرفر الملفات الذي يستخدمه الموظفين وكان الTrigger بالضبط بعد أخر يوم له في العمل ، وبالفعل عند ذلك اليوم تم مسح جميع بيانات وملفات الموظفين في السيرفر، وتم بعد ذلك قبض الموظف الغاضب وحبس 41 شهر نتيجة لما قام به.
1.6.2. Trojan horse:
الإنتشار الذاتي Self-Replicate : لا يوجد .
قابلية التغيير Population growth: صفر zero.
التطفل Parasitic : نعم yes.
يعود الإسم Trojan Horse لقصة حصان طروادة الشهيرة ، حيث تمكن اليونانيين من الإستيلاء على مدينة طروادة وذلك عندما بنوا حصان خشبي ضخم وأختفى الجنود بداخل ذلك التمثال الخشبي وقدم هذا التمثال كهدية لمدينة طروادة ، وعندما أدخل للمدينة وفي منتصف الليل خرج الجنود من التمثال وأستولوا على المدينة.
في عالم الحاسب لا يختلف طرواده كثيرا في المفهوم، حيث هو برنامج يعمل بشكل عادي ولكن يقوم ببعض المهام الضاره بشكل خفي، أحد الأمثلة على برامج الTrojan Horse هي برامج تسجيل الدخول المزيفة fake login حيث لها واجهة تشبة واجهة البرنامج تماماً، تقوم هذه البرامج بحفظ الباسورد Password-Grabbing الذي يدخله المستخدم ثم تخرج له رسالة خطأ حتى يعيد أدخال الباسورد مره أخرى حينها تقوم بتشغيل البرنامج الأصلي وسيدخل المستخدم للبرنامج وهو لا يعلم أن باسورده قد سرق الأن .
1.6.3. Backdoor:
الإنتشار الذاتي Self-Replicate : لا يوجد .
قابلية التغيير Population growth: صفر zero.
التطفل Parasitic : يحتمل possible .
ال Backdoor هي أي وسيلة تمكننا من تجاوز الإجرائات الأمنية، وقد يقوم المبرمج بعمل Backdoor أحياناً لتجاوز عمليات الفحص password checking والتي قد تأخذ زمناً .
ال Pseudo-code في الشكل 1-14 يبين لنا كيف يمكن للمبرمج أن يتجاوز الفحص والدخول مباشرة للنظام.
الشكل 1‑14 يبين الPseudo-Code للباكدور
هناك نوع من الbackdoor وهو Remote Administrator Tool أو له الأسم الأخر Remote Access Trojan على حسب من يقوم باستعماله وفي أية غرض. هذه البرامج RAT تسمح للمستخدم الوصول البعيد لجهازه والتحكم به عن بعد. أيضا تسمح لفريق الدعم الفني Helpdesk بالإتصال بجهاز المستخدم وتقديم الدعم الفني اللازم. في حالة أصاب الجهاز أي نوع من الـ Malware وقام بتنزيل RAT فسوف يعتبر هذا الRAT هو Remote Access Trojan .
1.6.4. الفايروسات Viruses:
الإنتشار الذاتي Self-Replicate : نعم yes .
قابلية التغيير Population growth: نعم positive.
التطفل Parasitic : نعم yes .
الفايروس هو برنامج يقوم بنسخ نفسه في الملفات التنفيذية الأخرى، ويطلق على الملف الذي نسخ الفايروس نفسه فيه ملف مصاب Infected. وعندما يعمل الملف المصاب يقوم مره أخرى بنسخ نفسه للملفات الأخرى وهكذا. وهذه الميزه Self-Replicating هي التي تميز الفايروس عن غيره من الMalware مثل الديدان worms .
اللفظ فايروس Virus استخدم لأول مره في أحدى روايات الخيال العلمي وذلك في 1970 في رواية الرجل المجروح Scarred man لـ Gregory Benford بنفورد . ولم تقتصر على ذلك ، فقد أستخدم مره أخرى بعد ذلك بسنتين في رواية لـ David Gerrold بعنوان When Harlie Was One. وتحدثت الروايتين عن برنامج استخدم للقضاء على تلك الفايروس ولكن لم يتم ذكر إسم معين له. ولم يقتصر عمل جريجوري بنفورد على ذكر كلمة الفايروس في الرواية ، بل في عام 1969 قام بكتابة بضعة فايروسات –غير ضاره- في ما تسمى الأن بـ Laboratory Lawrence Livermore National وكذلك في أول ظهور لـ ARPANET .
أحد أقدم البحوث الأكاديمية في مجال الفايروسات كانت في 1983 بواسطة فريد كوهين Fred Cohen والذي أشار لأول مرة للإسم للإسم “الفايروس Virus” ووضح أن ذلك الإسم أقترحه مشرفه لين أدلمان Len Adleman . اعتبر فريد من تلك اللحظة الأب لفايروسات الحاسب The Father of computer Viruses بالرغم من صدور عده فايروسات قبل عمل فريد مثل Elk Cloner لريتش ( وهو أول فايروس يصيب الأجهزه العاديه Desktop Computer) أو فايروس pervade لجون واكر (وهو أول فايروس بشكل عام).
هناك بعض ألعاب الحاسب تميزت بميزة الـ Self-Replicating حيث تقوم برامج في اللعبة بمهاجمة بعضها البعض وتعمل اللعبة في بيئة أمنه. فظهرت لعبة Core War في عام 1984 حيث يستخدم اللاعب لغة أسمبلي مبسطة تسمى RedCode ويقوم بمهاجمة اللاعب الأخر. ويخسر اللاعب في حال كان مؤشر التعليمات Program Counter يشير لتعليمة خاطئة ليست من ضمن تعليمات الـ RedCode . كانت البرامج في الCore War تعمل في بيئة إفتراضية Virtual Machine ولكن ليس جميع هذه الألعاب تتطلب ذلك، فلعبة داروين Darwin ظهرت قبل Core War بعده سنوات 1961 ولم تتطلب ذلك.
الفايروسات تقوم بنشر نفسها داخل الجهاز ، ويمكن أن تنتقل لجهاز أخر عن طريق وسيط نقل Transported Media مثل الأقراص الصلبة Floppy Disk أو الأقراص الممغنطه CD/DVD ROM أو الفلاش USB/Flash Disk .ولا يقوم الفايروس بنقل نفسه عبر الشبكه فهذه من مهام الديدان Worms ،على أية حال الكلمة الشائعة “فايروس” كثيرا ما يقصد بها أي نوع من أنواع الـ Malware يقوم بـ Self-Replicating .
الفايروسات بعد أن تصيب الجهاز يمكن أن نراها بأكثر من شكل، فالنسخة الأصلية من الفايروس يطلق عليها جرثومة Germ (قبل أي عمليه injection) ، والفايروس الذي لا يستطيع القيام بعملية النسخ (لوجود ثغره في الفايروس) أو أنه تعامل مع بيئة غير متوقعه يطلق عليه Intended. ويطلق علي الفايروس الموجود داخل النظام ولكنه لا يشكل ضررا للبيئة الحالية ب Dormant. على سبيل المثال أغلب الفايروسات التي تصيب الملفات التنفيذية في نظام ويندوز Win32 في حال تم نقلها لنظام لينوكس Linux أو أي نظام أخر غير عائله Win32 فهي لن تعمل وستكون Dormant ولكنها بمجرد نقلها بواسطه المستخدم الى نظام Win32 فلن تكون Dormant بعد الأن .
1.6.5. الديدان Worms:
الإنتشار الذاتي Self-Replicate : نعم yes .
قابلية التغيير Population growth: نعم positive.
التطفل Parasitic : لا no .
تتشارك الديدان مع الفايروسات في الكثير من الخصائص وأهمها في أنها ذاتيه النسخ أو الإنتشار Self-Replicating ولكن عملية النسخ في الديدان تختلف قليلا عن الفايروسات حيث أن الديدان هي برامج قائمه بذاتها Standalone Application ولا تحتاج للإلتصاق في الملفات التنفيذية، إضافة إلى أنها تنشر نفسها من جهاز لأخر عبر الشبكه Network.
الظهور الأول للإسم الدوده worm ظهر أيضا في أحدى روايات الخيال العلمي The Shockwave Rider للمؤلف John Brunner في 1975 (أستخدم المؤلف أيضا “الفايروس” في تلك الرواية). ومن التجارب الأولى في مجال الديدان هي Creeper حيث أستخدم في APRANET في 1970 واستخدم الReaper لإزاله الCreeper.
ومن الأحداث التاريخيه في مجال الديدان في 1988 حيث قام طالب الPhD روربت مورس (الإبن) في جامعه كورنيل بعمل دودة وكان يريد أن تكون بطئية الإنتشار وغير مكتشفة حيث كان يريد –على حد قوله- أنه يريد قياس عمق الأنترنت. ولكن لم تسر الأمور كما شاء روبرت مورس حيث أنتشرت بسرعه رهييبه وعطلت الإنترنت بالكامل، وسميت تلك الدودة بInternet Worm أو أحياناً Morris Worm نسبه لصاحبها. قبض مورس أنذاك وحبس لمدة 3 سنوات على فعلته.
1.6.6. Rabbit:
الإنتشار الذاتي Self-Replicate : نعم yes .
قابلية التغيير Population growth: صفر zero
التطفل Parasitic : لا no .
يطلق الـ Rabbit على أي برنامج يقوم بمهمة تتضاعف عددها بشكل سريع وأحياناً تسمى بالإسم الأخر باكتريا Bacteria. وهناك نوعين من الـ Rabbit الأول يقوم باستهلاك جميع مصادر الجهاز مثل الذاكره والقرص الصلب ، أحد الأمثله الشهيره هو الـ Fork Bomb وهو برنامج يقوم في حلقه لا نهائيه بانشاء Process حتى يستهلك الذاكره بشكل كامل. النوع الأخر من الRabbit يشبه الدودة ولكنه يحذف نفسه بعد عملية النسخ للجهاز التالي ، بهذا تكون هناك نسخه واحدة فقط على الشبكة من هذا الRabbit. ويطلق عليه ب Jumping Executable لكن هذا النوع قليل الظهور .
1.6.7. برامج التجسس Spyware:
الإنتشار الذاتي Self-Replicate : لا no.
قابلية التغيير Population growth: صفر zero
التطفل Parasitic : لا no .
هذه البرامج تقوم بجمع معلومات من الجهاز وتقوم بارسالها لشخص أخر. أستخدم اللفظ “Spyware” لأول مره في 1995 في إحدى الطرف Joke ولكنه حاليا الأسم Spyware يشير لبرامج التجسس وهي من أحدى المخاطر Threat التي تشكل خطرا على الجهاز.
المعلومات التي تجلبها هذه البرامج تختلف من برنامج لأخر، فبعضها يهتم فقط بجلب كلمات المرور وأسماء المستخدمين account & password حيث يقوم بجلبها من أماكن تخزينها على الجهاز أو يقوم بتسجيلها عندما يكتبها المستخدم Keylogger ، يختلف الKeylogger عن الTrojan Horse في أنها تقوم فقط بمهمة تسجيل ما يكتبه المستخدم keystroke وليس لديه أي مهمة أخرى. بعض برامج الSpyware يهتم بجلب وسرقة المعلومات البنكية أو سرقه مفاتيح تسجيل البرامج Serial Key ،وبعضها يقوم بسرقه عنواين البريد Emails ويقوم بارسالها للSpammers.
قد نرى أن هناك فايروسات أو ديدان تقوم ببعض أو كل وظائف الSpyware ولكنها لن تعتبر Spyware لأنها ليست Self-Replicating. أخيرا يمكن أن تدخل الSpyware للجهاز بعده طرق منها وقت تحميل البرامج من موقع مشكوك أو استغلال ثغرة في متصفح الويب وهنا سوف يدخل الSpyware بمجرد زيارتك للموقع الذي يحتوي على الSpyware.
1.6.8. Adware:
الإنتشار الذاتي Self-Replicate : لا no.
قابلية التغيير Population growth: صفر zero
التطفل Parasitic : لا no .
تشابه هذه البرامج الSpyware من حيث جمع المعلومات ولكن هذه البرامج تجمع المعلومات لغرض التسويق ومعرفة المنتجات والمواقع التي يزورها المستخدم باستمرار. بعض هذه البرامج قد تزعج المستخدمين من خلال رسائل الPopup تحتوي على اعلانات تسويقيه. وبعضها أكثر شراسه يقوم بتحويل الصفحه الرئيسية للمستخدم Home Page الى الموقع التجاري. على أي حال الهدف منها ليس التجسس وسرقة المعلومات بل لأغراض تسويقية بحته Marketing Purpose .
1.6.9. Hybrids, Droppers and Blended Threats:
البرامج بطبيعة الحال مرنة وقابلة للإضافة والتعديل، لذلك أغلب الMalware هذه الأيام لا يمكن تصنيفها بسهوله، حيث أنها تحتوي على خصائص من أي صنف مما قد يجعلها مهجنة Hybrid .
أحد الأمثلة وهو مترجم لغه السي والذي كتبة كين تومبسون Ken Thompson (عند حصوله على ACM Turing Award) ، يقوم هذا المترجم عند ترجمة برنامج للدخول Login باضافه Backdoor يمكنه من تجاوز المطالبة بادخال اسم المستخدم وكلمة المرور. أيضا عند ترجمة المترجم نفسه تخرج نسخه تنفيذيه لها نفس الميزه، وبالتالى يعتبر هذا البرنامج Trojan Horse له القدره على الـ Self-Replicating بالإضافه الى انشائه للBackdoor .
مثال أخر على اللعبة Animal والتي عدلها جون واكر وجعلها تقوم بالنسخ في جميع مجلدات النظام. بما أن عملية النسخ غير معروفه للمستخدم فيمكن أن يصنف الى الTrojan Horse وعملية النسخ من الأساس هي self-Replicating ولكن لا يمكن أعتبارها فايروس –على حسب تعريف فريد كوهين- والسبب أنها لا تصيب أية ملفات أخرى ، ولا يمكن أعتبارها دوده حيث هي لا تنتشر عبر الشبكة . اذا هي ليست فايروس وليست دودة ولكن بلا شك لها سلوك فايروسي Viral Behavior .
هناك تصنيفات أخرى لل Malware على سبيل المثال ال Droppers وهي أي Malware يترك ورائه Malware أخر. مثلاً يمكن أن تقوم الدوده بعد اصابتها لنظام ما أن تقوم بوضع Trojan Horse وهكذا لجميع الأنظمة التي تصيبها. أيضا يمكن للفايروس أن يترك backdoor خلفه .
أنواع أخرى من ال Malware يأخذ صفات الفايروس جميعها بالإضافه إلى إمكانية الإنتشار عبر الشبكة كما في الدودة ، يطلق علي هذه الMalware أحيانا بـ Blended Threats . ال Internet Worm سوف تعتبر Blended Threat طبقاً لهذا التعريف .
1.7. Zombies:
بعض المخترقين يقوموا باستخدام الأجهزه التي قاموا باختراقها في عمليات أخرى بدون علم المستخدم بالطبع، يطلق على تلك الأجهزه بالإسم Zombie ، عاده تكون المهام في إرسال رسائل الدعائيه Spam Message من ذلك الجهاز المخترق ، أو الدخول في عملية هجوم من نوع رفض الخدمه DoS.
ارسال Spam من الZombie أمر تريده العديد من الشركات التجارية، حيث أن الرسائل الدعائية تعتبر أمر مرفوض للعديد من مزودي خدمة الأنترنت ISP ويتم اغلاق الموقع الذي يكتشف أنه يقوم بارسال رسائل Spam للمستخدمين، لذلك يلجأ الكثير للZombie حيث لا مشكله في حال انكشف أمر الجهاز لأنه ميت في كل الأحوال Zombie.
الهدف الأخر وهو ايقاف الخدمه في موقع ما أو على الأقل أغراق الإتصال بالطلبات الى أن يحصل سقوط Down للموقع. هذه العملية لن تفيد كثيرا في حال كان عدد المشاركين بسيط والسبب أن ال Network Traffic تكون عاده كبيره وتستوعب عدد كبير من الBandwidths، اضافه الى أنه يمكن منع عنواين تلك الأجهزه من الاتصال بالموقع في حال عرف أنهم مشاركين في عمليه flooding. لذلك يريد المخترق أن يحصل على أكبر عدد ممكن من الأجهزه والهجوم على الموقع وهذا يعرف بالهجوم الموزع DDoS . أحد أهم القضايا في عملية الـ DDoS هي كيفية التحكم في الأجهزة المخترقه لكن عادة يلجأ المخترقين باستعمال الIRC حيث يمكن التحكم باستخدام مجموعة من الأوامرCommands. اذا تم استخدام ذلك يطلق على شبكة الأجهزه المخترقة بالإسم Botnets نسبة للبرنامج Bots المستخدم في الIRC.
1.8. تسمية الفايروسات Naming of Viruses:
عندما تصيب أحد الMalware الجديدة الأجهزة وتبدأ بالإنتشار، تكون الأولوية لشركات الأنتي فايروس هو ايجاد المضاد لهذا الفايروس، وموضوع التسمية يأتي في المرحلة الثانية مباشره. يتم أختيار اسم الفايروس من قبل محللي الفايروسات وباحثي الأنتي فايروس، وعاده يتم أختيار الأسم من خلال وظيفة الفايروس، أو من خلال المخرج الذي يظهر أو الذي يقوم بطباعته الفايروس (كما في فايروس ستوند Stoned حيث كان يخرج رسالة Your Pc is now Stoned!) . مبرمجي الفايروسات عندما لاحظوا ذلك بدؤا بإدخال أسمائهم ووضع عبارات واضحه في الفايروس على أمل أن يتم تسمية الفايروس بهذا الإسم ، لكن بالمقابل تجاهل محللى الفايروسات ذلك لكي لا يكونوا لعبة في أيدي كاتبي الفايروسات.
لسوء الحظ لا توجد طريقة موحدة يتم فيها تسمية الفايروس، لذلك قد تجد فايروس واحد بعشرات الأسماء والألقاب، فلكل محلل وباحث طريقته في التحليل والتسمية. المشكله سوف تقع على كاهل المستخدم النهائي الذي يسمع الأخبار المتداولة بين الناس عن ظهور فايروس معين، ويبدأ بالشك في المضاد الذي يستخدمه في حال لم يُظهر الإسم الذي يتوقعه المستخدم وكان يستخدم أسم أخر.
أوضح بعض الباحثين صعوبة وجود تسمية موحدة للفايروسات وحتى في المستقبل القريب، والسبب هو الإنتشار السريع للفايروسات بشكل شبه يومي يجعل عملية انتظار الإسم الذي يجب أن يوافق عليه أغلب المحليين أمر بطئ، السبب الأخر وهو عدم وجود معيار معين في عملية التسمية حيث لا يتضح ما الذي يجب النظر اليه لكي يتم تسمية الفايروس، ومن هنا سنجد أنه يمكن أن نسمى الفايروس بأسماء لا تنتهي كل اسم منها قد يكون نتيجه لوجهه نظر معينة.
هناك نصائح وارشادات في عملية التسمية لكن لا يوجد من يتبع مثل هذه مقاييس ولكل شركه أنتي فايروس طريقتها الخاصة في التسمية. لذلك الحل الأفضل هو عند ظهور فايروس محدد القيام بأخذ جميع الأسماء من محللي الفايروس لهذه الفايروسات ومن ثم تخزينها كأسماء لهذا الفايروس.
هناك أداة تقوم بشكل أتوماتيكي بهذا العملية تسمى VGreb قام بها Ian Whaley مبدأ عملها هو أخذ جميع الأسماء التي تخرجها برامج الأنتي فايروس للفايروس المحدد وتقوم بتخزينها للبحث عنهم لاحقاً . الشكل 1-15 يبين طريقة عمل الـ VGreb :
الشكل 1‑15 يبين طريقة عمل أداه VGreb
الأسماء التالية هي للدودة الأخيرة Conficker ويظهر أن لكل مضاد أسم مختلف عن الأخر:
Common name: Conficker
Aliases:
Win32/Conficker.A (CA)
W32.Downadup (Symantec)
W32/Downadup.A (F-Secure)
Conficker.A (Panda)
Net-Worm.Win32.Kido.bt (Kaspersky)
W32/Conficker.worm (McAfee)
Win32.Worm.Downadup.Gen (BitDefender)
Win32:Confi (avast!)
WORM_DOWNAD (Trend Micro)
Worm.Downadup (ClamAV)
بشكل عام يمكن أن تكون التسمية باتباع الأقسام التالية :
- Malware Type: وهنا يتم تحديد نوع الـ Threat ، مثلا دودة Worm.
- Platform Specifier: وهنا يتم تحديد البيئة التي يعمل عليها الفايروس ، مثلا win32 أو w32 وهذا يعني أنها تحتاج لنظام تشغيل ويندوز 32 بت، وبشكل أعم يمكن أن تكون الـPlatform Specifier هي بيئة التنفيذ مثلا VBS لبرامج Visual Basic Script.
- Family Name: هنا يتم تحديد اسم مقروء وواضح لإسم الفايروس.
- Variant: الكثير من الفايروسات الجديده يتم فيها تعديل نسخة سابقة من فايروس قديم ، هذه الفايروسات تسمى Variant.وعاده يتم إسناد حروف هجائية للإشارة للنسخه الجديدة (مثلا الحرف C) للتفريق من النسخه السابقة (مثلا B) . وفي حال أنتهت الأحرف (وصلت الأحرف لZ) يمكن البدء بAA وهكذا.
- Modifier: هنا يتم إعطاء معلومات إضافية عن الفايروس، مثلا طريقة الإنتشار مثل MM وهي إختصار Mass Milling.
هناك مواقع تقدم خدمة أختبار الملف في العديد من البرامج المضادة للفايروسات ، فقط تقوم برفع الملف وتخرج النتيجة كما يبين الشكل 1-16 للموقع VirusTotal.com .
الشكل 1‑16 يبين نتيجة فحص فايروس من خلال الموقع VirusTotal.com
على العموم القضية الأكبر لشركات الأنتي فايروس هي الكشف والقضاء على الفايروس مهما كان الإسم.
من كتاب مقدمة في علم القيروسات وطرق القضاء عليها.