Vous êtes sur la page 1sur 38

RAPPORT DE STAGE

Présenté à Istag Bab Tizimi pour obtenir le diplôme

Diplôme technicien Spécialisé


EN
Infrastructure Digital Option Cloud Computing

Titre

Application du Machine Learning dans la Cybersécurité

Réalisé par :
M. Ilias El Aoufi

Encadrent Professionnel : M. Hamza Biti,


Dr. Btissam El Khamlichi

1
Remerciements

Remerciements

Avant tout développement sur cette expérience professionnelle, il


apparaît opportun de commencer ce rapport de stage par des
remerciements, à ceux qui m’ont accompagné lors de ce stage, et même
à ceux qui ont eu la gentillesse de faire de cette belle expérience un
moment très profitable.

Aussi, je remercie M. Hamza Biti, mon maître de stage qui m’a formé
et donné des directives tout au long de cette expérience professionnelle
avec beaucoup de patience et de pédagogie. Enfin, je remercie
l’ensemble de l’équipe Ai MOVEMENT pour les conseils qu’ils ont pu
me prodiguer au cours de cet aventure.

2
Table des matières
I) Introduction générale
- 1.1. Contexte ……………………………………………………………………... (4-5)

- 1 .2. Organisation d'accueil (Ai Movement) ……………………………………... (6-9)

- A. Biographie et vision……………………………………………. (6)

- B. mission…………………………………………………………. (7-9)

- 1.3. Objectifs de l'étude…………………………………………………………… (10)

II) Chapitre I : Etude de l’existant


- 2.1. Introduction à l'état de l'art…………………………………………………… (11)

- 2.2. Approches existantes en cybersécurité…………………………………… (12-13)

- 2.3. Modèles de Machine Learning pour la détection d'intrusion…………........(14-19)

- 2.4. Modèles de Machine Learning pour la classification de logiciels


malveillant…………………………………………………………………...…… (20)

- 2.5. Modèles de Machine Learning pour la prédiction d'attaques………………… (21)

III) Chapitre II : Solutions envisageables


- 3.1. Introduction aux solutions envisageables…………………...…………...… (22-23)

- 3.2. Analyse comparative des différentes solutions…………………………… (24-25)

- 3.3. Approches pour la détection d'intrusion…………………………………… (26-27)

- 3.4. Approches pour la classification de logiciels malveillants…………………… (28)

- 3.5. Approches pour la prédiction d'attaques…………………...……………… (29-30)

IV) Chapitre III : Réalisation


- 4.1. Cryptographie neuronale contradictoire en utilisant Theano …………… (31-34)

- 4.2. Generate adversaire exemples using TensorFlow………………………… (35-36)

V) Conclusion

3
I) Introduction générale
1.1. Contexte

L'intelligence artificielle est une discipline de l'informatique qui a pour but de créer des
machines capables d'effectuer des tâches qui nécessitent normalement l'intelligence
humaine. Les avancées récentes dans ce domaine ont permis de créer des machines
capables de comprendre et d'interagir avec leur environnement, de résoudre des
problèmes complexes, de prendre des décisions autonomes et d'apprendre de nouvelles
tâches par elles-mêmes.

Il existe plusieurs branches de l'IA, chacune se concentrant sur un aspect spécifique de


l'intelligence artificielle. L'apprentissage automatique (Machine Learning) est l'une des
branches les plus populaires de l'IA, qui vise à donner aux machines la capacité
d'apprendre à partir de données, sans être explicitement programmées. Le traitement du
langage naturel (Natural Language Processing ou NLP) se concentre sur l'interaction
entre les machines et le langage humain, tandis que la vision par ordinateur (Computer
Vision) vise à donner aux machines la capacité de comprendre et d'interpréter des
images et des vidéos.

D'autres branches de l'IA incluent les systèmes experts, les réseaux de neurones
artificiels, l'apprentissage en profondeur (Deep Learning) et la robotique. Ces branches
ont toutes des applications pratiques dans divers domaines, tels que la santé, l'industrie,
la finance et la sécurité. L'intelligence artificielle est en constante évolution et a le
potentiel de transformer la façon dont nous vivons et travaillons.

Le Machine Learning (ML) est une technologie qui peut aider à renforcer la sécurité des
systèmes informatiques en détectant automatiquement les activités suspectes. Cette
approche repose sur l'analyse de grandes quantités de données, souvent appelées Big
Data, pour identifier les modèles de comportement qui indiquent une tentative
d'intrusion. Les algorithmes de ML sont conçus pour apprendre de manière autonome à

