
در دهه گذشته روش های مبهم سازی و اختفای پیشرفته در توسعه بدافزارها به عنوان یک راه کار موثر برای محدود کردن قدرت ضدبدافزارها به وجود آمدند. امروزه بدافزارها توسط متخصصان حرفه ای ایجاد می شود، آنها از روش هایی استفاده می کنند تا شناسایی و حذف بدافزارها برای نرم افزارهای امنیتی مشکل شود. به عنوان مثال بدافزار استاکس نت که برای ایجاد اختلال در تاسیسات همانند تاسیسات هسته ای کشورهای مختلف به ویژه ایران طراحی شده بود، شامل یک پایگاه داده از ضدبدافزارهای متداول است، که بسته به نرم افزار امنیتی که در سیستم هدف نصب می باشد، اقداماتی را برای فرار از تشخیص توسط این نرم افزار خاص انجام می دهد. بدافزارها با استفاده از چندین لایه رمزنگاری و روش های مبهم سازی، کد نمونه را تغییر می دهند، به طوری که نسل دیگری از همان بدافزار با عملکرد رفتاری یکسان، ولی ظاهری کاملا متفاوت ایجاد می شود. بدافزارهای چندریخت و دگردیس از این نوع هستند. روش های سنتی شناسایی بدافزارها عمدتا بر اساس روش های تشخیصی مبتنی بر امضای کد عمل می کنند. به طور کلی روش های تشخیص مبتنی بر ساختار نحوی کد، به راحتی توسط روش های مبهم سازی فریب می خورند. روش های تشخیص مبتنی بر رفتار در حالت کلی به دو دسته، ایستا و پویا تقسیم می شوند. مشکل عمده در روش ایستا، عدم تحلیل موثر کدهای مبهم سازی شده است. مهمترین مزیت استفاده از روش تحلیل در زمان اجرا، مقابله با روش های مبهم سازی و رمزنگاری کد می باشد. نیاز رو به افزایش سیستم های تشخیص بدافزار، به الگوریتم های تحلیل کارا برای مقابله با روش های ضد تحلیل پویا و زمان بر بودن این تحلیل ها چالش های مهمی در این حوزه می باشند. هدف عمده الگوریتم های تحلیل بدافزار استخراج چگونگی تغییر وضعیت سیستم است. به طور کلی شناسایی این تغییرات به دو علت انجام می شود: ۱- به دست آوردن وضعیت هایی که در زمان تشخیص آلوده شدن یک سیستم، باید مورد بررسی قرار گیرند. ۲- اخذ تصمیمات مناسب در برابر موجه شدن با تهدیدهای ناشی از بدافزار