Android sistemlerde derin öğrenme tabanlı kötü amaçlı yazılım tespit sistemi
Deep learning based malware detection system on android systems
Yazar: ESRA ÇALIK BAYAZIT
Danışman: DOÇ. DR. BUKET DOĞAN ; PROF. DR. ÖZGÜR KORAY ŞAHİNGÖZ
Marmara Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Doktora, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Android = Android ; Derin öğrenme = Deep learning ; Tespit = Detection ; Yazılım = Software ; Yazılım programları = Software programs

Özet:
Son yıllarda bilgisayar, cep telefonu ve benzeri pek çok geleneksel cihazın yerini tabletler, robotlar, akıllı telefonlar vb. cihazlar almış, dünya genelinde hızlı bir değişim ve dönüşüm yaşanmıştır. Bu akıllı cihazlara olan talep arttıkça, uygulamalarına ve cihazlarına yönelik güvenlik tehditleri de artmıştır. Sınırlı bilgi işlem yeteneklerine ve aynı zamanda sınırlı enerji kullanımına da sahip olan bu cihazların kısıtlı kaynaklarını yönetmek ve uygulamalar için belirli ortak hizmetleri sağlamak için bir işletim sistemi gerekmektedir. Android, açık kaynak yapısı ve sağlam uygulama çerçevesi nedeniyle pazardaki en popüler işletim sistemi olarak yerini almaktadır. Ancak bu açıklık, kaynak kısıtlı bu cihazlar için birçok güvenlik tehdidini de beraberinde getirmektedir. Kötü amaçlı yazılımlar yaygın olarak bu cihazlarda yalnızca kullanıcıların bazı özel bilgilerini çalmak için değil, aynı zamanda bunlar üzerinde yetkisiz ve zararlı eylemler gerçekleştirmek için de kullanılmaktadır. Bu sebeple sistemlerin kötü amaçlı yazılım tespiti ve analizinin gerçekleştirilmesi gerekmektedir. Saldırganlar, statik analiz (imza tabanlı) ve dinamik analiz (davranış tabanlı) algılama yöntemlerinden kaçınmak için birden fazla teknik (ör. paketleme, kod gizleme, ve şifreleme) kullanmaktadır.  Bu tekniklerin üstesinden gelmek için birçok araştırmacı, algılama yazılımı için esneklik ve öğrenme yeteneği sağlayan bazı yapay zeka yöntemlerini tercih etmektedir. Derin öğrenme, makine öğrenimi yaklaşımlarının popüler bir alt kümesidir ve verilerden kalıpları çıkarmak için karmaşık sinir ağı yapılarını kullanmaktadır. Bu nedenle, son yıllarda araştırmacılar Derin Öğrenme modelleri kullanarak Android sistemlerde kötü amaçlı yazılımların tespiti ve sınıflandırılmasına odaklanmışlardır. Bu tez çalışmasında, Android sistemlerde kötü amaçlı yazılım tespiti amacıyla Derin Öğrenme uygulaması geliştirilerek Saldırı Tespit Sistemi tasarlanması amaçlanmıştır. Bu tezin geliştirilmesinde Canadian Institute for Cybersecurity (CIC) tarafından oluşturulmuş güncel bir veriseti olan CICAndMal2017 ve CICInvesAndMal2019 veri kümesi üzerinde statik ve dinamik analiz teknikleri kullanılarak Makine ve Derin Öğrenme yöntemleri ile modellerin tespit başarım oranı karşılaştırımıştır. Güncel birçok veri seti ve güncel literatürün sunulduğu özet tablolar ve analiz tespit yöntemleri bu tez çalışmasında yer almaktadır. Bu çalışma ayrıca, Android mimarisine genel bir bakış açısı sunarak, Derin Öğrenme tabanlı Android kötü amaçlı yazılım tespiti amacıyla geliştirilen sistemleri, kullanılan veri kümelerini açıklamaktadır. Statik ve dinamik özellikler içeren veri kümeleri üzerinde yapılan deneysel çalışmalar sonucunda Android kötü amaçlı yazılımların tespitinde seçilen analiz tekniğinin bunun yanı sıra öğrenme yöntemine göre sınıflandırma algortimalarında kurulan model yapısının başarım oranı üzerindeki etkileri incelendiğinde Derin Öğrenme tabanlı RNN temelli algoritmaların yüksek performans gösterdiği ortaya koyulmuştur. Üç katmanlı modellemede statik analiz başarım oranı %99,37 iken, dinamik analiz başarım oranı %97,36 olarak tespit edilmiştir. Sonuç olarak, birçok yönü ile aktif bir araştırma alanı olan Android sistemlerin güvenliği ve Derin Öğrenme algoritmaları, kötü amaçlı yazılımların tespiti için bir çözüm olarak sunulmaktadır.

Abstract:
In recent years, computers, mobile phones and many similar traditional devices have been replaced by tablets, robots, smart phones, etc. There has been a rapid change and transformation around the world. As the demand for these smart devices has increased, so have the security threats to their apps and devices. These devices, which have limited computing capabilities as well as limited energy use, require an operating system to manage their limited resources and provide certain common services for applications. Android has taken its place as the most popular operating system in the market due to its open source nature and robust application framework. However, this vulnerability also brings many security threats for these resource-constrained devices. Malicious software (Malware) is widely used to attack these devices, not only to steal some private information of users, but also to perform unauthorized and harmful actions on them. For this reason, it is necessary to perform malware detection and analysis of systems. Attackers use multiple techniques (e.g. packaging, encryption, and code obfuscation) to evade static analysis (signature based) and dynamic analysis (behavior based) detection. To overcome these techniques, many researchers prefer some artificial intelligence methods that provide flexibility and learning ability for detection software. Deep learning is a popular subset of Machine Learning approaches and uses complex neural network structures to extract patterns from data. Therefore, in recent years, researchers have focused on the detection and classification of malware in Android systems using some Deep Learning models. In this thesis, it is aimed to design an Intrusion Detection System by developing a Deep Learning application for malware detection in Android systems. In the development of this thesis, the detection success rate of Machine and Deep Learning Methods and models was compared using static and dynamic analysis techniques on the CICAndMal2017 and CICInvesAndMal2019 dataset, a current dataset created by the Canadian Institute for Cybersecurity (CIC). Many up-to-date data sets and summary tables of current literature and analysis detection methods are included in this thesis. This study also presents an overview of the Android architecture and explains the systems developed for Deep Learning-based Android malware detection and the datasets used. As a result of the experimental studies on datasets containing static and dynamic features, when the effects of the analysis technique chosen in the detection of Android malware, as well as the model structure established in the classification algorithms according to the learning method, on the performance rate were examined, it was revealed that the Deep Learning-based RNN-based algorithms showed high performance. In the three-layer modeling, the static analysis success rate was 99.37%, while the dynamic analysis success rate was 97.36%. As a result, Android systems security and Deep Learning algorithms, which are an active research area with many aspects, are presented as a solution for malware detection.