4
partir de ces données, ce qui leur permettent de s'adapter aux nouvelles menaces et
d'identifier les attaques sophistiquées qui peuvent être difficiles à détecter par les
méthodes traditionnelles.

Il peut être appliqué dans divers domaines de la cybersécurité, tels que la détection des
malwares, la prévention des attaques par phishing, l'analyse des vulnérabilités, et la
détection des anomalies. En guise d’exemple, les entreprises peuvent utiliser des outils
de ML pour analyser les journaux d'événements de leurs systèmes informatiques et
détecter les activités anormales, telles que les tentatives de connexion depuis des
adresses IP suspectes ou les tentatives de détection de vulnérabilités.

Il est important de noter que le ML n'est pas une solution miraculeuse pour la
cybersécurité. Les attaquants peuvent également utiliser cette technologie pour élaborer
des attaques plus sophistiquées et plus difficiles à détecter et à analyser. Par conséquent,
les entreprises doivent utiliser ladite technologie en conjonction avec d'autres
techniques de cybersécurité, telles que l'authentification à deux facteurs, la gestion des
accès privilégiés, et la formation des employés à la sécurité informatique.

En somme, le ML demeure une composante essentielle et prometteuse pour renforcer la


sécurité des systèmes informatiques et protéger les entreprises et les organisations
contre les cyberattaques. Cependant, son utilisation doit être intégrée à une approche
plus globale de la cybersécurité pour être efficace.

5
Introduction générale

1 .2 Organisation d'accueil

A. Biographie et vision

Ai Movement est le centre international d'intelligence artificielle du Maroc, est un centre


d'excellence en intelligence artificielle qui vise à favoriser l'émergence d'un savoir-faire
marocain en intelligence artificielle et en sciences des données. Le centre se veut à la
fois un outil d'articulation et de consolidation de différentes actions ayant trait au
domaine de l'IA, avec pour ambition de faire du Maroc un hub régional d'IA impactant
pour son écosystème sur les plans stratégiques, éducatifs et industriels.

Ai Movement s'efforce également d'anticiper et d'accompagner les évolutions et les


transformations relatives à l'intelligence artificielle et aux sciences des données. Dans
cette optique, le centre travaille à apporter des solutions innovantes, opérationnelles,
résilientes et éthiques aux problématiques de la société, de l'environnement, du marché,
de l'économie et de la technologie. Le centre est basé au sein de l'Université Mohammed
VI Polytechnique (UM6P) et il est dirigé par Professeure Amal EL FALLAH
SEGHROUCHNI, une experte mondiale de l'intelligence artificielle distribuée et des
systèmes multi-agents.

6
Introduction générale

B. Missions

Ai Movement est un centre qui se positionne comme un hub pour la transformation en


Intelligence Artificielle. Le centre s'appuie sur sept piliers structurants pour définir ses missions
: la formation, la recherche et développement, les collaborations nationales et internationales,
l'innovation, les terrains, le transfert et les études stratégiques. Il a pour objectif principal de
faire avancer l’état de l’art de l’Intelligence Artificielle et développer des solutions d’envergure
nationales et internationale tout en créant les impacts sociaux, environnementaux, et
économiques.

Nous pouvons citer les piliers en détails de Ai Movement comme suit :

• Favoriser l’émergence d’un écosystème attractif

❖ Attirer les compétences internationales en IA et Science des Données pour travailler en


collaboration avec les chercheurs nationaux
❖ Créer des synergies à l’international et faire émerger des talents nationaux.
❖ Créer et consolider les partenariats internationaux de qualité.

• Développer une approche orientée terrain

❖ Sensibiliser et familiariser la société pour l’acceptation des transformations liées à la


dématérialisation des services et à l’IA.
❖ Conduire le changement de façon adaptée aux différentes strates de la société.
❖ Etudier les différents terrains et identifier les besoins et attentes des différents strates
sociétales.

7
• Promouvoir une formation inclusive

❖ Concevoir et mettre en place des formations adaptées pour accompagner l’appropriation


de l’IA et son évolution : formation initiale, formation des jeunes dès le collège, la
formation tout au long de la vie pour les adultes, la formation professionnelle, etc.

• Combiner la recherche théorique et appliquée, le développement de


technologies, l’Innovation et le transfert industriel

❖ Développer les structures de recherche et les connecter au monde de l’entreprise


