كيف تفعل برامج مكافحة الفيروسات الكشف عن اختبار فيروس EICAR?

StackOverflow https://stackoverflow.com/questions/653396

  •  19-08-2019
  •  | 
  •  

سؤال

اختبار فيروس EICAR يستخدم لاختبار وظيفة من برامج مكافحة الفيروسات.من أجل الكشف عن أنه فيروس ،

أن برنامج مكافحة الفيروسات لديك تعريف الفيروسات لاختبار فيروس

أو

فإن الاستدلال الكشف عن ذلك كما المشبوهة نمط وكشف بأنه الفيروس.

(لقد رأيت مناسبة للمركبات برنامج حذف الملف أثناء تحميله ولكن من دون تحديد الفيروس باعتباره EICAR test virus.كما جسم مشبوه--> i.ه إذا كان لديه تعريف يجب تحديد اسم الفيروس, تفاصيل إلخ أليس كذلك؟)

هل كانت مفيدة؟

المحلول

IMHO, نقطة اختبار الفيروس هو أن يكون شيئا هو معروف أن تكون غير مؤذية ، و قبلت فيروس بحيث يمكن للمستخدمين التحقق من أن برنامج AV تشغيل و يمكن أن نرى تأثير فيروس الهوية.أعتقد حفر النار ، برنامج AV.

أتصور أن معظم التوقيع عليه مباشرة الاعتراف بها على هذا النحو.

أنا لن يفاجأ إذا بت نمط الفعلية EICAR test حدث تشمل بعض الأنماط التي رائحة مثل opcodes عن نشاط مشبوه, ولكن أنا لا أعرف إذا كان هذا هو الحال.إذا كان, ثم قد تكون صالحة اختبار بسيط ارشادي الفيروسات التعرف.ومع ذلك ، منذ EICAR test قد حول لفترة طويلة الوقت أتصور أيضا أن أي الكشف عن مجريات الأمور التي مخابئ أنها ليست جيدة بما فيه الكفاية للقبض على أي شيء الآن في البرية.

لا أتوقع أن الاعتراف EICAR هو إثبات أي ادعاء أقوى من "AV تثبيت مسح ما كان من المتوقع لمسح" ، وإذا وضع AV النظام لن محاولة لجعل أي ادعاء أقوى عن ذلك.

تحديث:

الفعلية EICAR test virus هو السلسلة التالية:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

التي وضعت بعناية (حسب مقالة ويكيبيديا) بعض الخصائص المثيرة للاهتمام.

الأولى أنه يتكون من أحرف ASCII للطباعة.فإنه غالبا ما تتضمن بيضاء و/أو السطر في نهاية المطاف ، ولكن هذا ليس له أي تأثير على اعتراف ، أو على وظيفتها.

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

عند تشغيله ، فإنه ينتج الناتج سلسلة "EICAR-STANDARD-ANTIVIRUS-TEST-FILE!" ثم يخرج.

لماذا ذهبوا إلى هذا الجهد ؟ على ما يبدو أراد الباحثون البرنامج الذي كان معروفا أن تكون آمنة لتشغيل, في جزء بحيث يعيش الماسحات الضوئية يمكن أن يكون اختبار من دون الحاجة إلى التقاط الفيروسات الحقيقي والخطر الحقيقي العدوى.كما أراد لها أن تكون سهلة بتوزيعه على حد سواء التقليدية وغير التقليدية يعني.حيث اتضح أن هناك فائدة فرعية من x86 الحقيقي-وضع مجموعة التعليمات حيث كل بايت يلتقي تقييد ذلك أيضا أن يكون للطباعة حرف ASCII ، فإنها حققت كل الأهداف.

ويكي المادة على رابط ضربة تلو ضربة تفسير كيف يعمل البرنامج فعلا الذي هو أيضا قراءة مثيرة للاهتمام.إضافة إلى التعقيد هو حقيقة أن الطريقة الوحيدة إما الطباعة إلى وحدة التحكم أو الخروج من البرنامج في DOS الوضع الحقيقي هو إصدار برنامج يقطع التعليمات التي شفرة التشغيل (0xCD) ليست للطباعة 7 بت حرف ASCII.وعلاوة على ذلك, اثنين من المقاطعات يتطلب كل واحد بايت فورا معلمة واحدة منها تحتاج إلى مساحة شخصية.لأن القاعدة التي فرضتها كانت لا تسمح المساحات كل أربعة من آخر بايت من البرنامج ("H+H*" في السلسلة) تعديل في المكان قبل مؤشر التعليمة يحصل هناك لتنفيذها.

تفكيك و الإغراق EICAR.COM مع التصحيح في موجه الأوامر على جهاز XP مربع ، أرى:

0C32:0100 58            POP     AX
0C32:0101 354F21        XOR     AX,214F
0C32:0104 50            PUSH    AX
0C32:0105 254041        AND     AX,4140
0C32:0108 50            PUSH    AX
0C32:0109 5B            POP     BX
0C32:010A 345C          XOR     AL,5C
0C32:010C 50            PUSH    AX
0C32:010D 5A            POP     DX
0C32:010E 58            POP     AX
0C32:010F 353428        XOR     AX,2834
0C32:0112 50            PUSH    AX
0C32:0113 5E            POP     SI
0C32:0114 2937          SUB     [BX],SI
0C32:0116 43            INC     BX
0C32:0117 43            INC     BX
0C32:0118 2937          SUB     [BX],SI
0C32:011A 7D24          JGE     0140

0C32:0110                                      45 49 43 41               EICA
0C32:0120  52 2D 53 54 41 4E 44 41-52 44 2D 41 4E 54 49 56   R-STANDARD-ANTIV
0C32:0130  49 52 55 53 2D 54 45 53-54 2D 46 49 4C 45 21 24   IRUS-TEST-FILE!$

0C32:0140 48            DEC     AX
0C32:0141 2B482A        SUB     CX,[BX+SI+2A]

بعد تنفيذ التعليمات حتى JGE 0140, آخر اثنين تعليمات تم تعديلها إلى:

0C32:0140 CD21          INT     21
0C32:0142 CD20          INT     20

معظم DOS نظام الدعوات أرسلت من خلال INT 21 مع قيمة AH أو AX سجل تحديد وظيفة تنفيذ.في هذه الحالة ، AH هو 0x09 الذي هو سلسلة الطباعة وظيفة, يطبع السلسلة ابتداء من تعويض 0x011C إنهاؤها عن طريق علامة الدولار.(كان عليك أن طباعة علامة الدولار مع مختلف خدعة في نقي DOS.) على INT 20 دعوة إنهاء العملية قبل أي بايت إضافية الماضي هذه النقطة يمكن تنفيذها.

الذاتي تعديل قانون مبكرة الفيروس خدعة ، ولكن هنا يتم استخدامه للحفاظ على القيود المفروضة على قيم وحدات البايت التي يمكن استخدامها في السلسلة.في النظام الحديث ، فمن الممكن أن تنفيذ البيانات ميزة الحماية من شأنها أن قبض على التعديل ، إذا التي يتم فرضها على MSDOS وضع التوافق تشغيل الملف COM.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top