Ya está disponible la última gran actualización de Firefox, siguiendo el ciclo habitual de Mozilla de lanzar versiones cada cuatro martes.
La lista de correcciones de seguridad de este mes (como las lunas llenas, a veces hay dos actualizaciones de Firefox en un mes natural, pero la mayoría de los meses solo hay uno) es muy corta, y no hay ningún error crítico ni de día cero.
Pero hay un fallo fascinante que sirve de recordatorio de que es difícil escribir código de navegador sensible y fácil de usar que también sea fuerte contra un ataque bien ideado.
Ese fallo, designado CVE-2023-34414, tiene una calificación Alta, y se describe con las palabras un tanto misteriosas: Excepciones de certificado de clickjacking mediante rendering lag.
Deconstruyendo la jerga
Vamos a deconstruir la jerga de ese informe de error.
Clickjacking, en pocas palabras, es cuando un atacante te atrae a una parte de la pantalla que parece segura (o incluso deseable) para hacer clic, y te engaña para que hagas clic con el ratón o toques con el dedo en el lugar marcado con una X solo para que tu clic sea enviado a un componente de la página web en el que definitivamente no habrías hecho clic si solo hubieras sabido dónde hacías clic.
Por ejemplo, un vendedor de publicidad en línea deshonesto podría intentar mezclar anuncios en los que se puede hacer clic con imágenes no relacionadas que parecen botones inofensivos [OK], pero que en realidad permiten que el clic active el anuncio, haciéndote caer así en el fraude publicitario.
Otro abuso popular del clickjacking, cuando estaba de moda a principios de la década de 2010, consistía en colocar un botón invisible de “Me gusta” de las redes sociales sobre un contenido totalmente ajeno (que incluso podría ser un botón falso de [Cancelar] en el que los usuarios bien informados estarían deseando hacer clic).
De este modo, podías acabar siendo engañado para que apoyaras incluso contenidos escandalosos bajo la falsa impresión de que, en cambio, los estabas rechazando.
Afortunadamente, los fabricantes de navegadores empezaron rápidamente a detectar y evitar este tipo de traición clickjacking, haciéndolo cada vez menos útil para los ciberdelincuentes.
El nombre técnico de ataque de redireccionamiento de la interfaz de usuario apareció en la jerga durante un tiempo. Pero la ambigüedad de la palabra ” redireccionamiento “, hizo que esta expresión rebuscada fuera difícil de entender. La palabra clickjacking no solo era mucho más corta, sino también mucho más clara de usar, así que esa es la palabra que se quedó.
Las excepciones de certificado se refieren a esas advertencias que te muestra tu navegador cuando visitas un sitio web que podría no ser lo que parece, como un servidor llamado ejemplo.com que se identifica como desconocido.inválido; un servidor con un certificado web que no se ha renovado desde hace años; o un certificado que no ha sido avalado por una autoridad de certificación conocida.
Por ejemplo, así:
Y el rendering lag, es la demora entre el momento en que tu navegador recibe instrucciones para presentar un nuevo contenido, y el momento en que ha realizado el procesamiento HTML, CSS, gráfico y JavaScript necesario para que el contenido esté listo para su visualización.
Según Mozilla, el fallo CVE-2023-34414 podría ser desencadenado por un atacante que consiguiera el equilibrio (o quizás queramos decir el desequilibrio) justo en la secuencia siguiente
- Servir contenido como señuelo, mostrando un botón o algo por el estilo en lo que probablemente querrías hacer clic.
- Introducir la carga de CPU adicional justa, pero no excesiva, en el navegador, suministrando nuevos contenidos diseñados para consumir recursos de renderizado.
- Esperar que tu clic llegue lo suficientemente tarde como para acabar en la página de riesgo potencial de seguridad en lugar de en el contenido falso, pero lo suficientemente pronto como para que no hayas visto aparecer primero la página de advertencia.
Todos hemos hecho este tipo de cosas por error en otros contextos: mover el cursor del ratón hacia el botón que queríamos pulsar, por ejemplo, como al confirmar que queríamos responder en ese momento a una importante llamada de voz entrante y luego apartar la vista cuando no debíamos, y hacer clic accidentalmente en el mismo lugar donde había aparecido otro cuadro de diálogo urgente del que no nos habíamos percatado, como aprobar un reinicio inmediato y prolongado para aplicar actualizaciones en su lugar.
En el momento oportuno
En el caso del CVE-2023-34414, un atacante podría orquestar el momento del subterfugio para que pudieras ser engañado incluso si no dejabas que tu atención se desviara, e incluso si cuidadosamente no hacías clic sin mirar:
Si una página maliciosa provocaba clics del usuario en lugares precisos inmediatamente antes de navegar a un sitio con un error de certificado, y hacía que el “renderizador” estuviera extremadamente ocupado al mismo tiempo, podía crear un desfase entre el momento en que se cargaba la página de error y el momento en que se actualizaba realmente la pantalla.
Con la sincronización adecuada, los clics provocados podían caer en ese hueco y activar el botón que anula el error de certificado para ese sitio.
Mozilla dice que ha corregido este error (¡en el último sentido de corrección que hemos dado más arriba!) controlando la sincronización con más cuidado, asegurando así el retardo de activación correcto que Firefox “utiliza para proteger los avisos y los diálogos de permiso de los ataques que se aprovechan de los retrasos en el tiempo de respuesta humana”.
En otras palabras, los clics de una página anterior, de aspecto inocente, ya no se retrasan ni se dejan pasar el tiempo suficiente para activar un diálogo de seguridad que necesita verdadera atención antes de aceptar la entrada.
¿Qué hacer?
- Si eres usuario de Firefox, dirígete a la opción de menú Acerca de Firefox para comprobar qué versión tienes. Si tu navegador aún no se ha actualizado automáticamente, debería preguntarte si quieres obtener la última versión de inmediato. Deberías tener la versión 0 o posterior si utilizas la versión normal de Firefox, o la versión ESR 102.12 si utilizas la versión de soporte ampliado (la ESR incluye todas las correcciones de seguridad necesarias, pero retrasa la incorporación de nuevas funciones, por si alguna de ellas añadiera nuevos errores inadvertidamente).
- Si eres programador, trata de diseñar y regular tu interfaz de usuario de modo que las decisiones críticas no puedan ser desencadenadas por clics del ratón o pulsaciones de teclas que fueron grabados anteriormente por un usuario que no previó (o no pudo prever) las ventanas emergentes que podrían aparecer en un futuro próximo, pero que aún no habían aparecido.
Dejar un comentario