Attaques par relecture
Une attaque par relecture se produit lorsqu'un intrus copie un flux de messages entre deux correspondants et relit le flux à l'un ou plusieurs des correspondants. Sauf atténuation, les ordinateurs sujets à l'attaque traitent le flux comme messages légitimes, ce qui a des conséquences néfastes 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 à un expéditeur comme si elles provenaient du destinataire. La détection de relecture standard dans le mécanisme Windows Communication Foundation (WCF) ne gère pas cela automatiquement.
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 relates-to signé dans les messages de réponse. Par conséquent, le message de demande ne peut pas être relu 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 séquence de création et de message de réponse de séquence de création sont différents.
Pour les séquences simplex, les messages de séquence envoyés par le client ne peuvent pas lui être relus car le client ne peut pas comprendre de tels 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 corps de séquence sont également signés).
Les seules liaisons susceptibles aux attaques de réflexion sont celles sans WS-Addressing : des liaisons personnalisées pour lesquelles WS-Addressing est désactivé et qui utilisent la sécurité basée sur clé symétrique. Le BasicHttpBinding n'utilise pas WS-Addressing par défaut, mais il n'utilise pas la sécurité basée sur clé symétrique d'une manière qui lui permet d'être vulnérable à cette attaque.
La limitation des risques 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 intrus relit une demande qui a été envoyée à un nœud de la ferme à un autre nœud de la ferme. De plus, si un service est redémarré, le cache de relecture est vidé, ce qui permet à un intrus de relire la demande. (Le cache contient des valeurs de signature de message utilisées et vues précédemment et il empêche toute relecture ; ces signatures ne peuvent donc être utilisées qu'une seule fois. Les caches de relecture ne sont pas partagés dans une batterie de serveurs Web.)
Les solutions d'atténuation des risques sont les suivantes :
Utilisez la sécurité de mode de message avec des jetons de contexte de sécurité avec état (avec ou sans la conversation sécurisée activée). Pour plus d'informations, consultez Procédure : créer un jeton de contexte de sécurité pour une session sécurisée.
Configurez le service pour utiliser la sécurité de niveau transport.
Voir aussi
Concepts
Divulgation d'informations
Élévation de privilège
Déni de service
Falsification
Scénarios non pris en charge