یک ویروس، یک برنامه کامپیوتری است که هنگام اجرای یک برنامه، به اجرا درمیآید. بنابراین فقط فایلهای اجرایی میتوانند آلوده شوند. این فایلها در MSDOS معمولاً دارای پسوند EXE،COM ، BAT و یا SYS هستند. بنا به تعریف، ویروس سایر برنامهها را با نسخههایی از خودش آلوده میکند. ویروس توانایی تکثیرشدن دارد، پس در جستجوی مداوم برای محیطهای میزبان جدید برای تولید مثل میباشد . بیخطرترین ویروسها، فقط تکثیر میشوند و در سیستمهای جدید گسترش مییابند، اما برنامه ویروس ممکن است سایر برنامهها را تخریب یا دادهها را مختل کند. شاید در این ضمن خودش نیز تخریب شود. تنها شواهد چنین ویروسهایی، تخریبی است که در سیستمهای آلوده شده ایجاد میکنند. این امر ایجاد سد دفاعی در مقابل ویروس را بسیار مشکل میکند.
ویروسها میتوانند بلافاصله پس از ورود به یک دستگاه، مخرب شوند و یا میتوانند برنامهریزی شوند تا زمان خاصی شروع به فعالیت کنند. نوع دیگری از ویروس منتظر است تا یک توالی خاص رایج از ضربات روی شاسیهای صفحه کلید اجرا شود. از آن بدتر، حتی اگر بنظر برسد یک دستگاه آلوده، پاکسازی شده است، نوع بد خیمی از این ویروس وجود دارد که میتواند مجدداً ظاهر شود و مشکلات تازهای به وجود آورد
برنامههای کامپیوتری شوخیآمیز و گاهی مخربی که ویروس خوانده میشوند و به نظر میرسد با سرعت الکترونهای متحرک سیر میکنند، مانند یک بلای غیرقابل کنترل در جامعه جهانی کامپیوتر انتشار یافتهاند. برنامههای ویروس، که برای دست انداختن دیگران یا خرابکاری عمدی نوشته میشوند، با استفاده مشترک از نرمافزارهای آلوده به ویروس توسط اپراتورهای ناآگاه، به سرعت از کامپیوتری به کامپیوتر دیگر انتشار مییابد.
در اوایل دهه 1980، اگر برنامهنویسی میگفت که کامپیوتر میتواند به ًویروسً آلوده شود، احتمالاً با خنده تمسخرآمیز همکارانش مواجه میشد. طی این مدت واکنش در مقابل این مساله تا حدی تغیر کرده است و این امر تا حدودی به تبلیغات گسترده، اما نه همیشه مبتنی به واقعیتی که به عمل آمده است، مربوط میشود. اما حتی امروزه بسیاری از کاربران دارای این تصور غلط میباشند که ویروسهای کامپیوتر ویروسهای بیولوژیکی هستند.
البته چنین نیست. ویروس های کامپیوتر برنامه هستند، درست مانند برنامههای کاربربرگ یا وازهپرداز. به دلیل این تصور غلط از ویروسهای کامپیوتری است که طیف واکنشها در قبال این موضوع از خندهای تمسخرآمیز تا لبخندی از روی آگاهی گرفته تا هراس عمومی از آلودگی ویروسی متغیر میباشد. تا کنون توضیحات مبتنی بر واقعیت در مورد این موضوع عموماً نادیده گرفته شدهاند، حال ممکن است از خود بپرسید؛ چگونه ممکن است برنامهای در یک کامپیوتر مانند ویروسهای طبیعی در داخل بدن یک جاندار عمل کند؟ برای اینکه بتوانید به این سؤال پاسخ دهید باید با ساختمان سیستمهای کامپیوتری آشنا باشید.
- تعریف ویروسهای کامپیوتری
به زبان سادهتر میتوان گفت ویروس، برنامه مخفی و کوچکی است که باعث آلودهشدن برنامه دیگری میشود و میتواند دادهها را دستکاری یا تخریب نموده، سرعت سیستم را کاهش داده، باعث اغتشاش و عدم کارایی کامپیوتر شود.
مهمترین خصوصیت ویروس، قدرت تکثیر آن است. ویروسها برای تکثیر نیاز به یک برنامه اجرایی دارند، یعنی بیشتر ویروسها در فایلهای اجرایی جای میگیرند و آنها را آلوده میکنند و کمتر ویروسی پیدا میشود که در یک فایل غیراجرایی جای بگیرد و بتواند از طریق آن تکثیر شود. بنابراین، ویروس میتواند هر برنامه سیستمی یا کاربردی باشد که شرایط مورد نیاز برای پذیرش ویروس را داشته باشد. برنامه آلوده نیز قادر است برنامههای دیگر را آلوده کند. از آنجاییکه ویروسها میتوانند به تمامی فایلهایی که توسط سیستم اجرا میشوند، اضافه شوند، به آنها خود انعکاس میگویند. با وجودی که ویروسها توسط برنامهنویسان مجرب و حرفهای نوشته میشوند، ولی برخیها تصور میکنند که خود به خود و بهطور تصادفی وارد سیستم میشوند.
2- ویژگیهای ویروسهای کامپیوتری
هر برنامهای که دارای ویژگیهای زیر باشد، را ویروس کامپیوتری می گوییم:
1. «تغییردادن نرمافزارهایی که به برنامه ویروس متعلق نیستد، با چسباندن قسمتهایی از برنامهی ویروس به این برنامههای دیگر.
2. قابلیت تشخیص اینکه یک برنامه قبلاً تغییر داده شده است یا خیر؟
3. قابلیت انجام تغییر در بعضی از برنامهها.
4. قابلیت جلوگیری از تغییر بیشتر یک برنامه، در صورتی که معلوم شود قبلاً توسط ویروس تغییر داده شده است.
5. نرمافزارهایی تغییر داده شده، ویژگیهای ا الی 4 را به خود میگیرند.
اگر برنامهای فاقد یک یا چند خاصیت از خواص فوق باشد، آنرا نمیتوان بهطور قطع ویروس تلقی کرد.»
3- نحوه فعالیت ویروسهای کامپیوتری
ویروسها همواره به دنبال برنامهای برای آلوده کردن آن میباشند. در صورت یافتن برنامه، ویروس بررسی میکند که آیا این برنامه از قبل توسط ویروس آلوده شده است یا خیر؟ اگر آلوده شده باشد، به جستوجو ادامه میدهیم و اگر آلوده نباشد، یک نسخه از خود را به آن میچسباند و آن را آلوده میکند.
ویروسها از طریق کدهایی که در ابتدای برنامهها قرار میگیرند، مشخص میکنند که کدام برنامه آلوده است و یا کدام برنامه آلوده نیست. در واقع، ویروسها در هر برنامه آلوده، امضایی دارند که دو بار برنامه را امضاء نمیکنند.
4- ایجاد اولین ویروس
پیش از چند دهه قبل، مردی به نام «فرد کوهن» اولین ویروس کامپیوتری را به عنوان پروژه دانشجویی نوشت که قادر بود خود را به صورت انگلوار تکثیر کرده، به برنامههای دیگر بچسباند و تغییراتی را در آنها بوجود آورد. علت نامگذاری ویروس بر روی اینگونه برنامهها، تشابه بسیار زیاد آنها با ویروسهای بیولوژیکی است، زیرا ویروسهای کامپیوتری نیز مانند ویروسهای بیولوژیکی به طور ناگهانی تکثیر میشوند، در حالی که ممکن است بر روی یک دیسک وجود داشته باشند تا زمانی که شرایط مناسب نباشد، فعال نخواهند شد. این ویروس در سال 1986 برای کامپیوترهای مجهز به سیستم MS-DOS نوشته شد. مفهوم کلی ویروس کامپیوتری، احتمالاً از سال 1983 پدید آمد. در آن زمان، این واژه، اولین بار توسط فرد کوهن مورد استفاده قرار گرفت که در شرکت Digital Equipment Corportion تجربیاتی در این زمینه انجام داده بود.
زمینه پیدایش اولین ویروس، که بعدها گسترش فراوانی پیدا کرد، از سال 82-1981 شروع شده بود، یعنی ویروس ELK Cloner برای AppleII؛ این ویروس که Brain نام داشت در سال 1986 برای اولین بار کامپیوتر را آلوده کرد. این ویروس که از نوع ویروسهای Boot-Sector و مقیم در حافظه (Memory-Resident) بود. داستان پیدایش این ویروس بسیار عجیب است.