بخشی از مقاله
چکیده
طی چند سال گذشته، تعداد بدافزارهای طراحیشده برای دستگاههای اندرویدی به طور چشمگگیری افمزایش یافتمه اسم. بمرای جلوگیری از دسترسی به نرم افزارهای مخرب ، برخی از تکنیکهای تشخیص سوءاستفاده پیشنهاد شدهاند که قمادر بمه شناسمایی بدافزار هستند، اما اغلب آنها قادر نیستند به طور هگزمان دارای دق. بالا، نرخ تشخیص بالا و تولید هشدار غلط پایین باشند که ایمن امر سبب عدم کارایی آنها در دنیای واقع میشود.
در این مقاله یک سیستم تشخیص سوء استفاده مبتنی بمر رفتمار شمبکه ارا مه میشمود ایمن رو ، بمر روی رفتمار شمبکهای بدافزارهای اندرویدی تگرکز داشته و با استفاده از یادگیری ماشین قادر به تشخیص بدافزار با دق. %48.69 ، نرخ بالای تشمخیص %45.99 به هگراه هشدارهای غلط زیر 5 درصد می باشد در انتهای مقاله میزان کارایی رو پیشنهادی با استفاده از مجگوعه واقعی از بدافزارها و برنامههای عادی نشان داده میشود بر اساس آزمایشها ثاب. میشود که رو پیشنهادی قمادر اسم. بمدافزارهای اندرویدی که دارای رفتار شبکه هستند را با دق. بالا تشخیص داده و نرخ هشدار نادرس. پایینی تولید کند.
-5 مقدمه
اندروید یک سیستم عامل مبتنی بر هسته لینوکس است و بر روی تلفنهای همراه و دستگاههای هوشمند نصب میشود. این سیستمعاملعمدتاً برای دستگاه های تلفن همراه لمسی مانند گوشی های هوشمند و تبلت طراحی شده است. در سال های اخیر به دلیل افزایش سهم بازار سیستمعامل اندروید، توسعه برنامه های کاربردی موبایل در آن بسیار مورد توجه قرار گرفته است. مجموعه کامپایلر اندروید فایل های توسعه دهنده جاوا را به فایل هایی با پسوند .class کامپایل می کند، و سپس آنها به فایل های DEX تبدیل میشوند.
یک فایل DEX حاوی بایت کد برای ماشین مجازی دالویک است. فایلهای DEX، فایلهای XML و سایر منابع مورد نیاز برای اجرای یک برنامه اندروید، به یک فایل بسته اندروید با پسوند APK بسته بندی میشوند. هنگامی که بسته تولید شد، با کلید توسعه دهنده امضا شده و در فروشگاه Google Play، که قبلا به عنوان اندرویدMarket شناخته می شد، آپلود می شود. تکنیک های تشخیص بدافزار موجود در اندروید به تشخیص سوءاستفاده و تشخیص ناهنجاری تقسیم می شود.
تکنیک های تشخیص سوءاستفاده متکی به شناسایی امضاهای بدافزار شناخته شده هستند، در حالی که تکنیک های تشخیص ناهنجاری، تشخیص انحراف از رفتار برنامه عادی است. از مزایای تکنیکهای تشخیص سوءاستفاده آن است که این روشها هشدارهای غلط کمتری تولید کرده و میتوانند به سرعت بدافزار را شناسایی کنند؛ اما این روشها قادر به شناسایی بدافزار ناشناخته یا جدید نیستند و باید یک پایگاه-داده بزرگ از امضاهای مخرب را نگهداری کنند. در مقابل، تکنیکهای تشخیص ناهنجاری بدافزارهای ناشناخته را شناسایی میکند، اما معمولاً هشدارهای نادرست زیادی تولید می کنند.
پیش از تشخیص بدافزار نیاز به تحلیل آنها وجود دارد.تحلیل بدافزارها به دو روش عمده ایستا و پویا انجام میشود. در مرحله تحلیل بدافزار، دادهها و اطلاعات مورد نیاز برای مرحله تشخیص، جمعآوری میشود. تجزیه و تحلیل ایستا ]4[ کد منبع برنامه های کاربردی را تحلیل میکند؛ در این روش تحلیل، نیازی به اجرای برنامه کاربردی یا بدافزار در دستگاه واقعی یا شبیهساز وجود ندارد. از سوی دیگر، تکنیک های تحلیل پویا ]4[ برنامه های کاربردی را در یک محیط کنترل شده اجرا می کنند تا رفتار زمان اجرای بدافزار یا برنامهکاربردی نشان داده شوند.
تجزیه و تحلیل ایستا بر روی دستگاه های اندروید با منابع محدود مفید است، زیرا لازم نیست برنامه های کاربردی اجرا شود. با این حال، این تکنیک دارای مشکل اصلی در مواجهه با کدهای مبهمسازیشده ]8[ و بارگذاری کد پویا است .]9[ در مقابل، تجزیه و تحلیل پویا آسیب پذیری کمتری نسبت به کدهای مبهمسازیشده و بارگذاری کد پویا دارد؛ در این مقاله روشی نوین برای تشخیص بدافزارهای اندرویدی ارائه شدهاست که یک روش جدید تشخیص سوءاستفاده مبتنی بر رفتار شبکه میباشد. این روش بر رفتار شبکه برنامههای اندروید تمرکز دارد. به طور خاص، رفتار یک برنامه با مجموعهای از ویژگیهایی که از بستههای ارسال-شده یا دریافتشده توسط آن برنامه استخراج میشوند، نشان دادهمیشود. این ویژگی ها به سه دسته تقسیم می شوند: مبتنی بر تجمیع و آنتروپی و وضعیت.
-2 پیشینه تحقیق
در سالهای اخیر تحقیقگران زیادی برای تشخیص بدافزارها، دست به انجاام آزمایشهای مختلا زدهاناد و سیساتمها و روشهاای متناوو و مختلفای را پیشنهاد دادهاند. در این فصل سعی داریم برخی از روشهای پیشنهاد شاده در سالهای اخیر را معرفی کنیم. همانطور که بیان شاد، روشهاای تشاخیص بدافزارها به دو دسته کلی تشخیص ناهنجااری و ساوء اساتفاده و همنناین روشهای تحلیل به دو دسته ایستا و پویا تقسیم میشوند.
-5-2 رویکرد مبتنی بر تشخیص سوء استفاده
Wang و همکاران]5[هر جریان HTTP تولید شده توسط برنامه های تلفن همراه را بهعنوان سند متنی مورد استفاده برای پردازش زبان طبیعی استخراج میکند. با پردازش این متنها، میتوان از ویژگی های معنایی ترافیک شبکه برای توسعه یک مدل شناسایی کدهای مخرب استفادهکرد. در این مقاله مدل تشخیص خطی با الگوریتم ماشین بردار پشتیبان برای نگاشت ویژگیها مورد استفاده قرار گرفته است. لی و همکارانش]3[ در سال 2112، روشی را برای تشخیص بدافزار با استفاده از نظارت بر رفتار شبکه پیشنهاد دادهاند. این سیستم از چهار بخش اصلی تشکیل شده است. بخش اول، نظارت بر ترافیک شبکه نام دارد. در این بخش ویژگیهای جدول - 1 - برای رفتار شبکه طی یک هفته جمعآوری میشود.
بخش دوم، تشخیص ناهنجاری ترافیک نام دارد که به تحلیل و شناسایی ناهنجاری میپردازد. روش مورد استفاده برای این کار C-SVC است. بخش دوم به دو مرحله آموزش و آزمون تقسیم میشود. در مرحله آموزش پس از اینکه رفتارهای شناخته شده با نام هنجار و ناهنجار مشخص شدند، بهصورت تصادفی برخی از رفتارهای هنجار و ناهنجار انتخاب شده و در مجموعه یادگیری قرار میگیرند. سپس رفتارهای دیگر به مرحله آزمون داده شده و توسط روش ماشین بردار پشتیبان، آزمون انجام میپذیرد.
-2-2 رویکرد مبتنی بر تشخیص ناهنجاری
غفاری و همکاران ]2[ روش پیشنهادی، را که یک سیستم تشخیص ناهنجاری مبتنی بر آنتروپی است و تمرکز بر رفتار شبکه ای برنامه های کاربردی برای تشخیص بدافزار اندروید دارد را پیشنهاد داده اند. روش پیشنهادی از طبقه بندی SVM تک کلاسی برای شناسایی برنامه های کاربردی که رفتار شبکه های غیرعادی دارند استفاده میکند، و سپس یک نمره ناهنجاری برای هر برنامه بر اساس مقادیر مشکوک فعلی و قبلی خود محاسبه می کند. یک برنامه به عنوان بدافزار گزارش می شود اگر نمره انحراف آن از یک آستانه از پیش تعیین شده عبور کند.
Zulkifli و همکاران [10]، روشی پویا را پیشنهاد دادهاند که رفتار شبکهای نرمافزار را در زمان اجرا جمعاوری میکند. برای جمعآوری این اطلاعات از 7 ویژگی سایز متوسط بسته، متوسط تعداد بستههای ارسالی در هر جریان، متوسط تعداد بستههای دریافتی در هر جریان، متوسط تعداد بایتهای ارسالی در هر جریان، متوسط تعداد بایتهای دریافتی در هر جریان، نرخ بایتهای ارسالی و متوسط تعداد بایتهای دریافتی در هر ثانیه استفاده شدهاست. سپس از الگوریتمهای مختل درخت تصمیمگیری مانند J48 برای دستهبندی رفتار نرمافزار استفاده شدهاست.
-3 مفاهیم آنتروپی
آنتروپی یا بینظمی بیانکننده میزان منظم و یا نامنظم بودن یک رشته میباشد. در این مقاله از روش انتروپی نمونه استفاده شده است. تئوری این روش بر این تعری استوار است که دو زیر رشته برابر - با احتساب یک مقدار قابل اغماض - از طول یکسان و برابر با ، در طول یکسان + 1، باچه احتمالی همننان با هم برابر باقی میمانند؟! به بیان ریاضی: فرض کنید N طول سری زمانی، m طول زیررشته برای مقایسه و r میزان اغماض1 قابل قبول برای تطابق باشد.
-9 رو ارا ه شده
روش پیشنهادی سیستمی برای تشخیص رفتاری بدافزار بر اساس آنتروپی است که برای یادگیری رفتار عادی کاربر و بدافزار از رویکرد یادگیری ماشین استفاده میکند. این روش نمایهای از رفتار شبکهای برنامهکاربردی که کاربر نصب کرده و استفاده میکند را میسازد. نمایه رفتار کاربر، بر اساس "بردار ویژگی جریان"2 که تصویری از ویژگیهای بستههای ارسالی و دریافتی توسط برنامه کاربردی در زمان خاص است ایجاد میشود. بردار ویژگی جریان، مقادیری از سه گروه ویژگی دارد که با نامهای "مبتنی بر حالت"، "مبتنی بر تجمیع" و "مبتنی بر آنتروپی" شناخته میشود.
هدف ویژگیهای مبتنی بر آنتروپی اندازهگیری درجه پینیدگی رفتار شبکهای برنامهکاربردی است. بر اساس مشاهدات، رفتار شبکه بدافزار معمولاً نسبت به برنامه کاربردی عادی منظمتر است. دلیل این مشاهدات، آن است که بدافزار برخلاف برنامه عادی، یک برنامه خودکار بوده و تا حدودی رفتار آن از پیش تعیین شده است، این در حالی است که رفتار کاربر اینگونه نبوده و آنتروپی بالاتری دارد. آنتروپی پایین، نشانگر رفتار منظمتر و آنتروپی بالا نشانگر رفتار پینیده است. لازم به ذکر است روش پیشنهادی، صرفاً قادر به تشخیص بدافزارهایی است که رفتار شبکهای از خود نشان میدهند. در غیر اینصورت، ادعایی در مورد تشخیص بدافزارها توسط این روش وجود ندارد.
-5-5-9 جگع آوری کننده جریان
اولین جزء از اجزای روش پیشنهادی، جمعآوریکننده جریان نام دارد. این جزء مسئول ثبت بستههای ارسالی و دریافتی برنامههای کاربردی است که در دستگاه کاربر نصب شده و درحال اجرا میباشد. ثبت بستهها در بازههای زمانی مشخص اتفاق میافتد. سپس به تفکیک برنامه کاربردی، جریانهایی3 را که هرکدام از مجموعه بستهها تشکیل دادهاند مشخص میشود. میدانیم، جریان، مجموعهای از بستهها است که آدرس IP مقصد، آدرس IP مبدا، درگاه2 مبدا، درگاه مقصد و پروتکل یکسانی را به اشتراک میگذارند.