بخشی از مقاله
تجزیه و تحلیل 4 نرم افزار مخرب (ویروس- تروجان )
فصل یکم- ویروس ها
- 1-1تعریف ویروس
به برنامههای رایانهای که به منظور تخریب ویا سوءاستفاده از ساختار یک رایانه نوشته شود،ویروس رایانهای میگویند. ویروس رایانهای عبارتی است برای یک برنامه ناخواسته مخرب که میتواند روی رایانههامنتشرواجراگردد.
.معمولاًویروسهاتوسط برنامهنویسان برای مقاصد گوناگون نوشته میشوند. اهدافی چون شهرت،انتقام، ایجاد خسارت و یا اهداف اقتصادی میتوانند باعث ایجاد انگیزه در نوشتن ویروس کامپیوتری شوند. برخی از ویروسها بسیار مخرب هستند و برخی تنها جنبه تبلیغاتی دارند.
علت نامگذاری این برنامهها به ویروس به دلیل شباهت نحوه فعالیت آنها با ویروسها در دنیای حقیقی است. ویروس رایانهای را میتوان برنامهای تعریف نمود که میتوان خودش را با استفاده از یک میزبان تکثیر نماید. بنابراین تعریف اگر برنامهای وجود داشته باشد که دارای آثار تخریبی باشد ولی امکان تکثیر نداشته باشد،نمیتوان آن را ویروس نامید.
معمولاً کاربران کامپیوتر به ویژه آنهایی که اطلاعات تخصصی کمتری درباره کامپیوتر دارند،ویروسها را برنامههایی هوشمندوخطرناک میدانند که خود به خود اجرا و تکثیر شده و آثار تخریبی زیادی دارند که باعث از دست رفتن اطلاعات و گاه خراب شدن کامپیوتر میگردند در حالی که طبق آمار تنها پنج درصد ویروسها دارای آثار تخریبی بوده وبقیه صرفاً تکثیر میشوند. بنابراین ویروسهای رایانهای از جنس برنامههای معمولی هستند که توسط ویروسنویسان نوشته شده و سپس به طور ناگهانی توسط یک فایل اجرایی و یا جا گرفتن در ناحیه سیستمی دیسک،فایلها و یا کامپیوترهای دیگر را آلوده میکنند. در این حال پس از اجرای فایل آلوده به ویروس و یا دسترسی به یک دیسک آلوده توسط کاربر دوم، ویروس به صورت مخفی از نسخهای خودش را تولید کرده و به برنامه های دیگر میچسباند و به این ترتیب داستان زندگی ویروس آغاز میشودوهر یک از برنامهها و یا دیسکهای حاوی ویروس، پس ازانتقال به کامپیوترهای دیگر باعث تکثیر نسخههایی از ویروس وآلوده شدن دیگر فایلها و دیسکها میشوند.
بنابراین پس از اندک زمانی در کامپیوترهای موجود در یک کشور و یا حتی در سراسر دنیا منتشر میشوند.از آنجا که ویروسها به طور مخفیانه عمل میکنند، تا زمانی که کشف نشده وامکان پاکسازی آنها فراهم نگردیده باشد، برنامههای بسیاری را آلوده میکنند و از این رو یافتن سازنده و یا منشأ اصلی ویروس مشکل است.
ویروسها هر روز در اینترنت، بیشتروبیشتر میشوند. ولی تعداد شرکتهای آنتی ویروس ثابت است. پس ما باید برای حفاظت از سیستم خود دست به کار شویم. دراین سلسله مقالات سعی داریم که نحوه مقابله با ویروسهاوهمین طور بیوگرافی ویروسهاونحوه مقابله با هر ویروس را آموزش بدهیم.
از نظر مردم عادی به برنامهای که در سیستم عامل اختلالات ایجاد کندویروس است ولی باید بدانید که خود ویروسها بنا به کارها و امکاناتی که دارند تقسیمبندی میشوند.ویروسها مثل سایر برنامهها هستند.کسانیکه ویروس رامینویسندهم ازهمین برنامههای عادی برنامهنویسی استفاده میکند.این برنامهها دقیقاً مثل چاقو میماند که هم میشود استفاده درست کرد هم نادرست.
- 2-1تاریخچه ورود ویروس
1949:
Home
برای اولین بار تئوری برنامههایی که خودشان را جایگزین مینمایند مطرح گردید.
1981: ویروسهای Apple 1 , Apple 2 , Apple 3 از اولین ویروسهایی بودند که پا به عرصه عمومی نهادند.این ویروسها توسط کمپانی Texas A & M برای جلوگیری از کپیهای غیر مجاز بازیهای کامپیوتری نوشته و سپس شایع شدند. این ویروسها ویژه سیستم عامل Apple II بودند.
1983: فرد کوهن (Fred Cohen) زمانی که روی رساله دکترایش کار میکرد، رسماً یک ویروس کامپیوتری را چنین تعریف نمود: «یک برنامه کامپیوتری که میتواند روی سایر برنامههای کامپیوتری از طریق تغییر دادن آنها به روشی (شاید) مانند کپی کردن خودش روی آنها، تأثیر بگذارد».
1986: دو برادر برنامهنویس پاکستانی به نامهای «بسیط» و «امجد» کد قابل اجرای موجود در بوت سکتور یک فلاپی دیسک را با خودشان (که برای آلوده نمودن فلاپی دیسکهای 360KB نوشته بودند) جایگزین کردند. تمام فلاپیهای آلوده دارای برچسب «Brain» بودند.بنابراین، این ویروس «Brain» یا «مغز پاکستانی» نام گرفت. همزمان در کشور اتریش برنامهنویسی به نام رالف برگر «Ralf Burger» دریافت که یک برنامه میتواند از طریق چسباندن خودش به انتهای یک برنامه دیگر تکثیر شود،او با استفاده از این ایده برنامهای به نام Virdem نوشت که پدیده فوق را شبیهسازی مینمود. پس از آن برگر Virdem را در کنفرانسی به همه
معرفی نمود. برگر همچنین کتابی درباره ویروسهای کامپیوتری نوشت ودرآن سورس ویروس به نام Vienna را چاپ کرد که این مسأله بعداً باعث سوءاستفاده بسیاری از افراد گردید.
1987: یک برنامهنویس آلمانی ویروسی به نام Cascade نوشت.این ویروس، اولین ویروسی بود که روش رمز کردن (Encryption) را به کار میبرد. در این روش بیشتر کد ویروس به غیر از چند بایت از آن به صورت رمز شده در میآید و از آن چند بایت بعداً برای رمزگشایی بقیه کد ویروس استفاده میشود. در این صورت تشخیص ویروس برای آنتی ویروسها بسیار مشکلتر میباشد و دیگر رشته تشخیص ویروس (که در آنتی ویروسها به کار میرود) به چند بایت محدود نمیشود.
بعدها برنامهنویسی به نام مارک واشبرن «Mark Washburn» با استفاده از این ایده و سورس ویروس Vienna اولین ویروس هزار چهره (Polymorphic) به نام «1260» را نوشت.
1988: ویروس Jerusalem منتشر شدوبه یکی از شایعترین ویروسها تبدیل گشت.این ویروس درروزهای جمعهای که مصادف با سیزدهم هر ماه بودند فعال میشدوضمن آلوده نمودن فایلهای Com , Exe، هر برنامهای که در آن روز اجرا میشد را نیز پاک مینمود.
1989: در ماه مارچ مهمترین موضوع ویروسی، خبری بود که حکایت از فعال شدن ویروسی به نام Datacrime در ماه آوریل داشت.اما پس از بررسی سورس کد ویروس معلوم شد که این ویروس در هر تاریخی پس از روز سیزدهم اکتبر فعال شده واقدام به فرمت کردن سیلندر صفر هارد دیسک مینماید. بدین ترتیب کاربران تمامی محتوای هارد دیسکشان را از دست میدهند. ویروس Datacrime به احتمال زیاد در کشور هلند نوشته شده بود ولی آمریکاییها اسم آن را ویروس Columbus Day گذاشتندواعتقاد داشتند که توسط تروریستهای نروژی نوشته شده است. در این سال این ویروس علیرغم سر و صدای زیادش، خسارتهای چندانی به بار نیاورد. در این سال همچنین ویروسنویسان بلغاری و روسی وارد عرصه ویروسنویسی شدند.
1990: مارک واشبرن «Mark Washburn» ابتدا ویروس هزار چهره 1260 و سپس بر همان اساس ویروسهای V2P1 , V2P2 V2P6 را نوشت وسورس کد آنها را منتشر نمود، هر چند که بعداً ویروسنویسان این کدها را به کار نبردند و حتی این ویروسها خطر چندانی هم نداشتند ولی ایده موجود در آنها الهامبخش بسیاری از ویروسنویسان شد.
از طرف دیگر در بلغارستان ویروسنویس ماهری با نام مستعار Dark Avenger چند ویروس خطرناک به نامهای DarkAvernger- 1800 , Number of the Beast , Nomenklaturaرانوشت. ویروسهای وی دارای دو ویژگی مهم«آلودهسازی سریع» و «صدمه زدن زیرکانه» بودند. Dark Avenger به صورت فعالانهای از طریق آلوده نمودن برنامههای Shareware وارسال آنهااقدام به پخش ویروسهایش نیز مینمود. همچنین در این سال کمپانی Symantec نیز آنتی ویروس Norton را به بازار عرضه نمود.
1991: سر و کله ویروس Tequila از کشور سوئیس پیدا شد. این ویروس، ویروس هزار چهره کاملتری بود که پا به عرصه عمومی گذاشت و بسیار شایع شد. پس از آن نوبت انتشار ویروس هزار چهره دیگری به نام Amoeba از کشور مالت رسید. تشخیص ویروسهای هزارچهره به دلیل اینکه پس از هر بار آلودهسازی ظاهرشان را تغییر میدهند، برای اسکنرهای ویروس بسیار سختتر میباشد.
Dark Avenger هم درانتهای این سال موتور خود تغییر دهنده «MtE» را ابداع کرد که میتوانست چهار میلیارد شکل مختلف به خود بگیرد و با پیوند زدن آن به هر ویروسی، یک ویروس کاملاً چند شکلی پدید میآمد. وی سپس با استفاده از MtE ویروسهای Dedicated , Commander Bomber را به دو سبک کاملاً متفاوت نوشت.
1992: تعداد ویروسها به هزار و سیصد عدد رسید که در مقایسه با ماه دسامبر سال 1990 چهارصد و بیست درصد افزایش یافته بود. همچنین در این سال پیشبینی شد که خطر ناشی از انتشار ویروس «میکلآنژ» پنج میلیون کامپیوتر را تهدید به نابودی خواهد کرد، که البته این رقم در عمل به بیش از ده هزار تا نرسید. علاوه بر اینها ویروس هزار چهره جدیدی با نام Starship پا به میدان نهاد، نرمافزارهای تولید ویروس توسط دو ویروسنویس با نامهای مستعار Nowhere Man , Dark Angel نوشته شدندودرانگلستان نیز گروه ویروسنویسی ARCV تأسیس شد.
1993-1994: گروه ویروسنویسی جدیدی به نام Tridend در کشور هلند فعالیت خود را آغاز نمود و موتور جدیدی به نام TPE را عرضه کرد، سپس اعضای آن با استفاده از انواع مختلف TPE، ویروسهای، Girafe Cruncher، Bosnia را نوشتند. در آمریکا هم Dark Angel به کمک موتور ابداعیاش موسوم به DAME ویروس Trigger را نوشت.
1995: Concept اولین ویروس ماکرو، نوشته شد. این ویروس اسناد نرمافزار Microsoft Word را مورد حمله قرار میداد.
1996: در استرالیا گروهی از ویروسنویسان به نام VLAD اولین ویروس ویژه سیستم عامل ویندوز موسوم به Bonz و همچنین اولین ویروس سیستم عامل لینوکس موسوم به Staog را نوشتند. علاوه بر اینها اولین ویروس ماکروی نرمافزار Microsoft Excel به نام Laroux نیز در این سال نوشته شد.
ویروس Strange Brew، اولین ویروسی که فایلهای جاوا را آلوده میکرد، نوشته شد. این ویروس با کپی کردن خودش در میان کد فایلهای Class و عوض نمودن نقطه شروع اجرای این فایلها با نقطه شروع کد ویروسی اقدام به تغییر دادن فایلهای Class مینمود. همچنین Back Orifice اولین اسب تراوایی که امکان دسترسی از راه دور به سایر سیستمها را در اینترنت فراهم مینمود، نوشته شد و کمکم مقدمات ظهور ویروسهای ماکروی نرمافزار Microsoft Access نیز فراهم میگردید.
1999: ویروس «ملیسا» از طریق اجرا نمودن ماکرویی که در اسناد ضمیمه شده به نامههای الکترونیکی موجود بود، صدمه زدن به سیستمها را آغاز نمود. این ویروس همچنین برای گسترش خود از دفترچه آدرس نرمافزار Outlook استفاده میکرد و ضمیمههای آلوده را برای 50 نفر دیگر ارسال مینمود. ویروس «ملیسا» سریعتر از تمامی ویروسهای قبلی منتشر گردید. در این سال همچنین ویروس Corner اولین ویروسی که میتوانست فایلهای برنامه MS Project را آلوده سازد، نیز نوشته شد. علاوه براین، نوآوریهای دیگری هم در دنیای ویروسنویسان صورت گرفت که از بین آنها میتوان به نوشته شدن ویروس Tristate که اولین ویروس ماکروی چند برنامهای بود و میتوانست فایلهای سه برنامه از برنامههای مایکروسافت (ورد، اکسل و پاور پوینت) را آلوده کند و همچنین نوشته شدن کرم Bubbleboy اشاره نمود.
این کرم هم اولین کرمی بود که وقتی کاربر نامه ساده و بدون ضمیمهای را در نرمافزار Outlook Express باز و یا آن را پریویو مینمود، فعال میگردید. حتی بدون اینکه ضمیمهای به همراه نامه باشد، این کرم برای اثبات یک روش جدید نوشته شده بود و بعداً ویروس Kak از این روش بهره گرفت و به صورت گستردهای شایع شد.
2000: ویروس I Love You درست مانند ویروس «ملیسا» به وسیله نرمافزار Outlook در سراسر دنیا پخش گردید. اما این ویروس از نوع اسکریپت ویژوال بیسیک بود که به صورت ضمیمه نامه الکترونیکی ارسال میشد. ویروس I Love You فایلهای کاربر را پاک میکرد و حتی به برخی از فایلهای تصویری و موسیقی نیز رحم نمیکرد. علاوه بر این، ویروس اسم کاربر و رمز عبور وی را میدزدید و برای نویسندهاش میفرستاد.
در این سال همچنین ویروسهای Resume (که شبیه ویروس «ملیسا» بود) و Stages (که از روش پسوند دروغین بهره میگرفت) نیز ظهور کردند. در ماه ژوئن این سال و در کشور اسپانیا کرم Timofonica از نوع اسکریپت ویژوال بیسیک اولین حمله به سیستمهای مخابراتی را آغاز نمود و در ماه نوامبر نیز اولین ویروس نوشته شده به زبان PHP ظاهر شد، این ویروس که Pirus نام گرفت، خودش را به فایلهای PHP , HTML اضافه مینمود.
2001: ویروس Anna Kournikova در پوشش تصویر ستاره تنیس، «آنا کورنیکووا» و با روش انتشاری مشابه ویروسهای «ملیسا» و «I love You» ظاهر شد. در ماه می این سال هم ویروس Home Page به حدود ده هزار نفر از کاربران نرمافزار Outlook آسیب رساند. در ماه جولای و آگوست نیز کرمهای CodeRed I ، Code Red II به شبکههای کامپیوتری حمله نمودند.
تعداد کامپیوترهای آلوده حدود هفتصد هزار دستگاه و خسارت وارده به سیستمها بالغ بر دو میلیارد دلار برآورد گردید.
حادثه مهم دیگری که در این سال به وقوع پیوست، نوشته شدن ویروس Winux یا Lindose در کشور جمهوری چک توسط Benny از اعضای گروه 29A بود که قابلیت آلودهسازی هر دو سیستم عامل ویندوز و لینوکس را با هم داشت.
در این سال همچنین ویروس LogoLogic-A و ویروس PeachyPDF-A (اولین ویروسی که برای پخش شدن از نرمافزار کمپانی Adobe ویژه فایلهای PDF استفاده میکرد) نیز پا به عرصه حیات گذاشتند. ولی بدون شک اهمیت هیچ یک از این ویروسها به اندازه کرم Nimda نبود، این کرم که در ماه سپتامبر ظاهر شد، از تکنیکهای برتر سایر ویروسهای مهم به صورت همزمان استفاده مینمود. بنابراین توانست تا بسیار سریع گسترش یابد.
از ویروسهای خطرناک و خبرساز دیگر این سال نیز میتوان به ویروسهای Sircam , BanTrans اشاره کرد.
2002: ابتدا در ماه ژانویه شاهد ظهور اولین ویروس آلوده کننده فایلهای با پسوند SWF بودیم که LFM-926 نام داشت. این ویروس یک اسکریپت دیباگ (که میتوانست یک فایل COM ساخته و به وسیله آن سایر فایلهای با پسوند SWF را آلوده نماید) رها میکرد. پس از آن کرم Donut به عنوان اولین کرمی که به سرویسهای NET. توجه داشت، توسط Benny نوشته شد و سپس در ماه مارچ اولین کرمی که مختص سرویسهای NET. بود وارد عرصه شد. این کرم توسط یک دختر جوان بلژیکی با نام مستعار Gigabite و به زبانC# نوشته شد. در ماه می این سال نیز Benjamin ظاهر شد. این ویروس از آن جهت مورد توجه قرار گرفت که برای گسترش از شبکه KaZaa peer-to-peer استفاده مینمود.
در ماه ژوئن ویروس Perrun برای اثبات فرضیه «امکان آلودهسازی فایلهای تصویری با پسوند JPEG توسط ویروسها»، نوشته شد که این مسأله تا قبل از این غیر ممکن مینمود. در این ماه کرم Scalper که وب سرورهای Apache را مورد حمله قرار میداد و از آنها برای طغیان شبکه سوء استفاده میکرد نیز شناسایی گردید.
-3-1 انواع ویروس
انواع ویروس های رایج را می توان به دسته های زیر تقسیم بندی نمود:
-1-3-1سکتور بوت (boot sector)
سکتور بوت اولین سکتور بر روی فلاپی و یا دیسک سخت کامپیوتر است. در این قطاع کدهای اجرایی ذخیره شده اند که فعالیت کامپیوتر با استفاده از آنها انجام میشود. با توجه به اینکه در هر بار روشن شدن و بارگذاری، سکتور بوت مورد ارجاع قرار می گیرد، و با هر بار تغییر پیکر بندی کامپیوتر محتوای سکتور بوت هم مجدداً نوشته می شود، لذا این قطاع مکانی بسیار آسیب پذیر در برابر حملات ویروس ها می باشد.
ویروس های سکتور بوت، اولین نوع ویروس هایی بودند که مشاهده شدند. این ویروس هااز طریق فلاپی هایی که قطاع بوت الوده دارند انتشار می یابند. در صورت آلوده شدن سکتور بوت دیسک سخت کامپیوتر توسط ویروس، هر بار که کامپیوتر روشن می شود، ویروس خود را در حافظه بار کرده و منتظر فرصتی برای آلوده کردن فلاپیها می ماند تا بتواند خود را منتشر کرده و دستگاه های دیگری را نیز آلوده نماید. اینگونه ویروس ها می توانند به گونه ای عمل کنند که تا زمانیکه دستگاه آلوده است امکان بوت کردن کامپیوتر از روی دیسک سخت وجود نداشته باشد.
این ویروس ها بعد از نوشتن بر روی متن اصلی بوت سعی می کنند کد اصلی را به قطاعی دیگر بر روی دیسک منتقل کرده و آن قطاع را به عنوان یک قطاع خراب علامت گذاری می کند. هنگامی که شما در مرتبه بعدی دستگاه راروشن می کنید، سکتور بوت آلوده شده، مورد استفاده سخت افزار قرار خواهد گرفت و بنابراین ویروس فعال خواهد شد.
پس در صورتیکه کاربر دستگاه را به وسیله یک دیسکت آلوده، (معمولاً دیسک های نرمی که سکتور بوت آلوده دارند) راه اندازی کند، در نهایت دستگاه آلوده به ویروس خواهد شد.
- 2-3-1ویروس های ماکرو (کلان دستور)
ویروس های macro از مزایای برنامه نویسی macro سود می برند، دستوراتی هستند که در دستورات داخل فایل ها ادغام شده و به صورت خودکار اجرا می شوند. این نوع ویروس ها مستقیماً برنامه ها را آلوده نمی کنند. هدف این دسته از ویروس ها فایل های تولید شده توسط برنامه هایی است که از زبان های برنامه نویسی ماکرویی مانند مستندات Excel یا Wordاستفاده می کنند. در حقیقت ویروس های macro یک برنامه ماکرو است که می تواند از خود کپی ساخته و از فایلی به فایل دیگر گسترش پیدا کند. ویروس های macro از طریق دیسک ها، شبکه و یا فایل های پیوست شده با نامه های الکترونیکی قابل گسترش می باشد.
- 3-3-1ویروس های چند ریخت
این ویروس ها درهر فایل آلوده به شکلی ظاهر می شوند. با توجه به اینکه از الگوریتم های کد گذاری استفاده کرده وردپای خود را پاک می کنند، آشکارسازی و تشخیص اینگونه ویروس ها دشوار است.
-4-3-1ویروس های مخفی
این ویروس ها سعی می کنند خود را از سیستم عامل و نرم افزارهای ضد ویروس مخفی نگه دارند. برای این کار ویروس در حافظه مقیم شده و حائل دسترسی به سیستم عامل می شود. در این صورت ویروس کلیه درخواست هایی که نرم افزار ضد ویروس به سیستم عامل می دهد را دریافت می کند. به این ترتیب نرم افزارهای ضد ویروس هم فریب خورده و این تصور به وجود می آید که هیچ ویروسی در کامپیوتر وجود ندارد. این ویروس ها کاربر را هم فریب داده و استفاده از حافظه را به صورت مخفیانه انجام می دهند.
- 5-3-1ویروس های چند بخشی
رایج ترین انواع این ویروس ها ترکیبی از ویروس های سکتور بوت و ویروس های انگلی می باشند. ترکیب انواع دیگر ویروس ها هم امکان پذیر است.
-6-3-1ویروس های مبتنی بر پست الکترونیکی
ویروس هایی از این نوع از طریق پیام های پست الکترونیکی منتقل می گردند. این نوع ویروس ها بصورت خودکار برای افراد متعدد، پست خواهند شد. گزینش افراد برای ارسال نامه الکترونیکی بر اساس دفترچه آدرس پست الکترونیکی، انجام می گیرد.
در حقیقت آخرین اطلاعات موجود در رابطه با ویروس های کامپیوتری به ویروس های پست الکترونیکی اشاره دارد و در حال حاضر پست الکترونیک بزرگترین منشاه ویروس ها می باشد.
-7-3-1ویروس های دوزیست
اینگونه ویروس ها، ویروس هایی هستند که در دو محیط مختلف از نظر نوع سیستم عامل قادر به زیست و آلوده سازی می باشند. این نوع از ویروس ها در سیستم عامل های معروفی چون ویندوز و خانواده لینوکس بیشتر دیده شده اند و براحتی قادر به مهاجرت از سیستم عامل ویندوز به لینوکس و بلعکس می باشند. نگارندگان ویروسهای کامپیوتری تاکنون نمونه های مختلفی از این کدهای مخرب را که می تواند هر دو سیستم عامل ویندوز و لینوکس را مبتلا سازند، به صورت محدود و کنترل شده منتشر کرده اند.