pour créer une synergie entre recherche et besoins industriels et sociétaux.
❖ Développer une recherche qui favorise l’innovation, la créativité et le
développement d’outils disruptifs et innovants ; des produits technologiques à
forte valeur ajoutée (y compris des outils à déployer pour l’innovation
éducative).
❖ Mettre une emphase particulière sur les start-ups et l’entreprenariat des jeunes.
❖ Transférer des résultats de la recherche menée en partenariat avec le monde
économique (R&D) et des innovations vers les entreprises d’une part et vers la
société d’autre part.
❖ Favoriser la création d’un écosystème de R&D (favorisant la pluridisciplinarité
et la collaboration avec les centres de recherche existants, les laboratoires de
recherche nationaux et internationaux), d’entrepreneuriat et d’innovation
(FabLab, Start-up, PME, TPE, etc.) avec des cycles courts et des synergies pour
la créativité.

• Etudes stratégiques

❖ Assurer et maintenir une vision stratégique et géopolitique relative aux


transformations induites par l’IA.
❖ Se doter d’outils comme des « Think Tanks » ou des instituts de « convergence
» pour apporter un éclairage sur l’impact sociétal, économique, éthique et
politique des développements en IA.

8
Figure : piliers structurants [1]

9
Introduction générale

1.3. Les objectifs de l'étude


L'objectif de cette étude est de comprendre comment les techniques de ML peuvent être
appliquées dans le domaine de la cybersécurité pour améliorer la détection des menaces et
renforcer la sécurité des systèmes d'information. Pour atteindre cet objectif, cette étude se
concentrera sur les points suivants :

• Comprendre l'état de l'art des approches existantes en cybersécurité et de leur


application dans le domaine de la sécurité informatique.

• Analyser les modèles de ML pour la détection d'intrusion, la classification de logiciels


malveillants et la prédiction d'attaques.

• Évaluer les différentes approches de ML pour la cybersécurité et les comparer avec les
approches traditionnelles.

• Mettre en œuvre deux applications concrètes de ML pour la cybersécurité, l'une pour la


détection d'intrusion et l'autre pour la génération d'exemples adversaires.

• Finalement, conclure sur les avantages et les limites de l'application de la technologie


de ML dans le domaine de la cybersécurité.

10
Etude de l’existant

II) Chapitre I

2.1. Introduction à l'état de l'art

La cybersécurité est un domaine critique qui est confronté à une croissance exponentielle des
menaces numériques. Les attaques informatiques peuvent prendre de nombreuses formes, allant
du vol de données confidentielles à la désactivation de systèmes critiques. Pour lutter contre
ces menaces, les professionnels de la sécurité doivent être en mesure d'identifier rapidement les
attaques et de les contrer efficacement. Les modèles de ML peuvent aider à atteindre ces
objectifs en offrant une approche proactive de la sécurité, permettant aux systèmes de détecter
et de prévenir les attaques avant qu'elles ne se produisent.

Les techniques de ML pour la cybersécurité ont évolué de manière significative ces dernières
années. Les approches traditionnelles, telles que les règles préétablies, les signatures de virus
et les systèmes de détection d'intrusion basés sur des anomalies, ont des limites en raison de la
complexité croissante des attaques et de leur capacité à contourner les systèmes de sécurité
existants. Les approches basées sur le ML peuvent aider à surmonter ces limites en apprenant
à partir des données pour identifier les schémas de comportement anormal.

11
Etude de l’existant

2.2. Approches existantes en cybersécurité

Les approche existantes en cybersécurité peuvent être divisées en deux catégories Principales :
les approches basées sur des règles et les approches basées sur des modèles de ML.

Les approches basées sur des règles impliquent l'utilisation de règles prédéfinies pour identifier
les menaces. Ces règles peuvent inclure des signatures de virus, des modèles de trafic réseau,
des règles de pare-feu et des listes de contrôle d'accès. Bien que ces approches soient simples à
mettre en place, elles ont des limites en raison de leur incapacité à détecter des attaques
inconnues ou des attaques basées sur des techniques d'obfuscation.

Les approches basées sur des modèles de ML impliquent l'utilisation d'algorithmes


d'apprentissage automatique pour apprendre à partir des données et détecter les schémas de
comportement anormal. Ces approches peuvent être supervisées ou non supervisées, en
fonction des données disponibles pour l'entraînement des modèles. Les approches supervisées
impliquent l'utilisation de données étiquetées pour entraîner les modèles, tandis que les
approches non supervisées impliquent l'utilisation de données non étiquetées pour détecter les
anomalies.

