Skip to main content

Attaques réseau

Après avoir exploré les menaces qui ciblent les individus (malwares, ingénierie sociale), il est temps de nous intéresser aux attaques qui visent directement les infrastructures réseau. Ces attaques cherchent à perturber le fonctionnement des réseaux, à intercepter des données, ou à s'introduire dans les systèmes connectés.

note

Les réseaux informatiques sont la colonne vertébrale de nos sociétés modernes. Ils permettent la communication, l'échange de données, l'accès aux services en ligne, etc. Les attaques réseau peuvent donc avoir des conséquences majeures, allant de la simple interruption de service à la paralysie d'infrastructures critiques.

Dans cette section, nous allons découvrir :

  • Les attaques par déni de service (DoS) et déni de service distribué (DDoS), qui visent à rendre un service indisponible.
  • Les attaques de l'homme du milieu (MitM) (ou man in the middle), qui permettent d'intercepter et de modifier les communications entre deux parties.
  • Les injections SQL, qui exploitent les failles des applications web pour accéder aux bases de données.

Préparez-vous à plonger au cœur des réseaux et à découvrir comment les cybercriminels peuvent les attaquer. Mais rassurez-vous : vous apprendrez aussi à vous en protéger !

Commençons par les attaques par déni de service.

Déni de service (DoS) et déni de service distribué (DDoS)

Les attaques par déni de service (DoS) et déni de service distribué (DDoS) visent à rendre un service en ligne (site web, serveur de messagerie, application, etc.) indisponible pour ses utilisateurs légitimes.

Déni de service (DoS)

Une attaque par déni de service (DoS) est menée à partir d'une seule source (un ordinateur, un serveur, etc.). L'attaquant envoie un grand nombre de requêtes au serveur ciblé, dans le but de le submerger et de l'empêcher de répondre aux requêtes légitimes.

  • Principe : Le serveur a des ressources limitées (puissance de calcul, mémoire, bande passante réseau, etc.). Si le nombre de requêtes dépasse ses capacités, il devient lent, voire inaccessible.

  • Types d'attaques DoS :

    • Inondation de requêtes (flood) : L'attaquant envoie un grand nombre de requêtes (TCP SYN, UDP, HTTP, etc.) au serveur.
    • Amplification : L'attaquant exploite des protocoles réseau qui permettent d'amplifier les requêtes (par exemple, en envoyant une petite requête à un serveur DNS qui génère une réponse beaucoup plus grande).
    • Exploitation de failles : L'attaquant exploite des failles dans le serveur ou dans les applications qu'il héberge pour le rendre indisponible (par exemple, en envoyant une requête spécialement conçue pour provoquer un plantage).
  • Exemple : Un attaquant utilise un ordinateur pour envoyer des milliers de requêtes HTTP à un serveur web, le rendant inaccessible aux utilisateurs légitimes.

Déni de service distribué (DDoS)

Une attaque par déni de service distribué (DDoS) est une attaque DoS menée à partir de plusieurs sources (ordinateurs, serveurs, objets connectés, etc.) simultanément.

  • Principe : L'attaquant utilise un botnet (un réseau d'appareils infectés par un malware et contrôlés à distance) pour lancer l'attaque. Chaque appareil du botnet envoie des requêtes au serveur ciblé, ce qui multiplie la puissance de l'attaque.

  • Caractéristiques :

    • Grande échelle : Les attaques DDoS peuvent impliquer des milliers, voire des millions d'appareils, ce qui les rend très difficiles à contrer.
    • Difficulté de blocage : Il est difficile de bloquer une attaque DDoS, car les requêtes proviennent de nombreuses sources différentes, qui peuvent être réparties dans le monde entier.
    • Diversité des sources : Les botnets peuvent être composés d'ordinateurs, de serveurs, mais aussi d'objets connectés (caméras de surveillance, routeurs, thermostats, etc.) qui sont souvent moins bien protégés.
  • Types d'attaques DDoS :

    • Inondation volumétrique : L'attaquant sature la bande passante du serveur en envoyant un volume massif de données (par exemple, des paquets UDP ou TCP).
    • Attaques par amplification : Comme pour les attaques DoS, l'attaquant exploite des protocoles réseau pour amplifier les requêtes (DNS, NTP, etc.).
    • Attaques applicatives : L'attaquant cible des failles ou des faiblesses dans les applications web (par exemple, en envoyant un grand nombre de requêtes HTTP complexes qui consomment beaucoup de ressources serveur).
  • Exemple : L'attaque DDoS contre Dyn en 2016. Un botnet composé principalement d'objets connectés infectés par le malware Mirai a ciblé Dyn, un fournisseur de services DNS. L'attaque a rendu inaccessibles de nombreux sites web populaires (Twitter, Netflix, Spotify, etc.) pendant plusieurs heures.

