Académique Documents
Professionnel Documents
Culture Documents
Titre
Réalisé par :
M. Ilias El Aoufi
1
Remerciements
Remerciements
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)
- B. mission…………………………………………………………. (7-9)
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.
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.
5
Introduction générale
1 .2 Organisation d'accueil
A. Biographie et vision
6
Introduction générale
B. Missions
7
• Promouvoir une formation inclusive
• Etudes stratégiques
8
Figure : piliers structurants [1]
9
Introduction générale
• Évaluer les différentes approches de ML pour la cybersécurité et les comparer avec les
approches traditionnelles.
10
Etude de l’existant
II) Chapitre I
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
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.
12
Figure : Cybersécurité schéma [2]
13
Etude de l’existant
- 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.
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.
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.
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
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.
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
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 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
20
Etude de l’existant
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
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
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.
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
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.
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.
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
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
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é.
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
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é.
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.
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.
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.
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
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
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
38