تشخیص هوشمند بدافزارهای چند ریخت جدید براساس مقایسه الگوی بلوک های دستورالعمل

  • سال انتشار: 1394
  • محل انتشار: کنفرانس بین المللی یافته های نوین پژوهشی در علوم،مهندسی و فناوری با محوریت پژوھشھای نیاز محور
  • کد COI اختصاصی: ICMRS01_379
  • زبان مقاله: فارسی
  • تعداد مشاهده: 501
دانلود فایل این مقاله

نویسندگان

محمد زحمت کش کناری

کارشناسی ارشد، نرم افزار، فنی مهندسی، دانشگاه آزاد اسلامی مرکز بابل

چکیده

یکی از بخش های حوزه امنیت نرم افزار، تشخیص بد افزار می باشد. دو روش کلی برای شناسایی بد افزار وجود دارد که شامل ایستا (Static) و پویا (Dynamic) هست. در روش ایستا بدون اجرای بد افزار و با پویش فایل اجرایی قابل حمل (Portable Executable) کار شناسایی صورت می گیرد و در روش پویا با استفاده از اجرای فایل کار شناسایی بدافزار انجام می شود. جهت شناسایی بدافزار به روش پویا لازم است بدافزار در شبیه ساز (Emulator) اجرا می گردد تا با اجرای عملکرد تخریبی خود و بدون آسیب رسانی، تغییر، تزریق کد و... به سیستم، شناسایی شود. اما به دلیل وجود پارامترهای زیاد در شبیه ساز، امکان فریب خوردن آن توسط بدافزارها بسیار زیاد می باشد. به طوری که بد افزار محیط شبیه ساز را رد کرده و مستقیم به سیستم دسترسی دارد. بنابراین روش پویا دارای امنیت نسبی بود ولی روش ایستا امن ترین روش برای پویش بد افزار می باشد.یکی از انواع جدید بدافزارها که در اکثر ضد بدافزاریاب ها شناخته نمی شود بدافزارهای است که دارای ظاهری چندریختی (Polymorph) می باشد. این نوع از بدافزارها، نسخه جدیدی از خود را تولید می کنند که به دلیل تغییر در ترتیب اجرای دستورالعمل ها و جابجایی عملکردهای اصلی برنامه، شیوه های شناسایی بدافزار فعلی پاسخگو نبوده و نمی تواند همه اعضای خانواده این نوع بدافزارها را به طور کامل شناسایی کند. چراکه با ایجاد جهش در ترتیب دستورالعمل ها مشابهت فایل جدید با فایل قبلی بدافزار از بین می رود. بدافزارها دو رویکرد برای استفاده از فایل چندریختی جدید دارند، شیوه اول استفاده از الگوریتم چندریختی(Polymorph Engine) در خود فایل و روش دوم استفاده از الگوریتم در سرور می باشد. شناسایی بدافزارهایی که از شیوه دوم استفاده می کنند به دلیل عدم دسترسی به الگوریتم بسیار سخت بوده و درنتیجه چنین بدافزارهایی به ندرت شناسایی می شوند. به عنوان مثال Microsoft اعلام کرد از بدافزار Gumaro 800 میلیون بدافزار موجود است که تنها قادر به شناسایی یک درصد آن ها هستیم. در روش پیشنهادی این پایان نامه، از مفهوم جدید بنام بلوک پایه (بلوک های پایه) جهت شناسایی بدافزارهایی که از چندریختی سمت سرور سود می برند، استفاده شده است. هر بلوک پایه تکه کدی است که قبل و بعد آن JMP به بیرون ندارد، مانند یک تابع که با استثناء کردن Return و فراخوانی اولیه آن بلوک پایه به دست می آید. با استفاده از روش پیشنهادی این مقاله مقایسه هایی بین بلوک های پایه، توابع و در نهایت فایل ها صورت می گیرد تا احتمال تشابه بین فایل پویش شده و بدافزار موجود به دست آید. بر طبق نتایج به دست آمده از این مقاله، بدافزارهایی که از الگوریتم چندریختی استفاده می کنند، با احتمال بیش از 0.9 شناسایی می شوند.

کلیدواژه ها

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

مقالات مرتبط جدید

اطلاعات بیشتر در مورد COI

COI مخفف عبارت CIVILICA Object Identifier به معنی شناسه سیویلیکا برای اسناد است. COI کدی است که مطابق محل انتشار، به مقالات کنفرانسها و ژورنالهای داخل کشور به هنگام نمایه سازی بر روی پایگاه استنادی سیویلیکا اختصاص می یابد.

کد COI به مفهوم کد ملی اسناد نمایه شده در سیویلیکا است و کدی یکتا و ثابت است و به همین دلیل همواره قابلیت استناد و پیگیری دارد.