12
Figure : Cybersécurité schéma [2]

13
Etude de l’existant

2.3. Modèles de Machine Learning pour la détection d'intrusion

La détection d'intrusion est un élément essentiel de la cybersécurité, et les modèles de ML


peuvent être utilisés pour améliorer la capacité de détection des systèmes de sécurité
informatique.

Et voici quelque exemple :

- Réseaux de neurones : ce sont des techniques de Deep Learning qui peuvent être utilisés
pour la détection d'intrusion en analysant le trafic réseau et en identifiant les anomalies.
Ils sont souvent utilisés pour la détection d'attaques de type « jour zéro » qui n'ont jamais
été observées auparavant.

Figure : Réseaux de neurones [3]

14
- Arbres de décision : ce sont des modèles de ML qui peuvent être utilisés
pour la détection d'intrusion en analysant les Caractéristiques des paquets réseau et en
les classant en fonction de leur probabilité d'être malveillants.

Figure : Arbres de décision [4]

15
- Machines à vecteurs de support : C’est une technique qui est utilisé pour la
classification d'intrusion en analysant les caractéristiques du trafic réseau et en les
classant en fonction de leur probabilité d'être malveillants.

Figure : Machines à vecteurs de support [5]

16
- Algorithmes de clustering : Ces algorithmes font partie du ML. Ils peuvent être utilisés
pour la détection d'intrusion en identifiant des Groupes de paquets réseau similaires. Les
anomalies peuvent ensuite être détectées en comparant les groupes à des profils
normaux

Figure : Algorithmes de clustering [6]

17
- Réseaux bayésiens : ce sont des réseaux de Deep Learning qui peuvent être utilisés pour
la détection d'intrusion en analysant les caractéristiques du trafic réseau et en calculant
la probabilité qu'une activité soit malveillante.

Figure : Réseaux bayésiens [7]

18
- Algorithmes de forêt aléatoire : Ces algorithmes figure parmi les modèles de ML qui
peuvent être utilisés pour la détection d'intrusion en analysant les caractéristiques des
paquets réseau et en les classant en fonction de leur probabilité d'être malveillants. Ce
modèle est particulièrement efficace pour détecter les attaques de type « jour zéro ».

.
Figure : Guide Algorithmes de forêt aléatoire [8]

19
Etude de l’existant

2.4. Modèles de Machine Learning pour la classification de logiciels


malveillants

La classification de logiciels malveillants est une tâche cruciale pour la sécurité informatique.

Les modèles de ML peuvent être utilisés pour classifier les logiciels malveillants en fonction

de leur comportement, de leurs caractéristiques ou de leur famille. Les modèles de classification

de logiciels malveillants sont généralement entraînés sur des données de logiciels malveillants

connus, afin de reconnaître les nouveaux logiciels malveillants en se basant sur leurs

ressemblances avec les logiciels malveillants existants. Les modèles de classification peuvent

être utilisés pour détecter différents types de logiciels malveillants, tels que les virus, les

chevaux de Troie, les ransomwares, les rootkits, etc.

20
Etude de l’existant

2.5. Modèles de Machine Learning pour la prédiction d'attaques

L'utilisation de modèles de ML pour la prédiction d'attaques est un domaine de plus en plus


prometteur en cybersécurité. Les attaques informatiques sont de plus en plus sophistiquées et
complexes, ce qui nécessite des outils plus avancés pour les détecter et les prévenir. Les modèles
de ML peuvent aider à prédire les attaques potentielles en analysant de grandes quantités de
données en temps réel, en identifiant les patterns et les comportements anormaux.

Parmi les modèles de ML les plus couramment utilisés pour la prédiction d'attaques, on trouve
les réseaux de neurones, les arbres de décision, les machines à vecteurs de support (SVM), les
algorithmes de clustering, etc. Ces techniques peuvent être entraînés à partir de données
historiques pour apprendre à identifier les caractéristiques des attaques et à prédire les
comportements malveillants futurs.

L'utilisation de modèles de prédiction d'attaques basés sur le ML peut aider les entreprises et
les organisations à améliorer leur posture en matière de cybersécurité, en détectant les attaques
potentielles avant qu'elles ne causent des dommages. Toutefois, il est important de noter que
ces modèles ne peuvent pas être utilisés seuls pour garantir une sécurité absolue, mais plutôt
comme une méthode complémentaire pour renforcer la sécurité globale. E

