چکیده
از زمان راهاندازی تلفنهای هوشمند، استفاده از آنها به صورت تصاعدی در حال افزایش است. این تلفنها تبدیل به بخش مهمی از زندگی ما شدهاند. زندگی روزمره ما بسیار وابسته به تلفنهای هوشمند است و ما از برنامههای مختلفی هم از فروشگاه بازی و هم از برنامههای شخص ثالث استفاده میکنیم. اغلب اوقات، برنامههای دانلود شده از برنامههای غیر رسمی تهدید کننده هستند زیرا کنترلها یا مکانیسمهای لازم برای تایید اعتبار این برنامهها وجود ندارند و ممکن است آلوده به بدافزار باشند. برنامههای آلوده شده توسط بدافزارها میتوانند منجر به نشت اطلاعات شخصی کاربر شوند. ابزارهای ضد ویروس از روشهای مبتنی بر امضا برای تشخیص بدافزارها استفاده میکنند اما پایگاههای داده آنها نیاز به بروزرسانیهای منظم دارند. در این مقاله، سیستمی را برای ردهبندی برنامههای اندروید بر اساس مکانیسمهای مورد استفاده توسط این برنامهها ارائه میدهیم. ما از شش الگوریتم یادگیری ماشین برای ردهبندی این برنامهها در برنامهّای بدخیم و خوشخیم استفاده کردیم. با مقایسه نتایج، کشف کردیم که الگوریتم رگرسیون لجستیک، بهترین ابزار برای مجموع دادههای ما است و دقت ۳۴/۹۹ درصد را فراهم میکند.
1. مقدمه
در عصر امروز، تلفنهای هوشمند تبدیل به دستگاهی همه جا حاضر برای ذخیرهسازی، محاسبه و انجام تراکنشها در میان این دستگاهها شدهاند. استفاده از این دستگاه، راحتتر، قابل حمل و دستی است. برای بهبود تجربه استفاده از تلفنهای همراه و تعیین ویژگیهای و کارکردهای موجود در دستگاه، پلت فرم نرمافزار، یعنی یک سیستم عامل (OS)، که توسط تولید کننده در نظر گرفته شده است از قبل روی تلفنهای همراه نصب میشود. این سیستم عامل به ویژه برای تلفنهای همراه طراحی شده است و از سیستم عامل کامپیوترها متفاوت بوده و بنابراین قادر به اجرای کارکردهای پیشرفته روی تلفنهای هوشمند است که قبلا نمیشد آنها را روی کامپیوترهای رومیزی اجرا کرد. انواع مختلفی از سیستمها عاملها در بازار وجود دارند از جمله اندروید OS، IOS، ویندوز OS و غیره. اولین سیستم عامل تلفن هوشمند کاملا کارکردی و محبوب، Symbian OS بود که در سال ۲۰۰۰ معرفی شد. سیستم عامل دیگری که در بازار انقلابی به وجود آورد IOS بود که توسط اپل ارائه شد و همراه با اولین مدل آیفون در سال ۲۰۰۷ بود. اما از زمان عرضه سیستم عامل اندروید در سال ۲۰۰۷، این سیستم عامل تبدیل به OS موبایل شده و به شدت در طول سالیان رشد کرده است. طبق گزارشهای آماری، امار ارائه شده، سهم بازار جهانی این سیستم عامل برجسته تلفن هوشمند را نشان میدهد، که در دومین فصل سال ۲۰۰۸، ۸۸ درصد از همه تلفنهای هوشمند فروخته شده به کاربران نهایی، تلفنهای با سیستم عامل اندروید بودند [۱]. به همین دلیل، ما سیستم عامل اندروید را برای تحقیق انتخاب کردیم. قابلیت دسترسی تلفنهای هوشمند با سیستم عامل اندروید نیز منجر به تسریع شیفت کاربران همیشگی تلفن همراه به سمت کاربران تلفن هوشمند شده است و بنابراین، رشد نمایی در بازار اندروید وجود داشته است.
5. نتیجهگیریها و امتیاز ویژگی
در این مقاله، الگوریتمهای یادگیری ماشین نظارت شده مختلفی را برای تشخیص بدافزارها در نمونههای برنامه اندروید اجرا کردهایم و آنها را در دو گروه خوشخیم و بدخیم قرار دادهایم. برای این ردهبندی، از یک مجموعه داده برچسبگذاری شده استفاده کردیم که با استفاده از مجوزهای استخراج شده از چند برنامه اندروید از فایل آشکارسازی قابل دسترس به صورت عملی با یک اسکریپت پیتون ایجاد شد. این مجموعه داده در دادههای آموزشی و آزمایشی در نسبت ۸۰:۲۰ منشعب شد. در این مجموعه داده، شش الگوریتم ML نظارت شده برای ردهبندی برنامه اندروید در خوشخیم و بدخیم استفاده شدند. از نتایج میتوان نتیجه گرفت که رگرسیون لجستیک، بهترین درستی (یعنی ۳۴/۹۹ درصد) را با مقدار دقت ۴۰/۹۹ درصد ارائه میدهد. پس از مطالعه مفاهیم الگوریتمهای مختلف یادگیری ماشین و پس از اعمال این الگوریتمهای یادگیری ماشین روی مجموعه دادههای ایجاد شده به وسیله استخراج مجوزها از فایلهای آشکارسازی اندروید و در نهایت، مقایسه نتایج این الگوریتمها بر اساس پارامترهای مختلف مانند درستی، دقت و غیره، نتیجه گرفتیم که پتانسیل زیادی در الگوریتمهای یادگیری ماشین برای تشخیص بدافزارها وجود دارد. مجموعه دادههای ایجاد شده توسط اسکریپت پیتون، یک مجموعه داده خود-ایجاد-شده است که میتوان آن را در تحقیقات آینده و در اجرای سایر الگوریتمها پیچیده به منظور کسب پیامدهای بهتر مورد استفاده قرار داد یا این الگوریتمها را میتوان با رویکرد متفاوتی برای بهبود پیچیدگی زمان و مکان مدلها اجرا کرد. علاوه بر این، ویژگیها و پارامترهای بیشتری را میتوان به منظور بهبود تجزیه و تحلیل معیار عملکرد اضافه کرد. ما در مقاله خود تنها مجوزهای برای ردهبندی نمونهها برنامه اندروید را در نظر گرفتیم. این کار را میتوان با در نظر گرفتن سایر ویژگیهای برنامه اندروید مانند API (رابط رویه برنامه)، تماسها، فعالیتهای شبکه و غیره با الگوریتمهای ML پیشرفته مانند الگوریتمهای یادگیری عمیق توسعه داد.
Abstract
Since the launch of the smartphones, their usage is increasing exponentially. They have become an important part of our lives. We are very much dependent on smartphones for our daily routine and use numerous applications both from the play store or the third party applications. Most of the times, the applications downloaded from unofficial sources pose a threat as there doesn't exist the necessary checks or mechanisms to validate the authenticity of these applications and maybe infected with malware. The malware infected applications can lead to leakage of user's personal data. Anti-virus tools use signature based methods for detecting malwares, but their databases need to be updated regularly. In this paper, we present a system for classifying Android applications on the basis of permissions used by those applications. We used six machine learning algorithms for classifying these applications into malicious or benign applications. On comparing the results, we find that Logistic Regression Algorithm suits best to our dataset and provide 99.34% accuracy.
I. INTRODUCTION
In today‟s era, smartphones have become a ubiquitous device for storage, computing and for carrying out the transactions among these devices. It is handier, portable and easy to use device. To make the usage experience of the mobile phones better and for determining the features and functions available on the device, a software platform i.e. an operating system (OS) is preinstalled in the mobile phones which is decided by the manufacturer. This OS is specially designed for mobile phones and largely vary from that of computers and therefore able to run advanced functions on smartphones that were previously unable to be done on desktop computers. There are various kinds of OS available in the market namely Android OS, IOS, Windows OS etc. The first fully functional and popular smartphone OS was the Symbian OS which was introduced in 2000. Another OS that revolutionized the market was the IOS by Apple and came along with their first iphone model in 2007. But since the launch of Android OS in 2007, it has become the most popular mobile OS and has grown strongly through the years. According to the statista report, the statistics given shows global market share held by the leading smartphone OS, in the second quarter of 2018 is 88 percent of all smartphones sold to end users were phones with the Android OS [1]. Thus, we targeted Android OS for the research. The availability of smartphones with Android OS at relatively cheaper rates have also led to this accelerated migration of regular phone users to smartphone users and thus there is an exponential growth in Android market.
V. CONCLUSIONS AND FUTURE SCOPE
In this paper, we have implemented various supervised machine learning algorithms for detection of malware in the Android application samples and classified them into two groups namely benign and malicious. For this classification, we use a labelled dataset which was created using permissions extracted from multiple Android applications from manifest file which was accessed programmatically using a python script. The dataset is split into training and testing data in the ratio 80:20. On this dataset six supervised ML Algorithms are used to classify the Android application in malicious and benign. From the results, it is concluded that Logistic Regression gives the best accuracy i.e. 99.34% with Precision value of 99.40%. After studying the concepts of various machine learning algorithms and after application of such machine learning algorithms on the dataset created by extracting the permissions from the Android manifest files and comparing the results of these algorithms on the basis of various parameters such as accuracy, precision etc. we concluded that there is a great potential in the machine learning algorithms in detection of malware. The dataset created by the python script is a self-created dataset and can be used in future research and used to implement other complex algorithms to get better outcomes or same algorithms can be implemented with a different approach to improve the time and space complexity of the models. Furthermore, more features and parameters can be included to enhance the analysis of performance measure. In our paper, we only considered the permissions for the classification of Android application samples. This work can be extended by considering other features of Android application like API (Application Procedure Interface) Calls, Network activities etc. with advanced ML Algorithms like deep learning algorithms.
چکیده
1. مقدمه
2. پیشزمینه و کارهای مربوطه
3. متدلوژی مورد استفاده
4. نتایج تجربی
5. نتیجهگیریها و امتیاز ویژگی
منابع
Abstract
1. INTRODUCTION
2. BACKGROUND AND RELATED WORK
3. METHODOLOGY USED
4. EXPERIMENTAL RESULTS
5. CONCLUSIONS AND FUTURE SCOPE
REFERENCES