Conséquences des attaques DoS et DDoS

  • Indisponibilité des services : Les utilisateurs ne peuvent plus accéder au site web, à l'application ou au service ciblé.
  • Pertes financières : Pour les entreprises, l'indisponibilité des services peut entraîner des pertes de revenus, des pénalités contractuelles, etc.
  • Atteinte à la réputation : Les attaques DoS et DDoS peuvent nuire à l'image de marque de l'entreprise ou de l'organisation ciblée.
  • Utilisation comme diversion : Les attaques DoS et DDoS peuvent être utilisées pour masquer une autre attaque, plus discrète (par exemple, une tentative d'intrusion dans le système).

Comment se protéger contre les attaques DoS et DDoS ?

  • Surdimensionner les ressources : Avoir des serveurs et une bande passante réseau capables de supporter des pics de trafic importants.
  • Filtrage du trafic : Utiliser des pare-feu et des systèmes de détection d'intrusion (IDS) pour bloquer les requêtes malveillantes.
  • Répartition de charge : Utiliser des répartiteurs de charge (load balancers) pour distribuer le trafic sur plusieurs serveurs.
  • Services de protection DDoS : Faire appel à des fournisseurs de services spécialisés dans la protection contre les attaques DDoS. Ces services utilisent des techniques avancées (filtrage du trafic, analyse comportementale, etc.) pour détecter et bloquer les attaques.
  • Redondance : Avoir des serveurs et des infrastructures de secours, situés dans des zones géographiques différentes, pour assurer la continuité du service en cas d'attaque.
  • Sécurisation des objets connectés : Changer les mots de passe par défaut, mettre à jour régulièrement les firmwares, etc.
tip

Les attaques DoS et DDoS sont une menace persistante et en constante évolution. Il est essentiel de mettre en place des mesures de protection adaptées et de rester vigilant face à ces attaques.

Man-in-the-Middle (MitM)

L'attaque de l'homme du milieu (Man-in-the-Middle, MitM) est une attaque sophistiquée qui permet à un cybercriminel d'intercepter, de lire et de modifier les communications entre deux parties, sans qu'aucune des deux ne se doute de sa présence.

Principe de l'attaque MitM

Imaginez qu'Alice et Bob veuillent communiquer de manière confidentielle. Dans une attaque MitM, Mallory (l'attaquant) se place entre Alice et Bob, et intercepte leurs échanges.

  1. Interception : Mallory intercepte les messages échangés entre Alice et Bob.
  2. Relais (éventuellement modifié) : Mallory relaie les messages à leur destinataire, après les avoir éventuellement modifiés.
  3. Illusion de communication directe : Alice et Bob croient communiquer directement entre eux, alors que tous leurs échanges passent par Mallory.
  • Conséquences :
    • Espionnage : Mallory peut lire toutes les informations échangées entre Alice et Bob (emails, mots de passe, données bancaires, etc.).
    • Modification des données : Mallory peut modifier les messages échangés (par exemple, changer le numéro de compte bancaire dans un ordre de virement).
    • Usurpation d'identité : Mallory peut se faire passer pour Alice auprès de Bob, ou pour Bob auprès d'Alice.

Techniques d'attaque MitM

Il existe différentes techniques pour réaliser une attaque MitM, en fonction du type de communication interceptée (Wi-Fi, réseau local, etc.) et des protocoles utilisés.

Attaques sur les réseaux Wi-Fi

  • Faux point d'accès Wi-Fi (Evil Twin) : L'attaquant crée un faux point d'accès Wi-Fi, avec un nom (SSID) similaire à celui d'un réseau légitime (par exemple, "Hotel_Wifi_Gratuit" au lieu de "Hotel_Wifi"). Si une victime se connecte à ce faux point d'accès, l'attaquant peut intercepter tout son trafic.
  • Désauthentification Wi-Fi : L'attaquant envoie des paquets de désauthentification à une victime connectée à un réseau Wi-Fi légitime, la forçant à se déconnecter. La victime peut alors se reconnecter à un faux point d'accès contrôlé par l'attaquant.
  • Attaque par force brute WPS : L'attaquant utilise une attaque par force brute pour deviner le code PIN WPS (Wi-Fi Protected Setup) d'un routeur Wi-Fi, ce qui lui permet de se connecter au réseau et d'intercepter le trafic.

