اطلاعات اساسی در مورد ویروس
ویروس چیست؟
یک ویروس یک برنامه کوچک و انجام پذیر است که قابلیت آنرا دارد که کد خود را در قسمتهای مختلف یک کامپیوتر مثل هارد دیسک یا فلاپی کپی کند یا به فایلهای اجرائی بچسباند. این در حالی است که کاربر از وجود ویروس و اعمالی که انجام میدهد کاملا بیاطلاع است و هنگامی متوجه میشود که سیستم یا باید Format شود و یا سرعت سیستم به شدت پایین آمده است.
هر ویروس خصوصیاتی مخصوص به خود دارد. ویروسها راههای متفاوتی برای آلوده کردن سیستمها دارند که همین خصوصیت آنها را از دیگر ویروسها متمایز میکند. در زیر طریقه جدا کردن ویروسها را از همدیگر شرح میدهم:
الف) حجم: یک ویروس میتواند کوچکتر یا در حدود ۶۶ بایت باشد یا بزرگتر یا در حدود ۴۰۹۶ بایت باشد. در مقایسه با نرمافزارها یک ویروس باید خیلی کوچک باشد.
ب) روش آلوده سازی: یک ویروس میتواند با روشهای متفاوتی برنامه میزبان را آلوده کند. در زیر سه روش که بیشتر مورد استفاده است شرح داده میشود:
ب(۱) overwriteکردن: زمانیکه یک ویروس با این روش برنامهای را آلوده میکند، بسادگی یک کپی از کد خود را در بالای کد برنامه میزبان مینویسد این روش خیلی ساده بوده و در ویروسهای اولیه بکار گرفته میشد. در این روش فایل میزبان به احتمال زیاد خراب میشود و از کاربر از دیسک پشتیبان فایل را فراخوانی میکند. در این روش تاریخ تغییرات فایل عوض میشود اما حجم همانطور باقی میماند در این روش توابعی که برنامه باید انجام دهد زیاد میشود و سرعت اجرای برنامه اصلی (اگر خراب نشده باشد) کاهش پیدا میکند.
ب(۲) الصاق کردن: این روش کمی پیچیدهتر است. ویروس خود را به انتهای فایل میزبان الصاق میکند و سرخط برنامه را اصلاح میکند در هنگام اجرای برنامه، برنامه ابتدا به قسمتی که کد ویروس قرار دارد رفته، دستورات ویروس را اجرا کرده و بعد برگشته و به اجرای برنامه میزبان میپردازد. در نظر کاربر برنامه به صورت نرمال اجرا میشود اما ایراد این روش این است که حجم فایل افزایش مییابد. بعضی از ویروسهای الصاقی تشخیص نمیدهند که فایل قبلا ویروسی شده است یا نه و دوباره و چندباره فایل را آلوده میکنند و این باعث میشود که حجم فایل رشد قابل ملاحظهای کرده و در انتها فایل دیگر غیرقابل استفاده میشود.
ب(۳) آلوده کنندههای دیسک: ویروسهای دیگر رکورد بوت (بوت سکتور) دیسک یا جدول پارتیشن را آلوده میکنند. این رکورد قسمتی از دیسک است که هنگام راهاندازی سیستم بصورت اتوماتیک خوانده میشود این یعنی بعد از راهاندازی سیستم ویروس در حافظه قرار میگیرد!
ج) (terminated and stay resident) یا TSR: یک ویروس که ممکن است مقیم در حافظه باشد یا با اجرای یک برنامه خاص در حافظه بار شود. هنگامی که ویروس مقیم در حافظه شد هر زمان و هر فایلی را که بخواهد آلوده میکند. تمام ویروسهائی که جدول پارتیشن یا بوت سکتور را آلوده میکنند جزو TSRها هستند.
د) مخفیشدن: بعضی از ویروسهای TSR از تکنیکی ماهرانه استفاده میکنند چنانچه هیچ کار سیستم عجیب به نظر نمیرسد گویا اصلا ویروسی در سیستم نیست! موقعی که کاربر یک لیست از پوشهها میگیرد ویروس از خوانده شدن صحیح دیسک جلوگیری میکند انگار نه انگار که چیزی در سیستم تغییر کرده چون یک کپی از محتویات دیسک را قبل از آلوده شدن به کاربر نشان میدهد. به همین دلیل پیدا کردن ویروسهائی که مقیم در حافظه شدهاند تقریبا غیرممکن است.
ویروسهایی که بوت سکتور را آلوده میکنند ممکن است مخفی شونده باشند. تنها راه مطمئن برای شناسائی این ویروسها این است که ابتدا سیستم را با یک فلاپی (که از ویروسی نبودن آن مطمئن هستیم و در حالت محافظت شده از نوشتن است) بالا آورده و دیسک سخت را ویروسکشی کنیم.
ه) نحوه فعال شدن و نتایج: دیگر ناحیه برای سوا کردن ویروسها از همدیگر نحوه فعال شدن، نتایج آن و نحوه غیرفعال شدن آنهاست. بعضی از آنها در تاریخ معینی فعال میشوند. بعضی دیگر با اجرا شدن برنامهای خاص اجرا میشوند و بعضی دیگر هنگامی خود را نمایان میکنند که دیگر فایلی برای آلوده کردن نمییابند (یعنی همه فایلها آلوده شدهاند!)
هر وقت که یک ویروس فعال میشود فعالیتهایی را که برایش معین شده است انجام میدهد که اینها را نتایج فعال شدن مینامیم. نتیجهای که ممکن است ساده و بیضرر باشد مانند نشان دادن یک پیغام یا بداندیشانه باشد و هارد سیستم را تبدیل به یک آشغالدونی بکند. بدیهی است که هرکس میخواهد قبل از اینکه ویروس فعال شود آن را بیابند.
۹(۳) از چه راههائی ممکن است سیستم ویروسی شود؟
مثل ویروس ایدز چرندیات زیادی در مورد ویروسهای کامپیوتری وجود دارد که میگویند کدام ویروس میتواند سیستم شما را آلوده کند. طوری ما را از آنها میترسانند که با فهمیدن ویروسی شدن سیستم حالمون خراب میشود.
سیستم زمانی ویروسی میشود که شما یک فایل اجرائی را که ویروسی شده است اجرا میکنید یا قصد بوت کردن از روی یک دیسک آلوده میکنید. سیستم شما با نگاه کردن به یک فایل ویروسی، ویروسی نمیشود مگر اینکه سیستمعامل خود را طوری تنظیم کنید که اعمالی خاص را هنگام دیدن فایلهای خاص انجام دهد مثلا windows script host اجرای ویروسهای vbs. را ساده میکند. یک ویروس فقط فایلهائی را میتواند ویروسی کند که قابلیت اجرا شدن داشته باشند یا سیستم عامل اجازه اجرا خودکار به آن فایل خاص دهد مانند .scr. bin . drv . sys . ovl . com . exe. و ... و جدول پارتیشن و بوت رکورد فلاپی یا دیسک سخت.
اشاره کردم که قصد کنید از روی یک فلاپی آلوده سیستم را بوت کنید. حتی زمانیکه شما این اقدام به این کار میکنید و سیستم پیغام میدهد که فلاپی قابلیت بوت کردن ندارد و شما آنرا درآورده و از هارد سیستم را بوت میکنید بازهم سیستم ویروسی میشود. این خیلی مهم است یعنی لازم نیست که شما با موفقیت از روی یک فلاپی آلوده بوت کنید تا ویروس فعال شود. اولین کاری که ویروس انجام میدهد آلوده کردن درایو :c است. بعد که یک دیسک در فلاپی میگذارید آنرا نیز آلوده میکند. به همین دلیل است که نباید هیچ دیسکی در فلاپی باقی بماند و چرا باید فلاپی ها را در مقابل نوشته شدن محافظت کنیم.
و اما جمعبندی مطالب بالا:
الف) سیستم زمانی ویروسی میشود که شما یک فایل اجرائی را اجرا میکنید. هر چند ممکن است آن فایل اجرا نشود اما مطمئن باشید ویروس اجرا میشود.
ب) سیستم زمانی ویروسی میشود که شما اقدام به بوت کردن از روی یک دیسک آلوده میکنید هر چند بوت کردن با موفقیت انجام نشود.
ج) بوت سرد میتواند ویروس را از حافظه بیرون اندازد اما بوت گرم نه، پس زمانی که میخواهید سیستم را ریبوت و سپس ویروسکشی کنید با دکمه power این کار را انجام دهید نه با سه کلید Ctrl+Alt+Del.
د) سیستم شما به صرف اینکه شما به یک دیسک یا برنامه آلوده نگاه میکنید ویروسی نمیشود .
ه) سیستم شما با یک فایل داده مثل txt. هیچوقت آلوده نمیشود مگر اینکه برنامههای دیگر یک فایل اجرائی را به این نام تغییر نام داده باشند که این هم وقتگیر است و زیاد مورد توجه ویروسنویسها نیست. در ضمن سیستم را طوری تنظیم کنید که پسوند تمام فایلها را نشان دهد شاید متوجه شوید که فایل ویروس چنین است pic1.jpg.exe و تمام فایلهای اجرائی جدید را قبل از اجرا با نرمافزارتان چک کنید و هیچوقت یک دیسکت را در فلاپی دیسک باقی نگذارید.
۹(۴) با چه علائمی میتوان فهمید سیستم ویروسی شده است؟
بعضی چیزها و علائم هستند که از روی آنها میتوان فهمید سیستم ویروسی شده است حتی با وجود اینکه نرمافزار ضد ویروس سیستم را سالم میداند باز هم به آن اعتماد ۱۰۰٪ نکنید خیلی از ویروسها حتی این نرمافزارها را نیز اسیر خود میکنند. و اما علائم از این قرارند:
الف) فایلهای exe و com رشد میکنند و حجمشان زیاد میشود پس سیستم یک ویروس الصاقی دارد.
ب) برنامههایی که اجرایشان میکنیم بدرستی اجرا نمیشوند و با چند پیغام خطا که برای ما تازگی دارند از ادامه کار باز میماند. این علامت یک ویروس overwrite است بعضی از پیغامهای خطای معمول چنین است "unknown command" یا "حجم برنامه زیاد است و در حافظه جای نمیگیرد" و یا پیغامهای شبیه اینها، اینها باید شما را نسبت به سیستم مشکوک کند.
ج) تغییرات مشکوک در پوشهها. اگر شما برنامه را اجرا میکنید و متوجه میشوید شما به یک پوشه دیگر انتقال یافتهاید یعنی یک ویروس شروع به شکار فایلها در پوشه برنامه شما کرده است.
د) کاهش در حافظه سیستم. شما باید بدانید معمولا چقدر فضای آزاد در حافظه سیستم دارید، اگر این عدد کاهش پیدا کند پس یک ویروس TSR در سیستمتان زندگی میکند! اما این همیشه کارگر نیت چون بعضی از ویروسها مقدار زیادی از حافظه را اشغال نمیکنند.
ه) پیغامهای خطای مشکوک CHKDSK. ویروسهای نهان باعث میشوند شما پیغام خطای CHKDSK بگیرید زیرا آنها اطلاعات CHKDSK را تغییر میدهند. اگر شما در این وضعیت CHKDSK /f کنید خطر بزرگی ساختمان پوشههایتان را تهدید میکند در صورتی که در وضعیت عادی چنین خطری وجود ندارد.
و) پائین آمدن سرعت در عملیات سیستم. در این حالت مدت زمان اجرای برنامهها افزایش مییابد.
۹(۵) چگونه میتوان از سیستم خود در برابر ویروسها محافظت کرد؟
الف) در فاصله زمانی معین از فایلهای حساس خود back up بگیرید.
ب) خیلی از برنامهها مثل NU میتوانند برایتان یک دیسک نجات تهیه کنند تا در موارد حساس از آن استفاده کنید این دیسک را تهیه کرده، write protect کرده و در یک جای امن نگهداری کنید. در آن دیسک یا یک دیسک دیگر یک ویروسکش کم حجم را ذخیره کنید.
ج) اطلاعات خود را در مورد ویروسها افزایش دهید و بیشتر با آنها و اعملشان آشنا شوید هیچ برنامه ضدویروسی به اندازه انسان هوشمند نیست.
د) از برنامههای قوی ضدویروس استفاده کنید (از هیچ چیز که بهترند). اما همیشه به آنها اعتماد نکنید!
منبع: یادم نیست
__________________
انواع کلی ویروس های فایلی:
ویروس های فالیلی را می توان به سه دسته کلی زیر تقسیم کرد:
ویروس های آلوده کننده فایل های COM
ویروس های آلوده کننده فایل های EXE
ویروس های همراه
البته بعضی از ویروس ها فایل های SYS یا BAT را نیز آلوده می کنند, ولی چون تعداد اینگونه ویروس ها بسیار اندک است, لذا ما نیز این ویروس ها را در دسته جداگانه ای معرفی نکردیم.
ویروس های آلوده کننده فایل های COM فایل های ورودی را به عنوان COM در نظر گرفته و آن را آلوده می کنند. لذا بعضی از گونه های این نوع ویروس که نوع فایل ورودی را چک نمی کنند, ممکن است فایل های EXE را نیز به صورت COM آلوده کنند.
ویروس های الوده کننده فایل های EXE فقط فایل های از نوع EXE (که شامل فایل های DLL, OVL و... نیز می شوند)را آن هم بر اساس ساختار خاص فایل های EXE آلوده می کنند و در صورتیکه نوع فایل میزبان را چک کنند فایل دیگری جز اینگونه فایل ها را آلوده نمی نمایند.
ویروس های همراه فایل های COM یا EXE را آلوده می کنند. البته اینگونه ویروس ها فایل ها را مستقیما آلوده نمی کنند, بلکه فایلی هم نام با فایل مورد نظر ولی با پسوندی دیگر ایجاد کرده و خود را درون آن می نویسند و بر اساس خواص سیستم عامل کاری می کنند که اول فایل ویروسی اجرا شود و سپس خودشان فایل اصلی را اجرا می کنند.
بررسی ویروس های آلوده کننده فایل های EXE و ویروس های همراه را به قسمت های بعد موکول می کنیم و در این شماره به ویروس های آلوده کننده فایل های COM می پردازیم:
ساختارفایلهایCOM:
به طور خلاصه فایل های COM دارای ساختار خاصی نبوده و در این فایل ها کد اصلی برنامه از همان ابتدای فایل شروع می شود و ابتدای فایل با ابتدای برنامه یکی است. برای اجرای اینگونه فایل ها سیستم عامل کد موجود در فایل را از ابتدای آن در محل CS:100h از حافظه قرار داده و کنترل را به آنجا می دهد تا برنامه اجرا گرددو پس به خاطر داشته باشید که ابتدای برنامه در فایل های COM برای اجرا در محل CS:100h از حافظه قرار می گیرد.
روشهای مختلف آلوده سازی فایل های COM :
ویروس ها روش های بسیار متنوعی برای آلوده سازی فایل های COM بکار می برند. ولی هفت روش دارای عمومیت بیشتری هستند که ما در اینجا آنها را توضیح خواهیم داد. هر کدام از این روش ها دارای ویژگی ها, مشکلات و راه حل های مخصوص به خود می باشند. اما انواع روش های آلوده سازی: