La cybersécurité, analyse des menaces et solutions

Tags :
  • MON
  • Cybersécurité
  • Sécurité informatique
  • Attaques réseau
  • Protocoles
  • Gestion d'incidents
Auteur :
  • Serigne Mbaye Sy AMAR
2024-2025

Ce MON présente une analyse des cyberattaques, depuis les protocoles réseau jusqu'aux vulnérabilités applicatives, en passant par la gestion des incidents. Il couvre également les différentes équipes de sécurité (Red Team, Blue Team, SOC) et leurs rôles spécifiques dans la protection des systèmes d'information.

Prérequis

  • Connaissances de base en réseaux informatiques
  • Compréhension des principes de sécurité informatique

Objectif du MON

Présenter une vue complète des cyberattaques, leurs mécanismes, et les stratégies de défense appropriées.

DateHeures passéesIndications
28/02/20254hRecherche sur les types d'attaques et protocoles
01/03/20252hÉtude des vulnérabilités web et mémoire
01/03/20253hAnalyse des processus de réponse aux incidents
02/03/20252hÉtude et synthèse sur le rôles des équipes de sécurité

Total : 11h

J'ai récemment publié sur Medium un article qui parle de l’affaire XZ, une attaque qui a failli bouleverser le monde entier. Cet article va sûrement vous donner envie de bien lire et comprendre mon MON .

1. C'est quoi une Cyberattaque ?

Une cyberattaque est une action malveillante visant à compromettre la disponibilité, l'intégrité, la confidentialité, et la traçabilité des informations et systèmes informatiques. Ces attaques peuvent exploiter des failles humaines ou techniques pour atteindre leurs objectifs.

1.1 Types d'attaques

Pour cette partie, j'ai consulté le site fortinet

1.2 Acteurs impliqués

Je me suis basé sur le cours de Mathieu SCHIANO.

2. Attaques sur les Protocoles Réseau

2.1 Focus aux Protocoles Réseau

Les communications réseau reposent sur une architecture en couches, notamment le modèle ISO/OSI et TCP/IP. Chaque couche a un rôle spécifique et inclut des protocoles vulnérables aux attaques.

Récapitulatif des couches

Couche ISO/OSICouche TCP/IPExemples de Protocoles
Physique-Ethernet, WiFi
Liaison-MAC, ARP
RéseauInternetIPv4, IPv6
TransportTransportTCP, UDP
Session--
Présentation--
ApplicationApplicationHTTP, FTP, SMTP

Note

Chaque couche possède son propre système d'adressage (MAC, IP, ports), ce qui est exploité dans diverses attaques.

Ce model est disponible sur Wikipedia

2.2 Types d'attaques réseau

2.2.1 Déni de Service (DoS/DDoS)

Le but d'une attaque DoS est de rendre un service inaccessible en surchargeant ses ressources.

Exemples :

  1. Ping of Death : Envoi de paquets ICMP de taille supérieure à 65535 octets.


ping -l 65527    # Windows
ping -s 65527    # Unix


En savoir plus ?

Le Ping of Death consiste à envoyer un paquet ICMP (ping) d’une taille anormalement grande (supérieure à 65 535 octets).

  • Les anciennes implémentations du protocole ICMP ne pouvaient pas gérer des paquets aussi gros, ce qui provoquait un crash ou un redémarrage de la machine cible.
  • Cette attaque est aujourd’hui moins efficace, car les systèmes modernes ont mis en place des protections.
  1. SYN Flood: Envoi massif de requêtes SYN pour saturer la file d'attente des connexions TCP.


Attaquant -> Serveur : SYN
Serveur -> Attaquant : SYN-ACK
Attaquant n'envoie jamais d'ACK


En savoir plus ?

Une attaque SYN Flood consiste à envoyer un grand nombre de paquets SYN au serveur cible pour saturer sa file d’attente de connexions TCP.

  • Normalement, une connexion TCP suit ce processus (Three-Way Handshake) :

    a. Client envoie un SYN (demande d’ouverture de connexion). b. *Serveur répond avec SYN-ACK (accusé de réception). * c. Client envoie un ACK, et la connexion est établie.

  • Dans une attaque SYN Flood, l’attaquant ne répond jamais au SYN-ACK. Le serveur garde alors la connexion en attente, ce qui peut épuiser ses ressources et provoquer un déni de service.

  1. Smurf Attack : Utilisation d'adresses IP spoofées pour envoyer des requêtes ICMP à une adresse broadcast.


