بخشی از مقاله

چکیده

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

روش پیشنهادی این مقاله، شناسایی از طریق تحلیل ای ستای نرخ تکرار کدهای عملیاتی و ثباتها مبتنی بر دو معیار ریا ضی بی شینه ضریب همب ستگی و کمینه معیار فا صله است. به منظور ارزیابی این روشها، آزمایشهایی در حالات مختلف بر روی 50، 100، 150، 200، 250 و 440 فایل متشکل از فایلهای سالم و چهار خانواده بدافزار فراریخت از ویروسها و کرمهای G2, MPCGEN, MWOR, NGVCK انجام میگیرد. نتایج آزمایشها نشان میدهد که روشهای پیشنهادی نسبت به روشهای قبلی، به دقتنسبتاً بالایی در شناسایی بدافزارهای فراریخت میرسند.

-1 مقدمه

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

بدافزارها تعمداً برای انجام عملیات بدون مجوز، مخرب یا نامطلوب طراحی میشوند .[3] بدافزارها علاوه بر اینکه با عملیات خرابکارانه به منابع و اطلاعات سیستمها دسترسی پیدا میکنند، به سرویسدهی و فعالیتهای سیستمها آسیب رسانده و با سرقت غیرمجاز اطلاعات شخصی افراد هزینههای روحی و روانی زیادی در کنار ضررهای مالی در زمینه افشای حریم خصوصی وارد میکنند .[4] به همین دلیل، مسئله شناسایی بدافزارها در دو دهه اخیر مورد توجه شرکتهای ضدبدافزار و محققان بوده است. بدافزارها را بر اساس هدف نویسندگان و نوع حملات آنها به دستههای مختلفی از قبیل ویروس 3 ، کرم 4 ، تروجان5 ، دربپشتی6، جاسوس افزار7، باج افزار8، رد گم کن9 و غیره تقسیم کردهاند

به طور متوسط، در هر حادثه جرایم سایبری 197 دلار از دست میرود .[6] در شکل - 1 - ، آمار مجموع تعداد بدافزارها و رشد آنها از سه ماهه چهارم سال 2015 تا سه ماهه سوم سال 2017 نشان داده شده است. طبق این آمار، تولید بدافزارهای جدید در سه ماهه سوم سال 2017 بالاتر از 57 میلیون مورد بوده که بالاترین میزان ثبت شده تا کنون است و نسبت به دوره قبل دارای رشد 10 درصدی نیز می باشد .[7] با توجه به این گزارشها میتوان پی برد که اصولاً شناسایی بدافزارها کاری پیچیده و سخت است. علت اینست که نویسندگان بدافزارها به طور مداوم روشهای جدیدی برای مقابله با روشهای کشف موجود طراحی میکنند.

یکی از گونههای بدافزار، بدافزارهای فراریخ ت10 است. ساختار کد بدافزارهای فراریخت، در هر تکثیر با استفاده از فنون مختلف مبهمسازی کد11 تغییر مییابند اما عملکرد اصلی آنها حفظ میشود و این مسئله، شناسایی آنها را دشوار و پیچیده میکند

روشهای مختلفی برای شناسایی بدافزارهای فراریخت پیشنهاد وجود دارند. به عنوان یک دستهبندی کلی میتوان روشهای کشف بدافزار را به دو دسته تحلیل ایستا12 و پویا13 تقسیم کرد. روشهای ایستا محبوبتر و رایجترند؛ زیرا بدون نیاز به اجرای بدافزار و صرفاً با تحلیل ساختار کد بدافزار، اقدام به کشف آنها مینمایند .[4] یکی از روشهای شناسایی بدافزار مبتنی بر تحلیل ایستا که بسیار مورد استفاده است، روشهای مبتنی بر امضا14 هستند .[8] در مقابل، روشهای پویا با اجرای بدافزار و جمعآوری اطلاعاتی از اجرای بدافزار سعی میکنند بدافزار را شناسایی نمایند 

روش پیشنهادی در این مقاله مبتنی بر تحلیل ایستای تفاوت نرخ تکرار کدهای عملیاتی15 و ثباتها 16 در خانوادههای مختلف بدافزار فراریخت و فایلهای سالم، اطلاعاتی را جمعآوری مینماید. کشف گونه جدید بدافزار فراریخت و جدا کردن آن از فایلهای سالم، با استفاده از معیارهای بیشینه ضریب همبستگی17 و کمینه فاصله18 صورت خواهد گرفت. روش پیشنهادی با تأکید بر روی پالایش و انتخاب صحیح کدهای عملیاتی در صدد افزایش کارایی است و در شمارش کدهای عملیاتی، با همسان در نظر گرفتن دستورات مشابه، سعی دارد در مقابل روش مبهمسازی جانشینی دستورات مشابه مقاوم باشد.

شکل : - 1 - مجموع بدافزارها در پایگاه داده آزمایشگاه مک آفی

برای نشان دادن عملکرد روش پیشنهادی در موقعیتهای عملی و ارزیابی آن، آزمایشهایی در حالات مختلف بر روی 50، 100، 150، 200، 250 و 440 فایل متشکل از فایلهای سالم و چهار خانواده بدافزارهای فراریخت از ویروسها و کرمهای G2, MPCGEN, MWOR, NGVCK انجام میشود. نتایج آزمایشها نمایانگر دقت بالای روش پیشنهادی است.

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

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

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

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

گامال محمد و نورافیدا بنتی در [13] قالبی را پیشنهاد میکنند که منجر به ایجاد رویکردی جدید بر اساس روشهای مبتنی بر امضا و مبتنی بر رفتار رشته محور برای بهبود شناسایی بدافزارهای فراریخت شده است. شناسایی با استفاده از مجموعه دادههای استاندارد از نمونه بدافزارهای شناخته شده به صورت فرمت رشته ای، توابع و پارامترهای مختلف انجام میشود. نتایج نشان می دهد که بخشهای پر خطر کدها و فایلهای بدافزار از قطعه کدهایی هستند که به همراه دستورات سالم به کد اصلی تزریق شدهاند. در نتیجه، این روش شناسایی بدافزارهای ناشناخته را نیز تسهیل میکند و سرعت و دقت را با کاهش پیچیدگی محاسباتی در زمان تشخیص بدافزار و کاهش حافظه مصرفی افزایش میدهد.

روش پیشنهادی کانفورما و همکاران [14] به معرفی فنون شناسایی تکیه میکند که مبتنی بر فرض وجود یک اثر جانبی مشترک بین بسیاری از موتورهای فراریخت میباشد. این روش برای حدود 1000 برنامه، مورد آزمایش و بررسی قرار داده شده و بر اساس نتایج آن به طور دقیق ویروسهای فراریخت و غیر فراریخت را دستهبندی میکند. از معایب این است که اگر از روش جایگزینیِ دستوراتِ مشابه یا اضافه کردن کد زائد به کد بدافزار و یا رمزنگاری بدنه کد بدافزار استفاده شود، توزیع دستورات تکراری تغییر میکند و روش پیشنهادی دچار شکست در شناسایی خواهد شد.

رویکرد مهرا و همکاران [15] بر روی شناسایی و طبقهبندی بدافزارهای فراریخت بر اساس خانوادههای آنها تمرکز دارد. روش پیشنهادی به این صورت است که گراف جریان کنترلی رسم شده و گراف فراخوانی API ها ایجاد میشود. این رویکرد هر بدافزار فراریخت را براساس ویژگیهای خانوادهشان که از هیستوگرام و فرمول اندازهگیری کای دو، که بر اساس تحلیل پویا است، طبقهبندی میکنند. در این مقاله، دقت در الگوریتمهای مختلف طبقهبندی از 89 تا 99/10 درصد بهدست آمده است.

به اعتقاد محمد بن خمس و همکاران [16] هنوز هم دستیابی به دقت کامل و کارایی مناسب برای شناسایی بدافزارهای فراریخت یک چالش محسوب میشود. روش پیشنهادی این مقاله ویژگیهای تغییر داده نشده در ساختار بدافزار را برای استفاده در فرایند شناسایی با استفاده از ماشین بردار پشتیبانی استخراج میکند.

