ريشهي مفهوم ويروس رايانهاي به سال 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. با وجود اين، نامگذاري همواره به درستي انجام نميشود و لذا بسياري از ويروسهاي معروف داراي اسامي متعددي هستند.
- 7