Attaquant -> Broadcast : ICMP request (spoofed IP cible)
Tous les hôtes répondent à la cible (surcharge)


  1. Amplification DDoS : Exploitation de protocoles comme DNS, NTP, SSDP pour amplifier le trafic envoyé à la cible.

2.2.2 Sniffing et Spoofing

  1. Sniffing : Capture du trafic via une interface en mode promiscuous.


tcpdump -i eth0


En savoir plus ?

Ce code permet de capturer tout le trafic circulant sur l’interface réseau eth0.

  • tcpdump est un outil utilisé pour analyser les paquets réseau en temps réel.
  • Cela permet à un attaquant de :
    • Espionner les communications sur un réseau non sécurisé.
    • Capturer des identifiants et mots de passe non chiffrés (HTTP, Telnet, FTP).
  1. ARP Spoofing : Empoisonnement du cache ARP pour intercepter le trafic.


arpspoof -i eth0 -t  


En savoir plus ?

L’ARP Spoofing est une attaque où l’attaquant usurpe une adresse MAC pour intercepter ou manipuler le trafic réseau.

  • Le protocole ARP est utilisé pour associer une adresse IP à une adresse MAC.
  • L’attaque consiste à empoisonner le cache ARP d’un appareil cible, lui faisant croire que l’adresse MAC de l’attaquant est celle du routeur.
  • Ainsi, tout le trafic de la cible passe par l’attaquant, qui peut alors :
    • Espionner les communications (sniffing).
    • Modifier les données en transit.
    • Exécuter des attaques de type Man-in-the-Middle (MITM).
  1. IP Spoofing : Envoi de paquets avec une fausse adresse source.


struct iphdr *iph = (struct iphdr *) buffer;
iph->saddr = inet_addr("192.168.1.1"); // Spoofed source


En savoir plus ?

Le IP Spoofing consiste à usurper une adresse IP en modifiant les en-têtes des paquets envoyés sur le réseau.

  • L’attaquant modifie le champ saddr (source address) de l’en-tête IP pour qu’il semble provenir d’une source légitime.
  • Cette technique est souvent utilisée pour :
    • Dissimuler l’identité d’un attaquant.
    • Contourner les règles de pare-feu qui filtrent certaines adresses IP.
    • Lancer des attaques DDoS via l’usurpation d’adresses IP valides.

2.3 Contre-mesures

3. Sécurité des Applications Web

3.1 Vulnérabilités Courantes

  1. Cross-Site Scripting (XSS)

Injection de scripts malveillants dans les pages web.



&script&alert('XSS');&/script&


En savoir plus ?

Le Cross-Site Scripting (XSS) est une attaque où un attaquant injecte du JavaScript malveillant dans une page web.

  • Ce script peut :
    • Voler les cookies d’authentification.
    • Détourner des sessions utilisateur.
    • Afficher de fausses informations.

Types de XSS

  • Stocké : Le script est enregistré dans la base et affiché à d'autres.
  • Reflété : Le script est inclus dans une URL et exécuté.
  • DOM-based : Injection à travers le DOM.
  1. Injection SQL

Exécution de requêtes SQL malveillantes.



SELECT * FROM users WHERE username = 'admin' OR '1'='1';


En savoir plus ?

L’injection SQL est une attaque où un attaquant injecte du code SQL malveillant dans une requête pour manipuler une base de données.

  • Ici, la condition OR '1'='1' est toujours vraie, ce qui permet :
    • D’accéder à tous les comptes utilisateurs sans connaître le mot de passe.
    • De modifier ou supprimer des données.
    • De contourner l’authentification.
  1. Cross-Site Request Forgery (CSRF)

Exécution forcée d'une requête en profitant de la session active d'un utilisateur.

3.2 Contre-mesures

4. Vulnérabilités des Chaînes de Format

4.1 Principe

