بخشی از مقاله

چکیده:

یکی از روشهای متداول در زمینه مقابله با بدافزارها استفاده از دنباله آپکدهای موجود در کد اسمبلی بدافزارها است. در این مقاله با استفاده از مدل مخفی مارکوف و دستهبندی ساختاری آپکدها سیستمی برای تشخیص بدافزارهای دگردیس پیشنهاد میگردد. در ابتدا آپکدها در دستههایی متناسب با نقش هر آپکد دستهبندی میشوند. پس از اینکه دستهبندی آپکدهای استخراج شده از فایلها انجام گرفت، براساس تعداد دستههای انتخاب شده، مدل مخفی مارکوف ساخته میشود. پس از آموزش مدل مخفی مارکوف بر روی دنباله آپکدها عملیات تست فایلهای بدافزار تولید شده توسط مولد دگردیس و فایلهای سالم و ارزیابی خروجی صورت میگیرد. نتایج بهدست آمده نشان میدهد که با انتخاب آستانه منطقی جهت تشخیص، نرخ تشخیص فایلهای بدافزار به میزان %90 افزایش مییابد.

.1 مقدمه

همانگونه که نرمافزارها در حال تکامل هستند، برخی از توسعهدهندگان اقدامات امنیتی را پیاده-سازی میکنند تا اطمینان حاصل نمایند که محصولات آنها از امنیت بالاتری برخوردار است. با این وجود بدافزارها به طور فزایندهای سیستمها را تهدید میکنند. همانطور که فناوریها برای مقابله با بدافزارها پیشرفت میکنند، بدافزارها نیز برای نفوذ به کدها تکامل مییابند. بدافزار1 ، نرمافزاری است که برای وارد کردن خسارت به کامپیوتر کاربران، سرورها یا شبکه ها طراحی شده است.

میتوان بدافزارها را در 3 گروه دسته بندی کرد که عبارتند از:

بدافزارهای رمز گذاری شده2 ، بدافزارهای چند ریخت3 و بدافزارهای دگردیس.4 بدافزارهای رمز گذاری شده، از رمزگشا5 و بدنه رمز شده تشکیل شده، زمانی که فایل آلوده اجرا میشود رمزگشا بدنه اصلی را بازیابی میکند. الگوی بدافزار با توجه به کلید منحصر بهفردی که برای آن در نظر گرفته میشود، مخفی می ماند . بخش رمزگشای بدافزار از یک نسل بدافزار تا نسل دیگر ثابت است. بنابراین ضدبدافزارها می توانند با توجه به الگوی کد بخش رمزگشا بدافزار را تشخیص دهند. بدافزارهای چند ریخت میتوانند بخش رمزگشای خود را از یک نسل به نسل دیگر تغییر دهند.

این نوع بدافزارها میتوانند تعداد بیشماری از بخش رمزگشا را با کمک روشهای مختلف مبهم سازی تولید کنند. بدافزارهای دگردیس برای تغییر بدنه کد خود از روشهای مبهمسازی کد استفاده میکنند. با به کارگیری روشهای مبهم سازی، تحلیل ایستای کد بدافزار بسیار مشکل شده و در بسیاری از موارد غیر ممکن میشود. با توجه به این نکته که بدنه کد نسل جدید تولید شده از بدافزار دگردیس با بدنه نسل قبلیاش متفاوت است، بنابراین امضای بدافزارها از هر نسل به نسل بعدی آن متفاوت خواهد بود.

انواع روشهای مبهمسازی عبارتند از: کد مرده، تغییر نام ثبات، جابجایی زیر روال، بهم ریختن کد، یکپارچه سازی کد، بسته بندی کد.

مولد تولید کننده نسل بعدی بدافزار - NGVCK - مهمترین مولدبرای تولید بدافزارهای دگردیس می باشد. این مولدیک برنامه کاربردی است که به زبان ویژوال بیسیک نوشته شده است. این مولد از روشهای مبهمسازی برای تولید نسلهای بعدی همان بدافزار استفاده میکند.

برای تشخیص7 بدافزارها قبل از بروز اثرات تخریبی باید از یکسری روشهای شناسایی رفتارهای نرمافزار استفاده کرد تا بتوانیم نرمافزارهای مخرب را شناسایی کنیم. روشهایی که برای تشخیص بدافزار استفاده میشوند به 5 گروه کلی تقسیم میشوند: روش مبتنی بر امضا، روش مبتنی بر رفتار ، روش مبتنی بر اکتشاف، روش مبتنی بر معنا ، روش مبتنی بر مدل مخفی مارکوف

