Partager via


Attaques par relecture

Une attaque de relecture se produit lorsqu’un attaquant copie un flux de messages entre deux parties et relecture le flux vers une ou plusieurs des parties. Sauf atténuation, les ordinateurs soumis à l’attaque traitent le flux en tant que messages légitimes, ce qui entraîne une série de conséquences incorrectes, telles que des ordres redondants d’un élément.

Les liaisons peuvent être soumises aux attaques de réflexion

Les attaques de réflexion sont des relectures de messages renvoyés à un expéditeur comme s’ils provenaient du destinataire en guise de réponse. La détection de répétition standard dans le mécanisme Windows Communication Foundation (WCF) ne gère pas automatiquement cette fonctionnalité.

Les attaques de réflexion sont atténuées par défaut, car le modèle de service WCF ajoute un ID de message signé aux messages de demande et attend un en-tête signé relates-to sur les messages de réponse. Par conséquent, le message de requête ne peut pas être relecté en tant que réponse. Dans les scénarios de messages fiables sécurisés, les attaques de réflexion sont atténuées pour les raisons suivantes :

  • Les schémas de message pour create sequence et create sequence response sont différents.

  • Pour les séquences simplex, les messages séquentiels envoyés par le client ne peuvent pas être relus, car le client ne peut pas comprendre ces messages.

  • Pour les séquences duplex, les deux ID de séquence doivent être uniques. Par conséquent, un message de séquence sortant ne peut pas être relu en tant que message de séquence entrant (tous les en-têtes et le corps de séquence sont également signés).

Les seules liaisons susceptibles d’être exposées aux attaques de réflexion sont celles sans WS-Addressing : les liaisons personnalisées qui ont WS-Addressing désactivées et utilisent la sécurité symétrique basée sur des clés. Le BasicHttpBinding n’utilise pas WS-Addressing par défaut, mais il n’utilise pas la sécurité symétrique basée sur des clés d’une manière qui lui permet d’être vulnérable à cette attaque.

L’atténuation pour les liaisons personnalisées consiste à ne pas établir de contexte de sécurité ou à requérir des en-têtes WS-Addressing.

Batterie de serveurs Web : l'intrus relit la demande à plusieurs nœuds

Un client utilise un service implémenté sur une batterie de serveurs Web. Un attaquant rejoue une requête envoyée depuis un nœud de la batterie de serveurs vers un autre nœud de la batterie de serveurs. En outre, si un service est redémarré, le cache de relecture est vidé, ce qui permet à un attaquant de relire la demande. (Le cache contient des valeurs de signature de message précédemment affichées et empêche les relectures afin que ces signatures ne puissent être utilisées qu’une seule fois. Les caches de relecture ne sont pas partagés sur une batterie de serveurs web.)

Les atténuations sont les suivantes :

Voir aussi