Ir al contenido principal

Mejorar y entender la seguridad del plugin de Java (I) (enero 2013)

Mejorar y entender la seguridad del plugin de Java (I)

El plugin de Java se está convirtiendo en un serio problema de seguridad, llevamos meses comprobándolo. Oracle ha añadido seguridad en su configuración por defecto, y ofrecido más granularidad a los usuarios. Pero todavía es mejorable. ¿Para qué sirven las nuevas funcionalidades y qué se puede esperar de ellas?
Lo primero que es necesario entender cuáles son los riesgos de los applets de Java. La máquina virtual Java es la encargada de ejecutarlos y, por seguridad, los mantiene dentro de una "sandbox". Esto quiere decir que no les permite acceder al disco, ejecutar código... ¿Por qué son peligrosos entonces? Porque existen situaciones en las que las que se les permite a esos applets salir de la sandbox. Si ocurre esto, el applet se convierte a efectos prácticos en un ejecutable (puede hacer prácticamente cualquier cosa con los permisos con los que se ejecuta). ¿Bajo qué circunstancias pueden salir de la sandbox?
  • Oficialmente, solo cuando los applets están firmados por una entidad certificadora válida. Las entidades certificadoras válidas se pueden ver por la interfaz. Esas entidades pueden ser modificadas a través del fichero C:\Program Files\Java\jre7\lib\security\cacerts. Con "keytool" y sus opciones de "delete" e "import", se pueden configurar. Pero en las opciones de seguridad avanzada de Java, también se permite "Usar los certificados y claves del almacén de claves del explorador", con lo que hay que tenerlo en cuenta. Se puede confiar en más certificadoras de las que se cree.
  • Un applet puede salir de la sandbox (aunque no esté firmado), por culpa de una vulnerabilidad en la propia implementación de la máquina virtual. Si la implementación de la máquina Java en sí (la parte escrita en C) contiene un desbordamiento de memoria intermedia, por ejemplo, puede que sea explotada y se ejecute código. Estas serían vulnerabilidades "clásicas" que atacan a la implementación. Su mitigación es como cualquier otra vulnerabilidad en un programa: usar herramientas antipayload, antiexploit... y por supuesto, mantenerse actualizado.
        
  • Por último, un applet puede escapar de la zona de seguridad por un fallo de diseño "del lenguaje" que se lo permita. Las últimas vulnerabilidades más graves en Java han sido por esta razón (invocando clases privilegiadas desde código no confiable, serialización...). Esta es una de las razones por las que se insiste en deshabilitar por completo el plugin, puesto que supone un grave problema. Son un fallo intrínseco de diseño, que requieren un cambio profundo y que no serán solucionadas a corto plazo. Se sabe que la última versión sigue siendo vulnerable en este sentido y todavía quedan vulnerabilidades (fórmulas para eludir la sandbox) que descubrir.
¿Cómo defenderse? Deshabilitar Java si no se usa. Pero esto no siempre es posible. Eliminar el problema no es una solución para todo el mundo, sino otro problema adicional si de verdad se necesita esta funcionalidad. Además, Java tiene el problema de que "no tiene competencia". Solo queda entender cómo protegerse de manera más eficaz. Puesto que se trata de contener la ejecución de applets dañinos que puedan eludir la sandbox, la clave está en:
  • La criptografía: hay que luchar contra los applets no firmados (no suelen aportar nada bueno), autofirmados (son sospechosos), y vigilar estrechamente los firmados (aun así el firmado solo garantiza al autor, no sus intenciones).
         
  • Actualización: No permitir que ciertos applets se lancen en versiones antiguas para evitar que se aprovechen de vulnerabilidades conocidas.

En este sentido de control de certificados y versiones, en la versión 7u10 se introdujeron los niveles de seguridad y la "autoconciencia" de ser una versión "insegura". Lo veremos en detalle la próxima entrega.
Fuente:

Comentarios

Entradas populares de este blog

¿Qué es la ejecución de código arbitrario?

En informática , el término código arbitrario hace referencia a código muy largo que no será interpretado por una aplicación o sistema operativo sino que provocará un desbordamiento de búfer de esa aplicación o sistema operativo lo que hará que el trozo desbordado sea interpretado y/o ejecutado por el sistema bajo unas condiciones más favorables. Es utilizado para realizar ataques. Otra forma más simple de definirlo es que la ejecución de código arbitrario es: Una forma fácil en la que un atacante puede ejecutar "comandos" tan sencillo como pensar en que alguien a distancia esta tecleando comandos que pueden ser desde un inocente mkdir "para hacer directorio" hasta un rm "borrar directorio" o abrir puertos etc para troyanizar el equipo "mantener el acceso". Lo que también es conocido como remote code execution .

Shazam! Reconocimiento de Algoritmos de Música, Huellas Dactilares y Procesamiento

Alguna vez de has preguntado, ¿Cómo es que mi iPhone (Siri) es capaz de saber que canción toca la radio con solo decirle la pregunta y dejarle "escuchar" un pedazo? Bueno eso son algoritmos de conocimiento de Música que hoy en día disfrutamos en nuestros telefonos iPhone, Android pero hay una ciencia detrás de esto. En el artículo de hoy hablaremos a detalle sobre "Reconocimiento de Algoritmos de Música, Huellas Dactilares y Procesamiento" tenemos un interesante artículo que nos comparten desde toptotal.com Oyes una canción familiar en el club o en el restaurante. Has escuchado esta canción miles de veces desde hace mucho tiempo y el sentimentalismo de la canción realmente toca tu corazón. ¡Desesperadamente la quieres volver a escuchar en la mañana, pero no recuerdas su nombre! Afortunadamente, en nuestro increíble mundo futurista, tienes un teléfono con software de reconocimiento de música instalado. Puedes relajarte, ya que el Software te dijo el nombre de la ...

XKEYSCORE: Google, NSA y las Comunicaciones Privadas del Mundo - Parte I

Una de las más poderosas herramientas de vigilancia masiva de la Agencia de Seguridad Nacional ( NSA )  hace un seguimiento del uso de Internet de alguien tan fácil como introducir una dirección de correo electrónico, y no proporciona la tecnología incorporada al publico para evitar abusos. Hoy en día, La Intercepción publica 48 - top secret y otros documentos clasificados sobre XKEYSCORE fecha hasta 2013 , que arrojan nueva luz sobre la amplitud, la profundidad y la funcionalidad de este sistema de espionaje crítico - uno de los lanzamientos más grandes hasta ahora de los documentos proporcionados por la NSA denunciante Edward Snowden . Descripción breve sobre  XKEYSCORE XKEYSCORE  es un programa de la NSA   el cual fue revelado por el diario The Guardian , lo que hace es hacer un barrido con innumerables búsquedas en Internet de las personas, correos electrónicos, documentos, nombres de usuario y contraseñas, y otras comunicaciones privadas.  ...