Documente Academic
Documente Profesional
Documente Cultură
D’IVOIRE
Union-Discipline-Travail
Encadreur : Co-Encadreur :
Enseignant-Chercheur à Enseignant-Chercheur à
l’INPHB l’ESATIC
Etude de la mise en place d’un antivirus intelligent
DEDICACE
II
-
Etude de la mise en place d’un antivirus intelligent
REMERCIEMENTS
Nous tenons à remercier à travers ces quelques lignes les nombreuses personnes
qui ont contribué à la réalisation de ce projet. Nous nous excusons par avance auprès
de ceux que nous oublierons de citer ou que nous ne pourrons évoquer explicitement
dans ce paragraphe, et nous leur réaffirmons par ailleurs notre reconnaissance.
Grand merci également aux Dr. Coulibaly Tiékoura et Dr Kanga Koffi, tous deux
Enseignant-chercheurs à l’ESATIC pour les différentes orientations qui nous ont été
données pour le bon déroulement du projet.
III
-
Etude de la mise en place d’un antivirus intelligent
AVANT-PROPOS
IV
-
Etude de la mise en place d’un antivirus intelligent
-
Etude de la mise en place d’un antivirus intelligent
VI
-
Etude de la mise en place d’un antivirus intelligent
VII
-
Etude de la mise en place d’un antivirus intelligent
SOMMAIRE
INTRODUCTION
I) Présentation de l’existant
I) Objectifs attendus
II) Fonctionnalités
III) Résultats
VIII
-
Etude de la mise en place d’un antivirus intelligent
I) Modèle de fonctionnement
I) Environnement de développement
I) Entraînement de l’algorithme
III) Discussions
I) Contraintes
II) Difficultés
CONCLUSION
IX
-
Etude de la mise en place d’un antivirus intelligent
INTRODUCTION
Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer
des logiciels malveillants. Ces derniers peuvent se baser sur l'exploitation de failles de
sécurité, mais il peut également s'agir de logiciels modifiants ou supprimant
des fichiers, que ce soit des documents de l'utilisateur stockés sur l'ordinateur infecté,
ou des fichiers nécessaires au bon fonctionnement de l'ordinateur. Pour trouver un
malware, l’antivirus doit être capable de détecter un fichier malveillant parmi les sains.
Pour cela, on combine plusieurs types de détections dont certaines sont basiques et
d’autres plus avancées.
Parmi les types de détections basiques, on distingue : les détections par signatures qui
se basent sur un morceau de code spécifique à un malware, ainsi lorsqu’un fichier
comporte ce morceau de code, il est considéré comme étant malveillant. Les détections
heuristiques et génériques quant à eux se basent sur des portions de code plus général
qui visent à générer des détections plus larges afin de détecter de manière plus courante
les malwares. Enfin, la détection comportementale consiste à exécuter le fichier dans
un environnement fermé et contrôlé par l’antivirus comme un bac à sables,
cela afin de tester le fichier et vérifier son comportement d’un programme malicieux.
Cependant, depuis plusieurs années, les éditeurs d’antivirus doivent faire face à une
monté en puissance des malwares. Chaque année, des millions de fichiers malveillants
inondent internet et les ordinateurs. Cela pose des problèmes du côté du client antivirus
dont la base de données gonfle. Aussi, ces antivirus classiques se limitent à analyser
le code statique des programmes malveillants et donc peuvent facilement se faire
tromper par un malware qui se transforme pour changer sa signature.
Enfin il faut donc pouvoir suivre, analyser, classer ces millions de fichiers
malveillants. Pour répondre à cela, une technologie a vu le jour : Le Machine
Learning. Cette technologie va utiliser des mécanismes de reconnaissances et
classements effectués par des programmes ou intelligence artificielle (IA) pour
permettre de classer le fichier comme sain ou malveillant. Dans l’optique de mieux
appréhender la question d’utiliser le Machine Learning dans la détection de fichiers
-
Etude de la mise en place d’un antivirus intelligent
malveillants, nous avons opté pour le thème : « Etude de la mise en place d’un
antivirus intelligent ». Autrement dit, il s’agira d’étudier la mise en place d’un
antivirus en se basant sur les techniques et méthodes de l’IA afin de mieux cerner le
fonctionnement de l'intelligence artificielle dans le domaine de la cybersécurité.
Pour atteindre les objectifs fixés, nous avons porté réflexion sur les études relatives au
projet et subdivisé notre travail en trois grandes parties. Premièrement, nous
aborderons la généralité sur le projet. Cette partie fera l'objet de présenter le projet
dans son contexte général et spécifique afin de mieux le cerner. Après quoi, il sera
nécessaire de présenter notre cahier de charges qui sera le fil conducteur à la réalisation
de notre travail. Ensuite, nous présenterons une étude technique du projet qui vise à
faire une étude comparative des différentes méthodes d'IA afin de choisir la méthode
la mieux adaptée à la mise en place d'un antivirus intelligent. Cette partie va nous
permettre d'aboutir à la conception de notre solution. Enfin dans la troisième partie
Résultats et Discussions, il sera question de présenter les résultats issus de notre étude
et mener une discussion qui fera ressortir les points forts et les points faibles de notre
solution. Nous terminerons cette partie par la présentation des contraintes et difficultés
rencontrées lors de la mise en place du projet.
-
Etude de la mise en place d’un antivirus intelligent
-
Etude de la mise en place d’un antivirus intelligent
Dans cette partie, nous présenterons le cadre du projet en justifiant notre choix pour ce
thème. Après la présentation du cadre du projet, nous ferons une étude de l’existant
qui nous aidera à prendre en compte les limites des solutions antivirus classiques afin
de les corriger avec une solution qui utilise les techniques et méthodes de l’IA. Enfin,
la présentation de notre cahier de charges nous servira de fil conducteur.
I- Présentation de l’ESATIC
Créée par le décret n° 2012-20 du 18 Janvier 2012, l'Ecole Supérieure Africaine des
Technologies de l'Information et de la Communication, en abrégé ESATIC est un
établissement Public d'enseignement supérieur qui forme des cadres dans le secteur
des TIC. Elle est également chargée de faire de la recherche et du développement.
-
Etude de la mise en place d’un antivirus intelligent
Le thème choisi pour le projet interne s’intitule : « Etude de la mise en place d’un
antivirus intelligent ». Ce choix s'est opéré en se basant sur le fait que selon Symantec
72% des vols de données sont causés par des virus de plus en plus sophistiqués et
indétectables. L'objectif recherché derrière le choix de ce thème est d’apporter une
solution optimale à la détection de ces virus en combinant le domaine de la sécurité
informatique et de l’intelligence informatique.
I- Présentation de l’existant
1. Recueil d’informations
Cette étape de notre projet s’est réalisée aux moyens de recherches menées sur les
solutions d’antivirus utilisées au sein des entreprises, des études, des données
statistiques et surtout la lecture de quelques articles sur la question. Ainsi, les
informations que nous avons pu recueillir sont les suivantes : les antivirus sont en
réalité des logiciels conçus par des entreprises pour neutraliser et éliminer des logiciels
malveillants (virus informatiques, vers, malwares, etc). Pour rappel, les logiciels
malveillants agissent en se basant sur l’exploitation des failles de sécurité, mais ils
peuvent être des logiciels qui exécutent quelques actions sur l’ordinateur cible sans
-
Etude de la mise en place d’un antivirus intelligent
Ainsi, d’après les informations recueillies sur Wikipédia sur les logiciels d’antivirus,
nous avons pu recueillir une liste non exhaustive des solutions logiciels d’antivirus
existantes les plus connues à la figure 1.
-
Etude de la mise en place d’un antivirus intelligent
-
Etude de la mise en place d’un antivirus intelligent
La critique de l’existant consiste à mettre en évidence les points forts ainsi que les
points faibles en se basant sur les aspects tels que : la fiabilité, la simplicité
d’utilisation, la protection intégrale, la qualité de la protection.
Kaspersky, l’un des géants de la fabrication de solutions d’antivirus définit les critères
ci-dessus comme suit :
Fiabilité :
Une solution antivirus, aussi performante soit-elle, peut s'avérer inutile en cas de
conflits avec d'autres logiciels présents sur notre ordinateur. Si ces conflits provoquent
un dysfonctionnement ou une suspension temporaire des processus de protection, nous
risquons d'être vulnérable.
Simplicité d'utilisation
-
Etude de la mise en place d’un antivirus intelligent
Protection intégrale
Une solution antivirus doit offrir une protection constante couvrant tous les domaines
informatiques, types de fichiers et éléments réseaux susceptibles d'être attaqués par un
virus informatique ou tout autre programme malveillant. Elle doit pouvoir détecter les
codes malveillants et protéger les canaux ou points d'entrée de l'ordinateur, y compris
la messagerie, Internet, FTP, etc.
Qualité de la protection
Que nous ayons besoin d'une solution de sécurité antivirus pour n’importe quelle
plateforme, une solution antivirus doit être capable de fonctionner dans un
environnement agressif et évolutif, en présence de nouveaux virus informatiques, vers
et chevaux de Troie toujours plus complexes que les précédents programmes
malveillants connus et soucieux de contourner les programmes antivirus.
Ainsi, nous résumons dans les tableaux ci-dessous les points forts (tableau 1) et les
points faibles (tableau 2) des solutions antivirus existantes.
-
Etude de la mise en place d’un antivirus intelligent
10
-
Etude de la mise en place d’un antivirus intelligent
À la vue de cette analyse, nous retenons que les solutions antivirus existantes regorgent
des points forts ainsi que des points faibles. Tous ces points pouvant affecter certains
critères de sélection comme la fiabilité, la protection intégrale, la qualité de protection
et la simplicité d’utilisation.
Notre projet consiste donc à étudier la mise en place d’un système basé sur
l’Intelligence Artificielle afin d’éradiquer au maximum les insuffisances des antivirus.
Car bien que ceux-ci n’étant pas toujours fiables mais constituent un moyen parfois
efficace pour les responsables de sécurité d’entreprise. Donc il y’a bien une nécessité
de trouver une solution à leur problème.
11
-
Etude de la mise en place d’un antivirus intelligent
12
-
Etude de la mise en place d’un antivirus intelligent
I- Objectif principal
L’étude de la mise en place d’un antivirus basé sur l’IA doit nous permettre de
découvrir comment l’IA peut être utilisée pour résoudre certains problèmes de la
Cyber-Sécurité.
III- Fonctionnalités
Après notre étude, l’antivirus qui en découle doit raisonner selon les fonctionnalités
suivantes :
13
-
Etude de la mise en place d’un antivirus intelligent
IV- Résultats
A la fin de cette partie, nous retenons que nous devons faire l’étude d’une solution
antivirus basée sur l’IA, solution qui devrait corriger les insuffisances des solutions
classiques. Pour ce faire, une étude technique nous permettrait de bien concevoir notre
système.
14
-
Etude de la mise en place d’un antivirus intelligent
15
-
Etude de la mise en place d’un antivirus intelligent
Nous ferons dans cette partie une étude sur les différentes méthodes d’IA et ensuite,
nous présenterons le modèle de fonctionnement de notre solution. À l’issu d’une étude
comparative entre ces différentes méthodes, nous ferons le choix de la méthode qui
sera la mieux adaptée à la modélisation de notre solution.
1. Historique
La recherche en intelligence artificielle a vraiment commencé après une conférence
tenue sur le campus de Dartmouth College pendant l'été 1956. À la suite de cette
réunion, certains participants se sont investis dans une recherche sur l'intelligence
artificielle. Certains utopistes ont pronostiqué qu'une machine aussi intelligente qu'un
être humain existerait en moins d'une génération et des millions de dollars ont alors
été investis pour vérifier cette prédiction. Les années sont passées, mais les recherches
pour le développement de l’intelligence artificielle n’ont guère cessé de sorte que
l'intelligence artificielle continue d’évoluer et son impact sur la société et les
entreprises s'amplifie. Aujourd’hui, d’une simple phrase, on peut connaître la météo,
programmer une alarme, être averti de ses rendez‐vous avec les trajets pour s’y rendre
et on a des résultats de plus en plus précis au fil du temps… C’est la face émergée de
l’IA. Mais au‐delà de ces usages, pratiques mais un peu anecdotiques, l’intelligence
16
-
Etude de la mise en place d’un antivirus intelligent
1. Définition
L'intelligence artificielle est l'ensemble des théories et des techniques mises en œuvre
en vue de réaliser des machines capables de simuler l'intelligence humaine. Pour cela
elle se base sur plusieurs techniques algorithmiques qui sont réparties en deux grands
groupes : l'apprentissage supervisé et l'apprentissage non supervisé.
L’on différencie ces deux types d’apprentissage en se basant sur les critères consignés
dans le tableau (source du tableau : site officiel de waytolearnx) ci-dessous :
Chaque type d’apprentissage se base sur des algorithmes pour donner des résultats. Il
convient donc de voir un peu plus en détails les différents algorithmes les plus utilisés
en apprentissage supervisé et non supervisé.
17
-
Etude de la mise en place d’un antivirus intelligent
1. Arbre de décision
Il modélise une hiérarchie de tests pour prédire un résultat. Il existe deux principaux
types d’arbre de décision :
• Les arbres de régression : ils permettent de prédire une quantité réelle, une
valeur numérique (par exemple, le prix d’une maison ou la durée de séjour d’un
patient dans un hôpital) ;
• Les arbres de classification : ils permettent de prédire à quelle classe la
variable de sortie appartient (cela permet par exemple de répartir une
population d’individus, comme des clients d’une entreprise en différents types
de profils).
Les décisions possibles sont situées aux extrémités des branches (les « feuilles » de
l’arbre) et sont atteintes en fonction de décisions prises à chaque étape. Un arbre de
décision fonctionne en appliquant de manière itérative des règles logiques très simples
(typiquement des séparations de données par « hyperplan », généralisation d’un plan
à plus de 2 dimensions), chaque règle étant choisie en fonction du résultat de la règle
précédente. Les arbres de décision ont pour avantage d’être simple à interpréter, très
rapide à entraîner, d’être non paramétrique, et de nécessiter très peu de prétraitement
des données. Ils peuvent être calculés automatiquement par des algorithmes
d’apprentissage supervisé capables de sélectionner automatiquement les variables
discriminantes au sein de données non-structurées et potentiellement volumineuses.
Ces algorithmes permettent aussi d’extraire des règles logiques qui n’apparaissaient
pas dans les données brutes.
-
Etude de la mise en place d’un antivirus intelligent
Figure 2: Exemple d’un arbre de décision pour l’accord d’un prêt bancaire
Cependant, comment arrive-t-on à de telles règles de décisions ? Dans les faits il s’agit
de synthétiser la connaissance et l’historique de l’ensemble des prêts accordés par la
banque et de classer chacun de ces prêts selon qu’ils aient été remboursés sans incident
ou pas. Il s’agit donc de trouver dans une énorme quantité de données les
questions qu’il est judicieux de poser afin de prédire la qualité de l'emprunteur.
Avantages Inconvénients
Le coût d’utilisation des arbres est Parfois les arbres générés ne sont pas
logarithmique équilibrés (ce qui implique que le temps de
parcours n’est plus logarithmique)
19
-
Etude de la mise en place d’un antivirus intelligent
2. Forets aléatoires
Les forêts aléatoires sont composées (comme le terme "forêt" l'indique) d'un
ensemble d'arbres décisionnels binaires dans lequel a été introduit de l’aléatoire. Ces
arbres se distinguent les uns des autres par le sous-échantillon de données sur lequel
ils sont entraînés. Ces sous-échantillons sont tirés au hasard (d'où le terme "aléatoire")
dans un jeu de données. La technique des forêts aléatoires modifie la méthode du
Bagging appliquée ici aux arbres en ajoutant un critère de décorrélation entre ces
arbres. L’idée de cette méthode est de réduire la corrélation sans trop augmenter la
variance. Le principe consiste à choisir de façon aléatoire un sous-ensemble de
variables qui sera considéré à chaque niveau de choix du meilleur nœud de l’arbre.
Le principal avantage de cet algorithme est qu'il permet d’éviter le danger que
représente le sur-apprentissage pour toute méthode de prédiction basée sur l’induction.
BREIMAN, dans un article apparu en 2001 démontre que lorsque le nombre d’arbres
impliqués dans la forêt de prédiction augmente, le taux d’erreur en généralisation
converge vers une valeur limite, dont une borne supérieure peut être estimée sur une
20
-
Etude de la mise en place d’un antivirus intelligent
3. Régression linéaire
La régression linéaire est avant tout un algorithme d’apprentissage supervisé. Il est
utilisé pour estimer les valeurs réelles (coût des maisons, nombre d'appels, ventes
totales, etc.) sur la base de variables continues. Ici, nous établissons une relation
entre les variables indépendantes et dépendantes en adaptant une meilleure ligne.
Cette ligne de meilleur ajustement est appelée ligne de régression et représentée
par une équation linéaire Y = a * X + b. Ces coefficients a et b sont calculés en
minimisant la somme de la différence au carré de la distance entre les points de
données et la ligne de régression.
4. La régression logistique
La régression logistique est une technique prédictive. Elle vise à construire un modèle
permettant de prédire les valeurs prises par une variable cible qualitative à partir d’un
ensemble de variables explicatives quantitatives ou qualitatives. Elles offrent plusieurs
variantes en fonction du nombre et de la nature des classes de la variable à expliquer.
La première méthode, appelée régression logistique binaire (binary logistic
21
-
Etude de la mise en place d’un antivirus intelligent
Avantages Inconvénients
Bon pour le petit problème de données de Ne peut être utilisé pour les données non
classification linéaires
5. Naïves bayes
La classification naïve bayésienne est un algorithme populaire en Machine Learning.
C’est un algorithme du type supervisé et est utilisé pour la classification. Cet
algorithme se base sur le théorème de Bayes. Ce dernier est un classique de la théorie
des probabilités fondé sur les probabilités conditionnelles.
22
-
Etude de la mise en place d’un antivirus intelligent
Avantages Inconvénients
6. Le réseau de neurones
Les réseaux de neurones sont inspirés des neurones du système nerveux humains.
Ils permettent de trouver des patterns complexes dans les données. Ces réseaux de
neurones apprennent une tâche spécifique en fonction des données d'entraînement.
Ils se composent de nœuds. Dans ces réseaux, on retrouve trois grandes parties que
sont : la couche d’entrée qui va recevoir les données d’entrées. L’Input Layer va
propager les données par la suite aux couches cachées. Finalement la couche de sortie
qui permet de produire le résultat de classification. Chaque couche du réseau de
neurones est un ensemble d’interconnexions des nœuds d’une couche avec ceux des
autres couches.
23
-
Etude de la mise en place d’un antivirus intelligent
7. Le clustering
Les algorithmes de clustering les plus courants sont le K-Means, les algorithmes de
maximisation de l’espérance (de type EM, comme les mixtures gaussiennes) et les
partitions de graphes.
Avantages Inconvénients
Simple et Facile à comprendre Mémoire intensive coûteuse
Adaptable au problème Toutes les données de formation peuvent
être impliquées dans la prise de décision
Précis Ralentissement des performances dû aux
opérations 10
Utilise des arbres spatiaux pour améliorer Choisir une mauvaise mesure de distance
des problèmes d’espace peut produire des résultats inexacts
Les algorithmes de Machine Learning sont évalués sur la base de leur capacité à
classifier ou prédire de manière correcte à la fois sur les observations qui ont servi à
entraîner le modèle (jeu d’entraînement et test) mais aussi et surtout sur des
observations dont on connaît l’étiquette ou la valeur et qui n’ont pas été utilisées dans
l’élaboration du modèle (jeu de validation).
24
-
Etude de la mise en place d’un antivirus intelligent
Bien classifier sous-entend à la fois placer les observations dans le bon groupe et à la
fois ne pas en placer dans des mauvais groupes.
Plusieurs facteurs liés aux données peuvent jouer fortement sur la qualité des
algorithmes. En voici les principaux :
• Le nombre d’observations :
- Moins il y a d’observations plus l’analyse est difficile ;
- Mais plus il y en a, plus le besoin de mémoire informatique est élevé et
plus longue est l’analyse.
• Le nombre et qualité des attributs décrivant ces observations ;
• La distance entre deux variables numériques (prix, taille, poids, intensité
lumineuse, intensité de bruit, etc) est facile à établir ;
• Celle entre deux attributs catégoriels (couleur, beauté, utilité…) est plus
délicate ;
• Le pourcentage de données renseignées et manquantes ;
• Le « bruit » : le nombre et la « localisation » des valeurs douteuses (erreurs
potentielles, valeurs aberrantes…) ou naturellement non-conformes au pattern
de distribution générale des « exemples » sur leur espace de distribution
impacteront sur la qualité de l’analyse.
25
-
Etude de la mise en place d’un antivirus intelligent
Artificielle
I- Modèle de fonctionnement
26
-
Etude de la mise en place d’un antivirus intelligent
Le choix d’une méthode optimale pour notre problème dépend de ses fonctionnalités
telles que : la vitesse de l’algorithme, la précision des prévisions, la durée de la
formation, la quantité de données nécessaire à la formation, sa facilité de mise en
œuvre, etc. Nous nous basons sur ces critères afin de faire un choix vis-à-vis de notre
problème. Pour ce faire, nous établissons le tableau comparatif des méthodes ci-après:
Arbre de Décision
Résultats interprétables Parfois
Facilité d’explication de la Parfois
méthode
Précision de prédiction moyenne Faible
Vitesse d’entraînement Rapide
Rapidité de prédiction Rapide
Forêts aléatoires
Résultats interprétables Un peu
Facilité d’explication de la Non
méthode
Précision de prédiction moyenne Élevé
Vitesse d’entraînement Non
Rapidité de prédiction Modéré
Régression linéaire
Résultats interprétables Oui
Facilité d’explication de la Oui
méthode
Précision de prédiction moyenne Faible
Vitesse d’entraînement Rapide
Rapidité de prédiction Rapide
Régression logistique
Résultats interprétables Parfois
Facilité d’explication de la Parfois
méthode
Précision de prédiction moyenne Faible
Vitesse d’entraînement Rapide
Rapidité de prédiction Rapide
Naïves Bayes
Résultats interprétables Parfois
Facilité d’explication de la Parfois
méthode
Précision de prédiction moyenne Faible
Vitesse d’entraînement Rapide
27
-
Etude de la mise en place d’un antivirus intelligent
Nous voulons de nos clusters qu'ils soient resserrés sur eux-mêmes. Deux points qui
sont proches doivent appartenir au même cluster et pour cela nous allons utiliser la
distance euclidienne.
28
-
Etude de la mise en place d’un antivirus intelligent
Avec la détermination des centroïdes des clusters (le barycentre des points de ce
cluster) en utilisant la formule du barycentre :
L'objectif ici est de calculer la distance entre les centroïdes et les autres points tout en
regroupant les centroïdes et leurs points le plus proche.
29
-
Etude de la mise en place d’un antivirus intelligent
1 30
Le site officiel de virus share : www.virushare.com
-
Etude de la mise en place d’un antivirus intelligent
À l’issu d’une étude comparative entre les différentes méthodes d’IA et à travers une
présentation du modèle de fonctionnement de la solution, il ressort que la méthode la
mieux adaptée à la conception de l’antivirus est la méthode de clustering (K-means).
31
-
Etude de la mise en place d’un antivirus intelligent
32
-
Etude de la mise en place d’un antivirus intelligent
Enfin, dans cette dernière partie nous vous présenterons les différents résultats obtenus
après une phase d’entrainement de l’algorithme de clustering avec un modèle de
données soigneusement choisi. Une phase de discussion sera ensuite présentée afin de
mettre en évidence les points forts, les points faibles et les perspectives du projet.
I- Environnement de développement
1- Matériels et systèmes
L’environnement matériel et systèmes utilisés pour la réalisation du projet est un
ordinateur portable HP pavillon Notebook avec les caractéristiques systèmes suivants :
2- Langage de programmation
Le langage utilisé durant le développement de la solution est le langage Python dont
la version est le 2.7. C’est un langage de programmation interprété, de haut niveau et
à usage général. Créée par Guido van Rossum et publiée pour la première fois en 1991,
la philosophie de conception de Python met l'accent sur la lisibilité du code. Son
approche orientée objet vise à aider les programmeurs à écrire du code clair et logique
pour les projets à petite et grande échelle.
Il est utilisé pour :
• Développement web (côté serveur) ;
• Développement de logiciels ;
• Mathématiques ;
33
-
Etude de la mise en place d’un antivirus intelligent
• Script système ;
• Le Machine Learning ;
• L’analyse de données.
2- PEfile
34
-
Etude de la mise en place d’un antivirus intelligent
3- Anaconda
3- Jupyter
Jupyter est une application web utilisée pour programmer dans plus de 40 langages
de programmation, dont Python, Julia, Ruby, R. Jupyter est une évolution du
projet IPython. Jupyter permet de réaliser des calepins ou notebooks, c'est-à-dire des
programmes contenant à la fois du texte en markdown2 et du code en Julia, Python,
R... Ces notebooks sont utilisés en science des données pour explorer et analyser des
données.
Figure 6: Jupyter
2 35
Markdown est un langage de balisage léger créé en 2004 par John Gruber avec l'aide
d’Aaron Swartz. Son but est d'offrir une syntaxe facile à lire et à écrire.
-
Etude de la mise en place d’un antivirus intelligent
Nous commençons par préparer le jeu de données pour l’apprentissage. L’objectif est
de connaître le nombre de fichiers malveillants et le nombre de fichiers sains contenus
dans notre jeu de données.
Comme on peut le constater le jeu de données est constitué de 138047 fichiers dont
30% sont malveillants et 70% sont sains.
Ensuite, cette étape consiste à partitionner notre jeu de données en deux parties dont
une partie sera utilisée pour l'entraînement (80%) et l’autre partie pour le test (20%).
Suite au partitionnement, l'entraînement débutera avec le quota qui lui sera alloué en
utilisant l'algorithme de Clustering.
36
-
Etude de la mise en place d’un antivirus intelligent
À la suite de l'entrainement, les 20% de test issu de la partition ont été utilisés pour
tester l’entraînement de l'algorithme afin d'en mesurer les performances. On a obtenu
les résultats suivants :
• Sur 19413 fichiers sains dans notre jeu de données, 17023 ont été prédits sains
ce qui constitue notre vrai positif soit 0,876886622 environ 88%.
• Sur 19413 fichiers sains, 2390 ont été prédits malveillants ce qui constitue
notre vrai négatif soit 0,123113378 environ 12%.
37
-
Etude de la mise en place d’un antivirus intelligent
• Sur 8197 fichiers malveillants, 543 ont été prédits sains ce qui constitue notre
Faux positif soit 0,066243748 environ 07%.
• Sur 8197 fichiers sains, 7654 ont été prédit malveillant ce qui constitue notre
Faux négatif soit 0,933756252 environ 93%.
Précision
La précision est le rapport des observations positives correctement prédites par rapport
au total des observations positives prévues. Elle permet de répondre à la question
quelle proportion d'identifications positives était effectivement correcte ?
Dans notre cas la précision est de 97% pour la détection de fichiers sains et de 76%
pour la détection de fichiers malveillants ce qui est supérieure à 70%.
Le rappel
Le rappel est le rapport des observations positives correctement prédites par rapport à
toutes les observations dans la classe réelle. Il permet de répondre à la question quelle
proportion de résultats positifs réels a été identifiée correctement ?
Dans notre cas le rappel est de 88% pour la détection de fichiers sains et de 93%
pour la détection de fichiers malveillants ce qui est bon pour ce modèle car ils sont
supérieurs à 50%.
38
-
Etude de la mise en place d’un antivirus intelligent
Le test de notre algorithme sera fait via une interface web qui nous permettra de
soumettre les différents fichiers pour ensuite prédire la nature de ces fichiers
(malveillants ou pas).
Une fois le fichier télécharger, on lance le script comme le montre l’interface ci-
dessous. L’objectif est de prédire la nature fichier en se basant sur l’algorithme de
clustering.
39
-
Etude de la mise en place d’un antivirus intelligent
40
-
Etude de la mise en place d’un antivirus intelligent
III- Discussions
Nous mettrons ici en évidence les points forts et points faibles de notre système ainsi
que les perspectives à venir pour une amélioration de celui-ci.
1- Points forts
Comme tout travail de recherche, le nôtre revêt certains aspects positifs qu’il convient
d’énumérer :
• Notre solution a la capacité de détecter en un temps record (5 secondes en
moyenne) qu’un fichier est malveillant ou non ;
• L’algorithme permet de prédire à plus de 70% la nature d’un fichier ;
• Notre système utilise un algorithme de classification non supervisé qui lui
donne ainsi un aspect autonome ;
• Notre solution est capable de détecter un virus écrit avec n’importe quel
langage de programmation grâce à un algorithme efficace de détection du type
de fichier.
2- Points faibles
41
-
Etude de la mise en place d’un antivirus intelligent
pour faire face à ces insuffisances, nous proposons un plan en perspective en vue d’une
amélioration future de notre solution anti-virus.
3- Perspectives
Comme perspective en vue d’une amélioration de notre système, nous comptons :
• Entraîner davantage notre algorithme afin qu’il puisse détecter avec précision
le type de malware et proposer une solution pour contrer ce type spécifique de
malware ;
• Ajouter une fonctionnalité d’alerte face à une future attaque dans un
environnement réseau ;
• Permettre de générer un rapport hebdomadaire et mensuel sur la sécurité de
l’environnement réseau dans lequel il agit ;
• Mettre en place un algorithme de détection de type de fichier basé sur l’IA pour
la pré-analyse du fichier ;
• Mettre en place l’antivirus en intégrant l’algorithme de détection de la nature
du fichier et permettre à l’utilisateur d’effectuer des actions comme
suppression de fichier malveillant ou encore programmer les périodes de
scan ;
I- Contraintes
42
-
Etude de la mise en place d’un antivirus intelligent
II- Difficultés
Nous avons pu démontrer, à la suite de plusieurs tests que l’algorithme était capable
de détecter la nature d’un fichier malveillant ou sain. Cependant, ce projet a été réalisé
en surmontant d’énormes contraintes et difficultés.
43
-
Etude de la mise en place d’un antivirus intelligent
CONCLUSION
44
-
Etude de la mise en place d’un antivirus intelligent
WEBOGRAPHIE
[3] https://encyclopedia.kaspersky.fr/knowledge/antivirus-programs-their-quality-and-
issues/, consulté le 17/11/2019 ;
[4] https://www.linkedin.com/pulse/r%C3%A9sum%C3%A9-des-techniques-
dintelligence-artificielle-antoine-sauray, consulté le 10/01/2020 ;
[5] https://www.datakeen.co/8-machine-learning-algorithms-explained-in-human-
language/, consulté le 12/01/2020 ;
[6] https://www.actuia.com/vulgarisation/difference-entre-apprentissage-supervise-
apprentissage-non-supervise/, consulté le 12/01/2020 ;
[7] https://maximilienandile.github.io/2016/10/17/Machine-Learning-classification-a-
l-aide-des-arbres-de-decisions-fonctionnement-et-application-en-NodeJS/, consulté le
[10]http://cedric.cnam.fr/vertigo/Cours/ml2/coursForetsAleatoires.html#bre01,
consulté le 14/02/2020
[11] https://riptutorial.com/fr/machine-learning/example/32209/regression-lineaire,
consulté le 14/02/2020
[12] https://www-lmgm.biotoul.fr/enseignements/M2Pro_Bioinfo/Clustering.pdf,
consulté le 25/01/2020 ;
-
Etude de la mise en place d’un antivirus intelligent
XI
-
Etude de la mise en place d’un antivirus intelligent
XII
-
Etude de la mise en place d’un antivirus intelligent
XIII
-
Etude de la mise en place d’un antivirus intelligent
RESUME
Dans ce travail, Il était question de faire l’étude de la mise en place d’un
antivirus intelligent. Cette étude qui devait se limiter aux différentes étapes de la mise
en place de ce type d’antivirus, nous a permis d’aboutir à la mise en place d’un
algorithme de détection de la nature d’un fichier (Malveillant ou pas) basé sur l’IA.
Au travers de nos recherches, nous avons connu une manière plus efficace de détecter
les malwares en utilisant des mécanismes de reconnaissances et classements effectuées
par l’IA pour permettre de classer le fichier comme sain ou malveillant. Pour ce faire,
nous avons fait le choix de la méthode de clustering (K-means) qui permet de faire
l’apprentissage non supervisé et dont les résultats de l’apprentissage sont facilement
interprétables. Grâce à cet algorithme qui enseigne et apprend comment se comporte
un malware et à quoi il ressemble, il sera désormais possible de prédire de nouvelles
menaces de malwares dont nous ne disposons pas de leur signature. Ce qui n’était pas
possible avec les méthodes classiques de détections de malwares. À la fin de ce travail,
nous pouvons dire qu’il est possible de combiner l’IA et la cybersécurité pour garantir
la protection des données à caractères personnelles.
ABSTRACT
In this work, it was a question of studying the implementation of an smart
antivirus. This study which was to be limited to the different stages of the
implementation of this type of antivirus, allowed us to achieve the implementation of
an algorithm for detecting the nature of a file (Malicious or not) based on AI. Through
our research we have known a more efficient way to detect malware using recognition
and classification mechanisms performed by AI to allow the file to be classified as
healthy or malicious. To do this, we have chosen the clustering method (K-means)
which allows unsupervised learning and whose learning results are easily interpretable.
Thanks to this algorithm which teaches and learns how malware behaves and what it
looks like, it will now be possible to predict new malware threats that we do not have
their signature on. Which was not possible with conventional methods of malware
detection. At the end of this work, we can say that it is possible to combine AI and
cybersecurity to guarantee the protection of personal data.