Un ataque de degradación , también llamado ataque de puja descendente, [1] o ataque de reversión de versión , es una forma de ataque criptográfico a un sistema informático o protocolo de comunicaciones que lo hace abandonar un modo de operación de alta calidad (por ejemplo, una conexión cifrada ) a favor de un modo de operación más antiguo y de menor calidad (por ejemplo, texto sin cifrar ) que generalmente se proporciona para la compatibilidad con sistemas más antiguos. [2] Un ejemplo de tal falla se encontró en OpenSSL que permitía al atacante negociar el uso de una versión inferior de TLS entre el cliente y el servidor. [3] Este es uno de los tipos más comunes de ataques de degradación. Los protocolos de cifrado oportunistas como STARTTLS generalmente son vulnerables a los ataques de degradación, ya que, por diseño, recurren a la comunicación no cifrada. Los sitios web que dependen de redirecciones de HTTP no cifrado a HTTPS cifrado también pueden ser vulnerables a ataques de degradación (por ejemplo, sslstrip ), ya que la redirección inicial no está protegida por cifrado. [4]
Los ataques de degradación a menudo se implementan como parte de un ataque Man-in-the-middle (MITM) y pueden usarse como una forma de habilitar un ataque criptográfico que de otra manera no sería posible. [5] Los ataques de degradación han sido un problema constante con la familia de protocolos SSL/TLS; ejemplos de tales ataques incluyen el ataque POODLE .
Los ataques de degradación en el protocolo TLS adoptan muchas formas. [6] Los investigadores han clasificado los ataques de degradación con respecto a cuatro vectores diferentes, lo que representa un marco para razonar sobre los ataques de degradación de la siguiente manera: [6]
Hay algunas propuestas recientes [7] [8] que explotan el concepto de conocimiento previo para permitir que los clientes TLS (por ejemplo, los navegadores web) protejan los nombres de dominio sensibles contra ciertos tipos de ataques de degradación que explotan el soporte de los clientes para versiones heredadas o conjuntos de cifrados no recomendados (por ejemplo, aquellos que no admiten secreto de reenvío o cifrado autenticado), como POODLE, fragmentación ClientHello, [9] [10] y una variante de los ataques de degradación DROWN (también conocido como "el ahogamiento especial"). [ aclaración necesaria ]
Eliminar la compatibilidad con versiones anteriores suele ser la única forma de evitar ataques de degradación. Sin embargo, a veces el cliente y el servidor pueden reconocerse mutuamente como actualizados de una manera que los evita. Por ejemplo, si un servidor web y un agente de usuario implementan HTTP Strict Transport Security y el agente de usuario sabe esto del servidor (ya sea por haber accedido previamente a él a través de HTTPS o porque está en una "lista de precarga HSTS" [11] [12] [13] ), entonces el agente de usuario se negará a acceder al sitio a través de HTTP estándar, incluso si un enrutador malicioso lo representa a él y al servidor como no aptos para HTTPS.
{{cite conference}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite conference}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite conference}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite conference}}
: CS1 maint: varios nombres: lista de autores ( enlace )