Androıd işletim sistemi için derin öğrenme tabanlı kötü amaçlı yazılım tespit aracı geliştirme
Development of deep learning based malware detection tool for android operating system
Yazar: MAHMUT TOKMAK
Danışman: PROF. DR. ECİR UĞUR KÜÇÜKSİLLE
Süleyman Demirel Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Teknoloji çağı olarak adlandırılan günümüz dünyasında, akıllı telefonlar hayatın bir parçası haline gelmiştir. Akıllı telefonlar iletişim dışında internet kullanımı, sosyal medya kullanımı, bankacılık işlemleri, e-posta işlemleri gibi birçok alanda kullanıcıların vazgeçilmezi olmuştur. Android işletim sistemi de günümüzde akıllı telefon ve tabletlerde kullanılan en popüler işletim sistemidir. Böylesine popüler ve çok kullanılan bir platform zararlı yazılımların hedefi haline gelmiştir. Zararlı yazılımlar kullanıcılara ciddi zararlar verebilmektedirler.
Bu tez çalışmasında akıllı telefonları hedef alan zararlı yazılımlar statik, dinamik, hibrit analiz yöntemleri kullanılarak tespit edilmiştir. 38.044 adet zararlı olmayan yazılım ve 24.503 adet zararlı yazılım ile oluşturulan veri seti statik analize tabi tutulmuştur. Statik analizde 9 ayrı kategoride öznitelik çıkarımı yapılmıştır. Bu öznitelikler; istenen izinler, amaçlar, Android bileşenleri, Android uygulama çağrıları, kullanılan izinler, kullanılmayan izinler, şüpheli Android uygulama çağrıları, sistem komutları, internet adresleri başlıkları altında kategorize edilmiştir. Elde edilen öznitelikler temel bileşen analizi ile boyut indirgemeye tabi tutulmuş ve derin sinir ağı modeline girdi olarak kullanılmıştır. Kurulan modelde veri setinin %80'i eğitim için, %20'si test için ayrılmıştır. Yapılan statik analiz sonucunda; eğitim setinde %99,74 doğruluk oranı, %99,73 F1 skoru, %99,69 kesinlik, %99,77 duyarlılık değerleri elde edilmiştir. Test veri setinde ise; %99,38 doğruluk oranı, %99,36 F1 skoru, %99,32 kesinlik, %99,39 duyarlılık değerleri elde edilmiştir.
Çalışmanın dinamik analiz kısmında uygulamalar sanal bir akıllı telefonda çalıştırılmış, stratejik öneme sahip Android uygulama çağrıları kancalama yapılarak elde edilmiştir. 20.937 adet zararlı olmayan yazılım ve 14.205 adet zararlı yazılımdan oluşan veri seti kullanılmıştır. Dinamik olarak elde edilen öznitelikler ile aynı uygulamalara ait statik öznitelikler birleştirilerek hibrit analiz olarak adlandırılan yöntem uygulanmıştır. Bütün öznitelikler temel bileşen analizi ile boyut indirgemeye tabi tutulmuş ve derin sinir ağı modeline girdi olarak kullanılmıştır. Kurulan modelde veri setinin %80'i eğitim için, %20'si test için ayrılmıştır. Yapılan hibrit analiz sonucunda; eğitim setinde %99,43 doğruluk oranı, %99,41 F1 skoru, %99,42 kesinlik, %99,4 duyarlılık değerleri elde edilmiştir. Test veri setinde ise; %96,94 doğruluk oranı, %96,78 F1 skoru, %96,99 kesinlik, %96,59 duyarlılık değerleri elde edilmiştir.

Abstract:
In today's world, which is called the age of technology, smartphones have become a part of life. Smart phones have become indispensable for users in many areas such as internet use, social media usage, banking transactions, e-mail transactions other than communication. The Android operating system is also the most popular operating system used on smartphones and tablets today. Such a popular and widely used platform has become the target of malicious software. Malware can seriously harm users. Efforts have been made to protect smart phones from these malicious software and they are still underway.
In this thesis, malicious software targeting smart phones were determined by using static, dynamic and hybrid analysis methods. Data set created with 38.044 non-malicious software and 24.503 malware were subjected to static analysis. In static analysis, feature extraction was made in 9 different categories. These attributes are; The desired permissions are categorized under the headings, Android components, Android application calls, used permissions, unused permissions, suspicious Android application calls, system commands, internet addresses. Obtained attributes were subjected to size reduction by principal component analysis and used as input to deep neural network model. In the established model, 80% of the data set is reserved for education and 20% for the test. As a result of the static analysis; 99,74% accuracy rate, 99,73% F1 score, 99,69% precision and 99,77% recall values were obtained in the training set. In the test dataset; 99,38% accuracy rate, 99,36% F1 score, 99,32% precision, 99,39% recall values were obtained.
In the dynamic analysis part of the study, applications were run on a virtual smartphone, and Android application calls with strategic importance were obtained by hooking. A data set consisting of 20.937 non-malicious software and 14.205 malware is used. The method called hybrid analysis was applied by combining the dynamically obtained features with the static features of the same applications. All the attributes were subjected to size reduction with principal component analysis and used as input to the deep neural network model. In the established model, 80% of the data set is reserved for education and 20% for the test. As a result of the hybrid analysis; 99.43% accuracy rate, 99,41% F1 score,99,42% precision and 99,4% recall values were obtained in the training set. In the test dataset; 96.94% accuracy rate, 96.78% F1 score, 96.99% precision, 96.59% recall values were obtained.