Saltar al contenido
ecdsa.com

Envoltura de firmas XML (XSW)

Una clase de ataques contra mensajes con firma XML en los que un atacante mueve el elemento firmado e inserta uno falsificado, de modo que la firma sigue siendo válida para el original mientras la aplicación procesa la falsificación.
También se escribeXSWsignature wrapping attackXML signature wrapping

XML-DSig verifica aquello a lo que apunta un URI de Reference, normalmente un elemento con un ID determinado; después, la aplicación suele localizar «la aserción» con otra regla, por ejemplo el primer hijo Assertion. Los atacantes envuelven la aserción firmada auténtica dentro de una extensión o en otra posición y añaden una aserción sin firmar donde busca la aplicación. Somorovsky y sus colegas demostraron en 2012 que la mayoría de los frameworks de SAML que probaron eran vulnerables, y siguen apareciendo variantes.

Defensas: procesar solo los nodos exactos que se verificaron (haciendo que el verificador los devuelva), rechazar los documentos con ID duplicados o con una estructura inesperada mediante una validación estricta del esquema, exigir que la firma cubra toda la respuesta o la aserción, y usar bibliotecas SAML mantenidas. Los formatos basados en JSON evitan esta clase concreta porque la firma cubre bytes fijos, aunque tienen sus propios problemas.

Estándares y referencias

Todos los términos