5. Technique De Détection Des Malwares :
Total Page:16
File Type:pdf, Size:1020Kb
N° d’ordre : N° de série : République Algérienne Démocratique et Populaire N° d’ordre : Ministère de l’Enseignement Superieur et de N° de série : la Recherche Scientifique UNIVERSITÉ ELchahid Hamma Lakhdar – El-Oued FACULTÉ DES SCIENCES ET DE TECHNOLOGIE Mémoire de fin d’étude Présenté pour d’obtention du diplôme de MASTER ACADEMIQUE Domaine : Mathématique et Informatique Filière : Informatique Spécialité : Système Distribué et Intelligence Artificielle Présenté par Melle Yagoub ElKhansa Melle Derouiche Karima Thème Système de détection des malwares sous Android Encadré par : Gherbi Kaddour Devant le jury composé de: Mr. Khalaifa abdEnnaser MC (B) Univ. El Oued Président Mr. Othmani Samir MA (A) Univ. El Oued Examinateur Mr. Gherbi kaddour MA (A) Univ. El Oued Rapporteur 2014/2015 Remerciements Je remercie tout d'abord notre Dieu qui nous a donné la force et la volonté pour élaborer ce travail. J’adresse nos vifs remerciements à notre encadreur Mr. Gherbi Kaddour , qui nous a aidés durant notre travail et par sa patience et ses précieux conseils dont Il nous a entourés. Sans son aide, notre travail n'aurait pas vu la lumière. Je remercie vivement les membres du jury qui m’ont fait l’honneur d’accepter de juger notre travail. Notre reconnaissance va aussi à tous ceux qui ont collaboré à notre formation en particulier les enseignants du département d'Informatique, de l’université d'El-Oued. Aussi à nos collègues de la promotion 2014-2015 Master Informatique, Je remercie également tous ceux qui ont participé de près ou de loin à élaborer ce travail. Dédicaces Je dédie ce travail ; A ma très chère mère pour son amour inconditionnel et sa présence À mes côtés dans les moments difficiles. A la mémoire de mon très cher père symbole de courage, de tendresse et que Dieu le puissant l'accorde sa clémence et l'accueille en son vaste paradis. A mes soeurs et frères pour leur encouragement. A mes chers grands parents. A mes grandes familles YAGOUB qui ont été toujours derrière moi. A tous mes amies surtout : Karima.D et Siham.L A tous mes collègues de la promotion 2014/2015. A tous mes enseignants pour le savoir et les connaissances qu’ils m’ont inculqué. Je dédie ce modeste travail Avec tout mon amour et tendresse. ELKHANSA Dédicaces Je dédie ce travail ; A ma très chère mère pour son amour inconditionnel et sa présence À mes côtés dans les moments difficiles. A la mémoire de mon très cher père symbole de courage, de tendresse et que Dieu le puissant l'accorde sa clémence et l'accueille en son vaste paradis. A mes soeurs et frères pour leur encouragement. A mes chers grands parents. A mes grandes familles DEROUICHE qui ont été toujours derrière moi. A tous mes amies surtout : Khansa.Y et Siham.L A tous mes collègues de la promotion 2014/2015. A tous mes enseignants pour le savoir et les connaissances qu’ils m’ont inculqué. Je dédie ce modeste travailKARIMA Avec tout mon amour et tendresse. Résumé Android est devenu en quelques années le système d’exploitation le plus répandu sur les plateformes mobiles de type smartphones et tablettes. Parallèlement à sa large adoption, ce système est également devenu la cible de malware dont le nombre n’a cessé de croître, ce qui a stimulé les travaux de recherche liés à l’analyse et à la détection de malware Android. Les échantillons de malware Android étant principalement des versions infectées d’applications existantes. Nous proposons dans cette thèse une méthode de caractérisation et de détection de ces malware qui exploite ce mode d’infection et basée sur les techniques du machine learning. Mot clé : Android, Mobile Malware, analyse statique, machine learning, ملخص أصبح اندرو يد في غضون سنوات قليلة نظام التشغيل اﻷكثر شيوعا على منصات مبايل والهواتف الذكية واﻷجهزة اللوحية. كما أصبح هذا النظام هدف البرمجيات الخبيثة التي انتشرت بنسبة هائلة في السنوات اﻻخيرة اﻷمر الذي حفز البحوث المتعلقة بتحليل وكشف البرمجيات الخبيثة لنظام اﻻندرويد. عينات البرامج الخبيثة لﻻندرويد تكون اساسا من اﻻصدارات المصابة للتطبيقات الموجودة. نقترح في هذه اﻷطروحة طريقة لتحليل والكشف عن البرمجيات الخبيثة تعتمد على اساليب التعلم اﻵلي. الكلمات المفتاحية : اندرويد، البرمجيات الخبيثة للمحمول، التحليل الثابت، التعلم اﻵلي. Abstract Android has become in a few years the most common operating system on mobile platforms like smartphones and tablets. Alongside its broad adoption, this system also became the malware target whose number has grown steadily, which stimulated research related to the analysis and detection of Android malware. Android malware samples being mainly infected versions of existing applications. We propose in this thesis a method for characterizing and detecting these malware which operates the mode of infection and based on machine learning techniques. Keywords: Android, Mobile Malware, static analysis, machine learning, ~ i ~ Glossaire PDA : Personal Digital assistant , Patent Ductus Arteriosus SDK: Software Development kit UIDs: Unix-like operating systems API : Application Programming Interface URL : Uniform Resource Locator C&C: Command And Control. IRC :Internet Relay Chat RAT : Remote Administration Tool BIOS : Basic Input output System TDL-4 : The 'indestructible' botnet MBR : Master Boot Record CFG :Control Flow Graph en anglais IDS : Système de Détection d’intrusions ROC :Receiver Operating Characteristic BPT): Bushy Park Time Tria RTRL: Learning Rule CPU: Central Processing Unit LDR: Learning Decision Rules SOFM :Self Organizing Map ou Self Organizing Feature Map ~ ii ~ Sommaire Résumé ........................................................................................................................................ i Glossaire ..................................................................................................................................... ii Sommaire ................................................................................................................................... iii Listes des figures ....................................................................................................................... vi Liste des tableaux ..................................................................................................................... vii Introduction générale : ................................................................................................................ 1 Chapitre I .................................................................................................................................... 3 Introduction : .............................................................................................................................. 4 1. Système Android : .............................................................................................................. 4 1.1. Architecture du système Android : .............................................................................. 5 1.1.1. Noyau Android : ................................................................................................... 5 1.1.2. Espace utilisateur : ................................................................................................ 6 1.1.3. Communications entre processus : ....................................................................... 7 1.2. Applications Android : ................................................................................................. 7 1.2.1. Architecture d’une application : les différents composants : ............................... 7 1.2.2. Intents : communication entre composants : ........................................................ 8 1.2.3. Intent-filter : .......................................................................................................... 9 1.2.4. Android Package : ................................................................................................ 9 2. Sécurité de système Android : .......................................................................................... 12 2.1. Mécanismes issus de Linux : ..................................................................................... 12 2.1.1. Système multi-utilisateur et contrôle d’accès : ................................................... 12 2.1.2. Isolation des applications : ................................................................................. 12 2.1.3. Chiffrement de la partition de données : ............................................................ 13 2.2. Mécanismes propres à Android : ............................................................................... 13 2.2.1. Permissions : ....................................................................................................... 13 2.2.2. Signature des applications : ................................................................................ 14 2.2.3. Analyse des applications : .................................................................................. 15 2.2.4. Protection de l’appareil et de ses données : ........................................................ 15 2.2.5. Administration de l’appareil : ............................................................................. 15 3. Limite de mécanisme de sécurité : ................................................................................... 16 3.1. Abus de permission : .................................................................................................. 16 3.2. Permissions : attaques par délégation et attaques par collusion ................................ 16 3.3. Communication entre composants via les intents : ...................................................