شناسایی بدافزارهای فراریخت با ترکیب تحلیل ایستا و پویا

چکیده

بدافزارنویسان از فنون متعددی استفاده می‌کنند تا روش کشف نرم‌افزارهای ضد بدافزار را خنثی کنند. یکی از این روش‌های مؤثر، فراریخت‌ کردن بدافزار با فنون مبهم‌سازی است. فراریختی ساختار کد را آن‌چنان تغییر می‌دهد که ضمن حفظ رفتار بدافزار، ساختار و الگوی کد آن عوض شود. پژوهش‌گران به‌تازگی روشی برای کشف بدافزارهای فراریخت پیشنهاد کرده‌اند که بر اساس تحلیل ایستای کد بدافزار کار می‌کند. مسئله اینجاست که کاربست بعضی از فنون مبهم‌سازی، اثربخشی تحلیل‌های ایستا را در کشف بدافزار فرایخت کم می‌کند. برای غلبه بر این مشکل، مقاله حاضر علاوه ‌بر تحلیل ایستا، تحلیل پویایی نیز روی بدافزار انجام می‌دهد. روش جدید، اطلاعاتی از تحلیل ایستا و تحلیل پویا استخراج و سپس این دو گونه اطلاع را با هم ترکیب می‌کند و حاصل برای آموزش یک دسته‌بند مورد استفاده قرار می‌گیرد. دسته‌بند حاصل برای شناسایی نمونه فراریخت‌شده جدیدی از یک خانواده بدافزار مورد استفاده قرار می‌گیرد. در‌حقیقت، ترکیب اطلاعات حاصل از تحلیل ایستا و پویا سعی می‌کند بر نقاط ضعف هر کدام غلبه کند و در‌مجموع اثربخشی بهتری داشته باشد. به‌منظور ارزیابی روش پیشنهادی، آزمایش‌هایی بر روی 450 فایل متشکل از فایل‌های سالم و پنج خانواده بدافزار فراریخت از ویروس‌ها و کرم‌هایG2, MPCGEN, MWOR, NGVCK, VLC انجام شده است. آزمایش‌ها در سه حالت انجام شده‌اند: تحلیل ایستا، تحلیل پویا و ترکیب آن‌دو. نتایج مقایسه نشان می‌دهد که شناسایی بر پایه فقط تحلیل ایستا یا پویا اغلب با دقت صد درصد انجام نمی‌شود. با این حال، کشف بدافزار فراریخت با ترکیب اطلاعات حاصل از تحلیل ایستا و پویا به‌طور سازگار توانسته به دقت کشف صد درصدی دست پیدا کند که با معیار ROC اندازه‌گیری شده است.