Attaques sur les réseaux locaux (LAN)

  • ARP poisoning (empoisonnement ARP) : L'attaquant envoie de fausses réponses ARP (Address Resolution Protocol) sur le réseau local, associant son adresse MAC à l'adresse IP d'un autre appareil (par exemple, la passerelle par défaut). Cela lui permet d'intercepter tout le trafic destiné à cet appareil.
  • DHCP spoofing : L'attaquant se fait passer pour un serveur DHCP (Dynamic Host Configuration Protocol) légitime et fournit de fausses informations de configuration réseau aux clients (adresse IP, passerelle par défaut, serveur DNS, etc.), ce qui lui permet de rediriger le trafic.

Attaques sur les communications chiffrées (HTTPS)

Même les communications chiffrées (HTTPS) peuvent être vulnérables aux attaques MitM, si l'attaquant parvient à contourner les mécanismes de sécurité.

  • SSL stripping : L'attaquant intercepte une requête HTTP et la redirige vers une version non chiffrée (HTTP) du site web. Il peut alors intercepter les données en clair (identifiants, mots de passe, etc.).
  • Faux certificat SSL : L'attaquant utilise un faux certificat SSL (obtenu frauduleusement ou auto-signé) pour se faire passer pour le site web légitime. Si l'utilisateur accepte le faux certificat, l'attaquant peut déchiffrer le trafic HTTPS.
  • Attaque de type "downgrade":
    • L'attaquant force l'utilisation de protocoles de sécurité obsolètes et vulnérables.

Comment se protéger contre les attaques MitM ?

  • Sur les réseaux Wi-Fi :

    • Éviter les réseaux Wi-Fi publics non sécurisés (sans mot de passe).
    • Bien vérifier qu'on est connecté à des sites en HTTPS par exemple
    • Utiliser un VPN (Virtual Private Network) pour chiffrer le trafic, même sur les réseaux Wi-Fi non sécurisés.
    • Vérifier le nom (SSID) du réseau Wi-Fi auquel on se connecte.
  • Sur les réseaux locaux :

    • Utiliser des outils de détection d'ARP poisoning.
    • Configurer des adresses IP statiques (si possible).
  • Pour les communications chiffrées (HTTPS) :

    • Vérifier l'authenticité du certificat SSL (présence du cadenas dans la barre d'adresse, nom de domaine correct, autorité de certification reconnue).
    • Utiliser un navigateur web à jour, qui détecte les certificats invalides ou révoqués.
    • Être attentif aux alertes de sécurité du navigateur.
    • Utiliser des extensions de navigateur qui forcent l'utilisation de HTTPS (par exemple, HTTPS Everywhere).
    • Éviter de se connecter à des sites web sensibles (banque, etc.) sur des réseaux Wi-Fi publics, même avec un VPN.
tip

Les attaques MitM sont insidieuses et peuvent avoir des conséquences graves. Il est essentiel de connaître ces techniques d'attaque et d'adopter les bonnes pratiques pour s'en protéger.

Injection SQL

sql injection

L'injection SQL est une attaque qui cible les applications web qui utilisent des bases de données. C'est l'une des vulnérabilités les plus courantes et les plus dangereuses du web.

Principe de l'injection SQL

De nombreuses applications web utilisent des bases de données pour stocker des informations (comptes utilisateurs, articles de blog, produits d'un site de commerce en ligne, etc.). Lorsqu'un utilisateur interagit avec l'application (par exemple, en se connectant à son compte ou en effectuant une recherche), l'application envoie des requêtes SQL à la base de données.

L'injection SQL consiste à insérer du code SQL malveillant dans ces requêtes, en exploitant une faille de l'application.

  • Vulnérabilité : L'application web ne filtre pas correctement les données saisies par l'utilisateur (dans un formulaire de connexion, un champ de recherche, etc.).
  • Exploitation : L'attaquant insère du code SQL dans ces champs, qui est ensuite interprété par la base de données comme une commande légitime.
  • Conséquences :
    • Lecture de données sensibles : L'attaquant peut accéder à des données confidentielles stockées dans la base (identifiants, mots de passe, numéros de carte bancaire, etc.).
    • Modification ou suppression de données : L'attaquant peut modifier ou supprimer des données dans la base.
    • Exécution de commandes arbitraires : Dans certains cas, l'attaquant peut exécuter des commandes sur le serveur qui héberge la base de données.

Exemple d'injection SQL

Imaginons un site web avec un formulaire de connexion qui demande un nom d'utilisateur et un mot de passe. L'application utilise la requête SQL suivante pour vérifier les identifiants :

SELECT * FROM utilisateurs WHERE nom_utilisateur = '$username' AND mot_de_passe = '$password';

Si l'application ne filtre pas correctement les données saisies par l'utilisateur, un attaquant peut injecter du code SQL. Par exemple, s'il saisit ' OR '1'='1 dans le champ du nom d'utilisateur et ' OR '1'='1 dans le champ du mot de passe, la requête devient :

SELECT * FROM utilisateurs WHERE nom_utilisateur = '' OR '1'='1' AND mot_de_passe = '' OR '1'='1';

Comme '1'='1' est toujours vrai, la condition WHERE est toujours vraie. La requête renvoie donc tous les utilisateurs de la table, permettant à l'attaquant de se connecter sans connaître de mot de passe valide.

Types d'injection SQL

Il existe différentes techniques d'injection SQL, en fonction de la manière dont l'attaquant peut exploiter la faille et des informations qu'il peut obtenir :

  • Injection basée sur les erreurs : L'attaquant provoque des erreurs SQL pour obtenir des informations sur la structure de la base de données.
  • Injection à l'aveugle (blind SQL injection) : L'attaquant ne voit pas directement le résultat de ses requêtes, mais il peut déduire des informations en observant le comportement de l'application (par exemple, si une page s'affiche ou non en fonction de la requête).

Comment se protéger contre les injections SQL ?

  • Validation et échappement des données : Vérifier que les données saisies par l'utilisateur correspondent au format attendu (nombre, texte, etc.) et échapper les caractères spéciaux (apostrophes, guillemets, etc.) qui pourraient être interprétés comme du code SQL.
  • Requêtes préparées (prepared statements) : Utiliser des requêtes préparées, qui permettent de séparer le code SQL des données. Le SGBD traite les données comme des paramètres, et non comme du code, ce qui empêche l'injection.
    • Exemple (PHP avec PDO) :
      $stmt = $pdo->prepare('SELECT * FROM utilisateurs WHERE nom_utilisateur = :username AND mot_de_passe = :password');
      $stmt->execute([':username' => $username, ':password' => $password]);
  • Procédures stockées : Utiliser des procédures stockées (des ensembles de requêtes SQL précompilées) plutôt que de construire les requêtes dynamiquement dans l'application.
  • Principe du moindre privilège : Donner aux utilisateurs de la base de données uniquement les droits d'accès dont ils ont besoin (par exemple, ne pas utiliser le compte "root" pour l'application web).
  • WAF (Web Application Firewall) : Utiliser un pare-feu applicatif web, qui peut détecter et bloquer les tentatives d'injection SQL.
  • Tests de sécurité : Effectuer régulièrement des tests de sécurité (tests de pénétration, audits de code) pour identifier et corriger les vulnérabilités.
danger

Les injections SQL sont une menace sérieuse pour la sécurité des applications web. Il est crucial de comprendre cette technique d'attaque et de mettre en place les mesures de protection appropriées pour sécuriser les applications et les données qu'elles gèrent.

SS7 Exploits : Attaques contre les réseaux de téléphonie mobile

Le Signaling System No. 7 (SS7) est un ensemble de protocoles de signalisation téléphonique utilisés par la plupart des opérateurs de téléphonie mobile dans le monde pour gérer les appels, les SMS, la localisation des abonnés, et d'autres services. Des failles de sécurité dans SS7 peuvent être exploitées par des attaquants pour mener diverses attaques, y compris l'interception de communications et la prise de contrôle de comptes en ligne.

Hackers Can Steal Your Facebook Account With Just A Phone Number

Principe des attaques SS7

SS7 a été conçu dans les années 1970, à une époque où la sécurité n'était pas une préoccupation majeure. Il repose sur la confiance entre les opérateurs, ce qui signifie qu'un opérateur peut envoyer des commandes à un autre opérateur sans vérification d'identité stricte.

Un attaquant qui parvient à accéder au réseau SS7 (par exemple, en compromettant un opérateur, en obtenant un accès illégal, ou en utilisant des équipements spéciaux) peut envoyer des commandes frauduleuses aux autres opérateurs, comme :

  • Intercepter les appels et les SMS : L'attaquant peut rediriger les appels ou les SMS d'un abonné vers son propre appareil, lui permettant de les écouter ou de les lire.
  • Localiser un abonné : L'attaquant peut obtenir la localisation approximative d'un abonné (la cellule à laquelle son téléphone est connecté).
  • Modifier les informations d'un abonné : L'attaquant peut modifier les paramètres d'un abonné (par exemple, désactiver le renvoi d'appel).
  • Contourner l'authentification à deux facteurs (2FA) : C'est l'une des attaques les plus préoccupantes. De nombreux services en ligne (comme Facebook, Google, etc.) utilisent l'authentification à deux facteurs (2FA) par SMS pour renforcer la sécurité des comptes. L'attaquant peut intercepter le SMS contenant le code de vérification et l'utiliser pour prendre le contrôle du compte.

