وبلاگ فناوری اطلاعات یزد نسخه جدید- مقالات خواندنی و جالب ، مجموعه مقالات فارسی و انگلیسی عمومی و تخصصی در حوزه IT و اخبار فن
آشنایی مبانی نگارش ویروس‌های کامپیوتری در راستای ویروس زدایی و تامین امنیت شبکه
یکشنبه هشتم مهر 1386 ساعت 08:09 قبل از ظهر | نوشته ‌شده به توسط: مولف محمد حسین تقوایی زحمتکش | ( نظرات )

در این مقاله سعی شده است كه نحوه عملكرد یكی از انواع ویروس های محمد حسین تقوایی زحمتکش – وبلاگ فن آوری اطلاعات یزد آشنایی مبانی نگارش ویروس‌های کامپیوتری  در راستای ویروس زدایی و تامین امنیت شبکهكامپیوتری بیان شود، در ابتدا ضمن معرفی انواع ویروس ها، نحوه عمل کرد برنامه های ضدویروس و انواع ویروس هایی که ضدویروس ها شناسایی و پاکسازی می کنند را معرفی می کند. همچنین اطلاعاتی که برای انتخاب ابزار مناسب لازم است بیان شده و تعدادی از برنامه های ضد ویروس با هم مقایسه خواهند شد.

با توجه به اینكه اغلب ویروس ها جهت آلوده سازی كامپیوتر ، طبق توضیحات داده شده، فایل های اجرایی حمله ور می شوند و آدرس های داخل فایل را تغییر می دهند، پس چه بهتر است بتوانیم این مكان ها را هر چه دقیقتر كنترل كنیم و همچنین با شناخت هر چه بیشتر كار ویروس ها، آمادگی كاملتری جهت مبارزه با آنها كسب نماییم .

حجم عظیم ویروس ها، کرم ها، ایرادات نرم افزارها و تهدیدهای ناشی از آنها، نرم افزارهای ضدویروس را تبدیل به یکی از ابزارهای لازم برای همه کامپیوترها نموده است. در صورت آلوده شدن یک کامپیوتر به ویروس بسته به نوع آن ممکن است مصائب مختلفی برای سیستم کامپیوتری بوجود آید که در پاره ای موارد جبران آن ها هزینه های زیادی را تحمیل می کند.

 

حجم عظیم ویروس ها، کرم ها، ایرادات نرم افزارها و تهدیدهای ناشی از آنها، نرم افزارهای ضدویروس را تبدیل به یکی از ابزارهای لازم برای همه کامپیوترها نموده است. در صورت آلوده شدن یک کامپیوتر به ویروس بسته به نوع آن ممکن است مصائب مختلفی برای سیستم کامپیوتری بوجود آید که در پاره ای موارد جبران آن ها هزینه های زیادی را تحمیل می کند. آسیب های بعضی از ویروس ها به گونه ای است که آثار سوء آن ها را به هیچ وجه نمی توان از بین برد. مستقل از نوع ویروسی که باید با آن مقابله شود نیاز به برنامه های ضد ویروس همواره وجود دارد و در شرایطی که محصولات ضد ویروس متنوعی تولید شده اند، انتخاب نرم افزار مناسب دغدغه کاربران می باشد.

در این مقاله ضمن معرفی انواع ویروس ها، نحوه عمل کرد برنامه های ضدویروس و انواع ویروس هایی که ضدویروس ها شناسایی و پاکسازی می کنند را معرفی می کند. همچنین اطلاعاتی که برای انتخاب ابزار مناسب لازم است بیان شده و تعدادی از برنامه های ضد ویروس با هم مقایسه خواهند شد.

 

 

ویروس چیست؟ what is VIRUS

ویروس های کامپیوتری برنامه هایی هستند که مشابه ویروس های بیولوژیک گسترش یافته و پس از وارد شدن به کامپیوتر اقدامات غیرمنتظره ای را انجام می دهند. با وجودی که همه ویروس ها خطرناک نیستند، ولی بسیاری از آنها با هدف تخریب انواع مشخصی از فایل ها، برنامه های کاربردی و یا سیستم های عامل نوشته شده اند.

ویروس ها هم مشابه همه برنامه های دیگر از منابع سیستم مانند حافظه و فضای دیسک سخت، توان پردازنده مرکزی و سایر منابع بهره می گیرند و می توانند اعمال خطرناکی را انجام دهند به عنوان مثال فایل های روی دیسک را پاک کرده و یا کل دیسک سخت را فرمت کنند. همچنین یک ویروس می تواند مجوز دسترسی به دستگاه را از طریق شبکه و بدون احراز هویت فراهم آورد.

 

تاریخچه مختصر ویروس History VIRUS

برای اولین بار در سال ۱۹۸۴ واژه «ویروس» در این معنا توسط فرد کوهن در متون آکادمیک مورد استفاده قرار گرفت. د‍ر این مقاله که «آزمایشاتی با ویروس های کامپیوتری» نام داشت نویسنده دسته ای خاص از برنامه ها را ویروس نامیده و این نام گذاری را به لئونارد آدلمن نسبت داده است. البته قبل از این زمان ویروس ها در متن داستان های عملی و تخیلی ظاهر شده بودند.

 

 

انواع ویروس  VIRUS

انواع ویروس های رایج را می توان به دسته های زیر تقسیم بندی نمود:

 

بوت سکتور boot sector :

بوت سکتور boot sector   اولین Sector بر روی فلاپی و یا دیسک سخت کامپیوتر است. در این قطاع کدهای اجرایی ذخیره شده اند که فعالیت کامپیوتر با استفاده از آنها انجام می شود. با توجه به اینکه در هر بار بالا آمدن کامپیوتر Boot sector مورد ارجاع قرار می گیرد، و با هر بار تغییر پیکربندی کامپیوتر محتوای boot sector هم مجددا نوشته می شود، لذا این قطاع مکانی بسیار آسیب پذیر در برابر حملات ویروس ها می باشد.

این نوع ویروس ها از طریق فلاپی هایی که قطاع boot آلوده دارند انتشار می یابند. Boot sector دیسک سخت کامپیوتری که آلوده شود توسط ویروس آلوده شده و هر بار که کامپیوتر روشن می شود، ویروس خود را در حافظه بار کرده و منتظر فرصتی برای آلوده کردن فلاپی ها می ماند تا بتواند خود را منتشر کرده و دستگاه های دیگری را نیز آلوده نماید. این گونه ویروس ها می توانند به گونه ای عمل کنند که تا زمانی که دستگاه آلوده است امکان boot کردن کامپیوتر از روی دیسک سخت از بین برود.

این ویروس ها بعد از نوشتن بر روی متن اصلی boot سعی می کنند کد اصلی را به قطاعی دیگر بر روی دیسک منتقل کرده و آن قطاع را به عنوان یک قطاع خراب (Bad Sector) علامت گذاری می کند.

 

ماکرو ویروس Macro viruses:

ماکرو ویروس Macro viruses:  مستقیما برنامه ها را آلوده نمی کنند. هدف این دسته از ویروس ها فایل های تولید شده توسط برنامه هایی است که از زبان های برنامه نویسی ماکرویی مانند مستندات Exel یا Word استفاده می کنند. ویروس های ماکرو از طریق دیسک ها، شبکه و یا فایل های پیوست شده با نامه های الکترونیکی قابل گسترش می باشد.

ویروس تنها در هنگامی امکان فعال شدن را دارد که فایل آلوده باز شود، در این صورت ویروس شروع به گسترش خود در کامپیوتر نموده و سایر فایل های موجود را نیز آلوده می نماید. انتقال این فایل ها به کامپیوتر های دیگر و یا اشتراک فایل بین دستگاه های مختلف باعث گسترش آلودگی به این ویروس ها می شود.

 

 

 

File infecting viruses:

فایل های اجرایی (فایل های با پسوند .exe و .com) را آلوده نموده و همزمان با اجرای این برنامه ها خود را در حافظه دستگاه بار نموده و شروع به گسترش خود و آلوده کردن سایر فایل های اجرایی سیستم می نمایند. بعضی از نمونه های این ویروس ها متن مورد نظر خود را به جای متن فایل اجرایی قرار می دهند.

 

ویروس های چندریخت(Polymorphic):

این ویروس ها در هر فایل آلوده به شکلی ظاهر می شوند. با توجه به اینکه از الگوریتم های کدگذاری استفاده کرده و ردپای خود را پاک می کنند، آشکارسازی و تشخیص این گونه ویروس ها دشوار است.

 

ویروس های مخفی:

این ویروس ها سعی می کنند خود را از سیستم عامل و نرم افزارهای ضدویروس مخفی نگه دارند. برای این کار ویروس در حافظه مقیم شده و حائل دسترسی به سیستم عامل می شود. در این صورت ویروس کلیه درخواست هایی که نرم افزار ضدویروس به سیستم عامل می دهد را دریافت می کند. به این ترتیب نرم افزارهای ضدویروس هم فریب خورده و این تصور به وجود می آید که هیچ ویروسی در کامپیوتر وجود ندارد. این ویروس ها کاربر را هم فریب داده و استفاده از حافظه را به صورت مخفیانه انجام می دهند.

 

ویروس های چندبخشی

رایج ترین انواع این ویروس ها ترکیبی از ویروس های boot sector و file infecting می باشد. ترکیب انواع دیگر ویروس ها هم امکان پذیر است.

 

 

سایر برنامه های مختل کننده امنیت

برخی از محققین اسب تروا(Trojan) –تروجان ، کرم ها Worm  و بمب های منطقی را در دسته ویروس ها قرار نمی دهند ولی واقعیت این است که این برنامه ها هم بسیار خطرناک بوده و می توانند خساراتی جدی به سیستم های کامپیوتری وارد نمایند.

اسب های تروا تظاهر می کنند که کاری خاص را انجام می دهند ولی در عمل برای هدف دیگری ساخته شده اند، به عنوان مثال برنامه ای که وانمود می کند که یک بازی است ولی در واقع اجازه دسترسی از راه دور یک کاربر به کامپیوتر را فراهم می آورد.

کرم ها برنامه هایی هستند که مشابه ویروس ها توان تکثیر کردن خود را دارند، ولی برعکس آنها برای گسترش خود نیاز به برنامه هایی دیگر ندارند تا آنها را آلوده کرده و تحت عنوان فایل های آلوده اقدام به انتقال و آلوده کردن دستگاه های دیگر نمایند. کرم ها معمولا از نقاط آسیب پذیر برنامه های e-mail برای توزیع سریع و وسیع خود استفاده می نمایند.

بمب های منطقی برنامه هایی هستند که در زمان هایی از قبل تعیین شده؛ مثلا یک روز خاص؛ اعمالی غیر منتظره انجام می دهند. این برنامه ها فایل های دیگر را آلوده نکرده و خود را گسترش نمی دهند.

علی رغم تنوع انواع برنامه های مخرب، برنامه های قوی ضد ویروس می توانند نسخه های مختلف آنها را شناسایی و از بین ببرند.

 

ضد ویروس  viruses Anti

ضد ویروس اصطلاحی است که به برنامه یا مجموعه ای از برنامه ها اطلاق می شود که برای محافظت از کامپیوتر ها در برابر ویروس ها استفاده می شوند. مهم ترین قسمت هر برنامه ضد ویروس موتور اسکن(Scanning engine) آن است. جزئیات عملکرد هر موتور متفاوت است ولی همه آنها وظیفه اصلی شناسایی فایل های آلوده به ویروس را با استفاده از فایل امضای ویروس ها بر عهده دارند. فایل امضای ویروس یک رشته بایت است که با استفاده از آن می توان ویروس را به صورت یکتا مورد شناسایی قرار داد و از این جهت مشابه اثر انگشت انسان ها می باشد. ضد ویروس متن فایل های موجود در کامپیوتر را با نشانه های ویروس های شناخته شده مقایسه می نماید. در بیشتر موارد در صورتی که فایل آلوده باشد برنامه ضدویروس قادر به پاکسازی آن و از بین بردن ویروس است. در مواردی که این عمل ممکن نیست مکانیزمی برای قرنطینه کردن فایل آلوده وجود دارد و حتی می توان تنظیمات ضدویروس ها را به گونه ای انجام داد که فایل آلوده حذف شود.

بعضی از برنامه های ضد ویروس برای شناسایی ویروس های جدیدی که هنوز فایل امضای آنها ارائه نشده از روش های جستجوی ابتکاری استفاده می کنند. به این ترتیب داده های مشکوک در فایل های موجود در سیستم و یا فعالیت های مشکوک مشابه رفتار ویروس ها (حتی در صورتی که تعریف ویروسی منطبق با آنچه که در فایل مشکوک یافت شده موجود نباشد) علامت گذاری می شوند. اگر ضد ویروس فعالیت مشکوکی را مشاهده نماید، برنامه ای که فعالیت مشکوک انجام داده را قرنطینه نموده و به کاربر در مورد آن اعلام خطر می کند (به عنوان مثال اعلام می شود که برنامه مشکوک مایل به تغییر Windows Registry می باشد). دقت این روش پایین است و در بسیاری از مواقع در شناخت فایل های مشکوک به ویروس اشتباهاتی رخ می دهد.

در چنین مواقعی فایل قرنطینه شده برای شرکت های سازنده ضد ویروس ها ارسال می شود که پس از تحقیق و آزمایش آن، در صورتی که واقعا فایل آلوده به ویروس باشد نام، امضاء و مشخصات آن مشخص شده و پادزهر آن ارائه می گردد. در این صورت کد مشکوک تبدیل به یک ویروس شناخته شده می شود.

 

قابلیت های نرم افزار های ضدویروسviruses Anti

سطح محافظت نرم افزار بسته به جدید و بروز بودن آن متغیر است. محصولات جدیدتر قابلیت های مانند بروز رسانی خودکار، اسکن های زمان بندی شده، محافظت از سیستم به صورت ماندگار در حافظه و همچنین امکان یکپارچه شدن با برنامه های کاربردی اینترنتی مانند برنامه های e-mail و مرورگرهای وب را دارند. نسخه های قدیمی تر نرم افزارهای ضدویروس تنها یک اسکنر بودند که باید به صورت دستی راه اندازی می شدند. همه نرم افزار های ضدویروس در صورتی که به صورت منظم به روز رسانی شده و عملیات اسکن بر روی دیسک های سخت، تجهیزات قابل انتقال (مانند فلاپی و Zip disk) انجام شود می توانند دستگاه کامپیوتر را در برابر ویروس ها مقاوم کنند. در واقع نقطه برتری محصولات جدید ضد ویروس در قابلیت های آنها برای محافظت از سیستم در مواقعی است که کاربر دانش و یا دقت لازم برای به کارگیری آن را ندارد.

حداقل توقعی که از یک برنامه ضد ویروس خوب می توان داشت این است که در برابر ویروس های boot-sector، ماکرو، اسب های تروا و فایل های اجرایی آلوده به ویروس و کرم اقدامات محافظتی لازم را به عمل آورد. از محصولات جدیدتر می توان انتظار محافظت در برابر صفحات وب، اسکریپت ها، کنترل های ActiveX و اپلت های جاوای خطرناک، همچنین کرم های e-mail را داشت.                       

 

چگونه می توان یک ویروس کامپیوتری  viruses نوشت

امروزه با توجه به تعدد ویروس های كامپیوتری در كشور،كه اغلب آنها نیز ایرانی می باشند، شناخت و جلوگیری از تخریب آنها مفید ولازم به نظر می رسد . پیش از هر گونه بحث فنی لازم است توضیحی در مورد ویروس و خوب وبد بودن ویروس سازی از دیدگاه مثبت آن بررسی شود تا مبادا افراد بد گمان و احتمالا متنفر از ویروس ، سیل بدو بیراه خود را نثار ویروس نویسان! كنند بد نیست بدانیم جدای از هنر و تكنیك زیبای عملكرد ویروس های مختلف و شیرینی جدال با ویروس یابها ، خود ویروس عاملی برای حمایت از برنامه های كاربردی می توامند به شمار آید، چرا كه اولین ویروس ها در راه جلوگیری از كپی برداریهای غیر مجاز طرح و نوشته شده و زمان فعالیت آن را موكول به وقتی كرده اند كه فرد خاطی از " خواهش عدم كپی غیر مجاز" نیاز به گوش مالی دارد ! تا شاید همین فرد عادت به خرید و تهیه ی برنامه های مورد استفاده خود از طریق اصولی بنماید. واما ویروس ها برنامه هایی هستند كه به شكل پنهانی، موقع اجرا شدن برنامه آلوده خود را به برنامه های اجرایی نظیر فایل های COM و EXE می چسبانند و معمولا بدون اینكه تاثیری در كار اصلی برنامه آلوده بگذارند، منتظر زمان فعالیت نهایی یا برقراری شرط خاصی می شوند . حال این فعالیت می تواند بزرگتر كردن فایلهای مختلف DATA باشد ، یا آلوده كردن فایلهای اجرایی و یا از بین بردن اطلاعات PARTITION TABLE، معدوم كردن اطلاعا ت با ارزش یا از كار انداختن فایل های اجرایی و ... باشد . ولی در هر حال یك چیز در اكثر ویروس ها مشترك می باشد و آن انتقال ویروس از فایل های آلوده به فایل های سالم است .

 

برای نگارش ویروس کامپیوتری  viruses به چه ابزار و علمی احتیاج داریم

در این مقاله سعی شده است كه نحوه عملكرد یكی از انواع ویروس های كامپیوتری بیان شود كه قبل از مطالعه لازم است به نكته ذیل توجه گردد.

افرادی كه مایل به مطالعه مقاله می باشند لازم است كه :

۱- با زبان اسمبلی آشنا باشند .

۲- به DEBUG و دستورات آن مسلط باشند .

۳- از اطلاعات برنامه نویسی سیستم در حد آشنایی با Header فایل های اجرایی برخوردار باشند .

بنابراین اگر ملاحظه می شود كه روشها بسیار خلاصه مطرح شده، تنها بدلیل عدم دسترسی عمومی به اطلاعاتی كه ممكن است خطرناك باشد،است و هدف، ارائه روش بوده و باقی جزئیات بر حسب توان با خود برنامه نویس است .(توضیح اینكه ویروس ها برنامه كامپیوتری هستند و نه چیز دیگری و می توانند با انواع زبان های برنامه سازی Assenbly، C++، Pascal،Basic، ... طراحی شوند و ما از قویترین زبان یعنی اسمبلی جهت اینكاراستفاده كرده ایم .) قبل از بیان الگوریتم كلی ویروس نویسی بهتر است به توضیح یكسری عناوین زیر بپردازیم :

 

انواع دستكاری و تخریب ویروس های كامپیوتری

صرف نظر از ویروس هایی كه كاربران را مورد لطف قرارداده و تنها با صدورپیامی، نمایش تصویری و یا پخش موزیكی حضور خود را اعلام می كنند،سایر ویروس ها به گونه های مختلف باعث نابودی اطلاعات و در برخی موارد باعث خرابی سخت افزار كامپیوتر می شوند. در زیر نمونه هایی از خسارات ویروس ها بیان می شود:

 

الف: اختلال در كار سیستم(تخریب نرم افزاری)

در این حالت ویروس با ایجاد خطا دربرنامه موجب اختلال در اجرای آن می شود. این اختلال گاه همراه با تصویری بر روی صفحه نمایش و یا صدای خاصی بلندگو یا قفل شدن كامپیوتر می باشد .

بعضی از دلایل اختلال در سیستم بدلیل ویروس ها عبارتند از:

۱-خطاهای برنامه نویسی توسط برنامه نویس ویروس

۲ - ناسازگاری ویروس با سیستم یا نرم افزارهای نصب شده بر روی آن

۳- تخریب اطلاعات كه شامل حذف، تغییر ویا اشغال و تكثیر در حافظه

۴- اختلال عمدی


مطالب مرتبط با: امنیت اطلاعات عمومی ,


می توانید دیدگاه خود را بنویسید
 
موضوعات
نظر سنجی
نظرتان در موردوضعیت کنونی وبلاگ فناوری اطلاعات یزد چیست؟






دیگر موارد
تعداد مقالات وبلاگ :
نویسندگان وبلاگ :
آخرین بروز رسانی مقالات وبلاگ :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
بازدید کل :
آخرین زمان بازدید :

Xبستن تبلیغات
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic