مقالات ترجمه شده دانشگاهی ایران

داده کاوی کد تشخیص بدافزارهای ناشناخته

داده کاوی کد تشخیص بدافزارهای ناشناخته

داده کاوی کد تشخیص بدافزارهای ناشناخته – ایران ترجمه – Irantarjomeh

 

مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی

مقالات

چگونگی سفارش مقاله

الف – پرداخت وجه بحساب وب سایت ایران ترجمه(شماره حساب)ب- اطلاع جزئیات به ایمیل irantarjomeh@gmail.comشامل: مبلغ پرداختی – شماره فیش / ارجاع و تاریخ پرداخت – مقاله مورد نظر --مقالات آماده سفارش داده شده پس از تایید به ایمیل شما ارسال خواهند شد.

قیمت

قیمت این مقاله: 68000 تومان (ایران ترجمه - Irantarjomeh)

توضیح

بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.

مقالات ترجمه شده کامپیوتر - ایران ترجمه - irantarjomeh

www.irantarjomeh.com

شماره      
۱۴۷
کد مقاله
COM147
مترجم
گروه مترجمین ایران ترجمه – irantarjomeh
نام فارسی
توالی های کد عملیاتی به عنوان شاخص برنامه های اجرایی برای تشخیص بدافزارهای ناشناخته مبتنی بر داده کاوی
نام انگلیسی
Opcode sequences as representation of executables for data-mining-based unknown malware detection
تعداد صفحه به فارسی
۶۱
تعداد صفحه به انگلیسی
۱۹
کلمات کلیدی به فارسی
تشخیص بدافزار, امنیت کامپیوتر, داده کاوی, فراگیری ماشینی, یادگیری نظارت شده
کلمات کلیدی به انگلیسی
Malware detection, Computer security, Data mining, Machine learning, Supervised learning
مرجع به فارسی
علوم اطلاعات
دانشگاه دوستو، لابراتوار بررسی ویژگی های هوشمندی، معنایی و امنیتی، اسپانیا، الزویر
مرجع به انگلیسی
Information Sciences; niversity of Deusto, Laboratory for Smartness, Semantics and Security (SLab), Avenida de las Universidades, Bilbao, Spain; Elsevier
کشور
اسپانیا

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

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

کلمات کلیدی: تشخیص بدافزار، امنیت کامپیوتر، داده کاوی، فراگیری ماشینی، یادگیری نظارت شده

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

۱- مقدمه
بد افزار (یا نرم افزار مخرب) به عنوان نوعی برنامه نرم افزار کامپیوتری تلقی می شود که به صورت صریح به منظور صدمه زدن به کامپیوترها یا شبکه ها طراحی شده است [۵۸]. در گذشته، انگیزه اصلی تولیدکنندگان بدافزار عمدتاً کسب شهرت و افتخار بوده است. با این وجود غالب بدافزارهای امروزی دارای انگیزه های اقتصادی می باشند [۵۱].
راه حل های ضد بد افزار تجاری متکی به بانک اطلاعاتی امضا [۴۹] (یعنی لیستی از امضاها) برای تشخیص می باشند. مثال این نوع از امضاها را می توان به عنوان نوعی توالی بیت ها نشان داد که عمدتاً در داخل برنامه های قابل اجرای مخرب وجود داشته و همچنین در داخل فایل هایی وجود دارند که قبلاً به وسیله آن بدافزار آلوده گردیده اند. به منظور تعیین امضای فایل برای یک برنامه اجرایی مخرب جدید، و ارائه راه حل مناسب برای آن، متخصصین می بایست آنقدر صبر نمایند تا آن برنامه اجرایی مخرب چندین کامپیوتر یا شبکه را آلوده نماید. بدین روش، فایل های مظنون را می توان از طریق مقایسه بایت های داخل لیست امضاها مورد آنالیز قرار داد. در صورتی که تطابق یافت شود، فایل تحت تست به عنوان یک برنامه اجرایی مخرب شناخته می شود. این رویکرد به هنگامی مؤثر خواهد بود که خطرات یا ویروس های احتمالی قبلاً شناخته شده باشند.
برخی از مسایل وجود دارند که سبب می شوند تا کاربرد روش مبتنی بر امضا به طور کامل قابل اطمینان نباشد: این سیستم قابلیت تعامل با مبهمات کدنویسی را نداشته و همچنین از قابلیت تشخیص بدافزارهای جدید نیز برخوردار نمی باشد.
نویسندگان بدافزار از تکنیک های مبهم نویسی کد [۴۰] جهت مخفی سازی رفتار حقیقی نیات بدخواهانه خود استفاده می نمایند [۸، ۸۴، ۱۳، ۳۳]. مثال های این نوع از الگوریتم های مبهم شامل درج داده های نادرست می باشد، که شامل اضافه نمودن توالی هایی است که قابلیت اصلاح رفتار برنامه را نخواهد داشت (همانند دستورالعمل های غیرعملیاتی)، بر هم زدن ترتیب کدنویسی، که سبب تغییر ترتیب دستورالعمل های برنامه می شود و همچنین دربردارنده تغییر نام متغیر نیز است، که در آن اقدام به جابجایی شناسه متغیر با شناسه متغیر دیگر می شود [۱۵].
چندین رویکرد به وسیله جامعه تحقیقاتی جهت مواجهه با این تکنیک های مبهم پیشنهاد شده است. به طور مثال Sung و همکاران [۷۴، ۸۲] روشی را جهت محاسبه مشابهت بین دو فایل اجرایی از طریق تمرکز بر روی میزان مشابهت در داخل توالی های فراخوانی سیستمی ارائه نمودند. این رویکرد به واسطه عدم تواناییهای آن جهت تشخیص بدافزار تنها ارائه دهنده یک عملکرد محدود می باشد، در عین حال امکان مثبت کاذب اندک نیز میسر می باشد (یعنی احتمال طبقه بندی فایل های اجرایی سالم به عنوان فایل های مخرب و بدافزار به صورت نادرست وجود دارد).
رویکردهای متعدد دیگری نیز بر مبنای آنچه تحت عنوان تحلیل گراف جریان کنترلی (CFG) خوانده می شود مدنظر هستند. در این زمینه مثالی به وسیله Lo و همکاران [۴۵] به عنوان بخشی از پروژه فیلتر کد مخرب (MCF) ارائه شد. روش آنها اقدام به تقسیم یک برنامه به بلوک های خاصی نموده و در عین حال اقدام به جستجوی علامت های هشداردهنده می نماید (همانند عملیاتی که قابلیت تغییر وضعیت یک برنامه نظیر رخدادهای دسترسی به شبکه و عملیات فایل را خواهد داشت). این مورد برای مشخص نمودن این مبحث بکار می رود که آیا یک فایل اجرایی مخرب می باشد یا خیر.
Bergerson و همکاران [۳] چندین روش را برای تفکیک فایل های اجرایی باینری ارائه نمودند که بر مبنای آن قابلیت ایجاد یک شاخص اجرایی مرتبط با فایل های اجرایی باینری و ارتقای تفکیک یک برنامه به بخش هایی تحت عنوان ایدیوم ها (یا توالی های دستورالعملها) وجود خواهد داشت. به علاوه، ذکر این نکته قابل توجه می باشد که تحقیق انجام شده به وسیله Christodorescu و Jha [16]، که در آن اقدام به ارائه یک روش بر مبنای تحلیل CFG به منظور کنترل ویژگی های مبهم در نرم افزار مخرب شده است نیز یکی از موارد قابل توجه در این مبحث به شمار می آید. متعاقباً Christodorescu و همکاران [۱۷] در تحقیق خود از طریق شامل نمودن قالب های معنایی مبهمات برنامه های مخرب توانستند این فرایند را توسعه دهند.
دو رویکرد به منظور کنترل بدافزارهای ناشناخته، که قابلیت کنترل آن در روش های امضای کلاسیک وجود ندارد، ارائه شده است: تشخیص گرهای ناهنجاری و تشخیص گرهای مبتنی بر داده کاوی. این رویکردها همچنین در حوزه های مشابهی همانند تشخیص برنامه های مهاجم به کار گرفته شده اند [۳۹، ۲۳، ۷۷، ۲۷].
علی الخصوص ما قابلیت پیشبرد وضعیت جدید با توجه به سه عامل ذیل را خواهیم داشت:
  • ما نشان می دهیم که چگونه می بایست اقدام به بکارگیری شاخص اجرایی فراوانی ـ توالی اپکد جهت تشخیص و رتبه بندی بدافزار نماییم.
  • ما اعتبارسنجی تجربی مدل خود را با یک مطالعه گسترده مرتبط با مدل های داده کاوی برای تشخیص و رده بندی نرم افزار مخرب ناشناخته ارائه می نماییم.
  • ما نشان می دهیم که روش های ارائه شده دارای نرخ تشخیص بالایی می باشند، حتی برای خطرات کاملاً جدید و خطراتی که قبلاً آشکار نشده اند. به علاوه ما کمبودهای مدل پیشنهادی را ارائه  داده  و برخی از رویه های ارتقای  محتمل  را  نیز  عرضه  می داریم.
