نام پژوهشگر: حمزه عباسی
حمزه عباسی مهدی باطنی
بدافزار به هربرنامه ی کامپیوتر که با هدف آسیب رساندن به سیستم ایجادشده باشد اطلاق می گردد هم چون ویروس، کرم، تروجان و ... . به مرور زمان فرآیند تولید بدافزارها کامل تر شد و از بدافزارهای ساده ی ابتدایی به بدافزارهای مبهم و پیچیده تبدیل شدند. دو نسل آخر بدافزارها که به بدافزارهای چندریخت و دگردیس معروفند از تکنیکی به نام تکنیک مبهم سازی استفاده می کنند. مبهم سازی به معنای تغییر ظاهر برنامه بدون تغییر در عملکرد آن است به گونه ای که درک برنامه برای خواننده سخت و یا ناممکن شود. این تکنیک به روش های مختلف پیاده سازی می شود که درج کد زباله، انتساب مجدد ثبات، مرتب سازی مجدد زیرروال، جایگزینی دستورات با دستورات هم ارز، جابه جایی دستورات، زیرروال درونی، زیرروال بیرونی، بسته بندی کد، یکپارچه سازی کد، مبهم سازی مجازی و تغییر کد میزبان از آن جمله اند. در این پایان نامه یک مبهم ساز با استفاده از 4 روش مبهم سازی تولید جایگشت تصادفی از عملگرهای محاسباتی جابه جاپذیر، بازنویسی عبارات منطقی و تولید جایگشت دستورات منطقی ، جابه جایی دستورات مستقل و جابه جایی بلاک های مستقل، پیشنهاد و پیاده سازی شده است. روش اول با استفاده از جایگشت عملگرهای محاسباتی جابه جاپذیر در عبارات ریاضی فرآیند مبهم سازی را انجام می دهد. روش دوم ارائه شده خود مشتمل بر دونوع مبهم سازی است که یکی بااستفاده از نقیض کردن عملوندها و عملگرهای منطقی and و or و دیگری بااستفاده از جایگشت تصادفی عملوندهای منطقی استفاده شده در عبارت منطقی صورت می گیرد. هرچند ایده ی روش سوم قبلا بیان شده بود ولی در این جا به منظور جلوگیری از تشخیص بدافزارهای ذینفع از این روش، جایگشت دستورات مستقل را در مبهم ساز پیش بینی کرده ایم و در نهایت روش پایانی درصورت وجود بلاک های مستقل در برنامه، آن ها را جابه جا می کند. سپس مبهم ساز ارائه شده در پایان نامه بااستفاده از سه ویروس taskmgr، shutdown و hibernate و در حضور آنتی ویروس تست گردید که نتایج حاصله موفقیت مبهم ساز جهت عدم تشخیص بدافزار را بیان می کند البته ذکر این نکته الزامیست که موفقیت مبهم ساز وابستگی زیادی به دستورات استفاده شده در برنامه دارد.