ACDM approche detection malware

30
RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE Ministre de l’Enseignement Supérieur et de la Recherche Scientifique Université Echahid Hamma Lakhdar –El Oued Faculté des Sciences et Technologie Département de Mathématiques et d’Informatique Mémoire de Master LMD Option : Fondamentale d’Informatique Une approche comportementale pour la détection des fuites des données Personnelles en Android Proposé et dirigé par : Mr. Gherbi Kaddour Réalisé par : BOUSBIA SALAH Salima CHAIB Yousra 2014\ 2015 06/11/2022

Transcript of ACDM approche detection malware

Page 1: ACDM approche detection malware

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE Ministre de l’Enseignement Supérieur et de la Recherche Scientifique

Université Echahid Hamma Lakhdar –El Oued

Faculté des Sciences et Technologie

Département de Mathématiques et d’Informatique

Mémoire de Master LMDOption : Fondamentale d’Informatique

Une approche comportementale pour la détection des fuites des données Personnelles en Android

Proposé et dirigé par :

Mr. Gherbi KaddourRéalisé par :

BOUSBIA SALAH Salima

CHAIB Yousra

2014\ 201504/15/2023

Page 2: ACDM approche detection malware

Plan de travail

Introduction

Système Android 

Malware Android

Sécurité du système Android

Analyse d’application Android

Machine Learning

Notre Approche 

Le Détail de notre Approche 

Expérimentations et résultats

Conclusion 2

04/15/2023

Page 3: ACDM approche detection malware

Introduction

Lancé officiellement en 2008, Androïde est devenu en quelques années le

système d’exploitation le plus répandu sur les plateformes mobiles. Au delà de sa

large adoption par le grand public, il a également suscité l’intérêt des développeurs

d’applications malveillantes qui voient dans le système Androïde, une cible

potentielle d’attaque au même niveau que les ordinateurs de bureau à cause de la

diversité des données et services qu’ils proposent. La combinaisons de toutes les

fonctionnalités (offertes par androïde) font de ces appareils un point de

concentration de divers données et services sensibles (liste de contact, messages,

données de géolocalisation, etc.)

dans ce travail nous proposons une nouvelle approche pour la détection

des applications malveillantes pour l’environnement androïde. 304/15/2023

Page 4: ACDM approche detection malware

Système Android 

Android est un système d'exploitation

mobile pour smartphones, tablettes tactiles,

PDA, smartwatches et terminaux mobiles.

Android partage une base commune aux

systèmes Linux qui est le noyau et, un

ensemble de commandes et utilitaires

nécessaires

404/15/2023

Page 5: ACDM approche detection malware

Architecture du système Android 

504/15/2023

Page 6: ACDM approche detection malware

Composants d’applications Android

Activité Service

Fournisseur de contenu

Récepteur d'émission

un composant Activity est une interface utilisateur.

un service est un composant effectuant des tâches en arrière plan.

son rôle est de servir d’interface entre l’application souhaitant accéder aux données et les données.

est un composant utilisé pour écouter les messages en large diffusion sur le système.

604/15/2023

Page 7: ACDM approche detection malware

Malware Android

Nous appelons malware un programme ou un code dont

le but est de nuire à un système donné.

704/15/2023

Page 8: ACDM approche detection malware

Sécurité du système Android

Permissions

8

À l’installation, l’utilisateur

valide les permissions demandées par

l’application. Pour que l’installation

se passe, il doit toutes les accepter.

Figure— permissions pour s’installer sur Android04/15/2023

Page 9: ACDM approche detection malware

Signature des applications 

9

Toutes les applications Android

doivent être signées avec une clé

privée conservée par le développeur.

Sécurité du système Android

Figure-– Fichier MANIFEST.MF de l’application HelloActivity

04/15/2023

Page 10: ACDM approche detection malware

Analyse d’applications Android

10

Analyse statique

Analyse dynamique

Analyse hybride

La détection de malwares se concentre sur les exécutables et les

analyses afin de découvrir du code malicieux. Il existe trois techniques

pour aborder ce problème :

04/15/2023

Page 11: ACDM approche detection malware

L’approche Comportemental pour la détection

L’approche comportementale propose de modéliser le

comportement normal d’un système et de s’en servir comme

référence. Les techniques utilisées sont multiples mais se

basent souvent sur la machine Learning.

11

04/15/2023

Page 12: ACDM approche detection malware

Machine Learning

L'apprentissage automatique (machine learning en anglais),

un des champs d'étude de l'intelligence artificielle, est la discipline

scientifique concernée par le développement, l'analyse et

l'implémentation de méthodes automatisables qui permettent à une

machine d'évoluer grâce à un processus d'apprentissage, et ainsi de

remplir des tâches qu'il est difficile ou impossible de remplir par

des moyens algorithmiques plus classiques.

12

04/15/2023

Page 13: ACDM approche detection malware

Type de modèle d’apprentissage: Il existe plusieurs types des

modèles; côté supervisé ou non supervisé.

d’apprentissage supervisé

Régression logistique (SGV) 

Machine à vecteurs de support (SVM) 

Forêts d’arbres décisionnels (Random Forest) 

d’apprentissage non-supervisé Fuzzy KMeans 

Espérance-Maximisation (EM) 13

04/15/2023

Machine Learning

Page 14: ACDM approche detection malware

Machine à vecteurs de support (SVM) : 

les machines à vecteurs de support ou

séparateurs à vaste marge sont un ensemble de

techniques d'apprentissage supervisé destinées à

résoudre des problèmes de discrimination et de

régression. Parmi les modèles des SVM, on

constate les cas linéairement séparables et les cas

non linéairement séparables

14

Figure— Cas linéairement séparable

Figure— Cas non linéairement séparable04/15/2023

Machine Learning

Page 15: ACDM approche detection malware

15

Notre approche

ACDM et une approche de détection de malware android qui surveille

simultanément Android au niveau de l'utilisateur et au niveau du noyau elle détecter les

logiciels malveillants en utilisant des techniques d'apprentissage automatique et

distinction entre les applications normale et celles malware. Le monitorage de

comportement de l’application par notre approche s’effectue en deux phases. La

première phase, dite d’apprentissage, consiste à construire un vecteur d’appels système

par l’observation de comportement du programme au cours de son exécution. La

deuxième phase est la détection : qui utilise la base d’apprentissage de la première phase

pour prédire les types d’applications soumise pour la détection. 04/15/2023

Page 16: ACDM approche detection malware

16

SVM

Fonction Prédiction

Apps Android

Em

ula

teu

r

Apps Android

Em

ulateu

r

Classification

Type d’application

Raffin

age

Norm

aliser

 

Raffin

age

Norm

aliser

 

Strace Vecteur

Strace Vecteur

Figure— Schéma global.04/15/2023

Notre approche

Page 17: ACDM approche detection malware

17

Le détail de notre approche 

• apps mal • apps normal

Programme scanné

Figure— Détaille Partie apprentissage .

04/15/2023

Page 18: ACDM approche detection malware

18

Récupération de données

L'émulateur Android : est une

application qui fournit un appareil mobile

virtuel sur lequel vous pouvez exécuter vos

applications Android.

Strace: est une commande Linux

qui permet d’obtenir le flux des appels

système effectués par un processus.

04/15/2023

Le détail de notre approche

Page 19: ACDM approche detection malware

19

Fenêtre glissante :

Fenêtre glissante 1 :

Open Open Read Gettime Open 

Fenêtre glissante 2 :

Open Open Read Gettime Open

Fenêtre glissante 3 :

Open Open Read Gettime Open

04/15/2023

Le détail de notre approche 

Page 20: ACDM approche detection malware

20

pour appliquer l’algorithme de raffinage nous avons construit

deux matrices malware et normal comme suit :

M_Malware

N_Normal

04/15/2023

Le Détaille de Notre  

Page 21: ACDM approche detection malware

21

Début

Initialiser itération

Entrer matrice Mal et Normal

Raffiner entre deux matrices

∉ N 𝑓 ∈𝑁

