بخشی از مقاله
چکیده:
امروزه بخش اصلی در ضدبدافزارها جهت تشخیص بدافزار روشی براساس علامتهای هویتی میباشد که اینگونه روش-ها توانایی شناسایی بدافزارهای جدید و ناشناخته را ندارند، در این مقاله روشی هوشمند براساس دستهبندی ساختاری آپکدها ارایه شده است.
برای استخراج ویژگیها ترکیبی از دو روش -nگرم و -nگرم غیرهمجوار استفاده و ویژگیهایی که دارای تفاوت درصد فراوانی بیش از یک میباشد به عنوان ویژگیهای موثرتر شامل 113 ویژگی انتخاب شده است. روش پیشنهادی با استفاده از دستهبندهای مختلف مورد آزمایش قرار گرفته و با روش -nگرم در شرایط برابر مقایسه گردیده است. نتایج به دست آمده نشان میدهد که روش پیشنهادی علاوه بر کاهش حجم محاسبات، باعث افزایش دقت شناسایی شده است.
.1 مقدمه
امروزه در حوزه رایانه، برنامههای مخرب، خطر بزرگی برای دادهها و برنامهها هستند که میتوانند اطلاعات را تخریب کنند و عملکرد رایانه را تحت تاثیر خود قرار دهند. با رشد روز افزون بدافزارها1 تلاش های بسیار زیادی در رابطه با آنالیز و شناسایی آن ها با استفاده از روش های علمی صورت گرفته است، که بتوان قبل از اجرای یک بدافزار، آن را تشخیص داده و مانع از فعالیتهای خرابکارانه، تخریبی یا جاسوسی آن شد.
بدافزارها یا کدهای مخرب - که در ذهنیت عمومی علیرغم ماهیت و عملکردهای مختلف بهنام ویروس رایانهای شناخته می شوند - برنامههایی هستند که موجب مختل شدن عملکرد رایانه، کاهش کارایی و حتی از بین رفتن برنامهها یا دادهها میشوند، همچنین دستیابی یا سوءاستفاده از رایانه یا اطلاعات را برای افراد غیرمجاز فراهم میکنند.
در نرمافزارهای ضدبدافزار شناسایی فایلهای اجرایی آلوده به عنوان بخش مهمی از فعالیتهای آنها در نظر گرفته می-شود. روشهای شناسایی کدهای مخرب به دو دسته کلی تقسیم میشود، در دسته اول که بر اساس علامتهای هویتی میباشد برای انواع کدهای مخرب شناخته شده علامتهای هویتی در یک پایگاه داده ذخیره میشود و اگر در یک فایل اجرایی یکی از آن علامتها باشد آنگاه آن فایل آلوده تشخیص داده میشود که این امر منجر به وابسته بودن این روش به بهروزرسانی پایگاه داده میشود و در نتیجه روشهای این دسته توانایی شناسایی بدافزارهای جدید و ناشناخته و همچنین شناسایی نمونههای جدید بدافزارهای قدیمی را ندارند. اما دسته دوم که بر اساس تخمین میباشد، با استفاده از روشهای هوشمند و اتوماتیک تلاش میشود نقایص موجود در د سته اول را رفع کرده و به عنوان مکملی برای د سته اول در نرمافزارهای ضدبدافزار ایفای نقش کنند.
پژوهشهای مختلفی جهت ارایه رو شی بر ا ساس تخمین و استفاده از روشهای هوشمند و اتوماتیک جهت تشخیص بدافزارها انجام شده است.
بیلار [4] توزیع فراوانی آپکد را به عنوان ابزاری برای شناسایی نرمافزارهای مخرب بررسی میکند. او در مورد اینکه مکانیزم تشخیص بدافزار تحلیل آماری از توزیع آپکدهاست، بحث میکند. نتایج او نشان میدهد که آپکدهای DGG'VXE'… میتوانند شاخص خوبی برای بدافزار باشد.
مسکوویچ و همکاران [11] در سال 2008 از مدل -nگرم آپکدها برای تشخیص بدافزارهای کامپیوتری استفاده کردند. آنها در مقاله خود نشان دادند که در صورتی که درصد فایل-های بدافزار نزدیک به % 15 کل نمونهها باشد میتوان به دقت بالای % 99 دست یافت.
Santos و همکاران [12] روش یادگیری کلاس واحد را برای تشخیص نرمافزارهای مخرب ناشناخته با استفاده از دنباله آپکد پیشنهاد دادهاند. این روش مبتنی بر بررسی فراوانی دنباله آپکدهای ظاهر شده است که برای یک مجموعه از نمونههای برچسبدار از هر دو کلاس نرمافزار مخرب و نرمافزار واقعی آزمایش میشود.آنها مطالعات تجربی خود را بر روی این روش انجام میدهند تا نشان دهند که این روش میتواند برچسب-گذاری نرمافزار را کاهش داده در حالیکه دقت بالا را حفظ میکند.
Sekar و همکاران [13] رویکرد اتوماتای حالت متناهی2 را پیادهسازی میکنند. یادگیری اتوماتای حالت متناهی هزینه محاسباتی بالایی دارد یا ممکن است فضای مورد استفاده اتوماتا بیش از حد باشد. آنها رویکرد جدیدی را برای غلبه بر مشکلات ارائه دادند. این رویکرد یک اتوماتای حالت متناهی متراکم را به شیوهای کاملا خودکار و ماهر میسازد در حالیکه نیاز به دسترسی کد منبع برنامهها ندارد. آنها رویکرد اتوماتا را با روش تحلیل -nگرم مقایسه میکنند.
شبتای و همکاران[15] ، از تحلیل ایستا برای مطالعه اثربخشی تشخیص نرمافزار مخرب استفاده کرده است. آنها از اندازههای مختلف -nگرم - Q 1…. 6 - با طبقهبندیهای متفاوت استفاده کردهاند. یافتههای آنها نشان میدهد که n=2 بهتر اجرا میشود. برای تشخیص کد مخرب ناشناخته از الگوهای آپکد -nگرم به عنوان تکنیک استخراج ویژگی، یا روش انتخاب ویژگی استفاده میکنند. آنها از الگوهای آپکد-nگرم که با دیساسمبل کردن فایلهای اجرایی مخرب و سالم تولید شده-اند، استفاده میکنند.
لی و همکاران [18] از تحلیل-nگرم - n=1 - در سطح بایت برای فایلهایی که سیستم آنها را دستهبندی میکند، استفاده می-کنند. آنها این تحلیل را بر روی فایلهای پیدیاف با نرم-افزارهای مخرب جاسازیشده، اجرا میکنند.
.2 انواع ویژگی قابل استخراج از فایلهای مخرب
-n .1-2گرم
این روش، ترتیبی از بایتهای داخل فایل اجرایی را به تعداد مشخص انتخاب کرده و این دادهها را همراه با تعداد تکرارشان به عنوان رکوردی از مجموعه داده در نظر میگیرد. در واقع هرچه تعداد انتخاب از ترتیب بایتها بیشتر باشد، الگوریتم جزئیتر میشود و هرچه کمتر باشد دقت ما کمتر است. نوع خاصی از این روش الگوریتم دنباله بایتی -nگرم نام دارد که عبارت است از تمام زیر رشتههای یک فایل با طول ثابت n بایت.
API Call .2-2
در این روش چهارچوبی برای تشخیص بدافزارها با توجه به توابع سیستمی فراخوانی شده در آنها، ارائه میشود که در آن ابتدا با استفاده از ابزارهای مهندسی معکوس، کد اسمبلی تمام بدافزارها را بدست آورده و سپس با توجه به اهمیت فراخوانی-های سیستمی رفتار برنامههای مخرب، به تشخیص بدافزارها پرداخته میشود. این توابع با استفاده از ابزارهای مهندسی معکوس استخراج میشوند و سپس با کمک الگوریتمی که برای این کار در نظر گرفته شده است می توان تشخیص داد که آیا این فایل یک بدافزار است یا خیر.
PE-Miner .3-2
این روش برای مجموعه داده خود تنها از سرایند1 فایل اجرایی استفاده میکند. در هدر فایل اجرایی 189 ویژگی وجود دارد که میتوان به نوع سیستم عامل، مکان شروع، حافظه اختصاص داده شده، اطلاعات قسمتها2، منابع استفاده شده و بسیاری از اطلاعات دیگر اشاره کرد. در فایل اجرایی سالم اطلاعات موجود در سرآیند با محتوی فایل مطابقت میکند. به عنوان مثال اندازه فایل با مقداری که در سرآیند آمده است یکسان است اما در فایلهای آلوده در بدافزارهایی که پس از ایجاد تغییرات در محتوی فایل سالم و آلوده کردن آن به کدهای مخرب اطلاعات سرآیند را تغییر نمیدهند، بین مقادیر موجود در سرآیند فایل و مقادیر واقعی فایل تفاوت وجود دارد.