مقدمه
ویروس، یک نوع از بدافزار است که در اغلب مواقع بدون اطلاع کاربر اجرا شده و تلاش میکند خودش را در یک کد اجرایی دیگر کپی کند. وقتی موفق به انجام این کار شد، کد جدید، آلوده نامیده میشود. کد آلوده وقتی اجرا شود، به نوبهٔ خود کد دیگری را میتواند آلوده کند. این عمل تولید مثل یا کپیسازی از خود بر روی یک کد اجرایی موجود، ویژگی کلیدی در تعریف یک ویروس است. معمولاً کاربران رایانه به ویژه آنهایی که اطلاعات تخصصی کمتری درباره کامپیوتر دارند، ویروسها را برنامههایی هوشمند و خطرناک میدانند که خود به خود اجرا و تکثیر شده و اثرات تخریبی زیادی دارند که باعث از دست رفتن اطلاعات و گاه خراب شدن کامپیوتر میگردند در حالیکه طبق آمار تنها پنج درصد ویروسها دارای اثرات تخریبی بوده و بقیه صرفاً تکثیر میشوند؛ بنابراین یک ویروس رایانهای را میتوان برنامهای تعریف نمود که میتواند خودش را با استفاده از یک میزبان تکثیر نماید. بنابر این تعریف اگر برنامهای وجود داشته باشد که دارای اثرات تخریبی باشد ولی امکان تکثیر نداشته باشد، نمیتوان آنرا ویروس نامید؛ بنابراین ویروسهای رایانهای از جنس برنامههای معمولی هستند که توسط ویروسنویسان نوشته شده و سپس به طور ناگهانی توسط یک فایل اجرایی یا جا گرفتن در ناحیه سیستمی دیسک، فایلها یا کامپیوترهای دیگر را آلوده میکنند. در این حال پس از اجرای فایل آلوده به ویروس یا دسترسی به یک دیسک آلوده توسط کاربر دوم، ویروس به صورت مخفی نسخهای از خودش را تولید کرده و به برنامههای دیگر میچسباند و به این ترتیب داستان زندگی ویروس آغاز میشود و هر یک از برنامهها یا دیسکهای حاوی ویروس، پس از انتقال به کامپیوترهای دیگر باعث تکثیر نسخههایی از ویروس و آلوده شدن دیگر فایلها و دیسکها میشوند؛ لذا پس از اندک زمانی در کامپیوترهای موجود در یک کشور یا حتی در سراسر دنیا منتشر میشوند. از آنجا که ویروسها به طور مخفیانه عمل میکنند، تا زمانی که کشف نشده و امکان پاکسازی آنها فراهم نگردیده باشد، برنامههای بسیاری را آلوده میکنند و از این رو یافتن سازنده یا منشأ اصلی ویروس مشکل است.
تاریخچه
اولین تحقیق واقعی علمی و آکادمیک بر روی ویروسها توسط فرد کوهن در سال ۱۹۸۳، با نام ویروس که توسط لِن آدلمن ابداع شده بود، انجام شد. بعضاً از کوهن به عنوان «پدر ویروسهای کامپیوتری» نام برده میشود، اما واقعاً ویروسهایی بودند که قبل از شروع تحقیقات او تولید شده بودند. ویروس Elk Cloner نوشته شده توسط ریچ اسکرنتا در سال ۱۹۸۲ در گردش بود و ویروسهای تولید شده توسط جو دلینگر نیز بین سالهای ۱۹۸۱ تا ۱۹۸۳ ساخته شده بودند؛ که همهٔ آنها برای پلتفرمهای Apple II بودند. برخی منابع یک نقص فنی در Arpanet را در سال ۱۹۸۰ به عنوان اولین ویروس ذکر میکنند، اما آن فقط یک کد قانونی و مجاز بود که اشتباه کار میکرد و تنها مسئلهای که ایجاد میکرد این بود که دادهها را در بستههای شبکه پخش میکرد. ویروسهای گریگوری بنفورد، تنها به داستانهای علمیاش ختم نشد. او در سال ۱۹۶۹ ویروسهای غیر مخرب خود را در جایی که امروزه «آزمایشگاه ملی لیوِرمور لارنس» خوانده میشود و در Arpanet اولیه تولید و منتشر کرد.
میزبان ویروس
ویروس هم مانند هر برنامه کامپیوتری نیاز به محلی برای ذخیره خود دارد؛ ولی این محل باید به گونهای باشد که ویروسها را به وصول اهداف خود نزدیکتر کند. همان گونه که قبلاً ذکر شد اکثر ویروسها به طور انگلوار به فایلهای اجرایی میچسبند و آنها را آلوده میکنند. اصولاً میتوان فایلها را به دو گونه کلی «اجرایی» و «غیر اجرایی» تقسیم کرد که عموم ویروسها در فایلهای اجرایی جای گرفته و آنها را آلوده میکنند و واقعاً کمتر ویروسی یافت میشود که در یک فایل غیراجرایی قرار بگیرد و بتواند از طریق آن تکثیر شود. لازم است ذکر شود که بعضی از فایلها را شاید نتوان ذاتاً اجرایی نامید اما چون اینگونه فایلها میتوانند حاوی قسمتهایی اجرایی باشند، لذا آنها را از نوع اجرایی در نظر میگیریم. از این نوع فایلها میتوان به فایلهای اچتیامال و مستندات برنامههای اداره اشاره کرد که به ترتیب ممکن است شامل اسکریپت و ماکرو باشند. اسکریپتها و ماکروها قسمتهایی اجرایی هستند که در دل این فایلها قرار گرفته و کار خاصی را انجام میدهند. در ذیل فهرست پسوندهای رایج فایلهای اجرایی ارائه شدهاست و اکثر نرمافزارهای ضد ویروس در حالت عادی (بدون تنظیمات خاص) این فایلها را ویروسیابی میکنند (البته در برخی برنامههای ضد ویروس ممکن است برخی پسوندها حذف یا اضافه شوند):
.com , .exe , .dll , .ovl , .bin , .sys , .dot , .doc , .vbe , .vbs , .hta , .htm , .scr , .ocx , .hlp , .eml
بنابراین یکی از اصلیترین میزبانهای ویروس، فایلهای اجرایی هستند. از طرف دیگر برخی ویروسها نیز از سکتور راهانداز (Boot Sector) و جدول بخشبندی دیسک (Master Boot Record یا Partition Table) به عنوان میزبان استفاده میکنند. سکتور راهانداز واحد راهاندازی سیستمعامل است که در سکتور شماره صفر دیسکت فلاپی یا درایوهای منطقی یک دیسک سخت قرار دارد و جدول بخشبندی شامل اطلاعات تقسیمبندی دیسک سخت میباشد که آن نیز در سکتور شماره صفر دیسک سخت قرار دارد. اینگونه ویروسها با قرار گرفتن در یکی از این دو محل، هنگام راهاندازی کامپیوتر، اجرا شده و در حافظه سیستم مقیم میشوند و تا زمان خاموش کردن کامپیوتر یا راهاندازی دوباره، همانجا مانده و فلاپیها یا دیسکهای سخت دیگر را آلوده میکنند.
همانطور که گفته شد تنها پنج درصد از ویروسها دارای اثرات تخریبی هستند و بقیه صرفاً تکثیر میشوند. با توجه به این مطلب این پرسش مطرح است که چرا ویروسها به عنوان یک معضل شناخته میشوند و باید با آنها مبارزه کرد؟ پاسخ به این پرسش در موارد زیر خلاصه گردیدهاست:
۱ - بسیاری از ویروسها دارای اثراتی هستند که هرچند تخریبی نمیباشد ولی میتواند برای کاربر ایجاد مزاحمت کند. مثلاً ممکن است پیغامی نمایش دهد، باعث ریزش حروف صفحه نمایش به پایین شود یا اینکه یک آهنگ پخش نماید. علاوه بر این برخی از ویروسها به علت اشکالات نرمافزاری که ناشی از عدم دقت ویروسنویس میباشد، ممکن است دارای اثراتی غیرقابل پیشبینی باشند که گاهی این اثرات میتوانند تخریبی نیز باشند. از دیدگاه کاربر اهمیتی ندارد که خسارت ایجاد شده بوسیله یک ویروس، یک کار عمدی پیشبینی شده توسط نویسنده ویروس بوده باشد یا یک اشتباه برنامهنویسی.
۲ - برخی از ویروسها در حافظه کامپیوتر مقیم شده و از این طریق عملیات تکثیر خود را انجام میدهند. این عمل ممکن است به گونهای باشد که جایی برای اجرای برنامههای دیگر نماند یا باعث ایجاد تأخیر یا وقفه در حین عملیات سیستم اعم از اجرای برنامهها یا راهاندازی کامپیوتر گردد.
۳ - فرض کنید که شما یک ویروس بر روی کامپیوتر خود داشته باشید. بسیار احتمال دارد که این ویروس به صورت غیرعمدی به یک دوست، همکار یا مشتری منتقل شود که این امر ممکن است باعث از بین رفتن اعتماد آنها به شما و شرکت شما شود.
۴ - ویروسها و برنامههای مخرب زیادی وجود دارند که اقدام به سرقت اطلاعات و کلمات عبور کاربر مینمایند. بعضی از اینگونه برنامهها با مقیم شدن در حافظه از عباراتی که توسط شما تایپ میشود گزارش گرفته و پس از اتصال رایانه شما به اینترنت این اطلاعات را برای مقصد خاصی ارسال میکنند. گیرنده این اطلاعات میتواند به راحتی از آنها سوء استفادههای مختلفی نماید.
علاوه بر همه اینها هیچ ویروسی کاملاً بیضرر نیست و در خوشبینانهترین حالت، آنها وقت شما، وقت پردازنده و فضای دیسک شما را تلف میکنند.
در مورد اثرات تخریبی ویروسهایی که آنها را به صورت عمدی انجام میدهند میتوان به موارد زیر اشاره نمود:
• تخریب یا حذف برنامهها و اطلاعات بخشهای مختلف دیسکها.
• فرمت کردن دیسکها.
• کد کردن اطلاعات و برنامهها.
• تخریب اطلاعات حافظه فلشها.
مزاحمتهای فوق ممکن است به محض فعال شدن ویروس (یعنی قرار گرفتن ویروس در حافظه از طریق اجرای یک برنامه آلوده) یا در یک تاریخ و زمان خاص یا حتی با اجرای یک برنامه کاربردی خاص انجام شود.
انواع ویروسها
ارائه یک تقسیمبندی دقیق از ویروسها کار مشکلی است و میتوان ویروسها را به روشهای مختلفی تقسیمبندی کرد. این روشها میتواند بر اساس میزبان ویروس، سیستمعاملی که ویروس میتواند در آن فعالیت کند، روش آلودهسازی فایل و … باشد. در زیر به برخی از این روشها اشاره میکنیم:
۱ - ویروسهای فایلی (File Viruses): ویروسهای فایلی، معمولاً فایلهای اجرایی را آلوده میکنند. فایلهای آلوده به این نوع از ویروسها اغلب (اما نه همیشه) دارای پسوند .com یا .exe هستند.
۲ - ویروسهای ماکرو (Macro Viruses): ویروسهای ماکرو، مستندات برنامههایی را که از امکان ماکرونویسی پشتیبانی مینمایند (مانند MS Word , MS Excel و…) آلوده میکنند. فایلهای اینگونه برنامهها اجرایی نیستند ولی درون آنها قسمتهایی اجرایی به نام «ماکرو» وجود دارد که میتواند میزبان مناسبی برای ویروسهای ماکرو باشد.
۳ - ویروسهای بوت و پارتیشن سکتوری (Boot Sector and Partition Table Viruses): اینگونه ویروسها سکتور راهانداز (Boot Sector) دیسک سخت و دیسکت فلاپی یا جدول بخشبندی دیسکهای سخت را آلوده میکنند. با راهاندازی سیستم از روی دیسکی که به اینگونه ویروسها آلوده شدهاست، ویروس در حافظه مقیم شده و متعاقباً دیسکهایی را که مورد دسترسی قرار گیرند، آلوده میکند.
۴ - ویروسهای اسکریپتی (Script Viruses): این ویروسها که اسکریپتهای نوشته شده به زبانهای ویژوال بیسیک یا جاوا میباشند، تنها در کامپیوترهایی اجرا میشوند که بر روی آنها Internet Explorer یا هر مرورگر وب دیگری با توانایی اجرای اسکریپتها، نصب شده باشد و فایلهای با پسوند .html , .htm , .vbs , .js , .htt یا .asp را آلوده میکنند.
ویروسها جدا از تقسیمبندی فوق، ممکن است در یک یا چند دسته از دستههای زیر نیز قرار بگیرند:
اینگونه ویروسها با مقیم شدن در حافظه، هنگام دسترسی به فایلهای دیگر، آنها را آلوده میکنند.
اینگونه ویروسها به روشهای مختلف ردپای خویش را مخفی میکنند. به این معنی که فایلهای آلوده به اینگونه ویروسها به گونهای نشان داده میشود که یک فایل غیرآلوده جلوه کند. به عنوان مثال عموم ویروسها پس از آلوده کردن یک فایل، اندازه آن را افزایش میدهند یا گاهی تاریخ و زمان ضبط فایل را عوض میکنند. اما ویروسهای مخفیکار میتوانند با روشهای خاص و بدون تغییر وضعیت ظاهری، عملیات خویش را انجام دهند.
این ویروسها پس از هر بار آلودهسازی، با استفاده از شیوههای خود رمزی شکل ظاهری خود را تغییر میدهند.
اینگونه ویروسها با استفاده از الگوریتمهای خاص، علاوه بر تغییر شکل ظاهری خود، ساختار خود را نیز تغییر میدهند به طوریکه ممکن است جای دستورالعملها و حتی خود دستورالعملها نیز تغییر کنند.
ویروسهایی هستند که بخشی از عملیات تخریب خود را در ساعت یا در تاریخ خاص انجام میدهند. البته باید توجه داشت که تکثیر و آلودهسازی فایلها در تمام اوقات فعال بودن ویروس انجام میشود.
معمولاً سیستمی که به ویروس آلوده میگردد نشانههایی را از خود بروز میدهد که با دقت در آنها میتوان به ویروسی بودن احتمالی سیستم پی برد. بعضی از این نشانهها در زیر آمدهاست. اما باید دقت داشت که این نشانهها ممکن است در اثر عوامل غیرویروسی نیز ظاهر گردد. اما اگر کامپیوتر بطور عادی کار میکرده و ناگهان و بدون هیچگونه دستکاری، این علایم را از خود بروز میدهد، احتمال وجود ویروس بیشتر است:
۱ - سیستم در هنگام راهاندازی قفل میکند و احتمالاً پیغامهای غیرمعمول روی صفحه ظاهر میگردد(احتمال جعلی بودن پیغام ها و راهی برای دسترسی کاربری به ویروس داده شود).
۲ - هنگام اجرای برنامهها پیغام کمبود حافظه ظاهر شده و برنامه اجرا نمیگردد.
۳ - در کارچاپگر اختلال ایجاد میشود یا بدون هیچگونه فرمان چاپی شروع به کار میکند.
۴ - امکان دسترسی به برخی از درایوها وجود ندارد.
۵ - هنگام اجرای فایلها، پیغام File is Damaged یا File is Corrupted نمایش داده میشود.
۶ - هنگام اجرای یک فایل، کاراکترها یا پیغامهای غیرعادی روی صفحه نمایش ظاهر که این کلمات همراه با symbol و یا کلمات کدگذاری شده با حروف های غیر عادی همراه می باشد .
۷ - هنگام کار در محیطهای گرافیکی، تصاویر به هم میریزد.
۸ - اصوات غیرمعمول یا موزیک از بلندگوهای کامپیوتر پخش میشود.
۹ - سیستم هنگام اجرای یک برنامه قفل کرده و حتی گاهی فشردن کلیدهای Ctrl+Alt+Del نیز نمیتواند سیستم را دوباره راهاندازی کند.
۱۰ - اطلاعات بخشی از دیسک سخت یا تمام آن بطور ناگهانی از بین میرود یا دیسک سخت ناخواسته فرمت میشود.
۱۱ - اندازه فایلهای اجرایی افزایش مییابد.
۱۲ - خواص فایلهای اجرایی تغییر میکند.
۱۳ - سرعت سیستم بطور نامحسوسی کاهش مییابد.
۱۴ - اطلاعات Setup کامپیوتر از بین میرود.
۱۵ - برنامهها مراجعاتی به دیسکت انجام میدهند که قبلاً انجام نمیدادند.
۱۶ - کاهش فضای خالی دیسک بدون اینکه فایلی اضافه شده یا به محتوای فایلها افزوده شده باشد.
۱۷ - نرمافزارهای مقیم در حافظه با خطا اجرا شده یا اصلاً اجرا نمیشوند.
۱۸ - بعضی برنامهها سعی در برقراری ارتباط با اینترنتی را دارند، که امکان وجود جاسوسی از طریق ویروس آلوده کننده امکان پذیر می باشد.
۱۹ - هنگام کار با اینترنت مقدار ارسال و دریافت اطلاعات ناخواسته افزایش یافته و سرعت به شدت افت میکند.
۲۰ - نامههای الکترونیکی ناخواسته از روی سیستم ارسال شده یا دریافت میگردد.
21- تونل بار یا افزونه ای به صورت ناخواسته روی مرورگر نصب شده و پاک کردن آن نیز فایده ای ندارد.
22-آنتی ویروس غیر فعال شده و یا به درستی کار نمیکند.
23- بعضی از ویروس ها با ساخت فایل هایی با حجم های یکنواخت سعی در پر کردن رم کامپیوتر را دارند که از طریق task manager در سیستم عامل های ویندوز قابل مشاهده می باشند.
24- گاهی ویروس ها اقدام به واکنش نسبت به بازیابی اطلاعات از دست رفته با نرم افزار نموده و باعث پر شدن رم قربانی میشوند.
ویروسهای رایانهای میتوانند به یک کابوس شبانهروزی تبدیل شوند. برخی از آنها با هدف سرقت اطلاعات شخصی به حافظه داخلی رایانه رسوخ میکنند، بعضی از انواع ویروسها ترافیک شبکههای رایانهای را بالا میبرند، در برخی موارد یک رایانه شخصی را به مرکز انتشار بدافزارها تبدیل میکنند و حتی میتوانند در یک لحظه نتیجه سالها تلاش مالی و غیرمالی شما را برباد دهند. مرکز تحقیقاتی گارتنر این هفته با انتشار گزارشی اعلام کرد که حملات سایبری طی یک سال گذشته 169 درصد افزایش یافته است و با این اتفاق 93 درصد مراکز ارائهدهنده خدمات مالی و سازمانهای جهانی مجبور شدند میزان سرمایهگذاریهای خود را در زمینه ابزارهای امنیتی افزایش دهند. در این گزارش آمده است که طی سال 2013 میلادی 88 درصد سرقتهای اینترنتی از طریق جستوجو در سایتها و 12 درصد هم از طریق خدمات پست الکترونیکی صورت گرفته است و در مجموع طی سال گذشته 3.37 میلیون نفر در جهان مورد سرقتهای سایبری قرار گرفتهاند. همچنین گفته شد که مشتریان بانکها در 20.6 درصد، مشترکان یاهو در 9.9 درصد و اعضای فیسبوک در 9.7 درصد از موارد هدف سرقتهای اینترنتی در سال 2013 بودند. در این سال 30 درصد سرقتهای اینترنتی متوجه کاربرانی شد که در اینترنت جستوجو میکردند یا به ارسال و دریافت پست الکترونیکی مشغول بودند. همچنین، در 20 درصد سرقتها مشترکان شبکههای اجتماعی مورد هدف قرار گرفتند، 12 درصد سرقتها از بانکها و مؤسسات مالی صورت گرفت، 8 درصد سرقتها از شرکتهای بزرگ، 7 درصد از کاربران بازیهای رایانهای، 7 درصد از فروشگاههای آنلاین، 6 درصد از مشترکان خدمات پرداخت الکترونیک، 5 درصد از وبلاگها و در 5 درصد موارد هم مشترکان شرکتهای مخابراتی مورد سرقتهای سایبری قرار گرفتند. این آمار و ارقام نهچندان خوشایند نشان داد که با وجود افزایش تعداد برنامههای امنیتی و آگاهی کاربران، باز هم میزان حملات سایبری گسترش یافته است و متولیان این امر هنوز نتوانستهاند کنترل امنیت در دنیای سایبری را در دست بگیرند.