Androıd kötücül yazılımlarından koruma sistemlerinin değerlendirilmesi ve görüntü işleme algoritmalarını yapay zekâ teknikleri ile melezleştirerek yeni bir algılama yaklaşımının geliştirilmesi
Evaluating the robustness of android anti-malware systems and developing a novel detection approach based on hybridizing image processing algorithms with artificial intelligence techniques
Yazar: HALİT BAKIR
Danışman: DOÇ. DR. HALİL MURAT ÜNVER
Kırıkkale Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Cep telefonlarının yaygınlaşması, onları günlük hayatımızın vazgeçilmez bir parçası haline getirmiştir. Bu cihazlar, çoğu insan tarafından, bankacılık uygulamalarına erişmek veya internet alışverişi yapmak gibi önemli hizmetlerden faydalanmak için kullanılmaktadır. Android tabanlı cihazlar, kullanılan akıllı telefonlar arasında her zaman ilk sırada yer almış ve son kullanıcılar tarafından en çok tercih edilen aygıtlar olmuşlardır. Android tabanlı akıllı telefonların yaygın kullanılmaları, onları kötü amaçlı yazılım geliştiriciler için önemli bir hedef haline getirmiştir. Bu nedenle, günlük yayınlanan çoğu kötü amaçlı yazılımın üstesinden gelmek için literatürde, çok sayıda model önerilip geliştirilmiştir. Bu çalışmada, birden fazla bölümden oluşan kapsamlı bir uygulama gerçekleştirilmiştir. 

Çalışmanın ilk bölümünde, iki yüzden fazla eseri kapsayan sistematik bir inceleme yapılarak Android kötü amaçlı yazılım tespit alanı için tüm araştırma trendlerini kapsayan yeni bir taksonomi ve Android kötücül yazılım algılama alanında kullanılabilen yöntemleri anlatan yeni bir grafiksel inceleme yöntemi önerilmiştir. 
Çalışmanın ikinci bölümü, bazı iyi bilinen ticari anti virüs sistemlerinin, kamuflaj tekniklerine karşı savunma sağlamlığını test etmeyi amaçlamaktadır. Bu amaçla, iyi bilinen kötü amaçlı yazılım veri kümelerine dayalı olarak birden çok kamufle edilmiş kötü amaçlı yazılım veri kümesi oluşturmak için saldırılar önerilip uygulanmıştır. İlk olarak, iyi huylu izin, ardından iyi huylu izinler-kod olmak üzere iki enjeksiyon saldırısı önerilmiştir. Ayrıca, yüksek derecede kamuflaj elde etmek ve anti virüs sistemler tarafından tespit edilmesinden kaçınmak için önerilen bu saldırılar, bazı gizleme teknikleriyle melezleştirilmiştir.  Gerçekleştirilen literatür taramasında görüldüğü kadarıyla, bu tip enjeksiyon saldırıları ve bu saldırılarla gizleme tekniklerinin önerilen şekilde melezleştirilmesi Android işletim sistem alanında ilk kez bu çalışmada kullanılmıştır. 

Çalışmanın üçüncü bölümünde, kötü amaçlı uygulamaları tespit etmek ve Android uygulamaları sınıflandırmak için yeni bir genel algılama yöntemi önerilmiştir. Bu bölüm kapsamında, görüntü işleme tekniklerine, makine öğrenme algoritmalarına ve derin öğrenme tekniklerine dayalı birden fazla model önerilip geliştirilmiştir. Önerilen yöntem, Android uygulamalarının içeriğindeki bazı dosyaları gri tonlamalı görüntülere dönüştürmeye, oluşturulan görüntülerden görüntü tabanlı özellikleri ayıklamaya ve makine öğrenme modellerini eğitmek için ayıklanan özellikleri kullanmaya dayanmaktadır. Bu amaç ile, önerilen modelleri eğitmek için ÖBÖD (SIFT), HSÖ (SURF), KAZE ve YDB (ORB) olmak üzere dört tane görüntü tabanlı lokal; renk histogramı, Hu anları ve Haralick doku olmak üzere üç tane görüntü tabanlı global özellik çıkarılmıştır. Görsel Sözcük Çantası (Bag Of Visual Words), ayıklanan lokal özelliklerin tanımlayıcılarından bir özellik vektörü oluşturmak için kullanılmıştır. VisDroid adlı yeni bir model önerilmiş, geliştirilmiş, ayıklanan görüntü tabanlı özellikler kullanılarak eğitilmiş ve Android uygulamaları iyi huylu veya kötücül olarak sınıflandırılmıştır. Ardından bu model kötücül olarak algılanan yazılımları   türlerine göre sınıflandırmak için kullanılmıştır. Ayrıca, DeepVisDroid adlı görüntü özelliklerine ve derin öğrenme tekniklerine dayalı 1 boyutlu evrişimli katman tabanlı yeni bir model önerilip ayıklanan görüntü tabanlı özellikler kullanılarak eğitilmiştir. Önerilen DeepVisDroid modeli, Android uygulamaları iyi huylu veya kötücül olarak sınıflandırmak için kullanılmıştır. Geliştirilen VisDroid ve DeepVisDroid modellerinde kullanılan yöntemler Android kötücül yazılımları tespit etmek için yine ilk kez bu çalışmada kullanılmıştır. 

