Derin öğrenme ile görüntü tabanlı hibrit android kötücül yazılım tespiti
Image-based hybrid android malware detection with deep learning
Yazar: ÖMER KİRAZ
Danışman: DOÇ. DR. İBRAHİM ALPER DOĞRU
Gazi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Android telefonlar en çok kullanılan cep telefonu işletim sistemi olarak bilinmektedir. Android işletim sistemi açık kaynak olduğundan ve oluşturulan uygulamalar piyasaya sürülmeden önce kapsamlı bir şekilde incelenmediğinden, bu senaryo mobil uygulama geliştirici korsanların birincil odak noktası olmuştur. Bu nedenle, kötü amaçlı yazılım ile zararsız Android uygulamalarını birbirinden ayıracak teknolojilere ihtiyaç duyulmaktadır. Bu tez çalışmasında CNN tabanlı ve karma analiz yöntemi kullanılarak Android kötücül yazılımların tespiti üzerine bir sistem geliştirilmiştir. Ayrıca, önerilen yaklaşımın performansını değerlendirmek amacıyla geleneksel makine öğrenmesi algoritmaları ile karşılaştırmalı analiz gerçekleştirilmiştir. Bu tez çalışmasında Literatürde hali hazırda kullanılan CICMalDroid 2020 veri seti kullanılarak veri setindeki uygulamaların öznitelikleri AndroPyTool aracı kullanılarak elde edilmiş ve paralel yürütme tekniği kullanılarak 17 089 Android uygulamasının daha hızlı analiz dosyaları elde edilmiştir. Bu tez çalışmasında statik analiz öznitelikleri olarak izinler, niyetler (intents), alıcılar (receivers) ve servisler (services) kullanılmıştır. Dinamik analiz özelliği olarak uygulamaların çalışma zamanında oluşturdukları sistem çağrıları özelliği kullanılmıştır. Bu öznitelikler elde edilmesiyle veri ön işlemesi yapıldıktan sonra her bir uygulama için belirtilen statik özniteliklerin her biri için uygulamanın kullanım durumuna göre virgülle ayrılmış bir metin elde edilmiştir. Dinamik analiz özelliği olan sistem çağrıları için çağrılma sırası virgül ile ayrılarak her bir uygulama için metinler elde edilmiştir. Her öznitelik için benzersiz bir yerleştirme vektörü oluşturmak amacıyla ilgili metinleri dijitalleştirmek için BERT yöntemi kullanılmıştır. Vektörlerin sayısallaştırılmasının ardından her özelliğin uzunluğuna göre resim dosyaları üretilmiştir. Tek bir görüntü dosyası oluşturmak için bu görüntü dosyaları yan yana birleştirilmiştir. Son olarak bu görüntü dosyaları CNN modelinin görüntüler üzerinde Android kötü amaçlı yazılım tespitine uygulandığında önemli ve başarılı sonuçlar ürettiği bilindiğinden CNN ile sınıflandırılmıştır. Araştırmada kullanılan veri setine CNN'ler uygulanarak deneysel sonuçlar elde edilmiştir. Deneyler sonucunda iki çıkışlı bir CNN %92,15 doğruluk, %94,87 F1 skoru, %96,25 duyarlılık ve %93,52 kesinlik ile en yüksek performansı sağlamıştır.

Abstract:
Android phones are known as the most used mobile phone operating system. Since the Android operating system is open source and generated applications are not thoroughly reviewed before being released, this scenario has been the primary focus of hackers. Therefore, technologies are needed to distinguish between malware and benign Android applications. In this thesis study, a system for detecting Android malware was developed using CNN-based and hybrid analysis method. In this study, a comprehensive comparative analysis with traditional machine learning algorithms was performed to evaluate the performance of the proposed approach. In this thesis study, using the CICMalDroid 2020 dataset, which is currently used in the literature, the features of the applications in the dataset were obtained using the AndroPyTool tool, and faster analysis files of 17 089 Android applications were obtained using the parallel execution technique. In this thesis study, permissions, intents, receivers and services were used as static analysis features. System calls created by applications at run time were used as the dynamic analysis feature. After pre-processing the data to obtain these features, a comma-separated text was obtained for each of the static features specified for each application, according to the usage situation of the application. For system calls with dynamic analysis feature, the order of calls was separated by commas and texts were obtained for each application. The BERT method was used to digitize the relevant texts to create a unique embedding vector for each feature. After digitizing the vectors, image files were produced according to the length of each feature. These image files are combined side by side to create a single image file. Finally, these image files were classified with CNN because it is known that the CNN model produces significant and successful results when applied to Android malware detection on images. Experimental results were obtained by applying CNNs to the data set used in the research. As a result of the experiments, a two-output CNN provided the highest performance with 92.15% accuracy, 94.87% F1 score, 96.25% recall and 93.52% precision.