Derin öğrenme yaklaşımı kullanan android uygulamaların güvenlik incelemesi
Using deep learning approach security review of android applications
Yazar: YUNUS EMRE BALTACI
Danışman: DR. ÖĞR. ÜYESİ ARİF YELĞİ
İSTANBUL TOPKAPI ÜNİVERSİTESİ / Lisansüstü Eğitim Enstitüsü / Yazılım Mühendisliği Ana Bilim Dalı / Yapay Zeka Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Son zamanlarda yer alan Android uygulamalarının yükseliş trendine bağlı olarak, yapılan uygulamalar kötü amaçlı yazılım saldırılarının tehdidi altındadır. Bu ve buna benzer kötü amaçlı yazılım saldırılarından korunmak için kötü amaçlı yazılım tespit araçlarının geliştirilmesi gerekmektedir. Literatür taramasında kötü amaçlı yazılımları tespit edebilmek için statik yöntem ile analiz kullanan çok sayıda çalışma bulunmaktadır. Çalışmalarda uygulama kodu içerisinden API isteklerini engellemek ve bu API isteklerini, kötü amaçlı ile zararsız uygulamaları birbirinden ayırmak için bir makine öğrenimi modelini geliştirmektedir. Ancak, burada yer alan API istekleri gerçek zamanlı yürütme sırası içermez, bu yüzden kapsamlı bir şekilde istekleri yakalamada net sonuç elde edilememektedir. Yapılan tespitin doğruluğunu değerlendirme aşamasında, önceden yapılan çalışmaların %80 mekansal olarak tutarsız (testlerde yer alan kötü amaçlı yazılım oranları) veya zamansal olarak tutarsızdır. (Rastgele test seti) Oluşan modelin performansını daha iyi düzeyde olması için eğitim ve test verilerinin birbirinden ayrı olması gerekmektedir. Yapılan çalışmalarda, API isteklerinin o an yer alan sırasını izlemenin, rastgele oluşturulan test setinde test etmekten ziyade mekansal ve zamansal olarak daha tutarlı bir test veri setinde test etmenin doğrulama sürecinin verimliliğini artırıp artırmayacağını daha sağlıklı bir şekilde CapsGNN ile doğrulanmıştır. Yapılan çalışmaların sonuçlarını gösteren, API isteklerinin sırasını doğru bir şekilde saklayan API dizi diyagramlarını kullanarak derin öğrenme tabanlı kötü amaçlı yazılım sınıflandırmasını gerçekleştirdik. Elde edilen sonuçlarda, en iyi performansı gösteren modellerin tutarlılığı 0,97-0,86 AuPRC değerlerine ve 0,95-0,83 arasında F1 puan setlerine ulaştığı görülmüştür.

Abstract:
Due to the uptrend of Android apps in recent times, the apps provide are under the threat of malware attacks. Malware detection tools need to be developed to protect against this and similar malware attacks. In the literature review, there are many studies that use static analysis to detect malware. As an example of the studies, a machine learning model is trained to block API requests from within the application code and to distinguish these API requests from malicious and harmless applications. However, the API requests contained herein do not include real-time execution sequence, so it may not be clear in capturing requests comprehensively. At the stage of evaluating the accuracy of the detection, 80% of previous studies are spatially inconsistent (percentages of malware in the tests) or temporally inconsistent. (random test set) In order for the resulting model to perform better, the training and test data must be separate from each other. In the studies, we have more robustly validated whether following the current order of API requests will improve the efficiency of the validation process by testing on a more spatially and temporally consistent test dataset than testing on a randomly generated test set. We performed deep learning-based malware classification using API sequence diagrams that accurately store the order of API requests, showing the results of the work done. Consistency of the best performing models in the results obtained, It was observed that it reached AuPRC values of 0.97-0.86 and F1 score sets between 0.95-0.83.