Abdelilah Nossair

Ingénierie indépendante en IA, données, plateformes web et systèmes d’entreprise.

FERMER

Détection d'hameçonnage®

Détection d'e-mails d'hameçonnage par IA

  • Présentation

Organisation

Cyber Centre de Deloitte Maroc

Année

2024

Rôle

Stagiaire en cybersécurité et IA

Plateforme

Extension Chrome + API Flask

Un système de détection d'hameçonnage fondé sur l'IA, conçu pour aider les utilisateurs à identifier les messages suspects grâce à l'apprentissage automatique, au traitement du langage naturel et à une extension Chrome directe.

Interface d'extension PhishGuard Chrome
  • Contexte du stage

Le projet a été développé pendant mon stage au Cyber Centre de Deloitte Maroc, avec pour objectif de traduire un problème de cybersécurité en un système d'IA appliqué, testable dans un flux d'e-mails quotidien.

Deloitte innovation et technologie visuelle
Bâtiment Deloitte extérieur
Intérieur de bureau Deloitte
  • Défi & Approche

L’hameçonnage reste l’une des menaces de cybersécurité les plus persistantes, tandis que l’examen manuel des e-mails est lent, incohérent et difficile à déployer à grande échelle. Le projet devait détecter précisément les contenus suspects sans donner à l’utilisateur l’impression de suivre le processus d’un spécialiste de la sécurité.

L’approche associait des jeux de données d’hameçonnage sélectionnés, l’ingénierie des caractéristiques, l’entraînement des modèles et une couche de déploiement web. Plusieurs modèles d’apprentissage automatique et de traitement du langage naturel ont été évalués avant de retenir celui qui convenait le mieux à une extension de navigateur concrète.

  • Nettoyage et fusion de jeux de données d'e-mails d'hameçonnage pour obtenir des données prêtes pour le modèle
  • Extraction de caractéristiques à partir du contenu des e-mails, des objets, des URL et des motifs de texte
  • Évaluation comparative de Random Forest, Gradient Boosting, régression logistique et DistilBERT
  • Un parcours simple dans une extension Chrome pour intégrer la détection directement à la boîte de réception
Logo Deloitte
  • Évaluation et sélection du modèle

Le jeu de données a été divisé en ensembles d'entraînement, de validation et de test. Les classifieurs traditionnels utilisaient des variables construites comme la longueur de l'e-mail, le nombre d'URL, la proportion de caractères spéciaux et les mots-clés d'hameçonnage. DistilBERT recevait le sujet et le corps combinés, puis utilisait sa représentation contextuelle du langage en complément des signaux extraits.

Chaque candidat a été évalué sur le jeu de test réservé à l’aide de l’exactitude, de la précision, du rappel et du score F1. La comparaison ci-dessous explique la décision de déploiement : DistilBERT est le seul modèle à avoir obtenu des performances solides et équilibrées sur les quatre mesures.

ModèleExactitudePrécisionRappelScore F1
Forêt aléatoire84.69%85.23%82.17%83.67%
Gradient Boosting83.56%83.94%80.69%82.28%
Régression logistique64.85%64.79%56.30%60.25%
DistilBERT98.08%98.05%98.10%98.07%

Métriques sur le jeu de test rapportées dans le rapport de stage. DistilBERT utilisait le texte brut des e-mails en complément des signaux d'hameçonnage extraits.

  • Architecture d'inférence

Le déploiement a séparé l'interaction utilisateur de l'inférence du modèle. Une extension Chrome a capturé le sujet et le corps de l'email ouvert; un service Flask a préparé l'entrée, lancé la prédiction, et a retourné une probabilité d'hameçonnage au navigateur.

Extension Chrome

HTML, CSS et JavaScript exposent une action « Détecter l'hameçonnage » dans Gmail et Outlook, puis envoient le contenu de l'e-mail au format JSON.

API Flask

POST /detect segmente l'e-mail en jetons, extrait les signaux construits, lance l'inférence et renvoie une réponse de probabilité en JSON.

Traitement côté serveur
  • Vérifie le langage d'urgence, les offres « trop belles pour être vraies », les balises HTML, le nombre d'URL, les pièces jointes suspectes et la proportion de caractères spéciaux.
  • Segmente le texte de l’e-mail en jetons et combine la sortie du modèle avec les indicateurs d’hameçonnage extraits avant de produire une probabilité softmax.
  • Active CORS pour les requêtes de l'extension vers l'API et ne conserve pas le contenu des e-mails analysés une fois la réponse renvoyée.
  • Résultat

Le stage a abouti à une preuve de concept complète pour la détection de l’hameçonnage : données sélectionnées, caractéristiques conçues, modèles optimisés, choix de déployer DistilBERT, API d’inférence Flask et extension Chrome intégrant le résultat au traitement des e-mails.

La décision technique ne consistait pas seulement à rechercher la meilleure exactitude, mais à associer un traitement contextuel du langage à des indicateurs d’e-mail interprétables et à un mécanisme de restitution permettant aux utilisateurs d’agir.

Résultat du stage

Cyber Centre de Deloitte Maroc