تعریف ویروس به زبان ساده می توان گفت ویروس، برنامه مخفی و کوچکی است که باعث آلوده شدن برنامه های دیگر می شود و می تواند داده ها را دستکاری و یا تخریب نموده، سرعت سیستم را کاهش داده، باعث اغتشاش و عدم کارائی کامپیوتر شود.
مهمترین خصوصیت ویروس قدرت تکثیر آن است.
ویروس ها برای تکثیر نیاز به یک برنامه اجرائی دارند .یعنی بیشتر ویروس ها در فایل های اجرائی جای می گیرند و آنها را آلوده میکنند و کمتر ویروسی پیدا می شود که در یک فایل غیر اجرائی جای بگیرد و بتواند از طریق آن تکثیر شود .بنابراین ویروس برنامه ای است که می تواند نسخه های اجرائی از خود را در برنامه های دیگر قرار دهد.
برنامه آلوده به ویروس می تواند هر برنامه سیستمی یا کاربردی باشد که شرایط مورد نیاز برای پذیرش ویروس را داشته باشد.
برنامه آلوده نیز، قادر است برنامه های دیگر را آلوده کند.
از آنجائیکه ویروس ها می توانند به تمام فایل هایی که توسط سیستم اجرا می شوند، اضافه شوند به آنها خود تکثیر می گویند.
با وجودیکه ویروس ها توسط برنامه نویسان مجرب و حرفه ای نوشته می شوند، ولی برخی ها تصور می کنند که خود به خود و به طور تصادفی وارد سیستم می شوند.
ولی فرد کوهن و سایر کارشناسان احتمال به وجود آمدن ویروس به طور تصادفی را بسیار کم دانسته اند.
زیرا: a-گر طول برنامه ویروس هزار بیت فرض شود.
b-اگر پنجاه درصد از بیت ها صحیح فرض شوند.
c-اگر فرض کنیم با پانصد تغییر در برنامه، ویروس کامل می شود.
آنگاه احتمال به وجود آمدن ویروس برابر است با : با فرض های فوق که شرایط مطلوبی برای ایجاد خود به خودی ویروس است عددp برابر مقدار کوچک می شود که شانس بسیار کمی برای بوجود آمدن و تکامل ویروس به طور تصادفی است.اما نرم افزارهای موجود معمولا دارای روال های خواندن و نوشتن داده ها و...
هستند که این نشان دهنده وجود توابع اساسی ویروسها، در برنامه ها است.
بنابراین برخی احتمال به وجود آمدن ویروس به طور تصادفی را ، با احتمال بسیار کم می پذیرند.
مقایسه ویروس های بیولوژیکی و کامپیوتری به کار بردن کلمه ویروس برای این برنامه ها، به دلیل شباهت فراوان آنها با ویروس های بیولوژیکی است که در بدن موجود زنده فعالیت می کنند.
بنابراین ویروس های کامپیوتری را می توان با ویروس های بیولوژیکی مقایسه کرد.
ویروس های بیولوژیکی رشته هایی از اسید نوکلئیک همراه با پوشش پروتئینی هستند که به تنهایی هیچ اثری از حیات ندارند مگر اینکه به یک سلول زنده به عنوان میزبان وارد شوند.
پس از ورود ویروس های بیولوژیکی به بدن، آنها شروع به فعالیت کرده و فعالیتهای سلول میزبان را متوقف می کنند.
ویروسهای بیولوژیکی در بدن میزبان می توانند تولید مثل کرده و ویروس های جدید به وجود آورند.
ویروس های کامپیوتری مانند ویروس های بیولوژیکی به تنهایی نمی توانند فعالیت کنند و همانند ویروس های بیولوژیکی نیاز به میزبان دارند.
ویروس های کامپیوتری به طور غیر فعال در برنامه میزبان باقی می مانند تا در شرایط مناسب فعال شده و عملیات تخریبی و تکثیر خود را آغاز کنند.
شرایط مناسب برای فعالیت ویروس ها، بسته به نوع آنها متفاوت است.
راه اندازی سیستم، اجرای یک برنامه اجرائی و ...
باعث فعال شدن ویروس ها می شود.
در برخی موارد، یک تاریخ مشخص باعث فعالیت ویروس می شود.
باید توجه داشت هیچ کامپیوتری در برابر ویروس مقاوم نیست.
اگر کامپیوتری در حال حاضر فاقد هر نوع ویروس باشد، آن وقت کامپیوتر به ویروس آلوده نمی شود، اگر: a- هیچ نوع دیسکت یا “سی دی” در آن مورد استفاده قرار نگیرد .
b- به شبکه متصل نباشد.
یعنی همه درگاه های ارتباطی را باید کنار بگذارید.
که البته کامپیوتری که قادر به انجام این کار باشد نادر و کمیاب است.
در صورت وجود چنین کامپیوتری میتوان گفت ویروس به صورت مستقیم یعنی تایپ خود برنامه ویروس می تواند این کامپیوتر را آلوده کند محل فعالیت ویروس بعضی ویروس ها بر روی فایل های با پسوند exe و بعضی از آنها بر روی فایل های با پسوند com و بعضی دیگر بر روی هر دو دسته اثر می گذارند.
بنابراین می توان گفت : یکی از محل های وجود ویروس، فایل های اجرایی است.
پسوندهای رایج فایل هایی که توسط ویروس ها آلوده می شوند عبارتند از: EXE-COM-SYS-BIN-OVL-DLL-SCR-DOC-DOT-OVR-APP-XTP بعضی از ویروس ها علاقه خاصی به بوت سکتور و پارتیشن تیبل دارند.
ویروس های بوت سکتور، جای بوت سکتور را با برنامه خودشان عوض می کنند.
اگر ویروس ها بیش از یک سکتور نیاز داشته باشند، سکتورهای دیگری از دیسک را به کار می برند و در این صورت در FAT آنها را به عنوان “ بد سکتور“ علامت گذاری می کنند تا از نوشتن روی آنها جلوگیری شود و اکثر برنامه های کمکی مانند نورتن نیز نمی توانند محتویات این سکتورهای به ظاهر خراب را نمایش دهند.
وقتی فایل آلوده به ویروس را اجرا کنید، ویروس در حافظه قرار می گیرد و در آنجا مقیم میشود.
پس از آن، هر وقت فایل سالمی را اجرا کنید، برای اجرا به داخل حافظه می رود، و ویروس مقیم در حافظه خود را به آن متصل می کند و بالاخره فایل آلوده در دیسک ذخیره می شود.
بیشتر ویروس ها مانند برنامه های مقیم در حافظه عمل می کنند.
برنامه های مقیم در حافظه پس از اجرا، جای خود را در حافظه از دست نمی دهند.
محل حافظه این برنامه ها با روش خاصی اداره می شود و در اختیار برنامه های دیگر قرار نمی گیرد.
ویروس های مقیم در حافظه کنترل سیستم عامل را در دست می گیرند و فر آیندهای ورودی/خروجی ، مترجم های فرمان و ...
را تحت کنترل می گیرند.
اما بعضی از ویروس ها فقط در حافظه قرار می گیرند و نمی توانند مانند برنامه های مقیم در حافظه عمل کنند.
یعنی تنها از اقامت در حافظه استفاده می کنند و نمی توانند تحت عنوان وقفه ها سیستم عامل فعالیت نمایند.
برخی از ویروس ها بر روی برنامه های غیر اجرائی یا داده ای اثر گذاشته و آنها را غیر فعال می کنند.
ویروس ها، فقط می توانند به فایل ها داده ای صدمه بزنند، اما نمی توانند همه انواع آنها را آلوده کنند.
در نتیجه فایل های داده ای نیز نمی توانند کامپیوتر را آلوده کنند.
بعضی از ویروس ها خودشان را فقط یک بار به یک فایل اضافه می کنند.
یعنی هر فایل را فقط یک بار آلوده می کنند زیرا بیشتر ویروس ها دارای یک علامت مشخصه هستند که باعث می شود فایل های آلوده شده، توسط خودشان را تشخیص دهند.
این امر آنها را قادر می سازد تا از کشف شدنشان جلوگیری بعمل آید زیرا فایل آلوده به ویروس، در صورت آلودگی پی در پی به صورت قابل توجهی بزرگ می شود.
خصوصیات ویروس بر اساس تعاریفی که تا به حال بیان شد، برنامه ویروس باید دارای خصوصیات زیر باشد: برنامه نرم افزاری کوچک و مضری است که روی نوعی وسیله ذخیره اطلاعات کامپیوتری قرار می گیرد.
به صورت خودکار و بدون دخالت اشخاص اجرا می شود.
معمولا مقیم در حافظه هستند و با اجرای فایل های آلوده به ویروس در حافظه کپی می شوند.
ویروس های مقیم در حافظه می توانند از طریق وقفه ها در حافظه مقیم شوند.روش دوم نیاز به مهارت فراوان در برنامه نویسی دارد ولی در عوض دیرتر کشف می شود زیرا اغلب برنامه های ضد ویروس بر روی وقفه ها نظارت دارند.
نام ویروس ها در فهرست فایل ها ظاهر نمی شود.
ویروس ها می توانند خود را در سایر کامپیوترها از طریق برنامه های آلوده کپی کرده و تولید مثل نمایند.
ویروس های کامپیوتری توسط برنامه نویسان تکامل پیدا می کنند.
یعنی در حال حاضر تکامل آنها وابسته به دخالت برنامه نویسان است.
اکثر ویروس ها بوت سکتور کوچکتر از 512 بیت هستند زیرا فضای ذخیره شده در این قسمت 512 بایت (یک سکتر)است.
بعضی از ویروس ها مانع از اجرای ضد ویروس هایی مانند scan می شوند و این در صورتی است که حافظه آلوده به ویروس نباشد.
در این صورت برنامه ضد ویروس ظاهرا اجرا می شود ولی ویروس را نمی تواند بر روی دیسک تشخیص دهد.
ویروس های “ وان هاف” و “ایرانین” از این نوع هستند.
ویروس های مقیم در حافظه، در صورت اجرا یا باز شدن فایل، آنها را آلوده می سازدند ولی ویروس هایی که در حافظه مقیم نیستند باید در فهرست جاری یا مسیر های تعریفی در دستور path به دنبال فایل های سالم بگردنند و آنها را آلوده کنند.بعضی از ویروس ها به دنبال فایل خاص در مسیرهای خاص می گردند و در صورت وجود فایل خاص، آنرا آلوده می کنند.
10-قسمت های مختلف یک ویروس به هم وابسته اند و با پاک کردن یک یا همه دستورات، ویروس از بین می رود.
11-ویروس ها معمولا تغییرات مختلف در کامپیوتر را تشخیص داده و می توانند در مقابل آنها عکس العملی نشان دهند.
مراحل زندگی ویروس از آنجائیکه ویروس های کامپیوتری شباهت زیادی با ویروس های بیولوژیکی دارند به این دلیل نام ویروس را بر آنها نهاده اند و مانند آنها دارای چرخه ای برای گسترش، ایجاد و تخریب هستند که عبارتند از : مرحله خوابیده و بی حرکت که بستگی به نوع ویروس دارد و مدت زمانی است که ویروس از زمان نوشته شدن تا زمان انتقال به محیط خارج لازم دارد.
مرحله انتشار که در این مرحله آلوده سازی صورت می گیرد.
مرحله فعال شدن که در اثر یک رویداد خاص(مانندیک دستور یا تاریخ خاص یا ...) تعیین شده توسط برنامه نویس ویروس، این حالت رخ می دهد.
مرحله صدمه زدن : که با توجه به نوع ویروس مشخص می شود.
عبور از مرحله یک، معمولا بین سه تا پنج سال طول می کشد.
برای ویروس “وان هاف” این مدت دو سال و نیم طول کشیده است تا این ویروس بتواند به کامپیوترهای کاربران در محل های مختلف منتقل شود.
در حالیکه این مرحله، برای ویروس های ماکرو بیش از چند ماه نیست.
با گسترش اینترنت این زمان و این مرحله اکنون دیگر چندان مطرح نیست.
زمانی که ویروس وارد سیستم و اجرا شد، هر برنامه یا منطقه ای از سیستم که آلوده شده باشد، خود یک منتشر کننده ویروس بوده و منتشر کننده های بیشتری تولید می کند.
ویروس ها ایجاد می شوند، فعالیت می کنند، شناسائی می شوند و از بین میروند.
پس از مرحله ایجاد ویروس ، فعالیت قوی و پنهانی، که اوج عملیات تکثیر ، آن است شروع می شود و بیشترین آسیب و صدمه به سیستم های کامپیوتری در این مرحله صورت می گیرد.
پس از شناسائی ویروس، دیگر ویروس با سرعت قبل توان گسترش نخواهد داشت.
چرا که کاربران ماهر کامپیوتر با چگونگی فعالیت ویروس آشنا شده اند و سیستم آلوده را از غیر آلوده به راحتی تمیز می دهند.
در مرحله فعالیت ضعیف کاربران غیر ماهر کامپیوتر، که اطلاعات کافی در مورد ویروس ندارند صدمه می بینند.
در آخر مرگ ویروس فرا می رسد، در این مرحله دیگر برنامه های ضد ویروس به راحتی می توانند ویروس را شناسائی و نابود کنند.
تاریخچه در سال 1983 در یک سمینار “حفاظت دیسک“ که در یکی از دانشکده های دانشگاه کالیفرنیا برگزار می شد، افراد شرکت کننده در سمینار مدعی بودند که اطلاعات درون دیسکت ها، اگر به طور غیر عادی حذف نشوند و آسیب فیزیکی نبینند، در دیسک دارای عمر طولانی هستند.
ولی فرد کوهن این را قبول نداشت.
وقتی سمینار تمام شد، کوهن نظر خود را با استادش “آدلمن“ در میان گذاشت و آدلمن بلافاصله به شباهت نظر کوهن با ویروس های بیولوژیکی اشاره کرد.
این در حالی بود که آنها اطلاع نداشتند که در سال 1972، دیوید جرالد، یکی از نویسندگان داستان های علمی – تخیلی در کتاب خود با نام “ وقتی هارلی یک ساله بود” از کلمه ویروس برای اشاره به کامپیوترهای بد ذات استفاده کرده بود.
در نتیجه کوهن در سال 1983 برنامه کوچک چند بایتی نوشت که پس از اجرا باعث می شد که به طول برنامه، مقداری اضافه شود و این عمل باعث می شد که پس از چند بار اجرا دیگر برنامه آلوده شده، اجرا نشود و در واقع آسیب ببیند.
به این ترتیب فرد کوهن از دانشگاه کالیفرنیای آمریکا اولین ویروس کامپیوتری را نوشت.
ولی هدف کوهن تخریب و صدمه زدن نبود، بلکه او می خواست ثابت کند اطلاعات روی دیسکت ها صدمه پذیر هستند.
اما اولین ویروس کامپیوتری غیر آزمایشی در ژانویه 1986 کشف شد و در سال 1987 نام ویروس هاس کامپیوتری بر سر زبان ها افتاد و این وقتی بود که در نوامبر این سال یکی از فارغ التحصیلان دانشگاه “کورنل” اولین ویروس کامپیوتری به معنای امروزی را نوشت و آنرا وارد شبکه کامپیوتری اینترنت کرد.
این ویروس که به ویروس “اینترنت” معروف شد پس از فعال شدن، از میان 250000 سیستم کامپیوتری متصل به این