21
Solutions envisageables

Chapitre II

3.1. Introduction aux solutions envisageables

Le domaine de la cybersécurité est en constante évolution en raison de l'augmentation du


nombre d'attaques informatiques sophistiquées. Les systèmes de sécurité traditionnels ne sont
plus suffisants pour protéger les données et les réseaux informatiques. L'application du ML
dans la cybersécurité est devenue une nécessité pour détecter et prévenir les attaques
informatiques. Il existe différentes solutions envisageables pour utiliser le ML en cybersécurité,
notamment la détection d'intrusion, la classification de logiciels malveillants et la prédiction
d'attaques. Chaque solution a ses avantages et ses limites en fonction des besoins spécifiques
des entreprises et des organisations.

Parmi ces solutions, l'Adversaire Neural Cryptographie in Theano est une technique innovante
qui a émergé ces dernières années. Cette technique utilise des réseaux de neurones adverses
pour générer des modèles cryptographiques qui peuvent détecter les attaques informatiques et
protéger les données sensibles. L'Adversaire Neural Cryptographie in Theano est une solution
efficace pour assurer la sécurité et la confidentialité des données dans les réseaux informatiques.
Cette technique peut être utilisée pour la détection D’intrusion en utilisant des réseaux de
neurones adverses pour générer des données synthétiques qui imitent les comportements
malveillants. Elle peut également être utilisée pour la classification de logiciels malveillants en
générant des signatures cryptographiques qui peuvent identifier les Programmes malveillants.
Enfin, elle peut être utilisée pour la prédiction d'attaques en générant des modèles adverses qui
simulent les attaques potentielles et aident à anticiper les menaces avant qu'elles ne se
produisent.

22
En somme, l'Adversaire Neural Cryptographie est une solution innovante pour la cybersécurité
qui offre des avantages significatifs par rapport aux techniques de sécurité traditionnelles. Cette
technique utilise des réseaux de neurones adverses pour générer des modèles cryptographiques
qui peuvent détecter les attaques informatiques et protéger les données sensibles. Elle peut être
utilisée pour la détection d'intrusion, la classification de logiciels malveillants et la prédiction
d'attaques, ce qui la rend extrêmement polyvalente et adaptable aux besoins spécifiques des
entreprises et des organisations.

23
Solutions envisageables

3.2. Analyse comparative des différentes solutions

Pour comparer les différentes techniques de ML pour la cybersécurité, il convient de prendre


en compte plusieurs facteurs tels que la précision, le temps de réponse, la complexité, la
fiabilité, la capacité à détecter les attaques avancées et la capacité à se protéger contre les
attaques.

Les réseaux de neurones sont souvent utilisés pour la détection d'intrusion car ils sont capables
de capturer des motifs complexes dans les données. Cependant, ils peuvent être vulnérables aux
attaques adverses et ont tendance à produire des faux positifs. Les arbres de décision sont
efficaces pour la classification de logiciels malveillants car ils sont faciles à interpréter et à
visualiser. Cependant, ils ont tendance à être moins précis que d'autres techniques de ML. Les
SVM sont largement utilisés pour la détection de logiciels malveillants car ils sont capables de
traiter de grandes quantités de données et d'identifier des relations non linéaires. Cependant, ils
peuvent être coûteux en termes de temps de traitement et ont tendance à produire des faux
positifs.

Les algorithmes de clustering sont utiles pour la détection d'intrusion car ils peuvent identifier
les groupes d'activités suspectes dans les données. Cependant, ils peuvent être sensibles au bruit
et à la présence d'outliers. L'Adversaire Neural Cryptographie in Theano se distingue des autres
techniques de ML en termes de sécurité et de confidentialité. Elle utilise des réseaux de
neurones adverses pour générer des modèles cryptographiques qui peuvent détecter les attaques
informatiques et protéger Les données sensibles. Elle est particulièrement utile pour la détection
d'intrusion, la classification de logiciels malveillants et la prédiction d'attaques.

En résumé, chaque technique de ML pour la cybersécurité a ses avantages et ses inconvénients


en fonction des besoins spécifiques des entreprises et des organisations. L'Adversaire Neural