ادامه این مقاله به شرح ذیل سازمان دهی شده است. بخش ۲ تشریح کننده روشی جهت محاسبه وزن وابستگی هر کد عملیاتی / اپکد می باشد. بخش ۳ جزئیات شاخص فایل های اجرایی را ارائه می نماید. بخش ۴ رویکردهای به کار گرفته شده داده کاوی را مورد ارزیابی قرار می دهد. بخش ۵ تشریح کننده آزمایشات انجام شده و نتایج جاری می باشد. بخش ۶ مشخص کننده روش پیشنهادی می باشد. در نهایت بخش ۷ به نتیجه گیری و دستاوردهای احتمالی آینده می پردازد.
 

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

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

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

۳- استخراج ویژگی ها
جهت مشخص نمودن فایل های اجرایی با استفاده از کدهای عملیاتی یا اپکدها، ما اقدام به استخراج توالی های کد عملیاتی و فراوانی پدیدار شدن آنها نمودیم. علی الخصوص، یک برنامه r را می توان به عنوان توالی دستورالعمل های I در نظر گرفت که در آن  محقق خواهد بود. یک دستورالعمل به صورت یک ۲ـ تایی متشکل از یک اپکد و یک پارامتر یا یک لیست از پارامترها می باشد. از آنجائیکه آپکدها یا کدهای عملیاتی به خودی خود معنی دار هستند [۴]، ما پارامترها را حذف نموده و در نظر می گیریم که برنامه تنها متشکل از همین آپکدها می باشد. این آپکدها در چندین بلوک گرد هم آمده که ما تحت عنوان توالی های آپکد نامگذاری می کنیم.

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

۴- دسته بندی مبتنی بر داده کاوی
ارائه نوعی محافظت در برابر بدافزار ناشناخته به عنوان یک چالش مهم در خصوص تشخیص بدافزارها به واسطه افزایش رشد آنها به حساب می آید. رویکردهای داده کاوی عمدتاً متکی به الگوریتم های فراگیری ماشینی هستند که از هر دوی فایل های اجرایی مخرب یا بدافزار و همچنین فایل های اجرایی سالم جهت تشخیص بدافزارها به صورت طبیعی استفاده می نماید [۲۸، ۲۹، ۸۱، ۷۰].
فراگیری ماشینی به عنوان یک ویژگی در داخل فرایند هوش مصنوعی (AI) در ارتباط با طراحی و توسعه الگوریتم هایی به شمار می آید که به کامپیوترها اجازه تعقل و تصمیم گیری بر مبنای داده ها را می دهد [۵]. به طور کلی الگوریتم های فراگیری ماشینی را می توان به سه دسته تقسیم نمود: فراگیری نظارت شده، فراگیری نظارت نشده و فراگیری نیمه نظارت شده. در ابتدا، الگوریتم های فراگیری ماشینی نظارت شده، یا الگوریتم های دسته بندی، نیازمند مجموع اطلاعات آموزشی و برچسب خوردن دقیق آنها می باشند (در مورد ما، دانستن آنکه آیا یک نمونه بدافزار می باشد یا خیر) [۳۷]. دوماً، الگوریتم های فراگیری ماشینی غیر نظارتی یا الگوریتم های خوشه بندی، سعی در ارزیابی این موضوع می نماید که چگونه داده ها در گروه های مختلفی که تحت عنوان خوشه ها نامیده می شوند طبقه بندی می گردند. در این نوع از فراگیری ماشینی الزامی برای برچسب زدن به داده ها وجود ندارد [۳۸]. در نهایت، الگوریتم های فراگیری ماشینی نیمه نظارتی از ترکیبی از هر دوی داده های برچسب خورده و برچسب نخورده به منظور ایجاد مدل ها استفاده می نمایند، بنابراین قابلیت ارتقای دقت روش های غیرنظارتی به وجود خواهد آمد [۱۲].
۴ـ۱٫ درختان تصمیم
کلاسیفایرهای درخت تصمیم به عنوان نوعی از کلاسیفایرهای فراگیری ماشینی  به حساب  می آیند که می توان آنها را به صورت گرافیکی به عنوان یک درخت نشان داد (شکل ۲ نشان دهنده بخشی از درخت تصمیم حقیقی ایجادی می باشد). گره های داخلی معرف شرایط متغیرهای مشکل می باشند و گره های نهایی آنها (برگ ها) معرف تصمیم نهایی آن الگوریتم می باشند [۶۰]. در این مورد، گره های نهایی معرف آن خواهند بود که آیا یک برنامه اجرایی بدافزار می باشد یا خیر.
۴ـ۲٫ ماشین های بردار حامی (SVM)
کلاسیفایرهای SVM حاوی یک ابرصفحه می باشند که قابلیت تقسیم یک فضای n بعدی داده ها به دو ناحیه را خواهد داشت (شکل ۳). این ابرصفحه یکی از ترکیبات حاشیه ای بین دو ناحیه کلاس ها به شمار می آید (در مورد ما، نرم افزار بدافزار یا سالم). حاشیه حداکثری به وسیله بیشترین فاصله بین مثال های دو کلاس محاسبه شده از فاصله بین نزدیک ترین فواصل هر دو کلاس حاصل می شود (که تحت عنوان بردارهای حامی خوانده می شود) [۸۰].
۴ـ۳٫ نزدیک ترین همسایگان ـ K
الگوریتم نزدیک ترین همسایه ـ K (KNN) [24] یکی از ساده ترین الگوریتم های فراگیری ماشین های نظارت شده برای دسته بندی نمونه ها می باشد. این روش اقدام به دسته بندی یک نمونه ناشناخته بر مبنای کلاس (در نمونه ما نرم افزار سالم یا بدافزار) نزدیک ترین نمونه به آن در فضای فراگیری می باشد (شکل ۴).
۴ـ۴٫ شبکه های بیزی
قضیه بیز [۲] به عنوان مبنای آنچه تحت عنوان استنباط بیزی خوانده می شود مدنظر است، یعنی یک روش استدلال آماری که تعیین کننده احتمال درست بودن یک فرض، بر مبنای تعداد مشاهدات، می باشد. قضیه بیز قابلیت تعدیل احتمالات به عنوان اطلاعات جدید در دسترس را خواهد داشت. بر حسب فرمول بندی کلاسیک آن (معادله ۷) با ارائه دو رخداد A و B، احتمال شرطی P(A|B) که A رخ دهد و یا در صورت بروز B در صورت دانستن ویژگی های رخداد A، P(A)، در ارتباط با احتمال رخداد B، P(B)، و احتمال شرطی B و مشخص شدن A، P(B|A)  خواهد بود.

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