Le problème survient lorsque des fonctions comme printf() sont utilisées sans format explicite.



printf(argv[1]); // Vulnérable


En savoir plus ?

Une faille Format String survient lorsque l’entrée utilisateur est utilisée dans printf() sans format spécifié.

  • Un attaquant peut injecter des paramètres format (%x, %n) pour :
    • Lire la mémoire du programme.
    • Écrire des valeurs arbitraires.

4.2 Exploitation

  1. Lecture mémoire


./vuln "%x %x %x"


En savoir plus ?

  • Cette commande injecte "%x %x %x" dans un programme vulnérable (vuln) qui utilise printf() sans format sécurisé.
  • Chaque %x affiche une valeur mémoire au format hexadécimal.
  • Un attaquant peut fouiller la mémoire pour récupérer des informations sensibles (ex: adresses mémoire, mots de passe en clair).
  1. Ecriture mémoire avec %n


int i;
printf("Hello%n", &i); // i == 5 (nombre de caractères imprimés)


En savoir plus ?

  • %n écrit en mémoire le nombre de caractères imprimés avant son appel.
  • Un attaquant peut modifier une variable ou une adresse mémoire critique, entraînant un comportement malveillant.

4.3 Contre-mesures

5. Dépassements de Mémoire Tampon (Buffer Overflows)

5.1 Principe

Se produit lorsqu'une donnée dépasse la taille allouée et écrase d'autres parties de la mémoire.



char buffer[64];
gets(buffer); // Pas de contrôle de taille


En savoir plus ?

Un buffer overflow se produit lorsqu’une entrée utilisateur dépasse la mémoire allouée.

  • Ici, gets() ne contrôle pas la taille de l’entrée, ce qui permet à un attaquant de :
    • Écraser des zones critiques de la mémoire.
    • Injecter un shellcode pour exécuter des commandes arbitraires.

5.2 Exploitation

  1. Modification de l'adresse de retour pour exécuter un shellcode.
  2. Shellcode injection : Insertion d'un code exécutable dans la mémoire.

Le top 10 des différents types de cyberattaques et le site web Les principaux types de cyberattaques m'ont aidé pour cette partie.

5.3 Contre-mesures

Cette source propose des pratiques pour éviter les dépassements de mémoire tampon

6. Étapes à Suivre en Cas d'Attaque

6.1 Détection et Qualification de l'Incident

6.2 Activation de la Cellule de Crise

6.3 Contenir l'Attaque et Protéger les Données

6.4 Analyse et Réponse

6.5 Communication et Sensibilisation

6.6 Amélioration et Prévention

Je me suis basé sur le cours de Gilles TROSSEVIN.

7. Les Équipes de Cybersécurité

Rôles des équipes

  • La Red Team représente l'équipe offensive en cybersécurité.
  • La Blue Team est chargée de la défense des systèmes informatiques.
  • Le SOC est un centre de surveillance qui collecte et analyse en continu les données de sécurité.
  • La Cyber Threat Intelligence analyse les tendances et nouvelles méthodes d'attaques.
  • La Purple Team favorise la collaboration entre Red et Blue Team.

7.1 Synthèse des Stratégies

CritèreRed TeamBlue TeamSOCCyber Threat IntelligencePurple Team
ObjectifAttaquer pour tester la sécuritéDéfendre contre les attaquesSurveiller et répondre aux incidentsAnticiper les cybermenacesCollaboration attaque/défense
MéthodesPentesting, phishing, exploitation de faillesSurveillance réseau, détection des intrusionsAnalyse des logs, investigation forensiqueRenseignement sur les menaces, analyse des cyberattaquesIntégration des stratégies Red et Blue
AvantagesMet en évidence les failles de sécuritéProtège activement les systèmesDétection en temps réel des incidentsAide à prévenir les futures attaquesRéduit les délais de correction des failles
LimitesPeut être intrusif et coûteuxPeut être dépassé par des attaques avancéesRéagit après coup plutôt qu'en préventionNécessite une veille continue et des ressources spécialiséesNécessite une bonne coordination interne

Je me suis basé sur le cours de Mathieu SCHIANO.

image

Source de l'image

Sources :