بخشی از مقاله
بررسی رفتار و ساختار ويروسهاي كامپيوتري
آشنايی با برنامه های مخرب و مفهوم ويروس كامپيوتري
1-1 آشنايي با برنامه هاي مخرب
هر نرم افزار با توجه به دستورالعمل هايي كه در آن وجود دارد عمليات خاصي را انجام مي دهد . برنامه نويس يك نرم افزار با توجه به هدفي كه از ايجاد نرم افزار دارد يكسري دستورالعمل هايي را در نرم افزار پيش بيني مي كند. حال اگر يك برنامه نويس قصد داشته باشد برنامه اي توليد كند كه به برنامه هاي ديگر و فايلها و اطلاعات كامپيوتر آسيب برساند يكسري دستورالعمل را جهت نابود كردن و يا خراب كردن فايلهاي كامپيوتر در نرم افزار قرار مي دهد.
برنامه هاي مخرب با اهداف مختلفي توليد مي شوند. گاهي اوقات يك برنامه مخرب جهت ضربه زدن به شركت هاي رقيب نرم افزاري و بدنام كردن محصولات شركت رقيب تهيه مي شود . گاهي اوقات برنامه مخرب توسط برنامه نويسان حرفه اي جهت ضربه زدن به اطلاعات شبكه هاي كامپيوتري كشورهاي ديگر و يا نشان دادن قدرت نرم افزاري خود و مطرح كردن نام يك گروه در دنياي برنامه- نويسان باشد .
1-2 انواع برنامه هاي مخرب
برنامه هاي مخرب را از لحاظ نوع آسيب رساني مي توان به چهار دسته تقسيم كرد :
• برنامه هاي مخرب نرم افزارها
اين برنامه ها براي ضربه زدن و نابود كردن يك نرم افزار مشخص يا محصولات يك شركت خاص توليد مي شوند .
• برنامه هاي مخرب سخت افزارها
اين برنامه ها جهت آسيب رساندن به يك قطعه سخت افزاري نظير مانيتور، كارت گرافيكي ، Hard Disk ، BIOS IC و ... تهيه مي شوند.
• برنامه هاي مخرب اطلاعات
اين برنامه ها فقط به اطلاعات موجود در بانكهاي اطلاعاتي آسيب مي رساند .
• برنامه هاي جاسوسي و نفوذ كننده
اين برنامه ها توسط نفوذ كننده ها (Hackers) جهت نفوذ به شبكه ها كامپيوتري ، كامپيوترهاي شبكه ،كامپيوترهاي شخصي و ... تهيه مي شوند .
1-3 راههاي انتقال برنامه هاي مخرب
از طرق مختلفي مي توان برنامه هاي مخرب را مثل ديگر برنامه هاي كامپيوتري بر روي كامپيوترها منتفل كرد . ولي اگر دريافت كننده اين برنامه بداند كه ممكن است اين برنامه مخرب باشد آنرا اجرا نمي كند . به همين منظور توليد كنندگان برنامه هاي مخرب سعي مي كنند اين برنامه ها را بدون اطلاع كاربران روي كامپيوتر آنها منتقل كرده و اجرا كنند و يا اينكه به روشهاي مختلفي اطمينان كاربران كامپيوتر را جلب كنند و برنامه هاي مخرب را برنامه هايي مفيد و سودمند جلوه دهند .
1-4 آشنايي با مفهوم ويروس كامپيوتري
1-4-1 بمبهاي منطقي (Logical Bombs)
يك بمب منطقي مجموعه اي از دستورالعمل هاست كه به برنامه موجود اضافه مي گردد و با پيش- آمدن وضعيت مناسب و بر اساس يك شرط منطقي فعال مي شود . بمب منطقي توسط افراد آشنا كه هدفي خصمانه نسبت به محيط كار يا يك سازمان دارند و كليه نرم افزار هاي اداري و حسابداري و ... آنها توسط يك سيستم سرويس داده مي شود وارد سيستم مي گردند .
از آنجا كه فقط يك برنامه كاربردي خاص آلوده مي شود در انتها شخص تهيه كننده آن قادر است بمب منطقي را به راحتي از برنامه جدا و سيستم را پاكسازي نمايد . براي مثال يك بمب منطقي مي تواند به نحوي برنامه ريزي شود كه به برنامه Calculate.exe متصل شده و در هر بار اجرا تاريخ سيستم را بررسي نمايد و در صورتي كه برابر با تاريخ مشخصي باشد شرط برنامه بمب منطقي برقرار شده عمل تخريب و پاك كردن بانكهاي اطلاعاتي و مختل شدن سيستم انجام مي پذيرد .
1-4-2 كرمها (Worms)
نوع ديگري از برنامه هاي مخرب كه روي داده ها ، اطلاعات حافظه و سطح ديسك مي خزند و مقادير را تغيير مي دهند كرمها (Worms) ناميده مي شوند . يك كرم مي تواند همه محتويات قسمتي از حافظه را صفر كرده و باعث از كاراندازي سيستم گردد . براي مثال تكنيك به كار برده شده در ويروس چرنوبيل كه حافظه CMOS را صفر مي كند خود يك كرم خزنده
است . همچنين به عنوان مثالي ديگر مي توان فرمولهاي كد كننده استفاده شده در كرمها را نام برد كه كد داده هاي تايپ شده در يك فايل TXT را تغيير داده و باعث تخريب اطلاعات تايپ شده مي شود .
1-4-3 Trojan ها
يك Trojan برنامه مخربي است كه هيچگونه عوامل مشكوكي ندارد و ظاهرا بي خطر و طبيعي جلوه مي نمايد . مثلا يك Trojan ممكن است يك برنامه ترسيماتي و گرافيكي
مفيد باشد كه اعمال روزمره يك سازمان را انجام مي دهد ولي در حين ترسيمات و نمايشات به كد كردن تعدادي از سيلندرهاي هارد ديسك نيز مي پردازد .
Trojan ها مي توانند ساختار بسيار پيچيده و بزرگ داشته باشند و ضررهاي جبران ناپذيري را نيز به امكانات سخت افزاري كه برنامه كاربردي منبع با آن درگير است وارد نمايد . مثلا شماره شيار و سكتور را مقداري خارج از محدوده وارد نمايد . حين عمل خواندن و نوشتن هد آن گرداننده گير كند و ديگر قادر به خواندن و نوشتن روي سطح آن ديسك نباشد .
تفاوت Trojan ها با بمب منطقي در اين است كه بمب منطقي محدود به يك شرط و پيش آمدن يك شرايط مناسب است ولي Trojan ها در هر بار اجراي برنامه تاثير مخرب خود را روي سيستم گذاشته و محدود به شرايط خاصي نيستند .
1-4-4 ويروسها (Viruses)
ويروسهاي كامپيوتري به برنامه هاي مخرب كوچكي گفته مي شوند كه مخفيانه وارد كامپيوتر مي شوند و بدون اطلاع و اختيار كاربر خود را تكثير مي كنند .
نام ويروس به اين علت روي اينگونه از برنامه ها گذاشته شده است كه عملكردي مشابه ويروسهاي بيولوژيك دارند . يك ويروس بيولوژيك از طرق مختلفي ممكن است وارد بدن انسان شود و ممكن است تا مدت زيادي به فعاليت مخفيانه در بدن بپردازد و پس از مدتي علائم وجود ويروس مشخص شود . يك ويروس كامپيوتري نيز از طرق مختلفي ممكن است وارد كامپيوتر شود و تا مدتها به فعاليت خود ادامه دهد و پس از مدتي اختلالاتي را در كامپيوتر ايجاد نمايد . ويروسهاي كامپيوتري مي توانند به اطلاعات و برنامه هاي موجود در كامپيوتر آسيب رسانده و آنها را از بين ببرند .
برنامه هاي ويروس كامپيوتري از نظر تخريب كنندگي كامل ترين برنامه ها و در بر گيرنده خصايص ويژه بمبهاي منطقي ، كرمها و Trojan ها مي باشند . علاوه بر اين داراي قدرت تكثير و قابليت سرايت از فايل به حافظه ، فايلي به فايل ديگر ، از ديسكي به ديسك ديگر و در كل از سيستمي به سيستم ديگر مي باشند .
2-1 انواع ويروس از نظر محل تاثيرگذاري
ويروسها مثل ساير برنامه هاي كامپيوتري نياز به محلي براي ذخيره خود دارند با اين تفاوت كه ويروسها محلي را انتخاب مي كنند كه براي رسيدن به اهداف خود در دسترس تر و نزديكتر باشند .
محلهايي كه ويروسها آنها را براي جايگيري خود در نظر مي گيرند به شرح زير مي باشند :
• فايلهاي اجرايي
• فايلهاي غير اجرايي
• ركورد راه انداز (Boot Record)
• جدول پارتيشن (Partition Table يا Master Boot Record)
2-1-1 ويروسهاي تاثيرگذار بر روي فايلهاي اجرايي
بيشتر ويروسها بطور انگل وار به فايلهاي اجرايي مي چسبند و آنها را آلوده مي كنند تا پس از اجرا شدن آنها فعال شده و ضمن تكثير خود اطلاعات را از بين ببرند . به همين منظور اغلب نرم افزارهاي ضد ويروس ، فايلهاي اجرايي يا انعشاب هاي زير را بررسي يا پاكسازي مي كنند :
بنابراين فايلهاي اجرايي با انشعاب هاي فوق از اصلي ترين محلهاي جايگيري ويروسها مي باشند .
2-1-2 ويروسهاي تاثيرگذار بر روي فايلهاي غير اجرايي
به ندرت ويروسها در فايلهاي غير اجرايي مثل فايلهاي متني يا بانكهاي اطلاعاتي جاي مي گيرند . از اين نوع ويروسها مي توان به ويروسهايي اشاره كرد كه در انتهاي اسناد Word يا Excel خود را پنهان مي كنند . اين ويروسها بصورت دستورات نرم افزارهاي Word يا Excel هستند كه پس از باز شدن سند بصورت خودكار اجرا مي شوند . معمولا آثار مخرب ويروسها بر روي فايلهاي غير اجرايي نمايان مي شود و كمتر مشاهده شده است كه ويروسها خود را در فايلهاي غير اجرايي پنهان كنند .
2-1-3 ويروسهاي تاثيرگذار بر روي ركورد راه انداز (Boot Record)
اين نوع ويروسها به Boot Record سيستم آسيب مي رسانند و اطلاعات اين بخش را از بين مي برند در نتيجه موقع شروع به كار سيستم برنامه Bootstrap كه عمليات راه اندازي DOS را آغاز مي كند وجود نداشته در نتيجه كامپيوتر راه اندازي نمي شود و پيغام خطايي از طرف سيستم مبني بر عدم وجود فايلهاي سيستمي در صفحه نمايش ظاهر مي شود .
2-1-4 ويروسهاي تاثيرگذار بر روي جدول Partition ديسك
اين ويروسها تمايل خاصي به پنهان شدن در جدول Partition دارند زيرا اين جدول شامل اطلاعات تقسيم بندي هارد ديسك است كه در سكتور شماره صفر هارد ديسك قرار دارد (Master Boot Record) . ويروسهاي تاثيرگذار روي جدول Partition ديسك مي توانند از نظر منطقي ظرفيت تك تك Partition ها را به هم ريخته آنها را كم يا زياد كرده و يا حتي روي نحوه تقسيم بندي ديسك تاثير بگذارند . در اين صورت ممكن است نتوان به بعضي از فايلها در جايگاه خودشان دسترسي پيدا كرد .
همچنين ويروسهايي يافت مي شوند كه اطلاعات مربوط به setup سيستم را نيز خراب كرده يا تغيير مي دهند .
2-2 روشهاي انتقال ويروس
ويروسهاي كامپيوتري ممكن است از راههاي زير به كامپيوتر انتقال يابند :
2-2-1 انتقال ويروس از طريق ديسكت يا CD آلوده
بعضي از ويروسها با چسبيدن به انتهاي فايلهاي اجرايي (با پسوند EXE و COM) يا با قرار گرفتن روي سكتور ديسكت يا سي دي خود را به روي كامپيوتر منتقل مي كنند . با اجراي فايلهاي آلوده يا با قرار دادن ديسكت يا سي دي آلوده در كامپيوتر و استفاده از آن ويروس به كامپيوتر من
تقل شده و فعاليت خود را آغاز مي كند .
2-2-2 انتقال ويروس از طريق شبكه
چنانچه يكي از كامپيوترهاي متصل به شبكه آلوده به ويروس باشد ممكن است ويروس از
طريق شبكه همه كامپيوترها را آلوده نمايد . بعضي از ويروسها مخصوص شبكه هستند و ابتدا كامپيوتر سرويس دهنده (Server ) را آلوده مي كنند و سپس توسط كامپيوتر سرويس دهنده كليه كامپيوترهاي شبكه را آلوده مي سازند .
2-2-3 انتقال ويروس از طريق اينترنت
با گسترش استفاده از اينترنت ويروسهاي اينترنتي به عنوان نسل جديدي از ويروسها مطرح شدند . ويروسهاي اينترنتي بسيار سريعتر از ويروسهاي ديگر در سطح دنيا انتشار مي يابند بصورتيكه ظرف چند روز ميليونها كامپيوتر در سراسر دنيا به يك ويروس جديد آلوده مي شوند . اين نوع ويروسها ممكن است از طريق پست الكترونيك (E-mail) ويا از طريق دريافت فايل از اينترنت و ... به كامپيوتر منتقل شوند .
3-1 تشخيص ويروسي شدن سيستم
عملكرد ويروسها كه در واقع راههايي جهت تشخيص ويروسي شدن سيستم مي باشند را مي توان به شرح زير دسته بندي كرد :
• ايجاد تاخير ، وقفه يا اختلال در عمليات راه اندازي كامپيوتر يا اجراي برنامه ها و فايلهاي اجرايي .
• تخريب يا حذف اطلاعات و برنامه ها و يا حتي فرمت كردن ديسكها .
• اشغال حافظه و تكثير در حافظه بطوريكه جايي براي اجراي برنامه هاي ديگر وجود نداشته باشد .
اختلالات فوق ممكن است به محض فعال شدن ويروس انجام شوند .
بطور كلي علائم زير مي تواند نشان دهنده ويروسي شدن كامپيوتر باشد :
3-1-1 كند شدن سيستم
البته هر نوع كند شدن سيستم را نمي توان در رابطه با ويروسها قلمداد كرد . كند شدن سيستم ممكن است به علت اجراي برنامه هاي متعدد ، كم بودن حافظه اصلي كامپيوتر ، پايين بودن مشخصات كامپيوتر و ... باشد . ولي اگر كامپيوتري قبلا با همين وضعيت سرعت مناسبي داشته و هم اكنون سرعت اجرايي برنامه ها كم شده است اين امكان وجود دارد كه سيستم ويروسي شده باشد .
3-1-2 ايجاد اشكال در راه اندازي سيستم
اگر هنگام راه اندازي كامپيوتر مشكلي پيش آيد و كامپيوتر راه اندازي نشود ممكن است كامپيوتر ويروسي شده باشد . معمولا اين ويروسها بر روي سكتور صفر هارد ديسك (Boot Sector) قرار مي گيرند و وارد حافظه اصلي مي شوند و شروع به فعاليت مي كنند و اشكالاتي را ايجاد مي نمايند . بعضي از اين ويروسها هنگام راه اندازي سيستم پيغامي را نمايش مي دهند و به كاربر اعلام مي كنند كه كامپيوتر ويروسي است . يكي از اين ويروسها ، ويروس One Half اس
ت كه در هنگام راه اندازي كامپيوتر عبارت زير را نمايش مي دهد :
This is One Half …
3-1-3 ايجاد اشكال در اجراي فايلهاي اجرايي
ويروسهايي كه به فايلهاي اجرايي حمله مي كنند خود را به آنها مي چسبانند و با هر بار اجراي اين فايلها به همراه آنها وارد حافظه شده و فعاليت خود را شروع مي كنند . بعضي از ويروسها هر بار كه به فايلي اضافه مي شوند يك نسخه از خود را روي فايل تكثير مي كنند . بدين ترتيب طول فايل اصلي با هر بار اجرا بيشتر مي شود كه اين خود نشانه اي از وجود ويروس در آن فايل است و به راحتي قابل تشخيص مي باشد .
3-1-4 پيغام Program big to fit in memory
پيغام Program big to fit in memory به اين معناست كه براي اجراي برنامه به حافظه بيشتري احتياج است . اين احتمال وجود دارد برخي از برنامه هايي كه قبلا اجرا شده اند هنوز قسمتي از حافظه را اشغال كرده باشند در اين صورت براي خالي كردن حافظه مي توان سيستم را مجددا راه- اندازي نمود . اما اگر دوباره اين پيغام نمايش داده شد اين احتمال وجود دارد كه كامپيوتر ويروسي شده باشد چون بعضي از ويروسها با روشن كردن كامپيوتر از ديسك آلوده به حافظه RAM منتقل شده و تا وقتيكه كامپيوتر خاموش نشود در حافظه اصلي (RAM ) باقي مي مانند (ويروسهاي مقيم حافظه) در نتيجه قسمتي از حافظه را اشغال مي كنند و به همين دليل است كه براي اجرا و شروع به كار برنامه ها در حافظه RAM فضاي كمتري باقي مي ماند .
3-1-5 كند شدن ارتباط با اينترنت
بعضي از ويروسها اطلاعات كامپيوتر را بصورت مخفيانه از طريق اينترنت به نويسنده ويروس ارسال مي كنند . بعضي از ويروسها ممكن است از طريق اينترنت خود را تكثير كنند . يعني پس از متصل شدن كامپيوتر به اينترنت شروع به تكثير خود در اينترنت نمايند . بنابراين كند شدن ارتباط با اينترنت نيز مي تواند يكي از دلايل ويروسي شدن كامپيوتر باشد .
4-1 مقابله با ويروسي شدن سيستم
بطور كلي راههاي اصلي مقابله و مبارزه با ويروسها به دو دسته زير تقسيم مي
شوند :
• شناسايي ويروسها و جلوگيري از ورود آنها به كامپيوتر (پيشگيري)
• از بين بردن ويروسهاي وارد شده به كامپيوتر و در صورت لزوم به وضعيت عادي برگرداندن سيستم (درمان)