ويروس كامپيوتري چيست؟
يک ويروس يک برنامه کوچک و انجام پذير است که قابليت آنرا دارد که کد خود را در قسمتهای مختلف يک کامپيوتر مثل هارد ديسک يا فلاش کپی کند يا به فايلهای اجرائی بچسباند. اين در حالی است که کاربر از وجود ويروس و اعمالی که انجام میدهد کاملا بیاطلاع است و هنگامی متوجه میشود که سيستم يا بايد Format شود و يا سرعت سيستم به شدت پايين آمده است.
برنامهاي را برنامه ويروس می نامیم كه همه ويژگيهاي زير را داراباشد:
1) تغيير نرم افزارهايي كه به برنامه ويروس متعلق نيستند با چسباندن قسمتهايي از این برنامه به برنامههاي ديگر
2) قابليت انجام تغيير در بعضي از برنامهها.
3) قابليت تشخيص این نکته که برنامه قبلاً دچار تغيير شده است يا خير.
4) قابليت جلوگيري از تغيير بيشتر يك برنامه در صورت تغییراتی در آن بواسطه ی ویروس
5) نرم افزارهاي تغيير یافته ويژگيهاي 1 الي 4 را دارا هستند . اگر برنامهاي فاقد يك يا چند ویژگی از ویژگیهای فوق باشد، نمی توان به طور قاطع آنرا ویروس نامید .
متمایز کردن ویروس از نظر خصوصیات آن :
هر ويروس خصوصياتی مخصوص به خود دارد. ويروسها راههای متفاوتی برای آلوده کردن سيستمها دارند که همين خصوصيت آنها را از ديگر ويروسها متمايز میکند. در زير طريقه جدا کردن ويروسها را از همديگر شرح میدهم:
الف) حجم:
يک ويروس میتواند کوچکتر يا در حدود ۶۶ بايت باشد يا بزرگتر يا در حدود ۴۰۹۶ بايت باشد. در مقايسه با نرمافزارها يک ويروس بايد خيلی کوچک باشد.
ب) روش آلوده سازی: يک ويروس میتواند با روشهای متفاوتی برنامه ميزبان را آلوده کند. در زير سه روش که بيشتر مورد استفاده است شرح داده میشود:
ب(۱) overwriteکردن:
زمانيکه يک ويروس با اين روش برنامهای را آلوده میکند، بسادگی يک کپی از کد خود را در بالای کد برنامه ميزبان مینويسد اين روش خيلی ساده بوده و در ويروسهای اوليه بکار گرفته میشد. در اين روش فايل ميزبان به احتمال زياد خراب میشود و از کاربر از ديسک پشتيبان فايل را فراخوانی میکند. در اين روش تاريخ تغييرات فايل عوض میشود اما حجم همانطور باقی میماند در اين روش توابعی که برنامه بايد انجام دهد زياد میشود و سرعت اجرای برنامه اصلی (اگر خراب نشده باشد) کاهش پيدا میکند.
ب(۲) الصاق کردن:
اين روش کمی پيچيدهتر است. ويروس خود را به انتهای فايل ميزبان الصاق میکند و سرخط برنامه را اصلاح میکند در هنگام اجرای برنامه، برنامه ابتدا به قسمتی که کد ويروس قرار دارد رفته، دستورات ويروس را اجرا کرده و بعد برگشته و به اجرای برنامه ميزبان میپردازد. در نظر کاربر برنامه به صورت نرمال اجرا میشود اما ايراد اين روش اين است که حجم فايل افزايش میيابد. بعضی از ويروسهای الصاقی تشخيص نمیدهند که فايل قبلا ويروسی شده است يا نه و دوباره و چندباره فايل را آلوده میکنند و اين باعث میشود که حجم فايل رشد قابل ملاحظهای کرده و در انتها فايل ديگر غيرقابل استفادمیشود.
ب(۳) آلوده کنندههای ديسک:
ويروسهای ديگر رکورد بوت (بوت سکتور) ديسک يا جدول پارتيشن را آلوده میکنند. اين رکورد قسمتی از ديسک است که هنگام راهاندازی سيستم بصورت اتوماتيک خوانده میشود اين يعنی بعد از راهاندازی سيستم ويروس در حافظه قرار میگيرد!
ج) (terminated and stay resident) يا TSR:
يک ويروس که ممکن است مقيم در حافظه باشد يا با اجرای يک برنامه خاص در حافظه بار شود. هنگامی که ويروس مقيم در حافظه شد هر زمان و هر فايلی را که بخواهد آلوده میکند. تمام ويروسهائی که جدول پارتيشن يا بوت سکتور را آلوده میکنند جزو TSRها هستند.
د) مخفیشدن:
بعضی از ويروسهای TSR از تکنيکی ماهرانه استفاده میکنند چنانچه هيچ کار سيستم عجيب به نظر نمیرسد گويا اصلا ويروسی در سيستم نيست! موقعی که کاربر يک ليست از پوشهها میگيرد ويروس از خوانده شدن صحيح ديسک جلوگيری میکند انگار نه انگار که چيزی در سيستم تغيير کرده چون يک کپی از محتويات ديسک را قبل از آلوده شدن به کاربر نشان میدهد. به همين دليل پيدا کردن ويروسهائی که مقيم در حافظه شدهاند تقريبا غيرممکن است.
ويروسهايی که بوت سکتور را آلوده میکنند ممکن است مخفی شونده باشند. تنها راه مطمئن برای شناسائی اين ويروسها اين است که ابتدا سيستم را با يک فلاپی (که از ويروسی نبودن آن مطمئن هستيم و در حالت محافظت شده از نوشتن است) بالا آورده و ديسک سخت را ويروسکشی کنيم.
هـ) نحوه فعال شدن و نتايج:
ديگر ناحيه برای سوا کردن ويروسها از همديگر نحوه فعال شدن، نتايج آن و نحوه غيرفعال شدن آنهاست. بعضی از آنها در تاريخ معينی فعال میشوند. بعضی ديگر با اجرا شدن برنامهای خاص اجرا میشوند و بعضی ديگر هنگامی خود را نمايان میکنند که ديگر فايلی برای آلوده کردن نمیيابند (يعنی همه فايلها آلوده شدهاند!)
هر وقت که يک ويروس فعال میشود فعاليتهايی را که برايش معين شده است انجام میدهد که اينها را نتايج فعال شدن میناميم. نتيجهای که ممکن است ساده و بیضرر باشد مانند نشان دادن يک پيغام يا بدانديشانه باشد و هارد سيستم را تبديل به يک آشغالدونی بکند. بديهی است که هرکس میخواهد قبل از اينکه ويروس فعال شود آن را بيابند.