24
Cryptographie se distingue des autres techniques par sa capacité à assurer la sécurité et la
confidentialité des données sensibles en utilisant des réseaux de neurones adverses pour générer
des modèles cryptographiques. Cette technique est particulièrement utile pour la détection
d'intrusion, la classification de logiciels malveillants et la prédiction D’attaques.

Cependant, il est important de noter que chaque technique doit être évaluée en fonction de ses
performances dans un contexte spécifique et qu'il est souvent nécessaire d'utiliser une
combinaison de techniques pour une meilleure détection et prévention des attaques
informatiques. En outre, la sécurité et la confidentialité des données doivent être considérées
comme des priorités absolues dans tous les aspects de la cybersécurité, et il est essentiel de
mettre en place des mesures de protection appropriées pour éviter les pertes de données et les
attaques malveillantes.

25
Solutions envisageables

3.3. Approches pour la détection d'intrusion

Les approches pour la détection d'intrusion basées sur le ML peuvent être classées en deux
catégories principales : supervisées et non supervisées. Les approches supervisées utilisent des
données d'entraînement étiquetées pour apprendre les modèles de trafic et détecter les
comportements anormaux. Ces données d'entraînement peuvent être collectées à partir de
sources diverses telles que des journaux d'événements, des alertes de sécurité, des données de
trafic réseau et des informations de configuration du système. Les approches supervisées sont
efficaces pour détecter les menaces connues et les activités malveillantes, mais elles ont des
limites pour identifier les nouvelles menaces.

Figure : Traditionnel modeling Ai [9]

26
Les approches non supervisées, en revanche, sont utilisées pour détecter les menaces inconnues
ou les comportements malveillants non spécifiés. Elles sont basées sur l'apprentissage des
comportements normaux d'un réseau ou d'un système, et toute activité qui ne correspond pas à
ces modèles est considérée comme suspecte. Les approches non supervisées peuvent être
utilisées pour détecter les menaces inconnues ou les activités malveillantes, mais elles peuvent
également générer des faux positifs si les modèles de comportement.

Figure : Machine Learning [10]

En somme, les approches de détection d'intrusion basées sur le ML sont très efficaces pour
détecter les comportements anormaux et les activités malveillantes sur un réseau informatique
ou un système. Toutefois, pour maximiser leur efficacité, il est important d'avoir un volume
suffisant de données d'entraînement et des modèles de comportement normaux bien établis. Par
conséquent, il est essentiel de développer des algorithmes de ML de pointe et des outils de
collecte de données pour garantir une cybersécurité solide.

27
Solutions envisageables

3.4. Approches pour la classification de logiciels malveillant

Les algorithmes de ML peuvent être utilisés pour la classification de logiciels malveillants en


analysant les caractéristiques et le comportement des programmes. Les algorithmes peuvent
être entraînés à reconnaître les caractéristiques des logiciels malveillants tels que les signatures,
les motifs de code, les comportements anormaux, les vulnérabilités exploitées, les actions
malveillantes et les techniques de dissimulation. En utilisant ces caractéristiques, les
algorithmes de ML peuvent détecter les logiciels malveillants et les classer en différentes
catégories en fonction de leur type, de leur famille et de leur niveau de dangerosité.

Cette approche de classification de logiciels malveillants peut aider à prévenir les attaques en
identifiant les logiciels malveillants avant qu'ils ne puissent causer des dommages. Elle peut
également aider à protéger les données des utilisateurs en détectant et en isolant les logiciels
malveillants pour empêcher leur propagation. Cependant, la classification précise des logiciels
malveillants peut être difficile en raison de leur nature changeante et de leur capacité à se
dissimuler. Il est donc important d'avoir des ensembles de données de formation représentatifs
et de mettre à jour régulièrement les algorithmes de classification pour garantir leur efficacité.

28
Solutions envisageables

3.5. Approches pour la prédiction d'attaques

La prédiction d'attaques est une approche importante en matière de cybersécurité, car elle
permet de prévoir les menaces potentielles et de mettre en place des mesures de sécurité
préventives. Pour cela, les techniques de ML sont souvent utilisées, en particulier les
algorithmes d'apprentissage supervisé.

Les algorithmes d'apprentissage supervisé utilisent un ensemble de données d'entraînement


pour apprendre à reconnaître les modèles d'attaques et à prédire les attaques futures. L'ensemble
de données peut inclure des caractéristiques telles que l'adresse IP de l'attaquant, la méthode
d'attaque utilisée, l'heure de l'attaque, le type de système cible et d'autres informations
pertinentes. Ces caractéristiques sont ensuite utilisées pour former un modèle prédictif qui peut
identifier les tendances et les modèles d'attaques.