خصوصیات n-gram بهطور مستقیم از ساختار باینری بدافزار استخراج شده، که این خصوصیات به عنوان امضا در نظر گرفته میشوند. این خصوصیات مقادیر قابل توجهی از تعداد خصوصیات انتخاب n-gram در حالت اصلی را کاهش میدهد. این روش ترکیبی از استخراج امضا n-gram و ماشین بردار پشتیبانی است. نتایج ارزیابی روش پیشنهادی برای شناسایی بدافزارهای فراریخت نشان میدهد که این روش قادر است دقتی در حدود 99 درصد و نرخ منفی کاذب پایینی داشته باشد.
 
یافتههای نویسندگان حاکی از آن است که معیار مشترکی میان بسیاری از موتورهای فراریخت وجود دارد بهگونهای که در بدنه ویروسها تعداد زیادی از ثباتها، دستورالعملها یا کدهای عملیاتی تکرار میشوند. این معیار میتواند پایه و اساسی برای تمایز بین خانوادههای مختلف بدافزارها باشد. اساس روش پیشنهادی، مبتنی بر تحلیل نرخ تکرار دستورات برنامه یا همان کدهای عملیاتی و ثباتها است. سپس بر اساس نرخ تکرارها و بیشینه معیار ضریب همبستگی و کمینه معیار فاصله، فایلهای سالم و خانوادههای مختلف بدافزارهای فراریخت را طبقهبندی میکند. ترتیب انجام فعالیتها در روش پیشنهادی بهصورت شکل - 2 - است.

در روش پیشنهادی ابتدا فایل مورد بررسی به کد اسمبلی برگردان میشود و استاندارد سازی روی آن انجام میگیرد که در این مرحله هر آن چیزی که در ساختار کد فایل، شمارش را با اختلال مواجه سازد حذف خواهد شد. در ریزپردازنده 8086، 191 کد عملیاتی و 21 ثبات در ساختار کد وجود دارند که در روش پیشنهادی به ازای هر فایل میبایست در مجموع این 212 ویژگی شمارش شوند.

شمارش ویژگیها برای دو دسته فایل در برداری مانند F= [f1,f2'…' IN] ذخیره میگردند که fi بیانگر تعداد شمارش ویژگی i در همه فایلهای خانواده مورد نظر میباشد و N=212 تعداد کل ویژگیها است. در بخش بعد نرمالسازی انجام میگیرد. پس از شمارش کدهای عملیاتی و ثباتها، چون نرخ تکرار آنها در فایلهای مختلف بسیار متفاوت است، به منظور از بین بردن این اختلاف نرمالسازی مطابق فرمول - 1 - انجام میشود.

در فرمول - 1 - ، wi حالت نرمالشده fi و بیانگر احتمال وجود ویژگی i ام در ساختار کد میباشد که این احتمالات در بردار W= [w1,w2'…' wN] ذخیره میشوند. حال با داشتن بردار چگالی احتمال ویژگیها برای هر کدام از خانوادههای فایلهای سالم و بدافزار، فرایند پیشنهادی جهت شناسایی یک فایل ناشناس ورودی در ادامه توضیح داده خواهد شد.

فرض کنید بردار X= [x1,x2'…' [N] بیانگر نرخ تکرار کدهای عملیاتی در فایل ورودی ناشناس باشد. قبل از اعمال روش پیشنهادی، عملیات نرمالسازی مطابق فرمول - 1 - بر روی آن انجام میگیرد و خروجی با بردار Y = [y1,y2'…'\N] نشان داده میشود.

-3 روش پیشنهادی

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

حال برای تشخیص نوع فایل ورودی از روشهای زیر استفاده میشود.

-1-3 روش بیشینه همبستگی

در ریاضیات، معیار همبستگی یا به طور مشخص ضریب همبستگی یکی از روشهای سنجش شباهت بین دو بردار یا الگو است. ضریب همبستگی شدت رابطه و هم چنین نوع رابطه - مستقیم یا معکوس - را نشان میدهد .این ضریب بین 1 تا -1 است و در عدم وجود رابطه بین دو متغیر، برابر صفر است 

با داشتن بردار ویژگی فایل ورودی - Y - و بردار ویژگی خانواده k ام - wk - ضریب همبستگی از فرمول - 3 - استخراج میگردد.

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