RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE
Ministre de l’Enseignement Supérieur et de la Recherche Scientifique
Unive...
Plan de travail
Introduction
Système Android
Malware Android
Sécurité du système Android
Analyse d’application Android
Mac...
Introduction
Lancé officiellement en 2008, Androïde est devenu en quelques années le
système d’exploitation le plus répand...
Système Android
Android est un système d'exploitation
mobile pour smartphones, tablettes tactiles,
PDA, smartwatches et te...
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 u...
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’applicati...
Signature des applications
9
Toutes les applications Android
doivent être signées avec une clé
privée conservée par le dév...
Analyse d’applications Android
10
Analyse
statique
Analyse
dynamique
Analyse
hybride
La détection de malwares se concentre...
L’approche Comportemental pour la détection
L’approche comportementale propose de modéliser le
comportement normal d’un sy...
Machine Learning
L'apprentissage automatique (machine learning en anglais),
un des champs d'étude de l'intelligence artifi...
Type de modèle d’apprentissage: Il existe plusieurs types des
modèles; côté supervisé ou non supervisé.
d’apprentissage su...
Machine à vecteurs de support (SVM) :
les machines à vecteurs de support ou
séparateurs à vaste marge sont un ensemble de
...
15
Notre approche
6/6/2015
16
SVM
Fonction
Prédiction
Apps
Android
Emulateur
Apps
Android
Emulateur
Classification
Type d’application
Raffinage
Norma...
17
Le détail de notre approche
• apps mal
• apps normal
Programme
scanné
• émulateur
• command strace
• Fenêtre glissant
R...
18
Récupération de données
L'émulateur Android : est une
application qui fournit un appareil mobile
virtuel sur lequel vou...
19
Fenêtre glissante :
Fenêtre glissante 1 :
Open Open Read Gettime Open
Fenêtre glissante 2 :
Open Open Read Gettime Open...
20
pour appliquer l’algorithme de raffinage nous avons construit
deux matrices 𝑀 malware et 𝑁 normal comme suit :
M_Malwar...
21
Début
Initialiser itération
Entrer matrice Mal et
Normal
Raffiner entre deux matrices
𝑓∉ N 𝑓 ∈ 𝑁
Liste noir Supprime
Ra...
22
Normalisation
𝑓 ∈ 𝑁
Comparer les fenêtres f de
liste_noir avec celles de
vecteur soumis
𝑓∉ N
Liste Normalisée {1,0}
Déb...
23
Machine Learning
Dans cette dernière étape basée sur l'apprentissage qui utilisent
des techniques de Machine Learning p...
24
La fonction d’apprentissage prend en entrée deux paramètres la
première c’est la matrice des vecteurs construits lors d...
25
Jeu de donnée : échantillons
1st Normale 2nd Malware
6/6/2015
Afin d'évaluer notre algorithme nous proposons
de l'appli...
26
les malware :
sha256
nom de package Catégorie
bedf51a5732d94c173bcd8ed918333954f5a7830
7c2a2f064b97b43278330f54 com.ps....
27
les apps normal:
nom de package Catégorie
email com.android.mail
calendrie com.android.calander
Figure —Classification ...
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 10...
Conclusion
Dans ce travail, nous avons proposé une nouvelle
méthode de détection basée sur les analyses
comportementaux po...
6/6/2015
30
MERCI
Prochain SlideShare
Chargement dans…5
×

ACDM approche detection malware

721 vues

Publié le

L'environnement Android est devenu le système d’exploitation de première importance pour un nombre considérable d’équipements, notamment les smartphones et les tablettes ainsi que des équipements futurs. Cet environnement offre aux usagers une multitude d’applications à télécharger depuis le market officiel fourni par Google ou des Market alternatifs. Ces applications peuvent être de toutes sortes afin de divertir ou d’aider les usagers. Le comportement de ces applications et leur impact sur les données personnelles (les conteurs des SMS ; des MMS, des mails, le journal d’appel, les identifiants des comptes utilisateurs, les détails des contacts et les informations stockées par les applications) des usagers, ainsi que les fonctions sensibles associées aux capteurs et la téléphonie, n’est pas vérifié par les fournisseurs de ces plateformes de téléchargement. Notre proposition basée sur l’analyse comportementale des applications qui a consisté à monitorer le comportement des applications dans un environnement de contrôle. Cette analyse, permet de continuer à renforcer la sécurité Android. Dans ce mémoire, nous proposons une nouvelle approche de détection des malwares. Dans un premier temps, nous appliquons le modèle d’apprentissage SVM. Puis, nous décrivons nos propres algorithmes, nommé ACDM, pour observer le comportement du programme. Enfin, Nous, il nous semblerait que les résultats de cette étude sont concluants expérimentalement.

Publié dans : Internet
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
721
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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
  • 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)  
  • nous rappelons le plus important de Composants :
    Activité (Activity) , Service , Fournisseur de contenu (Content Provider) , Récepteur d'émission (Broadcast Receiver) 
  • pour c'est approche nous utilisons analyse dynamique ou L’approche Comportemental
  • 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.
  • Et nous prendrerons echantillon en méme famil droid kung fu
  • ACDM approche detection malware

    1. 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. 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. 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. 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. 5. Architecture du système Android 5 6/6/2015
    6. 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. 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. 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. 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. 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. 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. 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. 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. 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
    15. 15. 15 Notre approche 6/6/2015
    16. 16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
    30. 30. 6/6/2015 30 MERCI

    ×