Prévenir les menaces courantes en matière de cybersécurité

Les menaces les plus courantes en matière de cybersécurité sont les suivantes :

  • Attaque par interception

  • Attaques par réinsertion

  • Attaques de type « Cross-site Request Forgery » (CSRF ou XSRF)

  • Attaques exhaustives

  • Limitation des adresses IP suspectes

  • Attaques par bourrage d’identifiants

  • Attaques de validation de listes

Auth0 possède des fonctions de protection contre certains types d'attaques.

Attaque par interception

L’un des types de menace est une attaque par interception, parfois appelée « man-in-the-middle », où l’attaquant s’intercale entre deux parties. Chaque partie pense qu’elle interagit sur une connexion privée, mais l’interaction est en fait contrôlée par l’attaquant tiers. Pour que ce type d’attaque réussisse, l’attaquant doit créer une authentification mutuelle entre les deux parties.

En général, les attaques de ce type impliquent que l’attaquant utilise un routeur WiFi pour intercepter les communications d’un utilisateur. L’utilisateur se connecte au routeur de l’attaquant, puis visite un site web et se connecte avec ses identifiants confidentiels. L’attaquant enregistre les identifiants de connexion de cet utilisateur, qu’il peut ensuite utiliser pour se faire passer pour lui.

Certaines attaques de ce type peuvent également modifier les données transmises entre l’application et le serveur. Les attaques peuvent provenir de nouvelles versions d’essai de PC et de logiciels préinstallés, d’outils de mise à jour de logiciels et d’autres vulnérabilités logicielles. Dans le pire des cas, cela peut entraîner l’exécution d’un code à distance, le backdooring du système, l’installation d’un logiciel malveillant, etc. Cela pourrait également conduire à la compromission d’autres ressources du réseau.

Pour se défendre contre ce type d’attaque, il est important d’utiliser un chiffrement et une authentification forts entre l’application et le serveur. Grâce au chiffrement, le serveur authentifie la demande de l’application en présentant un certificat numérique, et ce n’est qu’ensuite que la connexion peut être établie. Par exemple, HTTPS utilise la capacité de la couche de sockets sécurisés (SSL) du navigateur pour masquer le trafic web. Pour décrypter HTTPS, un attaquant doit obtenir les clés utilisées pour chiffrer le trafic réseau.

Lors de la configuration de TLS sur vos serveurs, nous vous suggérons de suivre les recommandations de Mozilla OpSec basées sur TLSv1.2. Mozilla propose également un générateur de configuration SSL. Pour l’utiliser, sélectionnez d’abord la plateforme sur laquelle votre serveur fonctionne, puis choisissez la configuration la plus moderne en fonction de ce que votre base d'applications peut gérer. Les configurations les plus modernes proposent des algorithmes de chiffrement plus puissants pour prévenir les attaques.

Attaques par réinsertion

Avec les attaques par réinsertion, les attaquants peuvent :

  • accéder à un réseau et à des informations qui n’auraient pas été facilement accessibles,

  • Effectuer une double transaction.

Il s’agit d’attaques contre le protocole de sécurité qui utilisent des réinsertions de la transmission de données d’un expéditeur différent vers le système destinataire prévu. Les attaques trompent les participants en leur faisant croire qu’ils ont réussi à transmettre les données.

Les attaques par réinsertion peuvent être évitées en utilisant des jetons de session. Toutefois, si ces identifiants sont volés dans le stockage local (comme lors d’une attaque XSS), il existe des moyens d’empêcher quelqu’un de conserver un jeton valide pour toujours :

  • Fixer un délai d’expiration court pour les jetons

  • Fournir un moyen d’ajouter à la Liste noire les jetons qui ont été utilisés (et éventuellement les utilisateurs)

  • Utiliser des mots de passe à usage unique

The JWT spec provides the jti field as a way to prevent replay attacks. Though Auth0 tokens currently don’t return the jti, you can add tokens to the DenyList using the jti to prevent a token being used more than a specified number of times. De cette manière, vous mettez en œuvre quelque chose de similaire à un nombre aléatoire (considérez la signature du jeton comme le nonce). Si un jeton est volé ou s’il est utilisé plus d’un certain nombre de fois, il doit être ajouté à la Liste noire. Cela permet d’éviter qu’un jeton valide ne soit utilisé à des fins malveillantes. Lorsque le jeton expire, l’attaquant ne peut plus se faire passer pour l’utilisateur.

Vous pouvez également éviter les attaques par réinsertion en utilisant des mots de passe à usage unique. Avec Auth0, vous pouvez utiliser l’authentification sans mot de passe, qui repose sur des codes à usage unique et des liens de courriels au lieu des mots de passe traditionnels. Auth0 propose également une authentification multifacteur (MFA) qui utilise des mots de passe à usage unique comme deuxième facteur d’authentification et qui peut être envoyée via des notifications poussées et des messages texte (SMS).

Falsification des requêtes intersites (CSRF)

Une attaque de type Falsification des requêtes intersites (CSRF) se produit lorsqu’un programme malveillant amène le navigateur web d’un utilisateur à effectuer une action non désirée sur un site de confiance sur lequel l’utilisateur est actuellement authentifié. Ce type d’attaque vise spécifiquement les demandes de changement d’état pour initier un type d’action au lieu d’obtenir des données utilisateur, car l’attaquant n’a aucun moyen de voir la réponse de la requête falsifiée.

Une façon de vérifier les demandes envoyées est d’utiliser le paramètre d’état du protocole OAuth 2.0pour authentifier la réponse.

En savoir plus