تشخیص مبتنی بر امضا یکی از راههای موثر و معروف تشخیص بدافزار است. امضا همانند اثر انگشت منحصر بفرد است. این روش برای شناسایی یک بدافزار یا خانواده بدافزار استفاده میشود.در صورتی که بدافزار جدید یافت شود، امضای آن بدافزار باید در پایگاه داده وجود داشته باشد. در حین اینکه این روش سریع و ساده است، اما در برابر تشخیص بدافزارهای دگردیس و دگرریخت موثر نیست.

تشخیص مبتنی بر رفتار یک نوع از تکنیکهای تحلیل پویا است. در روش تحلیل پویا، بدافزار نیاز به اجرا به صورت پویا در محیط Sand Box دارد. در این روش بدافزار اجرا شده و رفتار بدافزار در زمان اجرا تحلیل میشود. در واقع رفتار بدافزار، امضای آن میشود. این روش نیاز به الگوهایی از رفتار بدافزار دارد که میتواند به صورت خودکار ایجاد شده و به روز شوند. این روش نیاز به یک محیط پویایی دارد که سیستم عامل را شبیه سازی میکند و در عین حال به سیستم صدمهای نمیزند. ماشین مجازی میتواند به عنوان بستر تستی برای اجرای بدافزار باشد.

تشخیص اکتشافی از تکنیکهای دادهکاوی و یادگیری ماشین برای یادگیری رفتار یک فایل اجرایی استفاده می-کند.آشکارسازهای بدافزار کنونی از تشخیص امضا همراه با تشخیص اکتشافی استفاده میکنند. روش اکتشافی وابسته به رفتار بدافزار است. روش اکتشافی زمانیکه با یکی از روشهای تشخیص مطمئن ترکیب میشود، روش خوبی است.

تشخیص مبتنی بر معنا، مبتنی بر تحلیل ایستا است. در تحلیل ایستا، بدافزار اجرا نمیشود. امضا براساس مالکیت معنایی از کد ایجاد میشود. تشخیص مبتنی بر معنا از انواع تکنیکهای مبهم سازی کد مثل مرتب سازی مجدد دستورالعملها، تغییر نام ثبات، اضافه کردن کد مرده پشتیبانی میکند. با این حال، بدافزارهایی که از جایگزینی دستورالعمل یا جایگزینی کد معادل استفاده میکنند، میتوانند از تشخیص معنایی فرار کنند.

تشخیص مبتنی بر مدل مخفی مارکوف، این مدل، حالت خاصی از زنجیرههای مارکوف است به طوری که تمام حالات قابل مشاهده نیستند، یکسری از حالات زنجیره مارکوف بنا به مقتضیات مسئله مخفی محسوب میگردند. مخفی بودن آن حالات باعث میشود که احتمال تغییر حالت آنها مخفی باشد و این مسئله را مشکلتر میکند. در مدل مارکوف معمولی، وضعیت به طور مستقیم توسط مشاهدهگر قابل مشاهده است، بنابراین حالت انتقال احتمالها تنها پارامترهای موجود و قابل مشاهده هستند. در مدل مخفی مارکوف، وضعیت به طور مستقیم قابل مشاهده نیست و با استفاده از حالات قابل مشاهده قابل تفسیر است. در این مقاله از این مدل استفاده میشود

.2 کارهای مرتبط

در [2] از پروفایل مدل مخفی مارکوف1 برای تشخیص بدافزارهای دگردیس استفاده میشود. این مدل با استفاده از صفبندی آپکدهای مجموعه بدافزارهای دگردیس تولید میشود، در واقع از موقعیت اطلاعات موجود در دنباله مشاهده شده استفاده میکند.

در این مدل از الگوریتم Forward برای امتیازدهی آپکدها استفاده شده است، با توجه به حد آستانهای که در نظر گرفته میشود اگر امتیاز بهدست آمده از آپکدها بزرگتر یا مساوی حد آستانه باشد نشان دهنده مخرب بودن آن فایل است. این مدل زمانی میتواند موثر باشد که بدافزارها تغییر بیش از حدی در بلوکهای کد خود نداشته باشند. زمان پردازش اطلاعات باعث میشود که این روش تا حدودی غیر عملی باشد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید