Androıd kötücül yazılım analizinde derin öğrenme modellerinin performansının karşılaştırılması
Benchmarking of deep learning models for android malware analysis
Yazar: TAYLAN KURAL
Danışman: DOÇ. DR. MURAT DENER ; PROF. DR. YUSUF SÖNMEZ
Gazi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgi Güvenliği Mühendisliği Ana Bilim Dalı / Bilgi Güvenliği Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Android = Android ; Bilgi güvenliği = Information security ; Derin öğrenme = Deep learning ; Görsel analiz = Visual analysis ; Siber güvenlik = Cyber security ; Veri güvenliği = Data security ; Yapay sinir ağları = Artificial neural networks ; Yazılım güvenliği = Software security

Özet:
Android işletim sistemi, açık kaynak olan yapısı, geniş uygulama marketiyle telefonlarda, televizyonlarda, saatlerde, arabalarda ve diğer nesnelerin interneti uygulamalarında yaygın olarak kullanılmaktadır. Yaygın kullanım ve açık kaynak yapısı, kötücül niyet barındıran saldırganlar için işletim sistemini ve sahip olduğu cihazları kolay ve kazançlı hedefler haline getirmektedir. Saldırganlar tarafından sıklıkla tercih edilen yöntem, kötücül yazılım uygulamalarının, kullanıcı cihazlarına yüklenmesidir. Bu yazılımların sayıları gün geçtikçe artmakta, kötücül yazılımların tespitinde geleneksel yöntemler yetersiz kalabilmektedir. Kötücül yazılım tespitinde makine öğrenmesi ve derin öğrenme tabanlı yöntemler umut veren sonuçlar elde etmişlerdir. Özellikle derin öğrenme tabanlı yöntemler, alan uzmanlık bilgisi gereksiniminin azlığı ve kendi kendine özellik çıkarabilen yapıları sayesinde, kötücül yazılım tespitinde artan bir kullanıma sahiptirler. Bu tez çalışmasında, kötücül yazılımların görsel imajlara dönüştürülerek bu imajlar üzerinde evrişimsel sinir ağları (ESA) tabanlı derin öğrenme modelleriyle görsel kötücül yazılım analizleri gerçekleştirilmektedir. Çalışmada, popüler ESA modelleri olan Xception, ResNet, VGG, Inception, MobileNet, DenseNet, NasNet, EfficientNet, sunulan toplu ince ayar öğrenim aktarma yöntemiyle eğitilmiş ve elde edilen sonuçlara göre modeller doğruluk, kesinlik, geri çağırma, hassaslık, F1 skoru metriklerine göre karşılaştırılmaktadır. Eğitilen modellerden performanslarına göre birleşimler oluşturulmakta ve birleşimlerin performansları karşılaştırılmaktadır.

Abstract:
Android operating system has been widely used in mobile phones, televisions, smart watches, cars and other Internet of Things applications with its open source structure and wide application market. This widespread use and open-source nature make this operating system and its devices easy and lucrative targets for cyber attackers. One of the most used methods often preferred by attackers is to install malware applications on user devices. As the number of malware programs is increasing, the traditional methods can be insufficient in detecting. Machine learning-based and deep learning-based methods have achieved promising results in malware detection and classification. Deep learning-based methods have an increasing use in malware detection, thanks to the low need for domain expertise and their feature extracting capabilities. Convolutional neural networks (CNN) are popular deep learning methods that are widely used in visual analysis of malware by transforming them to images. In this thesis work, a batch fine-tune transfer learning method was proposed and used on popular CNN models, Xception, ResNet, VGG, Inception, MobileNet, DenseNet, NasNet, EfficientNet. According to the results, the models were analyzed and compared with metrics like accuracy, specificity, recall, precision, F1-score. Ensembles were created from models according to their performances and the performance of ensembles were compared.