SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
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
6/6/2015
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
6/6/2015
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. 3
6/6/2015
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
4
6/6/2015
Architecture du système Android
5
6/6/2015
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.
6
6/6/2015
Malware Android
Nous appelons malware un programme ou un code dont
le but est de nuire à un système donné.
7
6/6/2015
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 Android
6/6/2015
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
6/6/2015
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 :
6/6/2015
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
6/6/2015
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
6/6/2015
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
6/6/2015
Machine Learning
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éparable
6/6/2015
Machine Learning
15
Notre approche
6/6/2015
16
SVM
Fonction
Prédiction
Apps
Android
Emulateur
Apps
Android
Emulateur
Classification
Type d’application
Raffinage
Normaliser
Raffinage
Normaliser
Strace
Vecteur
Strace
Vecteur
Figure— Schéma global.6/6/2015
Notre approche
17
Le détail de notre approche
• apps mal
• apps normal
Programme
scanné
• émulateur
• command strace
• Fenêtre glissant
Récupération
de donne • Algorithme de
raffinage
• Algorithme de
détection
Algorithme
de détection
• SVM
Machine
Learning
Figure— Détaille Partie apprentissage .
6/6/2015
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.
6/6/2015
Le détail de notre approche
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
6/6/2015
Le détail de notre approche
20
pour appliquer l’algorithme de raffinage nous avons construit
deux matrices 𝑀 malware et 𝑁 normal comme suit :
M_Malware
𝑴 𝒎𝒂𝒍𝒘𝒂𝒓𝒆𝒊 =
𝒇 𝟏𝟏 𝒇 𝟐𝟏 … … … 𝒇 𝒏𝟏
𝒇 𝟏𝟐 𝒇 𝟐𝟐 … … … 𝒇 𝒏𝒊
𝒇 𝟏𝒎 𝒇 𝟐𝒎 … … … 𝒇 𝒏𝒎
𝒎 𝟏
𝒎 𝟐
𝒎 𝒏
N_Normal
𝑵 𝒏𝒐𝒓𝒎𝒂𝒍 𝒊 =
𝒇 𝟏𝟏 𝒇 𝟐𝟏 … … … 𝒇 𝒏𝟏
𝒇 𝟏𝟐 𝒇 𝟐𝟐 … … … 𝒇 𝒏𝟐
𝒇 𝟏𝒎 𝒇 𝟐𝒎 … … … 𝒇 𝒏𝒎
𝒏 𝟏
𝒏 𝟐
𝒏 𝒏
6/6/2015
Le Détaille de Notre
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 𝑓𝑖 → 𝑀𝑖(𝑓1……… 𝑓𝑛 )(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
6/6/2015
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 𝑓𝑖 → 𝑉𝑖(𝑓1……… 𝑓𝑛 )
If 𝑓𝑖 ∈ 𝑉 𝑎𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛 𝑁𝑜𝑟𝑚𝑎𝑙
𝑓𝑖=1 ;
Else
𝑓𝑖=0 ;
𝐿𝑖𝑠𝑡𝑒 𝑀𝑎𝑙𝑒 ← 𝑓𝑖
𝑀𝑎𝑐ℎ𝑖𝑛𝑒 𝐿𝑒𝑎𝑟𝑛𝑖𝑛𝑔 (𝐿𝑖𝑠𝑡𝑒 𝑁𝑜𝑟𝑚𝑎𝑙𝑖𝑠é𝑒)
6/6/2015
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.
6/6/2015
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.
6/6/2015
25
Jeu de donnée : échantillons
1st Normale 2nd Malware
6/6/2015
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
26
les malware :
sha256
nom de package Catégorie
bedf51a5732d94c173bcd8ed918333954f5a7830
7c2a2f064b97b43278330f54 com.ps.pintu.view DroidKungFu
e7d07c08a826520ef71bd4a5bfb8c6bc7b907c4f
94f18631208cf6037bd88f2d com.dy.game.lianliankan DroidKungFu
ded693418a1c5368e377ac654e06a5bac04faff52
ee0ef42a31eebcbf1cca2e0 com.mogo.smspopup DroidKungFu
Figure —Classification échantillons de malware.
6/6/2015
Expérimentation de notre modèle
27
les apps normal:
nom de package Catégorie
email com.android.mail
calendrie com.android.calander
Figure —Classification échantillons de Normal .
6/6/2015
Expérimentation de notre modèle
28
6/6/2015
Itération
taille de fenêtres
glissante
Nombre de fenêtre
glissante
Taux 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
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
6/6/2015
6/6/2015
30
MERCI

Weitere ähnliche Inhalte

Andere mochten auch

Internet lernen - Tipps von Howard Rheingold
Internet lernen - Tipps von Howard RheingoldInternet lernen - Tipps von Howard Rheingold
Internet lernen - Tipps von Howard RheingoldAlex Boerger
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityJonathan Weiss
 
Meetup #6 Voiture Connectée à Paris
Meetup #6 Voiture Connectée à ParisMeetup #6 Voiture Connectée à Paris
Meetup #6 Voiture Connectée à ParisLaurent Dunys
 
Plagiat : Détection et prévention
Plagiat : Détection et préventionPlagiat : Détection et prévention
Plagiat : Détection et préventionJean-Luc Trussart
 
Les systèmes RADAR (CFAR)
Les systèmes RADAR (CFAR)Les systèmes RADAR (CFAR)
Les systèmes RADAR (CFAR)amsnet
 
PCR : Polymerase chain reaction : classique et en temps réel
PCR : Polymerase chain reaction : classique et en temps réelPCR : Polymerase chain reaction : classique et en temps réel
PCR : Polymerase chain reaction : classique et en temps réelNadia Terranti
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de HoughKhaled Fayala
 
Graphes et détection de fraude : exemple de l'assurance
Graphes et détection de fraude : exemple de l'assuranceGraphes et détection de fraude : exemple de l'assurance
Graphes et détection de fraude : exemple de l'assuranceLinkurious
 
Presoutenance
PresoutenancePresoutenance
PresoutenanceJun XIONG
 
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...Georg Knon
 
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...Papa Cheikh Cisse
 
Protection perimetrique
Protection perimetriqueProtection perimetrique
Protection perimetriqueMATECH
 
Prévenir les collisions engins-piétons
Prévenir les collisions engins-piétonsPrévenir les collisions engins-piétons
Prévenir les collisions engins-piétonsINRSfrance
 

Andere mochten auch (20)

MIOsoft: SIM Fraud Detection
MIOsoft: SIM Fraud DetectionMIOsoft: SIM Fraud Detection
MIOsoft: SIM Fraud Detection
 
Internet lernen - Tipps von Howard Rheingold
Internet lernen - Tipps von Howard RheingoldInternet lernen - Tipps von Howard Rheingold
Internet lernen - Tipps von Howard Rheingold
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Fraud detection
Fraud detectionFraud detection
Fraud detection
 
Meetup #6 Voiture Connectée à Paris
Meetup #6 Voiture Connectée à ParisMeetup #6 Voiture Connectée à Paris
Meetup #6 Voiture Connectée à Paris
 
Plagiat : Détection et prévention
Plagiat : Détection et préventionPlagiat : Détection et prévention
Plagiat : Détection et prévention
 
Network Security
Network SecurityNetwork Security
Network Security
 
Les systèmes RADAR (CFAR)
Les systèmes RADAR (CFAR)Les systèmes RADAR (CFAR)
Les systèmes RADAR (CFAR)
 
PCR : Polymerase chain reaction : classique et en temps réel
PCR : Polymerase chain reaction : classique et en temps réelPCR : Polymerase chain reaction : classique et en temps réel
PCR : Polymerase chain reaction : classique et en temps réel
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de Hough
 
Enfermedad renal crónica 2012
Enfermedad renal crónica  2012Enfermedad renal crónica  2012
Enfermedad renal crónica 2012
 
Graphes et détection de fraude : exemple de l'assurance
Graphes et détection de fraude : exemple de l'assuranceGraphes et détection de fraude : exemple de l'assurance
Graphes et détection de fraude : exemple de l'assurance
 
Presoutenance
PresoutenancePresoutenance
Presoutenance
 
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...
Webinar Big Data zur Echtzeit-Betrugserkennung im eBanking nutzen mit Splunk ...
 
Processus Audit SI
Processus Audit SIProcessus Audit SI
Processus Audit SI
 
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
 
Protection perimetrique
Protection perimetriqueProtection perimetrique
Protection perimetrique
 
Prévenir les collisions engins-piétons
Prévenir les collisions engins-piétonsPrévenir les collisions engins-piétons
Prévenir les collisions engins-piétons
 
LMO08a.ppt
LMO08a.pptLMO08a.ppt
LMO08a.ppt
 
Les sondes de température
Les sondes de températureLes sondes de température
Les sondes de température
 

Ähnlich wie ACDM approche detection malware

IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestIA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestMimoun Kissi 🤖
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerMajdi Hannachi
 
Chap XII Analyse Numerique
Chap XII Analyse NumeriqueChap XII Analyse Numerique
Chap XII Analyse NumeriqueMohammed TAMALI
 
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...TelecomValley
 
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...Philippe Beraud
 
Advanced persistent threat = émergence du simple vandalisme au cybercrimine...
Advanced persistent threat =  émergence du simple vandalisme au cybercrimine...Advanced persistent threat =  émergence du simple vandalisme au cybercrimine...
Advanced persistent threat = émergence du simple vandalisme au cybercrimine...ITrust - Cybersecurity as a Service
 
Rapport nagios miniprojet
Rapport nagios miniprojetRapport nagios miniprojet
Rapport nagios miniprojetAyoub Rouzi
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire Mohammed Zaoui
 
Euratech'trends : Machine Learning
Euratech'trends : Machine LearningEuratech'trends : Machine Learning
Euratech'trends : Machine LearningEuraTechnologies
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...RECOVEO
 
projet assurance.docx
projet assurance.docxprojet assurance.docx
projet assurance.docxmaystrojad
 

Ähnlich wie ACDM approche detection malware (20)

IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4TestIA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
IA et Test - MeetUp MoT - Julien Van Quackebeke - CEO All4Test
 
StarDust @SHAKE 2014
StarDust @SHAKE 2014StarDust @SHAKE 2014
StarDust @SHAKE 2014
 
Reveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FRReveelium Smart Predictive Analytics - Datasheet FR
Reveelium Smart Predictive Analytics - Datasheet FR
 
Apprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMinerApprentissage automatique avec RapidMiner
Apprentissage automatique avec RapidMiner
 
Gestion ddes risques
Gestion ddes risquesGestion ddes risques
Gestion ddes risques
 
La sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficientLa sécurité endpoint : efficace, mais pas efficient
La sécurité endpoint : efficace, mais pas efficient
 
Chap XII Analyse Numerique
Chap XII Analyse NumeriqueChap XII Analyse Numerique
Chap XII Analyse Numerique
 
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
 
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
Le Machine Learning pour lutter contre les menaces en termes de Cybersécurité...
 
Amdec
AmdecAmdec
Amdec
 
Advanced persistent threat = émergence du simple vandalisme au cybercrimine...
Advanced persistent threat =  émergence du simple vandalisme au cybercrimine...Advanced persistent threat =  émergence du simple vandalisme au cybercrimine...
Advanced persistent threat = émergence du simple vandalisme au cybercrimine...
 
Cyberun #12
Cyberun #12Cyberun #12
Cyberun #12
 
Rapport nagios miniprojet
Rapport nagios miniprojetRapport nagios miniprojet
Rapport nagios miniprojet
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Euratech'trends : Machine Learning
Euratech'trends : Machine LearningEuratech'trends : Machine Learning
Euratech'trends : Machine Learning
 
Amdec
Amdec Amdec
Amdec
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...
Livre Blanc collectivités : 10 conseils empiriques pour récupérer ses données...
 
projet assurance.docx
projet assurance.docxprojet assurance.docx
projet assurance.docx
 

ACDM approche detection malware

  • 1. 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 6/6/2015
  • 2. 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 6/6/2015
  • 3. 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. 3 6/6/2015
  • 4. 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 4 6/6/2015
  • 5. Architecture du système Android 5 6/6/2015
  • 6. 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. 6 6/6/2015
  • 7. Malware Android Nous appelons malware un programme ou un code dont le but est de nuire à un système donné. 7 6/6/2015
  • 8. 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 Android 6/6/2015
  • 9. 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 6/6/2015
  • 10. 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 : 6/6/2015
  • 11. 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 6/6/2015
  • 12. 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 6/6/2015
  • 13. 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 6/6/2015 Machine Learning
  • 14. 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éparable 6/6/2015 Machine Learning
  • 17. 17 Le détail de notre approche • apps mal • apps normal Programme scanné • émulateur • command strace • Fenêtre glissant Récupération de donne • Algorithme de raffinage • Algorithme de détection Algorithme de détection • SVM Machine Learning Figure— Détaille Partie apprentissage . 6/6/2015
  • 18. 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. 6/6/2015 Le détail de notre approche
  • 19. 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 6/6/2015 Le détail de notre approche
  • 20. 20 pour appliquer l’algorithme de raffinage nous avons construit deux matrices 𝑀 malware et 𝑁 normal comme suit : M_Malware 𝑴 𝒎𝒂𝒍𝒘𝒂𝒓𝒆𝒊 = 𝒇 𝟏𝟏 𝒇 𝟐𝟏 … … … 𝒇 𝒏𝟏 𝒇 𝟏𝟐 𝒇 𝟐𝟐 … … … 𝒇 𝒏𝒊 𝒇 𝟏𝒎 𝒇 𝟐𝒎 … … … 𝒇 𝒏𝒎 𝒎 𝟏 𝒎 𝟐 𝒎 𝒏 N_Normal 𝑵 𝒏𝒐𝒓𝒎𝒂𝒍 𝒊 = 𝒇 𝟏𝟏 𝒇 𝟐𝟏 … … … 𝒇 𝒏𝟏 𝒇 𝟏𝟐 𝒇 𝟐𝟐 … … … 𝒇 𝒏𝟐 𝒇 𝟏𝒎 𝒇 𝟐𝒎 … … … 𝒇 𝒏𝒎 𝒏 𝟏 𝒏 𝟐 𝒏 𝒏 6/6/2015 Le Détaille de Notre
  • 21. 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 𝑓𝑖 → 𝑀𝑖(𝑓1……… 𝑓𝑛 )(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 6/6/2015
  • 22. 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 𝑓𝑖 → 𝑉𝑖(𝑓1……… 𝑓𝑛 ) If 𝑓𝑖 ∈ 𝑉 𝑎𝑝𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛 𝑁𝑜𝑟𝑚𝑎𝑙 𝑓𝑖=1 ; Else 𝑓𝑖=0 ; 𝐿𝑖𝑠𝑡𝑒 𝑀𝑎𝑙𝑒 ← 𝑓𝑖 𝑀𝑎𝑐ℎ𝑖𝑛𝑒 𝐿𝑒𝑎𝑟𝑛𝑖𝑛𝑔 (𝐿𝑖𝑠𝑡𝑒 𝑁𝑜𝑟𝑚𝑎𝑙𝑖𝑠é𝑒) 6/6/2015
  • 23. 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. 6/6/2015
  • 24. 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. 6/6/2015
  • 25. 25 Jeu de donnée : échantillons 1st Normale 2nd Malware 6/6/2015 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
  • 26. 26 les malware : sha256 nom de package Catégorie bedf51a5732d94c173bcd8ed918333954f5a7830 7c2a2f064b97b43278330f54 com.ps.pintu.view DroidKungFu e7d07c08a826520ef71bd4a5bfb8c6bc7b907c4f 94f18631208cf6037bd88f2d com.dy.game.lianliankan DroidKungFu ded693418a1c5368e377ac654e06a5bac04faff52 ee0ef42a31eebcbf1cca2e0 com.mogo.smspopup DroidKungFu Figure —Classification échantillons de malware. 6/6/2015 Expérimentation de notre modèle
  • 27. 27 les apps normal: nom de package Catégorie email com.android.mail calendrie com.android.calander Figure —Classification échantillons de Normal . 6/6/2015 Expérimentation de notre modèle
  • 28. 28 6/6/2015 Itération taille de fenêtres glissante Nombre de fenêtre glissante Taux 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
  • 29. 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 6/6/2015

Hinweis der Redaktion

  1. Monsieur le président de jury,membres de jury,honorables assistances bon jour. Permettez nous de vous présenter mémoir de fin d'études intitulée tous d'aborde, nous presentons
  2. Le figure suivant illustre les principaux composants du système d'exploitation Android. Applications, Le Framework (Application Framework), Les bibliothèques (Libraries)  Moteur d'exécution Android (Android Runtime) :Noyau Linux (Linux Kernel)  
  3. nous rappelons le plus important de Composants : Activité (Activity) , Service , Fournisseur de contenu (Content Provider) , Récepteur d'émission (Broadcast Receiver) 
  4. pour c'est approche nous utilisons analyse dynamique ou L’approche Comportemental
  5. Nous allons présenter sur ces approches deux parties en détail, la partie d’apprentissage qui est constitué de 2 phases :  Extraction de séquence d’appels, algorithmes raffinage et algorithmes normalisation, nous  Machine Learning SVM qui crée une nouvelle base pour détection les applications. La deuxième partie est la partie détection, qui utilise la base d’apprentissage de la première partie pour prédire les types d’applications soumise pour la détection.
  6. Et nous prendrerons echantillon en méme famil droid kung fu