Aller au contenu
ecdsa.com

Encapsulation de signature XML (XSW)

Une classe d’attaques contre les messages signés en XML, dans lesquelles l’attaquant déplace l’élément signé et insère un élément falsifié, si bien que la signature se vérifie toujours sur l’original pendant que l’application traite l’élément falsifié.
Autres graphiesXSWsignature wrapping attackXML signature wrapping

XML-DSig vérifie ce que désigne l’URI d’une Reference, généralement un élément doté d’un ID donné ; l’application, elle, localise souvent « l’assertion » selon une autre règle, par exemple le premier enfant Assertion. Les attaquants encapsulent l’assertion signée authentique dans une extension ou à une autre position, et ajoutent une assertion non signée là où l’application la cherche. Somorovsky et ses collègues ont montré en 2012 que la plupart des frameworks SAML qu’ils avaient testés étaient vulnérables, et de nouvelles variantes continuent d’apparaître.

Parades : traitez uniquement les nœuds exacts qui ont été vérifiés (faites-les renvoyer par le vérificateur), rejetez les documents aux ID dupliqués ou à la structure inattendue grâce à une validation stricte par schéma, exigez que la signature couvre toute la réponse ou toute l’assertion, et utilisez des bibliothèques SAML maintenues. Les formats fondés sur JSON évitent cette classe d’attaques, car la signature y couvre des octets fixes, même s’ils ont leurs propres pièges.

Normes et références

Tous les termes