Il existe différents types d'algorithmes d'apprentissage supervisé pour la prédiction d'attaques,


tels que les arbres de décision, les réseaux de neurones artificiels, les machines à vecteurs de
support et les forêts aléatoires. Chaque algorithme a ses avantages et ses inconvénients, et il est
important de sélectionner celui qui convient le mieux à un contexte particulier.

La prédiction d'attaques peut être utilisée dans différents scénarios de cybersécurité, tels que la
surveillance du trafic réseau, la détection de logiciels Malveillants et la protection des systèmes
critiques. Elle permet de détecter les attaques avant qu'elles ne se produisent et d'alerter les
équipes de sécurité pour qu'elles puissent prendre les mesures appropriées pour les contrer.

Cependant, la prédiction d'attaques n'est pas une solution miracle. Les modèles prédictifs
peuvent être affectés par des facteurs imprévisibles, tels que les changements dans les

29
comportements des utilisateurs et les nouvelles techniques d'attaques. Il est donc important de
mettre en place des mesures de sécurité complémentaires pour assurer une protection complète
contre les menaces de cybersécurité.

30
Réalisation

IV) Chapitre III

4.1. Adversaire Neural Cryptographie in Theano

J'ai utilisé un programme de réseau neuronal qui simule un système de communication sécurisé
entre Alice et Bob, tandis qu'Eve essaie d'écouter la communication. Le programme utilise une
combinaison de couches cachées et de couches convolutionnelles pour chiffrer et déchiffrer les
messages. Pour démarrer le programme, j'ai défini quelques variables telles que la taille de lot,
la longueur du message, la longueur de la clé et la longueur de la communication. Ensuite, j'ai
utilisé des variables tensorielles pour le message et la clé. L'entrée d'Alice est la concaténation
du message et de la clé.

Figure : Le schéma de configuration du réseau antagoniste [11]

31
Le programme que j'ai utilisé avait déjà créé la couche cachée d'Alice en utilisant l'entrée
concaténée, qui a ensuite été remodelée pour la convolution. Ensuite, les couches de
convolution d'Alice ont été définies pour créer la communication de sortie.

Figure : Configuration du réseau neuronal d’Alice [12]

32
Lorsque Bob reçoit la communication d'Alice et la clé en entrée, il déchiffre le message en
utilisant une couche cachée et un réseau de convolution comme Alice. Pendant ce temps, Eve
voit la communication d'Alice à Bob mais pas la clé. Elle obtient une couche cachée
supplémentaire pour essayer d'apprendre à déchiffrer le message.

Figure : Configuration du réseau neuronal de Bob [13]

33
Le programme que j'ai utilisé avait également défini les fonctions de perte pour Bob et Eve en
utilisant la norme L1 entre les messages vrais et récupérés. La fonction de perte de Bob incluait
un terme supplémentaire pour pénaliser Eve pour avoir effectué une meilleure estimation que
le hasard.

Figure : Configuration du réseau neuronal d’Eve [14]

Le programme comprenait également des fonctions pour définir les paramètres, les mises à jour,
l'entraînement et la prédiction pour Bob et Eve. Enfin, une classe avait été définie pour la
configuration standard de la couche de convolution utilisée par Alice, Bob et Eve.

34
Réalisation

4.2. Generate adversaire exemples using TensorFlow

J'ai travaillé sur un projet visant à comprendre et à créer des exemples adverses en utilisant
TensorFlow. Les exemples adverses sont des entrées pour les modèles d'apprentissage
automatique conçues pour amener le modèle à commettre une erreur. Ces exemples peuvent
être générés en utilisant des techniques comme la méthode du signe de gradient rapide, qui
ajoute une petite perturbation à l'image d'entrée pour créer un nouvel exemple d'entraînement.

Dans ce projet, j'ai utilisé un code existant qui se base sur un modèle Keras pré-entraîné pour
la détection de points clés du visage. Ce modèle prend une image en entrée et renvoie les
coordonnées (x, y) de 15 points remarquables sur le visage. J'ai utilisé ce modèle pour générer
des exemples adverses en définissant une classe qui utilise la méthode du signe de gradient
rapide. Cette classe prend le modèle pré-entraîné, une image d'entrée et l'étiquette réelle de
l'image en entrée, et génère un exemple adverse en ajoutant une perturbation à l'image d'entrée
dans la direction du signe du gradient de la fonction de perte par rapport à l'image d'entrée.
L'amplitude de la perturbation est contrôlée par un hyperparamètre appelé epsilon.

