• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / Vulnerabilidades / Navegadores inseguros. Los tiempos están cambiando.

Navegadores inseguros. Los tiempos están cambiando.

9 agosto, 2017 Por Hispasec Deja un comentario

Hace unos días nos llegó la noticia de la propia Adobe: Flash se acaba en 2020. Listo. Fin de una era. Aunque en su nota de prensa no mencionan ni de pasada las 1033 vulnerabilidades de seguridad (casi todas de máxima gravedad) que salen en una búsqueda rápida, Adobe alega únicamente un cambio de rumbo en la tecnología hacia estándares más abiertos, tales como HTML5 y WebGL.
Lo de Flash era una muerte anunciada. No podía ser de otro modo. Arrinconado por las vulnerabilidades, autentica puerta de entrada de toda clase de malware, y denostado por los buscadores, Flash fue reduciendo su masa de usuarios, desarrolladores y navegadores que lo soportan. Es incontable la cantidad de exploits que usan Flash como vector de explotación (junto con Adobe PDF Reader o Java, el tridente de la inseguridad). Es tal el ritmo de aparición de CVE sobre Flash que hasta dejaron de ser noticia.
Aunque Adobe fija su fin en 2020, todavía nos quedarán los rescoldos de una larga batalla por la expulsión de Flash del campo de juego del navegador. Engaños a usuarios desprevenidos (“pinche aquí amigo, instálese la última versión de Flash”, “Ah, ¿pero no había desaparecido?”, “pinche aquí amigo”, “vale, vale, pincho”) o navegadores sin actualizar. Sorprende que incluso con la política de actualizaciones automáticas todavía hay usuarios que no reinician el navegador para aplicarlas. Eso nos deja una pequeña rendija abierta en la ventana de exposición.
Flash no se queda solo. Los lectores de PDF incrustados en el navegador van siendo desplazados por el propio lector hecho en Javascript (no es broma, hecho en puro Javascript). Esto permite cerrar la vía a esos auténticos monstruos salidos de la mente de un escritor pasado de absenta que son los complementos nativos, auténticos quebraderos de cabeza de la navegación segura.
Otro que va borrando su mala impronta es Java. Hace tiempo que fue noticia su práctico baneo por los principales navegadores, y su uso generalista se ve marginado a ciertas aplicaciones obsoletas y sin mantenimiento, por ejemplo, algunas webs gubernamentales en las que te exigen “INTERNET EXPLORER 5.5 o superior / Java RunTime Environment Sun Versión 1.4.2. o superior” (la cita es textual, de la página de un Ministerio). Quién ha instalado una máquina virtual con un Windows 2000 y Java 1.4 obsoletos para firmar digitalmente sabe de qué se está hablando. Ahora esa misma firma electrónica se efectúa en, sorpresa, Javascript.
¿Nos quedamos aquí?
Para nada. Si miramos las propias implementaciones de Javascript (o el propio Java) vemos otros de los grandes culpables de hacer saltar por los aires a los navegadores: C y C++. Estos lenguajes de programación fueron diseñados hace décadas, cuando la gente ni sospechaba de lejos la fiesta que podía armarte un simple memcpy con un inocente búfer y una cadena de entrada procedente de usuario. Eso y la falta (necesaria) de un recolector de basura, hacía que la gestión de memoria fuera un desastre en manos de gente sin experiencia, con prisas o con las dos mencionadas condiciones a la vez.
C++ es un lenguaje complejo, muy complejo. Tanto que los propios expertos reconocen que es imposible aprender completamente cada una de sus características, o que es casi imposible crear un intérprete (parser) de la gramática completa (ver pag. 147). Aunque las nuevas versiones del estándar han reducido enormemente la capacidad de crear errores en la gestión de memoria, gracias a los punteros “inteligentes” (shared_ptr, unique_ptr, (ojo, no auto_ptr)), el daño ya está hecho. Además, incluso con estas mejoras, es complicado encontrar desarrolladores con un buen nivel en este lenguaje.
Vemos un comienzo en la evolución en este campo: nuevos lenguajes de programación, adaptados a los requisitos de seguridad y amigables para atraer nuevos programadores. Desde la propia Mozilla, han diseñado un lenguaje que permite obtener buenos tiempos de ejecución sin necesidad de gestión manual de la memoria: Rust. Este lenguaje les ha permitido reemplazar componentes de Firefox que anteriormente estaban hechos en C++ a otros en Rust, como por ejemplo Servo o Quantum. Es previsible que de manera progresiva se vayan adaptando más partes a este nuevo lenguaje si les acompañan los buenos resultados en rendimiento y desarrollo.
Como vemos, no hay nada escrito en piedra. Poco a poco se vencen antiguos paradigmas, modelos obsoletos y se cierran viejas heridas. Naturalmente, no vamos a dejar de ver exploits. Tan pronto como las antiguas técnicas dejen de ser efectivas se investigarán otras que den resultados similares. Además, y lo más importante, aunque reduzcamos la superficie de ataque, cerremos la ventana de exposición y creemos nuevos lenguajes más seguros, jamás podremos eliminar el componente más vulnerable de todo el sistema: el usuario. 


David García
@dgn1729
dgarcia@hispasec.com


Más información:
flash & the future of interactive content
https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html

Navegadores inseguros
http://unaaldia.hispasec.com/1998/10/navegadores-inseguros.html




Acerca de Hispasec

Hispasec Ha escrito 6987 publicaciones.

  • View all posts by Hispasec →
  • Blog

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Publicado en: Vulnerabilidades

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

siguenos en twitter

UAD360 EDICIÓN 2022

https://www.youtube.com/watch?v=go_CSWK56yU

Populares de UAD

  • Desafíos de Seguridad en Amazon AWS a través del Servicio de Tokens Seguros (STS) en la nube
  • Un bug permite "romper" el WhatsApp de todos los miembros de un grupo
  • Un fallo de seguridad en Facebook permite ver fotos privadas de otros usuarios
  • Vulnerabilidades críticas en UEFI: LogoFAIL expone a Dispositivos x86 y ARM
  • El activador de Windows KMSPico te puede robar tu billetera de criptomonedas

Entradas recientes

  • Desafíos de Seguridad en Amazon AWS a través del Servicio de Tokens Seguros (STS) en la nube
  • Vulnerabilidades críticas en UEFI: LogoFAIL expone a Dispositivos x86 y ARM
  • Google responde a ataques actuales: Parche de seguridad para Zero-Day explotada en Chrome
  • Ciberseguridad e IA: Directrices globales para un desarrollo seguro
  • Reto CTF UAM: DumpShark
  • En Black Friday aumentan las estafas generadas por IA
  • Randstorm: La emergente amenaza que pone en riesgo 1,4 millones de bitcoins
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2023 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR