بدافزار پلیمورفیک و متامورفیک (چندریخت و دگرریخت) دائماً خود را تغییر می دهد تا از شناسایی شدن جلوگیری کند و دائماً در سیستم باقی بماند. این رفتار تطبیقی اصلیترین ویژگی این نوع بدافزارهاست، به همین دلیل است که شناسایی آنها سختتر است. همچنین به همین دلیل است که آنها تهدید مهم و بزرگی به حساب میآیند. در ظاهر عملکرد این نوع بدافزارها یکسان هستند، اما تفاوتهای خاص خودشان را دارند.
بدافزار پلیمورفیک
بدافزار Polymorphic به طور مداوم ویژگیهای خود را با استفاده از کلیدهای رمزنگاری دینامیک تغییر میدهد، بدین ترتیب در هر «تکرار» متفاوت میشود. این رفتار در برابر سیستمهای تشخیص و شناسایی ویروس، که مبتنی بر امضای بدافزار هستند، بسیار موثر است. چون تا امضای این نوع بدافزار شناسایی و منتشر شود، بدافزار صاحب امضای جدیدی شده است. اما از آنجاییکه تنها بخشی از بدافزار پلیمورفیک تغییر میکند، شناسایی آن نسبت به بدافزار متامورفیک آسانتر است.
چند تکنیک مورد استفاده توسط بدافزار Polymorphic :
- مرتب کردن دوباره Subroutine : مجموعهای از دستورالعملهای ساده که برای اجرای مکرر درون یک برنامه طراحی شدهاند را subroutine میگویند. این بدافزار کدهای subroutine خود را بطور مکرر تغییر میدهد تا شناسایی آن توسط آنتیویروسها سخت شود.
- اضافه کردن کد مرده : اضافه کردن کدهای بیمعنی به سورس بدافزار، در حالیکه رفتار آن را اصلا تغییر نمیدهد.
- تغییر Register : تکنیک تغییر Registerها از نسلی به نسل دیگر، بدون تغییر کد و صرفا برای مبهم کردن بدافزار استفاده میشود.
چند نمونه از بدافزار پلیمورفیک:
- Storm Worm : در سال ۲۰۰۷، از طریق ایمیلهای اسپم، این بدافزار توانست حدود ۸ درصد از دستگاهها در سراسر جهان را آلوده کند. این بدافزار هر ۳۰ دقیقه ظاهر خود را تغییر میداد، سیستم قربانی را به یک ربات تبدیل میکرد تا دستورات را از یک کنترلر خارجی مخرب دریافت کند.
- CryptoWall – این بدافزار فایلهای کامپیوتر قربانی را نه برای باج خواهی، بلکه برای فرار از اقدامات حفاظتی معمول رمزگذاری میکند. همچنین گونه جدیدی برای هر هدفش ایجاد میکند.
- Virlock – این نوع اولیه از باج افزار در سال ۲۰۱۵ تکامل یافت. دستگاه هدف را قفل و فایلها را رمزگذاری می کرد. این بدافزار به شکل اخطار نقض حق چاپ توسط FBI نشان داده میشد که برای باز کردن قفل کامپیوتر ۲۵۰ دلار درخواست میکرد.
بدافزار چندشکلی یا پلیمورفیک را میتوان با استفاده از دو تکنیک مختلف شناسایی کرد: الگوریتم نقطه ورود و دیگری تکنولوژی توصیف Generic. «الگوریتم نقطه ورودی» کد ماشین را در نقطه ورودی هر فایل اسکن میکند و فناوری توصیف Generic فایل را روی یک کامپیوتر مجازی محافظت شده اجرا میکند.
بدافزار متامورفیک یا دگرریخت
بدافزار متامورفیک با بازنویسی کد خود با هر تکرار، از شناسایی شدن فرار میکند. با هر بازنویسی، آن را جدید و منحصر به فرد از کد قبلی خود میکند. این بدافزار از هیچ کلید رمزگذاری استفاده نمیکند. خود بدافزار هنگام ایجاد کپی، دستورالعمل های موجود خود را به دستورات عملکردی معادل تغییر میدهد. به دلیل پیچیدگیش، تشخیص آن برای اسکنرهای آنتی ویروس بسیار سختتر است. ایجاد و توسعه این نوع بدافزار به دانش گستردهای نیاز دارد زیرا شامل بسیاری از تکنیکهای تبدیل است.
تکنیکهایی مانند مرتبسازی مجدد subroutine، درج کد مرده و تعویض رجیستر نیز توسط بدافزارهای دگرریخت استفاده میشوند. برخی از تکنیکهای دیگر که مورد استفاده قرار میگیرند عبارتند از: جایگزینی دستورالعمل، permutation کد و دستورالعملهای پرش تصادفی.
چند نمونه از بدافزارهای Metamorphic :
- W95/Regswap – در دسامبر ۱۹۸۸ راه اندازی شد، از تکنیک تعویض رجیستر استفاده میکند، اما پیچیدگی آن خیلی زیاد نیست.
- W32/Evol – در ژوئیه ۲۰۰۰ ظاهر شد، یک موتور دگرریخت را اجرا میکند و میتواند بر روی هر پلت فرم اصلی Win32 اجرا شود. این بدافزار میتواند کد بد یا گاربج کد را بین دستورالعملهای اصلی برنامه درج کند.
- Win95/Zmist – شامل تکنیکهایی مانند یکپارچهسازی کد، دستورالعملهای پرش، و پنهان کردن نقطه ورودی (EPO) است که نقطه ورود بدافزار را برای جلوگیری از شناسایی پنهان میکند.
بدافزار دگرریخت را میتوان با استفاده از روشهایی مانند شبیهسازهای ردیابی و تشخیص هندسی شناسایی کرد که یادگیری ماشین و بینایی کامپیوتر را برای یافتن ویژگیهای هندسی ترکیب میکند.
برای مقابله با بدافزار پلیمورفیک و متامورفیک چه کار کنیم؟
- داشتن خطمشیهای قوی حفاظت از حساب، مانند رمزهای عبور پیچیده و احراز هویت چند عاملی (MFA).
- استفاده از راه حلهای امنیتی مناسب مانند فایروالها، نرم افزارهای تشخیص نقطه ورودی، نرمافزارهای اکتشافی و تشخیص رفتار.
- نصب آخرین به روز رسانیهای امنیتی نرمافزارها و به روز نگه داشتن آنها.
- آموزش کارمندان در مورد شیوههای امنیتی خوب و ایجاد آگاهی از آخرین حملات سایبری.
بدافزار پلیمورفیک و متامورفیک ماهیت پیچیده ای دارند. این گونههای نرمافزاری میتوانند خود را مبهم کرده و از شناسایی شدن توسط اسکنرهای ضد بدافزار اجتناب کنند. آنها برای پنهان ماندن از روش های مختلف پیچیده استفاده میکنند. بسیار مهم است که سازمانها و شرکتها این نوع بدافزارها را بشناسند و راههای دفاع در برابر آنها را به کار گیرند.