Prise de contrôle d'un compte Facebook (exemple)

  1. Obtention du numéro de téléphone : L'attaquant doit d'abord obtenir le numéro de téléphone associé au compte Facebook de la victime. Cette information peut être obtenue de différentes manières (phishing, fuites de données, hack d'un compte "ami", etc.).
  2. Accès au réseau SS7 : L'attaquant doit avoir un accès au réseau SS7.
  3. Redirection des SMS : L'attaquant utilise des commandes SS7 pour rediriger les SMS destinés au numéro de téléphone de la victime vers son propre appareil.
  4. Réinitialisation du mot de passe : L'attaquant utilise la fonction "Mot de passe oublié" de Facebook. Facebook envoie un code de vérification par SMS au numéro de téléphone de la victime.
  5. Interception du code : L'attaquant reçoit le code de vérification (grâce à la redirection des SMS).
  6. Prise de contrôle du compte : L'attaquant utilise le code de vérification pour réinitialiser le mot de passe du compte Facebook et en prendre le contrôle.

Qui est vulnérable ?

En théorie, tout utilisateur d'un téléphone mobile est potentiellement vulnérable aux attaques SS7. Cependant, certaines personnes sont plus susceptibles d'être ciblées, comme :

  • Les personnalités publiques : Politiciens, journalistes, militants, etc.
  • Les personnes ayant des informations sensibles : Dirigeants d'entreprise, avocats, etc.
  • Les utilisateurs de services en ligne qui utilisent le SMS comme méthode de 2FA : Banques, réseaux sociaux, etc.

Comment se protéger ?

Il est difficile pour un utilisateur individuel de se protéger complètement contre les attaques SS7, car elles ciblent les infrastructures des opérateurs. Cependant, quelques mesures peuvent réduire les risques :

  • Utiliser d'autres méthodes de 2FA : Privilégier les méthodes de 2FA qui ne reposent pas sur le SMS, comme les applications d'authentification (Google Authenticator, Authy, etc.), les clés de sécurité matérielles (YubiKey, etc.), ou la biométrie.
  • Être vigilant : Se méfier des SMS ou des appels suspects, et ne jamais communiquer d'informations sensibles par téléphone ou par SMS. Si une personne avec qui vous n'avez plus parlé depuis longtemps votre numéro de téléphone, méfiance, c'est peut-être un compte hacké.
warning

Les attaques SS7 sont une menace sérieuse et difficile à contrer. Elles montrent que la sécurité des infrastructures de télécommunications est un enjeu majeur pour la protection de la vie privée et la sécurité des communications.

Testez vos connaissances !

Qu'est-ce qu'une attaque par déni de service (DoS) ?
Quelle est la principale différence entre une attaque DoS et une attaque DDoS ?
Qu'est-ce qu'un botnet dans le contexte des attaques DDoS ?
Quelles peuvent être les conséquences d'une attaque DoS ou DDoS ? (Plusieurs réponses possibles)
Comment se protéger contre les attaques DDoS ? (Plusieurs réponses possibles)
Qu'est-ce qu'une attaque de l'homme du milieu (MitM) ?
Quelles techniques peuvent être utilisées pour réaliser une attaque MitM sur un réseau Wi-Fi ? (Plusieurs réponses possibles)
Comment un attaquant peut-il réaliser une attaque MitM sur une communication HTTPS ? (Plusieurs réponses possibles)
Vrai ou faux : Il est conseillé de se connecter à des sites web sensibles sur des réseaux Wi-fi publiques.
Qu'est-ce qu'une injection SQL ?
Quelles sont les conséquences possibles d'une injection SQL réussie ? (Plusieurs réponses possibles)
Comment se protéger contre les injections SQL ? (Plusieurs réponses possibles)
Vrai ou Faux: Le protocole SS7 est une technologie très récente qui est infaillible.
Qu'est-ce qu'une attaque SS7 exploit ?
Quelles sont les conséquences possibles d'une attaque SS7 ? (Plusieurs réponses possibles)
Comment se protéger contre les attaques SS7 ? (Plusieurs réponses possibles)