Daha sonra, önerilen modellerin sonuçları, klasik derin öğrenme modelleriyle karşılaştırmak için iki boyutlu klasik evrişimli sinir ağ modeli önerilmiştir. Son olarak, önerilen modeller, iyi bilinen derin öğrenme modeller ile karşılaştırmak için ResNet ve Inception V3 olmak üzere iki iyi bilinen derin öğrenme modeli, oluşturulan görüntü veri kümeleri kullanılarak test edilmiştir. Önerilen yöntemin, tipik bir hesaplama süresi ile %98'den daha fazla doğruluğa ulaşan bir sınıflandırma elde ettiği gözlemlenmiştir. Bu yöntemin, yaptığı sınıflandırma doğruluğu ve hesaplama süresi açısından bazı son teknoloji modellerle karşılaştırılmış ve kıyaslanan modellerin çoğundan daha iyi performans gösterdiği karşılaştırılmalı olarak sunulmuştur.

Abstract:
The proliferation of mobile phones makes them an indispensable part of our daily lives. Most of people are using these devices to access important services such as accessing banking applications or making e-shopping. Android-based devices have always ranked first among the smartphones used and favoured by the largest number of end-users. The widespread use of Android-based smartphones made them an important target for malicious applications' developers. So, a large number of frameworks have been proposed to tackle the huge number of daily published malware. In this work, a comprehensive study composed of multiple sections has been conducted. 

In the first section of this work, a systematic review of more than two hundred works has been conducted. To this end, a new taxonomy for the Android malware detection research trend has been proposed. Also, a novel graphical review method has been suggested. 

The second section of the work aims at testing the defence robustness of some well-known commercial anti-malware systems against camouflage techniques. To this end, multiple attacks have been proposed and applied to create multiple camouflaged malware datasets based on well-known malware datasets. First of all, we proposed two injection attacks namely, benign permissions injection attack and benign permissions-code injection attack. Furthermore, the proposed attacks have been hybridized with some obfuscation techniques to obtain a high degree of camouflage and avoiding anti-malware systems' detection. To the best of our knowledge, this type of injection attacks and the proposed hybridization of these attacks with obfuscation techniques have been used for the first time in the Android operating system domain.

In the third section of the work, a novel generic detection method has been proposed for detecting malicious applications and classifying android applications. Multiple models have been proposed and developed in the scope of this section based on image processing techniques, machine learning algorithms and deep learning techniques. The proposed method is based on converting some files from the Android applications' contents into grayscale images, extracting image-based features from constructed images and using the extracted features for training machine learning models. To this end, four image-based local features namely, SIFT, SURF, KAZE and ORB, and three image-based global features namely, colour histogram, Hu moments and Haralick texture have been extracted to train the proposed models. The bag of visual word representation (BOVW) has been used for constructing one feature vector from the extracted local features' descriptors. A novel model called VisDroid has been proposed, developed, trained using the extracted image-based features and used for classifying the Android application into benign or malicious and classifying the malicious applications into their families. Furthermore, an image features and deep learning techniques-based novel 1D-convolutional layer-based model called DeepVisDroid has been proposed, trained using the extracted image-based features and used for classifying the Android application into benign or malicious. Moreover, two classical convolutional neural network models have been proposed in order to compare the results of the proposed models with classical deep learning models. Also, two well-known deep learning models namely, ResNet and Inception V3 have been tested using the constructed image datasets and compared with the proposed models. The proposed method obtained a very high classification accuracy that reached more than 98% with a typical computational time. The results of the proposed models have been compared with some state-of-the-art models in term of classification accuracy and computational time. The results of the proposed models outperformed the most of compared state-of-art models in term of both classification accuracy and computational time.