La classe que j'ai utilisée à deux méthodes : la méthode predict renvoie l'étiquette de classe
prédite d'une image d'entrée en utilisant le modèle pré-entraîné, tandis que la méthode
get_aimage génère une image adverse en utilisant la méthode du signe de gradient rapide. Si le
paramètre added_noise est Vrai, la méthode renvoie également la perturbation ajoutée à l'image
d'origine pour créer l'image adverse.

Enfin, j'ai utilisé les données de détection de points clés du visage de Kaggle pour générer des
exemples adverses. J'ai chargé les données en utilisant la fonction load2d et j'ai défini une
fonction plot_sample pour tracer les images avec leurs étiquettes de points remarquables. Dans

35
l'ensemble, ce projet a été une excellente expérience d'apprentissage pour moi pour comprendre
et travailler avec des exemples adverses dans les modèles d'apprentissage automatique.

Figure : Générez des images contradictoires ainsi que de bonnes images et visualisez-les avec
RMSE [15]

36
V) Conclusion

En conclusion de ce stage, j'ai eu l'opportunité d'approfondir mes connaissances en matière de


cybersécurité et de découvrir comment les techniques de Machine Learning peuvent être
appliquées pour renforcer la sécurité des systèmes d'information. J'ai appris à comprendre l'état
de l'art des approches existantes en cybersécurité, à analyser les modèles de ML pour la
détection d'intrusion, la classification de logiciels malveillants et la prédiction d'attaques, et à
évaluer les différentes approches de ML pour la cybersécurité.

Au cours de ce stage, j'ai également eu la possibilité de mettre en œuvre deux applications


concrètes de ML pour la cybersécurité, l'une pour la détection d'intrusion et l'autre pour la
génération d'exemples adversaires. Ces expériences ont renforcé ma compréhension des
avantages et des limites de l'application de la technologie de ML dans le domaine de la
cybersécurité.

Je suis reconnaissant envers l'organisation d'accueil (Ai Movement) pour m'avoir permis de
réaliser ce stage et pour m'avoir accompagné tout au long de cette expérience. J'ai beaucoup
appris en travaillant avec l'équipe et j'ai hâte de poursuivre mes recherches sur ce sujet
passionnant.

37
Table de référence

[1] source disponible en ligne sur :


https://aim.um6p.ma/wp-content/uploads/2022/10/mission_fr-980x1024.png
[2] source disponible en ligne sur :
https://www.medianesysteme.com/images/Activite/Metiers/Visuel-cybersecurite.jpg
[3] source disponible en ligne sur : https://inside-machinelearning.com/wp-
content/uploads/2020/12/DeepLearning_Basique5-1024x687.png

[4] source disponible en ligne sur :


https://th.bing.com/th/id/OIP.XLRnX_cnMSFCkJC0hzBDMAHaGM?pid=ImgDet&rs=1

[5] source disponible en ligne sur : https://www.antoinebenkemoun.fr/wp-


content/uploads/2009/08/DetectionIntrusionAnalyse.jpg

[6] source disponible en ligne sur : https://datascience.eu/wp-


content/uploads/2020/10/Screenshot-2020-10-17-at-13.30.08-978x652.png

[7] source disponible en ligne sur : https://th.bing.com/th/id/OIP.ft7PwkS3mMpcxK-


JZ3j5LwHaCV?pid=ImgDet&rs=1

[8] source disponible en ligne sur : https://guidesurvie.com/wp-


content/uploads/2021/06/Lalgorithme-de-foret-aleatoire-un-guide-complet.png

[9] source disponible en ligne sur :


https://www.researchgate.net/publication/343079524/figure/fig2/AS:915363042693123@159
5250964925/Difference-between-Traditional-Programming-and-Machine-Learning-3.ppm

[10] source disponible en ligne sur :


https://www.researchgate.net/publication/343079524/figure/fig2/AS:915363042693123@159
5250964925/Difference-between-Traditional-Programming-and-Machine-Learning-3.ppm

[11], [12], [13], [14] source disponible en ligne sur :


https://nlml.github.io/images/crypt/fig1.png

[15] source disponible en ligne sur : https://fairyonice.github.io/Generate-adversarial-examples-


using-TensorFlow.html

38

Vous aimerez peut-être aussi