Liste noir Supprime

Raffinage entrée : Liste des fenètres glissantes

sorties : Liste noire = []

Pour i :1 à 50 (boucle d'Iteration )

Pour M:1 100 (application Mal )

Pour tout (i +2 la taille de

fenêtre glissante)

Si ∈ N (application Normal ) alors

Suppremer

Else

Liste noire ←

detection (Liste noire)

Si résultat de détection suffisante alors

Quiter l’algorithme

04/15/2023

Page 22: ACDM approche detection malware

22

Normalisation

𝑓 ∈𝑁

Comparer les fenêtres f de liste_noir avec celles de

vecteur soumis

∉ N

Liste Normalisée {1,0}

Début entrée : et

= []

Pour :1

Pour tout

If

=1 ;

Else

=0 ;

04/15/2023

Page 23: ACDM approche detection malware

23

Machine Learning

Dans cette dernière étape basée sur l'apprentissage qui utilisent des

techniques de Machine Learning pour détecter des déviations

comportementales.

Les vecteurs construits lors de la phase de normalisation seront

sauvegardés dans une matrice. Cette matrice est soumise à le

classificateur SVM pour construire la base d’apprentissage.

04/15/2023

Page 24: ACDM approche detection malware

24

La fonction d’apprentissage prend en entrée deux paramètres la

première c’est la matrice des vecteurs construits lors de la phase de

normalisation et la deuxième c’est le vecteur de types d’applications

soumises.

Et Fonction Prédiction prend en entrée un seul paramètre est la

matrice des vecteurs.

Après l'étape de l'apprentissage vient l'étape de la détection qui

utilise la base d’apprentissage de la première phase pour prédire les

types d’applications soumise pour la détection.

04/15/2023

Page 25: ACDM approche detection malware

25

Jeu de donnée :échantillons

1st Normale 2nd Malware

04/15/2023

Afin d'évaluer notre algorithme nous proposons

de l'appliquer sur 10 échantillons de application

malware et 03 échantillons de application

normale.

Expérimentation de notre modèle

Page 26: ACDM approche detection malware

26

les malware : sha256

nom de package Catégorie

bedf51a5732d94c173bcd8ed918333954f5a78307c2a2f064b97b43278330f54 com.ps.pintu.view DroidKungFu

e7d07c08a826520ef71bd4a5bfb8c6bc7b907c4f94f18631208cf6037bd88f2d com.dy.game.lianliankan DroidKungFu

ded693418a1c5368e377ac654e06a5bac04faff52ee0ef42a31eebcbf1cca2e0 com.mogo.smspopup DroidKungFu

Figure —Classification échantillons de malware.04/15/2023

Expérimentation de notre modèle

Page 27: ACDM approche detection malware

27

les apps normal: 

nom de package Catégorie

email com.android.mail

calendrie com.android.calander

Figure —Classification échantillons de Normal .

04/15/2023

Expérimentation de notre modèle

Page 28: ACDM approche detection malware

28

04/15/2023

Itérationtaille de fenêtres

glissanteNombre de fenêtre

glissanteTaux de détection

1 3 4707 100%2 4 9475 100%3 5 14923 100%4 6 19833 100%5 7 23753 100%6 8 26400 90%7 9 27938 100%

Figure—Résultats de la détection sur 10 échantillons de malware. Taux de Vrai Positif : 100%

Le troisième tableau présente les résultats obtenus avec les échantillons de

malware. La première colonne taille de fenêtres glissante. La deuxième nombre

de fenêtre glissante et troisième Taux de détection.

Expérimentation de notre modèle

Page 29: ACDM approche detection malware

Conclusion

Dans ce travail, nous avons proposé une nouvelle

méthode de détection basée sur les analyses

comportementaux pour la détection des fuites des

données personnelles en Android.

Nous avons appliqué des techniques

d'apprentissage automatique et faire la distinction entre

les applications normale et celles malware. Ce méthode

donne de bons résultats que le modèle de base détection 29

04/15/2023

Page 30: ACDM approche detection malware

04/15/2023

30

MERCI