موسسه ملی استاندارد و فناوری National Institute of Standards and Technology که به نام NIST آن را میشناسیم، اسنادی را برای پیشبرد مسئولیتهای قانونی خود تحت مدیریت امنیت اطلاعات فدرال FISMA ارائه داد که در آن انواع بدافزار نیز معرفی شده. در همند به کلیات آن میپردازیم.
این استانداردها دستورالعملها و الزاماتی هستند، که تأمین حداقل امنیت اطلاعات را برای انجام عملیات سازمان و دارایی میسر میکنند. این سند به روشهای پیشگیری و مقابله با بدافزار ها و آموزش صحیح آن میپردازد. اما قبل از پرداختن به آن باید با انواع بدافزار آشنا باشیم.
دسته بندی انواع بدافزار
در این بخش قصد داریم تا مهمترین دستهبندیهای انواع بدافزار را به شما به صورت کامل توضیح دهیم.
۱. ویروسها Viruses | مهمترین بدافزار
معروفترین عضو خانوادهی بدافزار ویروسها هستند. یک ویروس به شکل خود تکرار یا Self-Replicate طراحی شده است تا خود را در فایلها و کامپیوترهای دیگر توزیع کند. ویروسها مکانیزمهای متفاوتی را برای آلودگی به کار میبرند. برای مثال، ویروسها میتوانند خود را به برنامههای میزبان یا فایلهای دادهای مثل کدهای ماکروی یک فایل Word وارد کنند.
اثر ویروس میتواند طیفهای مختلفی داشته باشد. این طیف میتواند از خوشخیم تا بسیار بدخیم را شامل شود. ویروسها را همچون افراد مزاحم و خلافکاری فرض کنید که میتوانند بسیار کمخطر یا بسیار مخرب باشند. برای دفاع با هر کدام از آنها باید روشهای متفاوتی را بکار برد. پس تحلیل نرم افزار ، یک امر بسیار مهم و ضروری است.
دو نوعِ عمده از ویروسها وجود دارند. یکی ویروسهای کامپایل شده که توسط سیستم عامل اجرا میشوند و دیگری ویروسهای وقفهای است که توسط برنامههای کاربردی اجرا میشوند.
در این بخش، این دو نوع ویروس را بررسی میکنیم و تکنیکهای مختلف مبهمسازی برای جلوگیری از تشخیص آنها را بررسی میکنیم.
۱.۱ . ویروسهای کامپایل شده | Compiled Viruses
ویروسهای کامپایل شده به گونهای هستند که کد منبع توسط یک کامپایلر، تبدیل به برنامه میشود تا بر روی سیستم عامل به طور مستقیم اجرا شود. این مدلهای کامپایل شده معمولاً به سه دسته تقسیم بندی میشود:
۱.۱.۱. آلوده کننده فایل | (File Infector)
در این مدل، ویروس خود را به برنامههای اجرایی مانند Word و Excel و بازیهای رایانهای میچسباند. هنگامی که فایلِ آلودهشدهی ویروس منتشر میشود، آلودگی را به برنامههای دیگر و سیستمهای دیگر انتقال میدهند.
۲.۱.۱. ویروسهای بوت سکتور | (Boot Sector)
ویروسهای بوت سکتوری با آلوده کردن بوت رکورد (MBR) در یک دیسک سخت و یا بوت سکتور از یک هارددیسک، باعث راهاندازی در سیستم میزبان میشود.
هر هارددیسک، یک مکان منحصر به فرد برای راهاندازی سیستم دارد تا در هنگام بوت، قطعه کُد خاصی که مربوط به بالاآوردن سیستم عامل است را انجام دهد. ویروسهای بوت سکتور، این قطعه کُد را تغییر میدهد تا ابتدا خودش اجرا شود و بعد سیستم عامل را راه اندازی کند.
۳.۱.۱. ویروسهای چند تکه | (Multipartite)
ویروسهای چند تکه با استفاده از روشهای مختلف آلودگی، هر دو روش آلودگی فایل و آلودگی بوت سکتور را با هم استفاده میکند.علاوه بر آلودگی فایلها توسط ویروسها، حافظه سیستمها نیز آلوده میشد این کار به توسط ویروس مقیم در حافظه صورت میگرفت.
۲.۱. ویروسهای مفسری | (Interpreted Viruses)
بر خلاف ویروسهای کامپایل شده، که میتواند توسط سیستم عامل اجرا شوند، ویروسهای مفسری به وسیلهي یک کد منبع اجرا میشوند. کد منبع معمولا در قالب یک برنامه خاص و یا یک سرویس اجرا میشود. امروزه ویروسهای مفسری بسیار متداول شدهاند، چرا که نوشتن و ویرایش آنها، نسبت به انواع دیگر ویروسها آسانتر است.
یک مهاجم نسبتاً غیر ماهر میتواند با بررسی یک ویروس مفسری به کد منبع آن دستیابی پیدا کند، آن را به راحتی تغییر داده و منتشر نماید. دهها نوع از ویروس مفسری وجود دارند که تنها با تغییرات جزئی، از ویروس اصلی منتشر شدهاند. دو نوع عمده از ویروسهای مفسری، ویروسهای ماکروی و اسکریپتی هستند.
ویروسهای ماکروی:
از شایعترین و موفقترین نوع ویروسها (بدافزار) هستند. این نوع از ویروسها خود را به فایلهای Word و یا Excel و شبیه این متصل میکنند و با استفاده از یک زبان برنامه نویسی ماکروی مانند VBA، برنامه را برای اجرا و انتشار آماده میسازند.
ویروسهای ماکروی با استفاده از قابلیتهای برنامه نویسی ماکروی و بستههای مختلف نرمافزاری میتوانند به طور خودکار وظایف پیچیده و تکراری را به راحتی انجام دهند. این ویروسها فایل خود را به اشتراک میگزارند تا منتشر شوند. با باز کردن یک سند Word توسط کاربر، ویروس اجرا شده و آلودگی را منتشر میکند.
ویروسهای اسکریپتی:
بسیار شبیه به ویروسهای ماکرو هستند، تفاوت اصلی این دو گونه آن است که یک ویروس ماکرو در زبان قابل فهم برای یک برنامه خاص مانند Word نوشته شده است، در حالی که یک ویروس اسکریپتی در زبان قابل فهم برای اجرای خدمات توسط سیستم عامل نوشته شده است. به عنوان مثال، در سیستم عامل ویندوز اجرای VBScript به راحتی انجام میشود.
بدافزار تکنیک مبهم سازی | (Obfuscation Techniques)
حال پس از معرفی دو نوع از ساختار ویروسها به معرفی تکنیکهای مبهم سازی ویروسها میپردازیم. بسیاری از ویروسها با استفاده از یک یا چند تکنیک مبهم سازی، راه را برای تشخیص مشکلتر میکنند. اگر تشخیص یک ویروس سخت باشد، به احتمال زیاد گسترش آن وسیعتر خواهد بود. تکنیکهای مبهم سازی که به طور معمول استفاده میشود به شرح زیر است:
Self-Encryption and Self-Decryption | خود رمزگذاری و خود-رمزگشایی:
این نوع ویروسها بدنه اصلی کُد خود را با رمز کردن پنهان میکنند. ویروس با کلیدهای تصادفی، لایههای چندگانهای از خود میسازد و گونههای متفاوتی از خود ایجاد میکند که هر نمونه از ویروس، از نظر شکل متفاوت نشان میدهد.
Polymorphism | چندریختی:
ویروس چندریختی شکلهای متفاوتی از خود را منتشر میکند که علاوه بر رمزگذاری بدنه اصلی ویروس، قسمت رمز گشا را هم به شکلهای مختلفی منتشر میکند.
Metamorphism | دگر ریختی:
ایده ویروس دگرشکلی به این گونه است که به جای پنهان کردن، ویروس به وسیله رمزنگاری میتواند محتویات خود را به شکلهای متفاوت تغییر دهد. بعنوان نمونه، یکی از کارهای دگرریختی ویروس، افزودن توالی کُدهای غیر ضروری به کُدهای اصلی بدنهی ویروس میباشد. گاهی با تغییر ترتیب و توالی قطعه از کد اصلی ویروس همراه است. در این روش، کُد اصلی ویروس تغییر پیدا کرده و سپس کامپایل شده تا گونه یا گونههایی از ویروس ساخته شود. این کار برای این است تا ویروس تولید شده، با کُد اصلی ویروس متفاوت باشد، ولی عملکرد یکسانی داشته باشد.
Stealth | مخفیکاری:
ویروسهای مخفیکار، با استفاده از تکنیکهای مختلف، ویژگیهای آلودگی خود را پنهان میکنند. به عنوان مثال، ویروسهای مخفیکار در لیست فایلهای سیستم عامل تداخل ایجاد میکنند تا اندازه فایل گزارش شده با واقعیت متفاوت باشد. با این کار، اندازه واقعی فایل اصلی آلوده به ویروس، فاش نمیشود.
Armoring | زرهگذاری :
زره گذاری برای آن است که یک ویروس از نرمافزارهای ضدویروس محافظت شود و یا کارشناسان تحلیل ویروس نتوانند به راحتی ویروس را بررسی کنند.
Tunneling | تونل زنی :
ویروس با تونل زدن به سطح پایین سیستم عامل میتواند تحرکات آن را رهگیری نماید و با قرار دادن خود در سطحی پایینتر نسبت به نرمافزارهای ضدویروس، از تشخیص داده شدن توسط نرمافزارهای امنیتی جلوگیری کند.
با آنکه ضدویروسها در طراحی محصولات خود تلاش میکنند تا تکنیکهای مبهمسازی را دور زده و فریب این نوع ویروسها را نخورند اما هر روزه تکنیکهای مبهمسازی جدیدتر و پیچیدهتری ایجاد میشود و ضدویروسها را با مشکلات بیشتری مواجه میکند.
۲. بدافزار کِرمها | (Worms)
کِرمها، نوعی بدافزار هستند که به طور کامل خود همانندسازند. به این معنی که آنها نیازی به یک میزبان ندارند تا آن را آلوده کنند. کِرمها بر خلاف ویروسها، میتوانند بدون دخالت کاربر به طور کامل نسخهی اجرا شدهی خود را منتشر کنند. محبوبیت کِرمها به خاطر نوع حمله کردن آنها است، چرا که کِرمها پتانسیل آلوده کردن سیستمهای بسیاری در یک دوره زمانی کوتاه را دارند. کِرمها سهم عمدهای از آسیبپذیریهای شناخته شده را دارند. اگر چه شهرت کِرمها عمدتاً به اتلاف منابع سیستم و شبکه است، ولی کِرمها آسیبهای دیگری مانند نصب درب پشتی، حمله انکار سرویس (DDOS) و دیگر عملهای مخرب را دارند.
دو دسته اصلی از کِرمها، کِرمهای شبکهای و کِرمهای ایمیلی هستند.
کِرمهای شبکهای:
با بهرهبرداری از یک آسیبپذیری در شبکه یا سیستم عامل یا یک نرمافزار، به آن سیستم نفوذ میکند. هنگامی که یک کِرم در یک سیستم آلوده در حال فعالیت است، شبکه را اسکن میکند و سعی میکند تا به دیگر سیستمهایی که آن آسیبپذیری را دارند نفوذ کند. سپس تلاش برای آلوده کردن این سیستم را انجام میدهد. از نمونه کِرمهایی که در شبکه منتقل میشوند Sasser و Witty را میتوان نام برد.
کِرمهای ایمیلی:
از راه ایمیل منتشر میشوند. این کار را ابتدا با جستجوی آدرس ایمیل بر روی سیستم آلوده انجام میدهند، سپس خودشان را به آن آدرس ایمیلها میفرستند. نمونههایی از این نوع کِرمها Mydoom و Netsky هستند.
۳. اسبهای تروجان (Trojan Horses) | باهوشترین بدافزار
این نام از اسبی چوبی در اساطیر یونان میآید. اسبهای تروجان از دیگر بدافزارهای موجود هستند که برنامههای غیر همانندسازند که به نظر میرسد خوشخیم باشند، اما در واقع پشت هدفهای مخرب پنهان شدهاند. برخی از اسبهای تروجان به جای فایلهای موجود، در سیستم جایگزین میشوند. اسبهای تروجان تمایل دارند تا به شکل یکی از سه مدل زیر خود را نشان دهند:
- حالت اول: یک برنامه واقعی است ولی فعالیتهای مخرب و نامربوط را نیز انجام میدهد. به عنوان مثال، یک بازی که به جمع آوری کلمات عبور نیز میپردازد.
- حالت دوم: شبیه به یک برنامه واقعی است، اما فعالیتهای اصلی خود را انجام نمیدهد و فعالیتهای مخرب را انجام میدهد. به عنوان مثال، تروجانی که همانند یک نسخه از برنامه ورود است که بجای برخی از عملکردها به جمعآوری رمزهای عبور میپردازد.
- حالت سوم: اجرای یک کار مخرب که به طور کامل، عملکرد برنامه اصلی را تحت کنترل قرار داده است. به عنوان مثال، یک فایل است که ادعا میکند یک بازی است اما در واقع زمانی که اجرا میشود همه فایلهای سیستم را حذف میکند.
تشخیص تروجانها میتواند مشکل باشد، چرا که بسیاری از آنها به طور خاص طراحی شدهاند و تروجانها برای پنهان کردن حضور خود روی سیستم به انجام کارهایی دست میزنند که کاربران و مدیران سیستم ممکن است متوجه آنها نشوند. بسیاری از تروجانهای جدید از برخی تکنیکهای مبهمسازی که ویروسها استفاده میکنند، بهره میگیرند تا تشخیصشان پیچیدهتر شود.
۴. حملههای مخلوط | (Blended Attacks)
گونهی بعدی از بدافزار، حملههای مخلوط هستند که همان طور که از اسمش نشان میدهد مخلوطی از چند حمله متفاوتند. کِرمهای مانند Nimda از این روش برای انتشار خود استفاده میکنند که چهار روش انتشار آن در زیر آمده است:
- ایمیل: هنگامی که فایل پیوست ایمیل توسط کاربری بر روی یک میزبان آسیبپذیر باز میشود، کِرم نیمدا با سوء استفاده از آسیب پذیری مرورگر وب ابتدا سیستم میزبان را آلوده میکند و سپس کپی از خودش را برای آدرس ایمیلهای دیگر که در ایمیل میزبان وجود دارد ارسال میکند.
- اشتراک گذاری ویندوز: کِرم نیمدا، میزبانهای ناامن که از اشتراکگذاری ویندوز استفاده میکنند را اسکن میکند و سپس با استفاده از NetBios فایل خودش را به آن سیستم انتقال میدهد. حال باید یک کاربر، آن فایل آلوده را اجرا کند تا عملیات آلودگی کامل شود و کِرم نیمدا در آن میزبان فعالیت کند.
- سرویس دهنده وب: کِرم نیمدا سرویس دهندههای وب را اسکن میکند، این سرویس دهندهها باید آسیبپذیریهای شناخته شدهای را داشته باشند (مانند IIS با آسیب پذیری خاص). اگر آن شرایط اتفاق افتاد این کِرم تلاش میکند یک کپی از خود را بر روی آن سرویس دهنده انتقال دهد.
- سرویس گیرنده وب :اگر یک کاربر از وب سایت آلوده بازدید کند، ایستگاههای کاریِ کاربر، دچار آلودگی میشود.
علاوه بر روشهای بالا، حملات مخلوط میتوانند از طریق خدمات پیام رسانی فوری، به اشتراکگذاری فایلها به صورت نظیر به نظیر یا peer-to-peer نیز منتشر شود. در حملات مخلوط از کِرمها، تروجانها، جاسوس افزارها، و هزاران راه متفاوت ممکن است استفاده شود.
ادامه این بحث، در مقالهی بعد در مورد ابزارهای حمله و برنامههای کمکی آن صحبت خواهیم کرد. در صورتی که تجربهای در این زمینه دارید و یا سوالی برایتان پیش آمده، برایمان کامنت کنید.
منبع: CSO