چکیده
امروزه با توجه به فراوانی ویروس های کامپیوتری از یک طرف و صدمات حاصل از انتشار آنها از سویی دیگر شناخت و نحوه مبارزه با آنها بسیار حائز اهمیت می باشد . در این مقاله آشنایی با نحوه عملکرد ویروسهای کامپیوتری بیان شده است .
مقدمه
امروزه با توجه به تعدد ویروس های کامپیوتری در کشور،که اغلب آنها نیز ایرانی می باشند، شناخت و جلوگیری از تخریب آنها مفید ولازم به نظر می رسد . پیش از هر گونه بحث فنی لازم است توضیحی در مورد ویروس و خوب وبد بودن ویروس سازی از دیدگاه مثبت آن بررسی شود تا مبادا افراد بد گمان و احتمالا متنفر از ویروس ، سیل بدو بیراه خود را نثار ویروس نویسان! کنند بد نیست بدانیم جدای از هنر و تکنیک زیبای عملکرد ویروس های مختلف و شیرینی جدال با ویروس یابها ، خود ویروس عاملی برای حمایت از برنامه های کاربردی می توامند به شمار آید، چرا که اولین ویروس ها در راه جلوگیری از کپی برداریهای غیر مجاز طرح و نوشته شده و زمان فعالیت آن را موکول به وقتی کرده اند که فرد خاطی از " خواهش عدم کپی غیر مجاز" نیاز به گوش مالی دارد ! تا شاید همین فرد عادت به خرید و تهیه ی برنامه های مورد استفاده خود از طریق اصولی بنماید.
واما ویروس ها برنامه هایی هستند که به شکل پنهانی، موقع اجرا شدن برنامه آلوده خود را به برنامه های اجرایی نظیر فایل های COM و EXE می چسبانند و معمولا بدون اینکه تاثیری در کار اصلی برنامه آلوده بگذارند، منتظر زمان فعالیت نهایی یا برقراری شرط خاصی می شوند . حال این فعالیت می تواند بزرگتر کردن فایلهای مختلف DATA باشد ، یا آلوده کردن فایلهای اجرایی و یا از بین بردن اطلاعات PARTITION TABLE، معدوم کردن اطلاعا ت با ارزش یا از کار انداختن فایل های اجرایی و ... باشد .
ولی در هر حال یک چیز در اکثر ویروس ها مشترک می باشد و آن انتقال ویروس از فایل های آلوده به فایل های سالم است .
ویروس ها برنامه کامپیوتری هستند و نه چیز دیگری و می توانند با انواع زبان های برنامه سازی Assenbly، C++، Pascal،Basic، ... طراحی شوند و ما از قویترین زبان یعنی اسمبلی جهت اینکاراستفاده کرده ایم
چگونه ویروس ها کار می کنند.
ویروس های کامپیوتری برنامه های پارازیته ای هستند که توسط افراد به طور عمد نوشته می شوند و راه عملکرد کامپیوتر شما را بدون دانش و اجازه شما تغییر می دهند. ویروس کپیی از خود را به دیگر فایل ها می دهد، وقتی ویروس فعال شد، ممکن است به فایل آسیب رسد، موجب رفتار های نامنظم سیستم و یا نشان دادن پیغام هایی شوند.
ویروس های کامپیوتری فایل های سیستم و سند هایی را که شما توسط برنامه های مختلف به وجود آورده اید، آلوده می کند.
بعضی از ویروس های سیستم، طوری طراحی شده اند که برنامه ها را خراب کنند، به فایل ها آسیب برسانند و اطلاعات دیسک ها را پاک کنند.
ویروس ها چگونه منتشر می شوند
اگر کسی چیزی در مورد کامپیوتر ها نداند این را می داند که ویروسها مخرب هستند و باید کامپیوتر خود را در برابر هجوم آنها حافظت کند. کمپانی های ضد ویروس ( آنتی ویروس ) تعداد زیادی ویروس را ساپورت می کنند. ولی هیچ کدام از آنها کامل نیستند. آنتی ویروسهای امروزی بیشتر عمل حفاظت را به طور واکنشی انجام می دهند تا به صورت کنشی. یعنی برای برای اینکه آنتی ویروس شما متوجه ویروس جدید در کامپیوتر شود باید تا آخرین بیت وارد کامپیوتر شما شود و شروع به فعالیت کند. سناریوی پخش یک ویروس جدید در اینترنت و عکس العمل شرکت های آنتی ویروس در برابر آن به صورت زیر است:
• ابتدا یک ویروس به طور متوسط صد هزار کامپیوتر را مورد هجوم قرار می دهد.
• سپس شرکت های آنتی ویروس شروع به ساختن پکیج برای آنها می کنند.
• در مرحله بعد این پکیج در اختیار عموم قرار می گیرد.
مشکل این است که ممکن است کامپیوتر شما قبل از ساختن این پکیج مورد حمله قرار گیرد. مشکل دیگر این است که اکثر افراد آنتی ویروس کامپیوتر خود را « به روز » یا « up to date » نمی کنند. کمپانی های ضد ویروس بیشتر به صورت اکتشافی عمل می کنند. و این کار را بوسیله برنامه های آشکار سازی انجام می دهند. این برنامه ها کلیه اعمالی را که در کامپیوتر بوسیله برنامه های دیگر انجام می شود تحت نظر می گیرند و هر گاه این اعمال با کارهایی که یک ویروس در کامپیوتر انجام می دهد مطابقت کند آن را به عنوان یک ویروس شناسایی می کنند.سپس جلوی فعالیت آن را می گیرند و همچنین وجود ویروس را به کاربر گوشزد می کنند. با عمل کردن این برنامه آشکار ساز در نرم افزار آنتی ویروس هر گاه یک برنامه فعالیت مشکوکی انجام دهد به کاربر هشدار می دهد و احتمالاً جلوی انتشار ویروس گرفته می شود. این عمل باعث می شود کامپیوتر ها کمتر آلوده شوند.
نرم افزار آنتی ویروس باید به گونه ای تنظیم شود که که روزانه به طور اتوماتیک اجرا شود که شامل به روز کردن و اسکن کردن است.
برنامه های اکتشافی (Heuristics ) این فرصت را می دهند که زودتر جلوی انتشار ویروس ها گرفته شود. هر چند استفاده از این برنامه ها یک راه صددرصد فراگیر نیست. ولی بسیار مشکل گشا است. و حساسیت این برنامه ها به تنظیم سطح حفاظت ( Level Setting ) در نرم افزار آنتی ویروس بستگی دارد. یعنی آنتی ویروسی که در کامپیوتر شما نصب شده است و تنظیمات آن به کشف ویروسها کمک می کند.
انواع دستکاری و تخریب ویروس های کامپیوتری
صرف نظر از ویروس هایی که کاربران را مورد لطف قرارداده و تنها با صدورپیامی، نمایش تصویری و یا پخش موزیکی حضور خود را اعلام می کنند،سایر ویروس ها به گونه های مختلف باعث نابودی اطلاعات و در برخی موارد باعث خرابی سخت افزار کامپیوتر می شوند. در زیر نمونه هایی از خسارات ویروس ها بیان می شود:
الف: اختلال در کار سیستم(تخریب نرم افزاری)
در این حالت ویروس با ایجاد خطا دربرنامه موجب اختلال در اجرای آن می شود. این اختلال گاه همراه با تصویری بر روی صفحه نمایش و یا صدای خاصی بلندگو یا قفل شدن کامپیوتر می باشد .
بعضی از دلایل اختلال در سیستم بدلیل ویروس ها عبارتند از :
1-خطاهای برنامه نویسی توسط برنامه نویس ویروس
2 - ناسازگاری ویروس با سیستم یا نرم افزارهای نصب شده بر روی آن
3- تخریب اطلاعات که شامل حذف، تغییر ویا اشغال و تکثیر در حافظه
4- اختلال عمدی سیستم توسط ویروس(اهداف نویسندگان ویروس) که به عنوان مثال می توان به کندی سرعت سیستم اشاره کرد
ب:تخریب سخت افزرای
عده ای معتقدند که ویروس ها نمی توانند به سخت افزار آسیب برسانند وتا به امروز، هیچ ویروسی پیدا نشده است که که این کار را انجام دهد. ولی در خلاف انتظار از بین بردن سخت افزار توسط برنامه های نرم افزاری امکان پذیر و عملی است . گرچه خسارات سخت افزاری در موارد اندکی توسط ویروسها وجود دارد ولی باید آنها را جدی گرفت . به عنوان مثال کامپیوترهای سری آمیگا از شرکت کمو دور، به خاطر نداشتن کنترل در قسمت های مختلف در مقابل ویروس آسیب پذیرند.
در این کامپیوتر ها می توان به کمک نرم افزار ،موتور دیسک گردان را از حرکت باز داشت و همزمان فرمان خواندن یک تراک که وجو ندارد ، را به هد داد به این ترتیب هد به دیواره های دیسک گردان برخورد کرده و می شکند . نمونه دیگر این است که CPU و Icهای آمیگا از جمله اگنس ، دنیس و پائولا از نوع CMOS بوده و در مقابل الکتریسیته حساس هستند . اگر همزمان به تمام ورودیهای بیت یک اعمال می شود ولتاژ اضافی باعث خرابی ICها می شود.به کمک یک برنامه کوتاه چند خطی به زبان ماشین می توان کلیه ثباتهایی که به نام CPU می روند را حاوی بیت یک نمود و CPU را خراب کرد
در رایانه های شخصی ویروس می تواند هد خواندن و نوشتن دیسک گردان را روی یک تراک داخلی ، که وجودندارد قرار بدهد. در بعضی از دیسک گردانها، اینکار باعث می شود که هد ، به بستی در داخل دیسک گردان گیرکندو فقط با باز کردن دیسک گردان و جابه جا کردن هد با دست ، مشکل حل می شود
ویروس می تواند تراک صفر دیسک را نابود کند در اینصورت ، این دیسک دیگر قابل استفاده نیست یا اینکه ویروس بطور مکرر هد از سیلندر بیرونی به سیلندر داخلی حرکت دهد این امر سبب سایش ونهایتا خرابی دیسک خواهد شد . در اینجا ممکن است مستقیما چیزی تخریب نشود ولی باعث فرسودگی می شود. برای مثال ویروس AMP2P که روی فایل CAMMAND.COM ویندوز 95 وجود دارد ،قادر است تنظیم اصلی کارخانه را تغییر دهد و ویروسی که بتواند اینکار را انجام دهد قادر است به تمام اجزای سیستم دسترسی داشته و آنها را خراب کند . این ویروس معمولا هارد دیسک را دچار تعدادی بد سکتور می کند ویا تراک صفر را از کار می اندازد که با فرمت فیزیکی مجدد نیز دیسک قابل اصلاح نیست .
تا چندی قبل ویروس ها فقط فایل ها را خراب می کردند که معمولا چاره اینکار آسان بود ولی اکنون ویروس ها به آنچنان توانایی رسیده اند که قادرند سخت افزار سیستم را مورد هدف قرار دهند که در این صورت خسارات ایجاد شده شدید و جبران آن سنگین است . تازه ممکن است پس ازتعویض قسمت خراب شده ، ویروس مجددا آنرا تخریب کند
ساختار کلی فایل های COM وEXE تحت DOS
ساختار کلی فایل های اجرایی از نوع COM تحت DOS
با توجه به شکل ، مشخص می شود که معمولا و نه همیشه اولین دستور از فایل های اجرایی COM، حاوی یک آدرس پرش (Jump) می باشد که اجرای برنامه را به مکان دیگری از داخل حافظه انتقال می دهد و سپس دستورات اصلی برنامهاز مکان XXXXX در شکل فوق آغاز می گردد.اما اگر همین آدرس پرش اولیه را بتوانیم طوری تغییر دهیم که به ابتدای برنامه خودمان منتقل شود .می توان گفت که نصف کار آلوده سازی را انجام داده ایم . بصورت کلی جهت انجام این کار ابتدا آدرس پرش اولیه XXXXX را در مکانی از حافظه ذخیره کرده (برای استفاده بعدی ) و سپس آدرس شروع برنامه خود را درآن قرار می دهیم . خوب تا اینجا توانسته ایم کنترل اجرایی فایل های COM را بدست گیریم . سپس کافی است در داخل ویروس عملیات مربوط به یافتن فایل های اجرایی غیر آلوده ، درستکاری آنها و انجام یکسری تخریب ها ( چاپ یکسری مطالب جهت ترساندن کاربر معرفی خود) و نهایتا برگشت به آدرس اولیه پرش XXXXX جهت اجرای عادی فایل آلوده شده مراجعه کرده تا برنامه ازاین پس روال عادی اجرایی خود را انجام دهد.
ساختار کلی فایل های اجرایی از نوع EXE تحت DOS
ساختار کلی فایل های EXE پیچیده تر است . طبق شکل،تمام فایل های EXE دارای یک Header یا عنوان بوده که شامل اطلاعات تخصصی فایل اجرایی نظیر مشخصه فایل،اندازه واقعی فایل،آدرس های Data Segment،Code Segment و..... می باشد. بنابراین بر خلاف فایل های COM که اولین دستور از آنها حاوی آدرس شروع برنامه است ، در این فایل ها بایت های 20و22 در داخل Header حاوی آدرس شروع برنامه است و چون فایل های EXE از نظر اندازه می توانند خیلی بزرگتر از COM باشند، این آدرسها شامل SEGMENT:OFFSET است
با توجه به توضیح فوق در مورد نحوه آلوده سازی فایل های COM کافی است آدرس های X1:X2 را به ابتدای برنامه خود تغییر داده وسپس در پایان کار نیز به محل اولیه X1:X2 باز گردیم . اما این نکته قابل ذکر است که بدلیل پیچیدگی ساختار فایل های EXE، آلوده سازی اینگونه فایل ها از فایل های COM مسکلتر است .
دلایل خراب شدن فایل های اجرایی
همانطور که توضیح داده شد، به هنگام آلوده سازی فایل های اجرایی ممکن است، در محاسبه تغییر آدرس ها اشتباهاتی صورت گیرد و یا یک فایل اجرایی چندین بار آلوده گرددو در جریان چنین اعمالی نیز امکان دارد سیستم روال اجرایی عادی خود را ازدست داده و داخل یک حلقه بی نهایت قرار گیرد و یا به مکانی از حافظه پرش کند که هیچگونه دستور العملی وجودنداردو سرانجام باعث HANG کردن یا قفل کردن کامپیوتر می شود که گاهی اوقات بعضی از ویروس ها به هنگام آلوده سازی دچار این مشکل شده و احتمالا با این مسئله برخورد کرده اید که به هنگام آلوده بودن کامپیوترتان سیستم بدلیل نامشخصی قفل می کند
باتوجه به توضیحات داده شده،هم اکنون الگوریتم کلی یکی از انواع ویروس های کامپیوتری را به صورت زیر می نویسیم :
1- اولین فایل اجرایی در مسیر جاری را پیدا کنید
2- گر فایل پیدا شده ، آلوده است و دیگر فایل آلوده دیگری جهت جستجو وجود ندارد به مرحله 6بروید 3- اگر فایل پیدا شده آلوده است به مرحله 1بروید
4- فایل آلوده شده را پیدا کنید و فایل را طوری تغییر بدهید تا به صورت عادی کار کند(آسیب نبینید)
5- به مرحله 7بروید
6- عملیات مربوط به دستکاری یا تخریب را انجام دهید
7- برنامه اولیه را اجرا کنید
نتیجه گیری
با توجه به اینکه اغلب ویروس ها جهت آلوده سازی کامپیوتر ، طبق توضیحات داده شده، فایل های اجرایی حمله ور می شوند و آدرس های داخل فایل را تغییر می دهند، پس چه بهتر است بتوانیم این مکان ها را هر چه دقیقتر کنترل کنیم و همچنین با شناخت هر چه بیشتر کار ویروس ها، آمادگی کاملتری جهت مبارزه با آنها کسب نماییم .
مراجع
1-مجله رایانه شماره چهل و پنجم ص ص 99و98
2-کتاب راهنمای ویروس و ضد ویروس ص ص 50
کرم ها ( Worms )
کرم ها برنامه هایی هستند که بدون آنکه برنامه های دیگر را آلوده کنند، تکثیر می یابند. بعضی از کرم ها از طریق کپی کردن خود از دسیکی به دیسک دیگر گسترش می یابند. آنها به دنبال نوع های خاصی از فایل ها در دیسک ها و سرویس دهنده ها2 می گردند و در صدد آسیب یا نابودی آنها بر می آیند. مثلاً می توان به پاک کردن Registry توسط آنها اشاره کرد. بعضی کرم ها در حافظه تکثیر می شوند و هزاران کپی از خود را به وجود می آورد و همه آنها به طور همزمان، شروع به فعالیت می کنند که موجب پایین آمدن سرعت سیستم می شوند. نوع های مختلفی از کرم وجود دارد که اینجا نمی توان به همه آنها پرداخت.
کرم ها نیز مانند اسب های تراوا ویروس نیستند ، بنابراین باید آنها را از کامپیوتر پاک کرد.
اسب های تراوا هدف اصلی خود را مخفی می کنند.
اسب های تراوا برنامه هایی هستند که خود را به منظور هدف مفیدی یا سرگرم کننده ای جا می زنند، که این شجاعت و اجازه را به شما می دهند که آنها را اجرا کنید. اما هدف آنها صدمه زدن به فایل ها و یا قرار دادن ویروسی در کامپیوتر شما است.
اسب های تراوا ویروس به شمار نمی رود ، زیرا این ها مثل ویروس تکثیر و تکرار نمی شوند. به خاطر اینکه اسب های تراوا ویروس نیستند، لذا فایلی که حاوی آنها می باشد را نمی توان تعمیر کرد و بنابراین حتماً باید اسب تراوا و فایل ، پاک شوند. برای ایمنی کامپیوتر شما Norton AntiVirus اسب های تراوا را تشخیص می دهد و آن را از کامپیوتر شما پاک می کنند.
یکی از خطرناک ترین انواع اسب های تراوا برنامه ای است که ادعا می کند می تواند کامپیوترتان را از ویروس رهایی می دهد، ولی در عوض ویروس ها را به کامپیوتر شما منتقل می کند.
ویروسهای بوت سکتور
با گذشت زمان همانطور که ویروس نویسان ماهرتر و خبره تر شدند حقه های جدیدتری یاد گرفتند یک حقه که دانستن آن مهم است توانایی فراخوانی ویروس در حافظه است به طوریکه تا زمانیکه کامپیوتر کار می کند این ویروس ها جولان می دهند. که این خود باعث می شود که ویروسها خود را به بسیار راحتر تکثیر کنند یک حقه دیگر آلوده ساختن Boot Sector در فلاپی دیسک و هارد دیسک است. Boot Sector یک برنامة کوچک است و اولین قسمت از سیستم عامل است که توسط کامپیوتر فراخوانی می شود. Boot Sector شامل یک برنامه کوچک است که برای کامپیوتر تعیین می کند که چگونه سیستم عامل را فراخوانی کند. یک ویروس با قرار دادن کد خود در Boot Sector اجرای خود را گارانتی می کند. بنابراین ویروس می تواند به راحتی در کامپیوتر فراخوانی شود بنابراین قادر است هر زمان که کامپیوتر روشن می شود شروع به کار کند. این ویروسها به راحتی می توانند بوت سکتور یک فلاپی دیسک را آلوده کنند و با انتقال آن بین کامپیوترهای دیگر مانند آتش ناشی از انفجار منتشر شوند.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 21 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله آشنایی با کار ویروسها در راستای ویروس زدایی