چکیده
اندروید، سهم عمدهای در بازار برنامههای تلفن همراه دارد. تلفنهای همراه اندروید تبدیل به هدف آسانی برای مهاجمین شدهاند. دلیل اصلی آن، بیتوجهی کاربر در فرایند نصب و استفاده از برنامهها است. بدافزارهای اندروید را میتوان بر اساس مجوزهایی که از کاربر درخواست میکند شناسایی کرد. الگوریتمهای یادگیری ماشین متعددی در تشخیص بدافزارهای اندروید بر اساس فهرست مجوزهای فعال شده برای هر برنامه مورد استفاده قرار میگیرند. این مقاله به مطالعه عملکرد برخی از الگوریتمهای یادگیری ماشین مانند نایوبیز، J48، جنگل تصادفی، ردهبندی چند-کلاسی، و پرسپترون چند-لایهای میپردازد. دادههای برنامه ۲۰۱۵ و ۲۰۱۶ گوگل پلی استور برای برنامههای نرمال استفاده میشوند و مجموعههای داده بدافزاری استاندارد در ارزیابی به کار میروند. مشاهده شده است که ردهبندی کننده چند-سطحی دارای عملکرد بهتری نسبت به سایر الگوریتمها در زمینه درستی ردهبندی است. ردهبندی نایوبیز تا جایی که به زمان مصرف مدل مربوط میشود عملکرد بهتری دارد.
1. مقدمه
در بازار از پیش تعیین شده تلفن همراه، اندروید، مشهورترین پلت فرم برای تلفنهای هوشمند است، و همچنین نرخ رشد بازار به تدریج رو به افزایش بوده و در حال حاضر ۷/۸۴ درصد است [۱]. با توسعه سریع فناوری رایانش تلفن همراه، تبلتها و تلفنهای هوشمند، عملکردهای پیچیدهای را با هزینه پایینتر فراهم آوردهاند. در حالی که پلت فرمهای دیگر مانند iOS، کاربران را تنها از طریق iTunes قادر به نصب و راهاندازی برنامهها میسازند، اندروید، منابع باز بسیاری مانند Torrents، گوگل پلی استور، دانلودهای مستقیم یا بازارهای شخص ثالث و غیره را فراهم میکند [۱]. این حاکمیت، توزیع برنامهها و گروهبندی بدافزارها را تبدیل به وظیفه سادهای برای مهاجمین میسازد [۲] که سعی در فریب کاربران با اجرای کدهای مخرب دارند. بارهای مخرب در بستهبندی مجدد برنامههای محبوب مورد استفاده قرار میگیرند [۳]. نقضهای حریم خصوصی (به عنوان مثال، مختصات GPS و دسترسی به کتاب آدرس)، کسب درامد از طریق تماسهای حق بیمه و اس ام اس، و سایر حملات مخرب خطرناک، تبدیل به تهدیدهای جدی شدهاند. معیارهای امنیتی زیادی توسط فراهم کنندگان پلت فرم اندروید به منظور متوقف ساختن بدافزارها در طول نصب اجرا شدهاند و مجوز سیستم اندروید، بیشترین اهمیت را دارد [۴، ۲۲]. برنامههای بدافزار اندروید را میتوان در برابر برنامههای واقعی بر اساس مجوزهای درخواست شده توسط برنامه در طول نصب شناسایی کرد. این مقاله، عملکرد چند تکنیک یادگیری ماشین، از قبیل مانند نایوبیز، J48، جنگل تصادفی، ردهبندی چند-کلاسی، و پرسپترون چند-لایهای را مقایسه میکند. روش ارائه شده عمدتا دارای سه مرحله است. اولا، زمینههای مجوز از فایل آشکارسازی اندروید برنامهها استخراج میشوند. دوما، یک پایگاه داده از همه مجوزها برای هر دو نوع داده نرمال و بدافزاری برای ردهبندی و شناسایی بدافزارها در برنامههای اندروید مورد استفاده قرار میگیرد [۵، ۶].
6. نتیجهگیری و مسیر پژوهشی آینده
در این مقاله، الگوریتمهای مختلف یادگیری ماشین مانند نایوبیز، J48، جنگل تصادفی، ردهبندی چند-کلاسی، و پرسپترون چند-لایهای برای تشخیص بدافزارهای اندروید و ارزیابی عملکرد هر الگوریتم مورد استفاده قرار میگیرند. در اینحا ما چارچوبی را برای ردهبندی برنامههای اندروید با کمک تکنیکهای یادگیری ماشین به منظور تعیین بدافزار یا نرمال بودن آنها اجرا کردیم. برای دسترسی به این مدل، باید چند ویژگی و مجوز را از بسیاری از برنامههای دانلود شده از بازار اندروید استخراج میکردیم. به منظور ایجاد اعتبار، سیستم ما ۳۲۵۸ نمونه از برنامههای اندروید را جمعآوری کرده و ویژگیهای آنها را استخراج کرد، و همچنین مدلها را به منظور ارزیابی با کمک درستی و زمان ردهبندی در نظر گرفته شده برای مدل آموزش داد. از آزمایشها مشاهده شد که ردهبندی کننده چند-کلاسی نسبت به بقیه ردهبندی کنندهها در زمینه درستی ردهبندی، عملکرد خوبی داشت. در زمینه پیچیدگی محاسباتی، مشاهده شد که نایو بیز در ردهبندی مجموعه دادههای بدافزار، سریعترین عملکرد را دارد. این کار همچنین با کارهای موجود در این حوزه مورد مقایسه قرار میگیرد و نتایج به دست آمده در زمینه درستی ردهبندی، بهتر هستند. کاهش ویژگی، عملکرد ردهبندی کننده را به طور قابل توجهی بهبود میبخشد [۲۴].
کاهش ویژگی برای مجموعه دادههای بدافزارهای اندروید و ارزیابی عملکرد، در کارهای آینده در نظر گرفته خواهند شد.
Abstract
Android occupies a major share in the mobile application market. Android mobiles have become an easy target for the attackers. The main reason is the user ignorance in the process of installing and usage of the apps. Android malware can be detected based on the permissions it requests from the user. Several machine learning algorithms are being used in the detection of android malware based on the list of permissions enabled for each app. This paper makes an attempt to study the performance of some of the machine learning algorithms, viz., naïve Bayes, J48, Random Forest, Multi-class classifier and Multi-layer perceptron. Google play store 2015 and 2016 app data are used for normal apps and standard malware data sets are used in the evaluation. Multi-class classifier was found to be outperforming the other algorithms in terms of classification accuracy. Naïve Bayes classifier has outperformed as far as model construction time is concerned.
I. INTRODUCTION
In preset mobile market, android is the most famous platform for smartphones, the market growth rate is increasing gradually and it is now at 84.7% [1]. With the rapid development of mobile computing technology, tablets and smartphones have evolved sophisticated functions at lower costs. While, other platforms like iOS users allow to install applications only through iTunes, android allows many open sources, such as Torrents, Google play store, Direct downloads, or Third-party markets, etc. [1] This sovereignty makes distribution of applications and bundling of malware an easy task for attackers, [2] who try to lure the users into running malicious code. Malicious payload are used in repackaging popular apps [3]. Privacy breaches (e.g., GPS coordinates and access to address book), monetization through premium calls and SMS, other dangerous malicious attacks have become real threats. A lot of security measures have been implemented by the Android platform providers to stop malware during the installation, permission of Android system is most notable [4][22]. Android malware apps can be identified against genuine apps based on the permissions that the app requests during installation. This paper compares the performance of several machine learning techniques, viz., naïve Bayes, J48, Random Forest, Multi-class classifier and Multi-layer perceptron. The proposed method has mainly three stages. Firstly, the permission fields are extracted from the android manifest file of the apps. Second, a data base of all the permissions for both normal and malware data is established and finally the machine learning algorithms are used to classify and identify the malware in android applications [5], [6].
VI. CONCLUSION AND FUTURE SCOPE
In this paper different machine learning algorithms are used such as navies Bayes, j48, Random forest, Multi class classifier and multilayer perceptron to detect android malware and evaluate the performance of each algorithm. Here we implement a framework for classifying android applications with the help of machine learning techniques to check whether it is malware or normal application. To access this model have to extract several features and permission from many downloaded applications from the android market. For validating, our system collected 3258 samples of android apps and those have to be extracted for each and every application, extract their features and have to train the models going to be evaluated with the help of classification accuracy and time taken for the model. From the experiment, it was found that multi class classifier has performed well over other methods, regarding classification accuracy. As far as computational complexity is considered Naïve Bayes classifier was found to be the fastest in classification of malware data set. This work is also compared with existed works in this area and the results obtained are superior regarding accuracy of classification. Feature reduction greatly improves the performance of the classifier [24].
Feature reduction for android malware app data sets and performance evaluation shall be considered in the future work.
چکیده
1. مقدمه
2. کارهای مربوطه
3. مجموعه داده ها
4. برنامه های اندروید و رویکرد مجوز آن
5. نتایج تجربی
6. نتیجه گیری و مسیر پژوهشی آینده
منابع
Abstract
1. INTRODUCTION
2. RELATED WORK
3. DATASET
4. ANDROID APPLICATIONS AND ITS PERMISSION APPROACH
5. EXPERIMENTAL RESULTS
6. CONCLUSION AND FUTURE SCOPE
REFERENCES