۵- آزمایشات و نتایج
به منظور مشخص نمودن اعتبار روش پیشنهادی، ما از دو مجموعه اطلاعاتی مختلف به منظور آزمایش این سیستم استفاده نمودیم: یک مجموعه اطلاعاتی بدافزار و یک مجموعه نرم افزاری سالم. ما اقدام به دانلود چندین نمونه بدافزار از وب سایت VxHeavens به منظور به وجود آوردن ۱۷۰۰۰ برنامه مخرب نمودیم که شامل ۵۸۵ مورد خانواده های بدافزار می باشد که معرف انواع مختلف بدافزارها نظیر اسب های تروجان / تروا، ویروس ها و کرم ها است. در بین برنامه های بدافزاری استفاده شده برای این آزمایش، ما از گونه های SDBot، Alamar، Bropia، Snowdoor، JSGen، Kelvir، Skydance، Caznova، Sonic، Redhack و Theef استفاده نمودیم.

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

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

داده کاوی کد تشخیص بدافزارهای ناشناخته

 

۷- نتیجه گیری
تشخیص بدافزار به عنوان یکی از بررسی های اصلی تحقیقاتی به واسطه افزایش رشد برنامه های مخرب در خلال سالیان اخیر به شمار می آید. روش های امضای کلاسیک که به وسیله فروشندگان ضدویروس به کار گرفته شده اند بیش از این دارای تأثیر کاملی نمی باشند که علت آن را می توان حجم بالای بدافزارهای جدیدی دانست که هم اکنون به وفور گسترش یافته و عملاً این ضدویروس ها را ناکارآمد کرده اند. بنابراین، روش های امضا باید با بهره گیری از رویکردهای پیچیده تر قابلیت تشخیص خانواده های بدافزار ناشناخته را داشته باشند.
در این مقاله، ما روشی را برای تشخیص بدافزار ارائه می نماییم. مخصوصاً، ما روشی را برای مشخص سازی بدافزاری ارائه می نماییم که متکی بر توالی های آپکد به منظور ایجاد یک شاخص برداری از فایل های اجرایی می باشد. بدین روش، ما قابلیت آموزش الگوریتم های فراگیری ماشینی جهت تشخیص گونه های مختلف بدافزارهای ناشناخته را خواهیم داشت. آزمایشات ما نشان دهنده آن هستند که این روش فراهم آورنده یک ضریب تشخیص مناسب برای بدافزارهای ناشناخته بوده و در عین حال قابلیت حفظ نسبت مثبت کاذب پایینی را نیز خواهد داشت.
توسعه آتی تشخیص بدافزارها  بر روی سه حوزه تحقیقاتی  اصلی متمرکز می باشد. در ابتدا، ما بر روی فایل های اجرایی فشرده شده با استفاده از یک رویکرد استاتیک ـ دینامیک هیبرید تمرکز خواهیم داشت. دوماً، ما اقدام به برنامه ریزی به منظور بکارگیری این روش برای تشخیص فایل های اجرایی فشرده شده می نماییم. در نهایت، ما مشکل مقیاس پذیری بانک های اطلاعاتی بدافزاری را با استفاده از ترکیبی از ویژگی ها و روش های انتخاب نمونه مورد مطالعه قرار خواهیم داد.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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