La falsification des requêtes côté serveur (SSRF) est une vulnérabilité grave de la sécurité web qui permet à un attaquant de manipuler un serveur pour qu'il effectue des requêtes non souhaitées. Pour les équipes SOC, il est essentiel de comprendre la SSRF, ses impacts potentiels et les stratégies d'atténuation pour protéger les applications web.
Selon un rapport de Positive Technologies, 35 % des applications web testées se sont révélées vulnérables aux attaques SSRF.
Les vulnérabilités du SSRF ont joué un rôle important dans la violation de données très médiatisée de Capital One en 2019, exposant les informations sensibles de plus de 100 millions de clients.
Qu'est-ce que la falsification des requêtes côté serveur ?
La falsification des requêtes côté serveur (SSRF) est une vulnérabilité qui permet à un attaquant de tromper un serveur en lui faisant faire des requêtes involontaires vers des ressources internes ou externes. Ces requêtes sont faites à partir du serveur lui-même, qui peut avoir plus de privilèges et d'accès qu'une requête côté client. La SSRF peut être exploitée pour accéder à des systèmes internes, extraire des données sensibles ou mener d'autres attaques au sein du réseau de l'organisation.
Comment fonctionnent les attaques de type "Server-Side Request Forgery" (falsification de requête côté serveur)
Une attaque SSRF comporte généralement les étapes suivantes :
Identification de la vulnérabilité : L'attaquant identifie une fonction d'application web qui traite les URL fournies par l'utilisateur ou peut effectuer des requêtes HTTP.
Création d'une requête malveillante : L'attaquant crée une requête qui inclut une URL vers une ressource interne ou sensible.
Exploitation de la vulnérabilité : Le serveur traite la requête malveillante et envoie la requête à l'URL spécifiée.
Accès à des données sensibles : La requête du serveur extrait des données des systèmes internes, qui sont ensuite renvoyées à l'attaquant, ce qui entraîne une fuite de données ou un accès non autorisé.
Exemples réels d'attaques par falsification de requêtes côté serveur
Violation des données de Capital One (2019) : L'attaquant a exploité une vulnérabilité SSRF pour accéder à des informations sensibles à partir des services de métadonnées AWS, ce qui a entraîné l'exposition de plus de 100 millions de dossiers de clients.
Vulnérabilité SSRF de GitHub (2020) : Une vulnérabilité dans la fonction de mise en miroir des dépôts de GitHub permet aux attaquants de déclencher des requêtes internes, exposant potentiellement des services internes.
Indicateurs d'attaques par falsification de requêtes côté serveur
Trafic sortant inhabituel : La surveillance des requêtes sortantes inattendues du serveur vers des adresses IP internes ou des domaines externes inattendus peut indiquer une attaque SSRF.
Journaux d'accès inattendus : Les journaux d'accès montrant des demandes de services ou de ressources internes qui ne devraient pas être accessibles à l'extérieur constituent un signal d'alarme.
Anomalies dans les réponses du serveur : Réponses contenant des métadonnées internes ou des informations sensibles renvoyées à l'utilisateur.
Différences entre le Server-Side Request Forgery (SSRF) et Cross-Site Request Forgery (CSRF)
Server-Side Request Forgery (SSRF) et Cross-Site Request Forgery (CSRF) sont deux vulnérabilités critiques de la sécurité web qui peuvent avoir de graves conséquences si elles sont exploitées. Bien que ces deux types d'attaques impliquent la manipulation du comportement d'une application web, elles fonctionnent de manière fondamentalement différente et ciblent des aspects différents des applications web. Comprendre les différences entre SSRF et CSRF est essentiel pour que les équipes SOC puissent mettre en œuvre des mesures de sécurité appropriées et protéger efficacement leurs systèmes.
Vous trouverez ci-dessous un tableau comparatif détaillé mettant en évidence les principales différences entre SSRF et CSRF :
Aspect
Falsification des requêtes côté serveur (SSRF)
Cross-Site Request Forgery (CSRF)
Définition
Le SSRF est une vulnérabilité qui permet à un attaquant de manipuler un serveur afin d'effectuer des requêtes involontaires vers des ressources internes ou externes.
CSRF est une vulnérabilité qui permet à un attaquant de tromper un utilisateur authentifié en lui faisant faire des requêtes involontaires à une application web.
Cible
Le serveur lui-même, ce qui l'amène à effectuer des actions non autorisées au nom de l'attaquant.
Le navigateur de l'utilisateur, en exploitant la session authentifiée de l'utilisateur avec une application web.
Vecteur d'attaque
Manipule directement les requêtes côté serveur, souvent par le biais d'entrées fournies par l'utilisateur et traitées par le serveur.
Utilise l'ingénierie sociale pour inciter les utilisateurs à cliquer sur des liens malveillants ou à visiter des sites web malveillants qui envoient des requêtes en leur nom.
Impact
Peut conduire à un accès non autorisé aux services internes, à l'exfiltration de données et à des compromissions potentiellement graves du réseau interne.
Peut entraîner des actions non autorisées telles que la modification des paramètres de l'utilisateur, l'exécution de transactions ou la publication de contenu sans le consentement de l'utilisateur.
Indicateurs communs
Modèles inhabituels de trafic sortant, journaux d'accès inattendus aux ressources internes et anomalies dans les réponses des serveurs.
Changements inattendus dans les paramètres des comptes d'utilisateurs, transactions financières inexpliquées et journaux d'activité anormaux.
Stratégies de prévention
Valider et assainir les entrées des utilisateurs
Restreindre les demandes sortantes
Segmentation du réseau
Utiliser des en-têtes de sécurité
Audits de sécurité réguliers
Utiliser des jetons anti-CSRF
Attribut du cookie SameSite
Ré-authentification pour les actions sensibles
Sensibiliser les utilisateurs aux liens suspects
Tests de sécurité réguliers
Stratégies de prévention efficaces
1. Validation et assainissement des données d'entrée :
Valider et assainir toutes les entrées utilisateur, en veillant à ce que seuls les URL et les domaines autorisés le soient.
Mettre en place une liste blanche stricte des URL que le serveur peut demander, afin d'éviter toute destination involontaire.
2. Segmentation et isolation du réseau :
Segmenter le réseau pour s'assurer que les serveurs web ne peuvent pas accéder directement aux services internes sans passer par les contrôles de sécurité appropriés.
Utiliser des pare-feu et des listes de contrôle d'accès (ACL) pour restreindre l'accès des serveurs aux ressources internes sensibles.
3. Utilisation d'en-têtes et de protocoles de sécurité :
Mettre en œuvre des en-têtes de sécurité tels que la politique de sécurité du contenu (CSP) pour restreindre les ressources qui peuvent être chargées ou demandées par l'application.
Appliquer le protocole HTTPS pour garantir une communication cryptée entre le serveur et les ressources externes, ce qui réduit le risque d'interception des données.
4. Surveillance et enregistrement :
Surveiller en permanence le trafic sortant et enregistrer toutes les requêtes côté serveur, en particulier celles adressées à des adresses IP internes ou à des domaines inattendus.
Utiliser des systèmes de détection des anomalies pour identifier des modèles de demande inhabituels qui pourraient indiquer une tentative de SSRF.
5. Audits de sécurité et tests de pénétration réguliers :
Mener régulièrement des audits de sécurité et des tests de pénétration afin d'identifier et de corriger les vulnérabilités du SSRF.
Utiliser des outils automatisés tels que OWASP ZAP, Burp Suite et des scanners spécifiques aux SSRF pour détecter les faiblesses potentielles des SSRF.
6. Principe du moindre privilège :
Appliquer le principe du moindre privilège, en veillant à ce que l'application web dispose des autorisations minimales nécessaires à l'exécution de ses fonctions.
Restreindre les capacités du serveur pour qu'il n'effectue des requêtes externes qu'en cas d'absolue nécessité.
S'assurer que vos applications web sont sécurisées contre les attaques SSRF est vital pour maintenir l'intégrité des données et protéger les informations sensibles. Si vous êtes préoccupé par les vulnérabilités SSRF dans vos applications, notre équipe à Vectra AI peut vous aider. Faites une visite gratuite de la plate-forme Vectra AI pour découvrir comment nous pouvons vous aider à renforcer vos défenses contre SSRF et d'autres cybermenaces.
Foire aux questions
Qu'est-ce que la falsification des requêtes côté serveur (SSRF) ?
La SSRF est une vulnérabilité qui permet à un attaquant de faire en sorte qu'un serveur effectue des requêtes non intentionnelles vers des ressources internes ou externes, ce qui peut entraîner un accès non autorisé et une fuite de données.
Quels sont les indicateurs communs d'une attaque SSRF ?
Les indicateurs comprennent des schémas inhabituels de trafic sortant, des journaux d'accès inattendus aux ressources internes et des anomalies dans les réponses du serveur suggérant une extraction non autorisée des données.
Comment prévenir la FSR ?
Les mesures préventives comprennent la validation et l'assainissement des entrées des utilisateurs, la restriction des requêtes sortantes à des destinations de confiance, la mise en œuvre d'une segmentation du réseau et l'utilisation de règles de pare-feu pour bloquer les accès non autorisés.
Comment la validation des entrées contribue-t-elle à prévenir le SSRF ?
La validation des entrées garantit que les données fournies par l'utilisateur ne contiennent pas de charges utiles malveillantes susceptibles de manipuler les requêtes côté serveur, ce qui atténue le risque de SSRF.
Comment les en-têtes de sécurité peuvent-ils contribuer à atténuer la SSRF ?
Les en-têtes de sécurité tels que Content Security Policy (CSP) peuvent restreindre les ressources avec lesquelles l'application peut interagir, ajoutant ainsi une couche de défense contre les attaques SSRF.
Comment fonctionne une attaque SSRF ?
Une attaque SSRF fonctionne généralement en manipulant une requête côté serveur, souvent par le biais d'une entrée fournie par l'utilisateur, afin que le serveur envoie des requêtes à des emplacements non souhaités, tels que des services internes ou des serveurs externes contrôlés par l'attaquant.
Quels sont les exemples d'attaques SSRF ?
Il s'agit par exemple d'accéder à des API internes, de récupérer des métadonnées sur les services cloud et d'interagir avec des services de réseau internes, ce qui peut entraîner l'exposition de données sensibles ou des actions non autorisées.
Quel est l'impact d'une vulnérabilité du SSRF ?
Les conséquences peuvent aller du vol de données et de l'accès non autorisé à des services internes, à la possibilité d'exploiter d'autres ressources comme l'exécution de codes à distance, en fonction de la cible et des privilèges du serveur.
Quel est le rôle de la segmentation du réseau dans l'atténuation des effets du SSRF ?
La segmentation du réseau limite la capacité du serveur à interagir avec les ressources internes sensibles, réduisant ainsi la surface d'attaque disponible pour les exploits SSRF.
Quels outils peuvent être utilisés pour détecter les vulnérabilités du SSRF ?
Des outils tels que Burp Suite, OWASP ZAP et des scanners spécifiques au SSRF peuvent aider à identifier et à analyser les vulnérabilités du SSRF dans les applications web.