آشنایی با انواع بدافزار
به عنوان یک کاربر سیستم های کامپیوتری در طول سالیان متوالی تجربه های متفاوتی از برخورد و دچار شدن سیستم کامپیوتری به انواع بدافزار نظیر ویروس را داشته ایم. قطعاً هر کاربر یا مدیر شبکه ای به دنبال جلوگیری از نفوذ هر گونه بدافزار به سیستم های کامپیوتری و شبکه است. برای اینکه راه کارهای مقابله و جلوگیری از نفوذ بد افزارها را بدانیم در ابتدا لازم است آگاهی نسبی نسبت به بدافزارها و انواع آن داشته باشیم.
در این قسمت از مقاله قصد داریم ضمن ارائه تعریفی مشخص از بدافزار، به تشریح انواع بدافزارها بپردازیم.
بد افزار (Malware):
نرم افزارهای مخرب (Malicious Software) یا بدافزار (Malware) به نرم افزارهایی گفته می شود که در جهت نفوذ و یا آسیب رساندن به سیستم های کامپیوتری بدون اطلاع و رضایت کاربر آن سیستم طراحی شده اند.
در طول سالیان گذشته دامنه انواع بدافزارها از ویروس به موارد متنوع تری نظیر spyware و ransomware گسترش یا فته است. اغلب افراد با آن که شناخت نسبی از ویروس ها و نرم افزارهای آنتی ویروس دارند، اما در خصوص سایر بدافزارها و راه های مقابله با آنها هم چنان دچار نوعی نا آگاهی هستند. از این روی کارشناسان سیستم های کامپیوتری و شبکه میبایست کوشش مناسبی در جهت شناخت انواع بد افزار و راه های جلوگیری از نفوذ بدافزار داشته باشند.
معرفی بدافزارها را با شناخته شده ترین نوع آنها یعنی Virus ها آغاز می کنیم.
Virus :
ویروس کامپیوتری، یک کد (code) مخرب است که بدون اطلاع کاربر بر روی کامپیوتر اجرا میشود. یک ویروس زمانی میتواند یک سیستم کامپیوتری را آلوده کند که در دسترس قرار گرفته و اجرا (execute) شود. بنابراین یک ویروس کامپیوتری برای انجام اهداف مخرب خود نیاز به اجرا شدن توسط کاربر و یا از هر طریق دیگری را دارد. همچنین قابلیت تولید مثل و انتشار نسخههای کپی شده در سطح یک سیستم کامپیوتری پس از اجرا شدن کد مخرب (توسط کاربر یا راه های دیگر) از دیگر ویژگی های یک ویروس کامپیوتری است. با در دسترس قرار گرفتن فایل های آلوده به ویروس یک کامپیوتر توسط سایر کامپیوترها، ویروس می تواند در سطح شبکه انتشار پیدا کند.
یکی از شناخته شدهترین ویروس های کامپیوتری، Love Bug است که در سال 2000 انتشار یافت. این ویروس یک کد مخرب Visual Basic بود که با نام love-letter-for-you.txt.vbs در قالب فایل ضمیمه (attachment) ایمیلی با موضوع I Love You برای کاربران ارسال میشد. آلوده شدن کامپیوتر به این ویروس عواقب وحشتناکی نظیر پاک شدن فایل ها، ارسال نام های کاربری و رمز عبور برای سازنده ویروس را در بر داشت. ویروس Love Bug حدود 15 میلیون کامپیوتر را آلوده کرد و خسارت 15 میلیارد دلاری به بار آورد.
در ادامه به معرفی انواع ویروس های کامپیوتری می پردازیم:
Boot Sector :
در ابتدا بر روی اولین sector از هارد بارگذاری میشود و پس از boot شدن کامپیوتر بر روی memory بارگذاری میشود.
:Macro
معمولاً بر روی فایل های داکیومنت قرارداده شده و از طریق ایمیل برای کاربر ارسال می شود به امید اینکه کاربر داکیومنت را باز کرده و ویروس بر روی کامپیوتر اجرا شود.
Program:
موجب آلوده شدن فایل های اجرایی (Executable) می شود.
Encrypted:
از یک رمز (cipher) کوچک برای رمزگذاری (encrypt) کردن خودش استفاده میکند. در واقع ویروس شامل یک کد رمزنگاری شده (برای جلوگیری از تشخیص داده شدن) و یک ماژول کوچک رمزگشایی است. ممکن است از کلیدهای متفاوت رمزنگاری به ازای هر فایل آلوده استفاده شود اما معمولا فقط یک کلید رمزگشایی گد وجود دارد.
Polymorphic:
بر پایه مفهوم ویروس های رمزنگاری شده ساخته می شوند با این تفاوت که ماژول رمزگشایی در هر بار آلوده سازی تغییر پیدا می کند و این تغییر منجر به تغییر یافتن ویروس در جهت جهت جلوگیری از تشخیص توسط آنتی ویروس، پس از هر بار اجرا می شود.
Metamorphic:
مشابه ویروس های Polymorphic است با این تفاوت که پس از آلوده سازی هر فایل، به طور کامل خودش را بازنویسی میکند و با این روش سعی در عدم تشخیص داده شدن دارد.
Stealth:
از تکنیک های مختلف برای عدم جلب توجه نرم افزارهای آنتی ویروس استفاده میکند.
Armored:
با فریب دادن نرم افزار آنتی ویروس از خودش محافظت میکند. به طور واضح تر، این نوع ویروس کاری میکند که آنتی ویروس فکر کند فایل مخرب در محل دیگری غیر از محل واقعی وجود دارد. اساساً این نوع ویروس یک لایه محافظتی در برابر افرادی که سعی در شناخت و تحلیل آن دارند، برای خودش تعبیه کرده است و تلاش تحلیل گران را برای آزمون کدهای خودش خنثی میکند.
Multipartite:
ترکیبی از ویروس های boot و program است که در ابتدا به boot sector و یا فایل های سیستمی حمله کرده و سپس به سایر فایل های کامپیوتر حمله می کند.
در بالا با انواع ویروس های کامپیوتری آشنا شدیم، در ادامه مقاله قصد داریم سایر بدافزارها را معرفی کنیم.
Worms:
Worm یا کرم کامپیوتری مشابه ویروس ها هستند با این تفاوت که Worm ها بر خلاف Virusها Self-Replicate هستند. این بدین معناست که سعی در انتشار خود به سایر کامپیوترها دارند. Worm ها از حفره های امنیتی سیستم عامل ها و نرم افزارها استفاده میکنند و سپس به جستجوی سایر سیستم های با حفره های امنیتی مشابه در سطح شبکه و اینترنت میگردند تا خود را بر روی آنها نیز تکثیر کنند. Worm نیازی به در دسترس قرارگرفتن و اجرا شدن توسط کاربر ندارد. ویروس ها نیاز به نوعی حامل برای رسیدن به سیستم هدف و یک دستورالعمل صریح برای اجرا شدن دارند و یا میبایست توسط کاربر اجرا شوند. در حالی که Worm نیازی به این حامل و دستورالعمل صریح برای اجرا شدن ندارد.
از شناخته شده ترین Worm ها میتوان به Nimda یا admin backward اشاره نمود که در سال 2001 و در عرض 20 دقیقه به صورت اتوماتیک در سطح اینترنت انتشار یافت و موجب خسارت گستردهای گردید. Nimda از طریق اشتراک گذاریهای شبکه (Network Share)، ایمیل های انبوه و آسیب پذیری های سیستم عامل انتشار مییافت.
گاهی اوقات ممکن است Worm شامل هیچ گونه payload به عنوان کد مخرب جهت آلوده سازی سیستم کامپیوتری نباشد و ممکن است حامل نوع دیگری از بدافزار باشد و یا حتی ممکن است بدون داشتن هرگونه کد مخرب و یا سایر بدافزارها صرفاً به واسطه خاصیت خودتکثیری موجب قطع شدن ترافیک شبکه و از کار افتادن سیستم های کامپیوتری گردد.
Trojan Horses:
Torjan ها نوعی از بدافزارها هستند که در نگاه اول هیچ گونه فعالیت مخربی ندارند و در حال انجام عملیات های مطلوبی هستند. اما در واقع و در پشت صحنه در حال انجام عملیات مخرب خود هستند. Trojan ها از لحاظ فنی شباهتی به ویروس ها ندارند اما میتوانند به آسانی و بدون جلب توجه بر روی سیستم دانلود شوند.
همچنین میتوانند با استفاده از Flash USB از یک کامپیوتر به کامپیوتر دیگر منتقل شوند. یک نمونه شناخته شده ازTrojanها فایل هایی تحت عنوان Key Generator هستند که به اختصار Keygen نامیده می شوند و معمولاً برای کرک کردن نرم افزارها از آنها استفاده میکنیم.
Remote Access Trojan یا RAT معمول ترین نوع Trojan ها هستند. از RAT های شناخته شده می توان به Back Orifice، NetBus و SubSeven اشاره نمود که قابلیت در دست گرفتن سیستم با سطوح دسترسی مدیریتی توسط مهاجم با استفاده از این بد افزارها، آنها را در زمره خطرناک ترین بدافزارها قرار داده است.
Ransomware:
شاید بتوان گفت تعداد افرادی که با این نوع بدافزار آشنایی دارند بسیار کم است. Ransomware یا باج افزار که با نام crypto-malware نیز شناخته می شود با رمزنگاری (encryption) فایل ها و قفل کردن آنها، دسترسی به سیستم کامپیوتری را محدود نموده و برای در اختیار قرار دادن کلید رمزگشایی و باز کردن قفل از قربانی تقاضای پرداخت وجه میکند.
معمولاً درقالب worm و یا trojan تکثیر میشوند و با رمزنگاری کردن فایل ها آنها را غیرقابل دسترس میکنند. به طور مثال CryptoLocker یک ransomware trojan است که با استفاده از یک کلید عمومی RSA فایل های اصلی سیستم را encrypt میکند در حالی که کلید خصوصی در اختیار سازنده این بدافزار است. اگرچه امکان اینکه پس از حمله، Trojan شناسایی شده و حتی قرنطینه یا پاک شود اما فایل های رمز شده در همان حالت باقی میماند و رمزگشایی آنها با توجه به قدرت کلید RSA تقریبا امکان ناپذیر است. اغلب اوقات مهاجم از قربانی درخواست وجه در قالب ارزهای دیجیتال نظیر Bitcoin را دارد ولی حتی پس از دریافت وجه هم کلید خصوصی را در اختیار قربانی قرار نمیدهد.
میزان حملات Ransomware در طول سالیان گذشته رشد بسیار زیادی داشته است و سالانه ده ها هزار سیستم کامپیوتری قربانی باج افزارها میشوند.
Spyware:
Spyware یا جاسوس افزار، از جمله نرم افزارهای مخرب است که به صورت کاملاً ناخواسته و از طریق دسترسی به یک وب سایت آلوده و یا در کنار یک نرم افزار third-party بر روی سیستم نصب میشود. معمولاً بدون رضایت کاربر اطلاعات مربوط به او را جمع آوری میکنند. جمع آوری اطلاعاتی نظیر وب سایت های بازدید شده تنها با یک کد بسیار ساده امکان پذیر است. همچنین ثبت کلیدهای فشرده شده کیبورد توسط نوعی از spyware ها به نام keylogger امکان پذیر است. توزیع spyware از طریق pop-up نیز امری بسیار شایع است.
Spyware ها همچنین می توانند تنظیمات پیکربندی کامپیوتر را بدون دخالت کاربر عوض کنند. به طور مثال redirect کردن مرورگر به وبسایتی غیر از آن چیزی که انتظار میرود.
Adware ها نیز عملکردی جاسوس افزار گونه دارند زیرا موجب باز شدن pop-up های تبلیغاتی همسو با اطلاعاتی که از علایق و فعالیت های کاربر جمع آوری کردهاند میشوند.
یک نمونه از spyware ها، Internet Optimizer است که صفحههای خطای Internet Explorer را به صفحات تبلیغاتی Redirect می کند. Spyware ها میتوانند برای hijack کردن کامپیوتر و یا حتی برای جاسوسی سایبری مورد استفاده قرار گیرند. Red October یک نمونه بسیار معروف از این گونه جاسوس افزارهاست که از طریق Redirect شدن ناخواسته کاربر به وب سایت هایی با صفحات PHP که با استفاده از نقص های امنیتی Java، exploit شده بودند، بر روی سیستم کامپیوتری کاربر نصب میشد.
Rootkit:
Rootkit ها نرم افزارهای مخربی هستند که برای دردست گرفتن سیستم کامپیوتری با سطح مدیریت (Administrator) و کنترل آن بدون تشخیص داده شدن طراحی شده اند. معمولاً هدف rootkit ها اجرای عملیات مخرب بر روی سیستم کامپیوتری در آینده و بدون اطلاع کاربر یا مدیرشبکه است.
Rootkit در واقع ویروسی است که سعی در رخنه به لایه های پایین تر سیستم عامل (اجزایی که قبل از وارد بازی شدن نرم افزار Anti-malware بالا می آیند) دارد. Rootkit ها میتوانند BIOS/UEFI، Boot Loader و Kernel را مورد هدف قرار دهند. یک نمونه از rootkit های boot loader، حمله Evil Maid است. نمونه دیگر از rootkitها Alureon است که MBR و درایورهای سطح پایین سیستم نظیر atapi.sys را مورد تأثیر قرار میدهد. این rootkit خاص از طریق botnet ها توضیع شده و بیش از 200.000 سیستم عامل ویندوز را آلوده نمود.
تشخیص rootkit ها بسیار مشکل است چون قبل از boot شدن کامل سیستم عامل فعال میشوند.یک rootkit ممکن است منجر به ایجاد فایل ها، پردازش ها و حساب های کاربری مخفی بر روی سیستم شوند و از آنجایی که هم بر روی سخت افزار و هم بر روی نرم افزار نصب میشوند میتوانند دیتای مربوط به اتصال شبکه کیبورد و ... را رهگیری کنند.
Fileless Malware:
بدافزارهایی که بر روی هارد درایو کامپیوتر قرار نمیگیرند و میتوانند بر روی RAM و یا محل دیگری قرارداده شود. بدافزار بدون فایل، بدون قراردادن فایل های مخرب اجرایی بر روی فایل سیستم عمل میکند و به جای آن در محیط های Memory-Based کار میکند. این بدافزارها میتوانند بسیار قدرتمند باشند اما توجه داشته باشید که مهاجم برای توسعه آنها نیاز به دسترسی ریموت از طریق SSH، RAT و یا هر طریق دیگری به سیستم هدف دارد. عبارت fileless تا حدودی نادرست میباشد زیرا در هر حال حمله ممکن است حاوی فایل باشد. سیستم هایی که دارای امنیت ضعیف هستند و یا سازمان هایی که سیاست های کنترل دسترسی درستی ندارند طعمه مناسبی برای این بدافزارها هستند.
ما در این مقاله به معرفی اجمالی انواع بدافزار پرداختیم و در مقالات بعدی به عوامل و راه هایی که موجب آلوده شدن یک سیستم به بدافزار میشود و راه های جلوگیری از آنها و نحوه مقابله با بدافزارها خواهیم پرداخت.
تهیه و تنظیم مقاله توسط مهندس پوریا یعقوبی