ویروس قسمت اول - سرگذشت ویروس
ریشهی
مفهوم ویروس رایانهای به سال 1949 بر میگردد، زمانی که فون نیومن پیشگام
علوم رایانهی جدید، مقالهای تحت عنوان مبانی نظری و ساختار ماشینهای
خودکار پیچیده را ارائه داد که در آن ادعا کرده بود یک برنامهی کامپیوتری
میتواند به بازتولید خود بپردازد.
کارمندان آزمایشگاههای بل در سال
1950 با تولید یک بازی به نام “Core Wars” به این تئوری جان بخشیدند. در
این بازی، دو برنامهنویس باید برنامههای خود را آزاد میگذاشتند تا برای
به دست گرفتن کنترل رایانه با هم به رقابت بپردازند. تکه کدهای این برنامه
که توسط چند دانشمند نابغه نوشته شده بود، راه را برای متولد شدن و رشد
ویروس ها روشن کرد.
عنوان "ویروس" اولین بار در داستانهای David Gerrold مورد استفاده قرار گرفت.
در
این داستانها یک دانشمند پولپرست برنامهای به نام "ویروس" ساخته تا
رایانهها را آلوده کند و سپس از طریق فروش برنامهی مقابل آن به نام
"واکسن" پولدار شود. در داستان مذکور، زمانی که یک رایانه توسط ویروس آلوده
میشود شروع به شمارهگیری تصادفی میکند تا زمانی که بتواند یک رایانهی
دیگر را پیدا کند. سپس در نرمافزارهای سیستم نفوذ کرده و سرعت رایانه را
آنقدر پایین میآورد که غیر قابل استفاده شود. فاجعه زمانی رخ میدهد که
نویز روی خطوط تلفن باعث جهش ویروس شده و واکسن آن را از کار میاندازد.
در
سال 1984 شخصی به نام Ken Thompson برنامهای را نوشته و شرح می دهد که
میتوان آن را به عنوان اولین ویروس واقعی در دنیای رایانه در نظر
گرفت(هرچند که خود او این نام را روی آن نگذاشته بود). برنامه ی این ویروس
که به زبان Cنوشته شده بود و خود را بازتولید میکرد، امکان یادگیری syntax
های جدید را داشت. برنامه یک تروجان را تولید میکرد که عمداً دستور login
یونیکس را به شکل نادرستی کامپایل میکرد به طوری که مهاجم بتواند از طریق
هر کاربری که می خواهد به سیستم وارد شود. او بعد از ورود به سیستم،
تروجان دیگری به سیستم اضافه میکرد که هدف آن کامپایلر C بود. وی کدهای
تروجان مذکور را وارد کد منبع کامپایلر کرده و فایل اجرایی آن را ایجاد می
کرد. سپس کدهای تروجان را از فایل منبع کامپایلر پاک میکرد تا هر کس فایل
را می بیند متوجه حقه ی به کار رفته در آن نشود. بعد از آن هر بار که
نسخهی جدید کامپایل میشد برنامه ی تروجان، کدهای پاک شده را وارد منبع
میکرد. بنابراین دستور login همچنان تغییر یافته باقی میماند بدون اینکه
نیازی به پویش برنامهی آن وجود داشته باشد.
در اوایل دههی 80، معدودی ویروس برای رایانههای IBM و Apple ایجاد شدند هر چند که در آن زمان به این نام شناخته نمیشدند.
Fred
Cohen از دانشگاه کالیفرنیای جنوبی اولین کسی بود که تعریفی رسمی برای
"ویروس رایانهای" ارائه داد، این عنوان از طرف مشاورش برای برنامهی
آزمایشی او که برای ارائه در یک سمینار امنیت آماده کرده بود پیشنهاد شد.
از نظر Cohen ویروس رایانهای عبارت است از:
... برنامهای که
میتواند برنامههای دیگر را از طریق تغییر آنها به شکلی آلوده کند که شامل
خود برنامه ویروس یا برنامهی جهشیافته آن باشد. با توجه به خاصیت مسری
بودن، یک ویروس میتواند در سراسر یک شبکهی رایانهای یا در همهی
برنامههای یک سیستم نفوذ کرده و آنها را آلوده کند. برنامههای آلوده شده
نیز میتوانند به عنوان ویروسهای جدید فعالیت کنند و لذا آلودگی رشد پیدا
میکند.
Cohen در آزمایشاتش نشان داد که چگونه یک ویروس میتواند به
سرعت در سراسر یک سیستم عامل انتشار پیدا کند. امروزه صدها هزار ویروس در
سیستمهای مختلف به خصوص در دنیای وسیع و غیر قابل کنترل رایانههای خانگی
سکنی گزیدهاند و تا کنون هیچ ردهبندی بر روی انواع ویروسها که مورد توافق
همگان باشد به دست نیامده است.
در گذشته، معمولاً ویروسها به نام
مکانی که اولین بار در آنجا کشف شده بودند یا با توجه به پیغامی که در
ویروس موجود بود (مانند ویروس AIDS)، نامگذاری میشدند. نمونههایی از
ویروسهای اولیه عبارتند از: ویروس Brain، ویروس Fu Manchu، ویروس Bouncing
Ball و ویروس Icelandic.
در حال حاضر برای جلوگیری از دوباره کاری
تیمهایی که به شکل موازی بر روی شکار ویروسها کار میکنند، اسامی ویروسها
با توجه به خصوصیت ویژهای که دارند انتخاب میشود. برای مثال ویروسهای
SoBig، Code Red و NIMDA. با وجود این، نامگذاری همواره به درستی انجام
نمیشود و لذا بسیاری از ویروسهای معروف دارای اسامی متعددی هستند.