Ir al contenido principal

Mejorar y entender la seguridad del plugin de Java (III) (Enero 2013)

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

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?
Los atacantes tienen varias posibilidades. Para el usuario, la opción por defecto (seguridad "alta", explicada en la entrega anterior) es preguntar si se quiere ejecutar un applet no firmado, con un diálogo como este:
Si los atacantes no lo firman, confiarán en que el usuario con la configuración por defecto, simplemente acepte la "invitación". Pero pueden afinar con un poco de "ingeniería social". Una opción es, sencillamente, autofirmar sus applets. Esto no requiere ninguna inversión.  Pero los applets autofirmados (o firmados por una CA que no sea de confianza para Java), tampoco considerados "de confianza". Supongamos que un atacante intenta ejecutar un applet autofirmado en un usuario con la configuración por defecto, la víctima obtendrá este mensaje:
Como vemos, el "publicador" y el nombre pueden ser sustituidos por cualquier palabra, dando confianza a la amenaza. Esto, al contrario de lo que se pretende con la alerta, puede permitirles ganar cierto grado de "confianza" en la víctima, aunque se necesiten un "click" más por parte del usuario.
Si el applet está correctamente firmado y garantizado por una CA válida, el diálogo que aparecerá será el siguiente
Que no se diferencia demasiado del autofirmado, y que podría confundir igualmente al usuario medio... En resumen, la principal diferencia entre una firma de verdad y el autofirmado en un applet es un botón de "Ejecutar" deshabilitado y que la víctima debe aceptar un "Entiendo los riesgos...", cosa que si hace el usuario medio, confirma exactamente lo contrario.
¿Qué hacer entonces?
Las vulnerabilidades de diseño de Java siguen ahí, y es cuestión de tiempo que se hagan públicas. Los atacantes han perdido un importante filón: desde la versión 7u10 las instalaciones completamente silenciosas no serán tan sencillas. Ahora tienen la opción de seguir sin firmar sus applets o de autofirmar. Incluso la de invertir y firmar sus applets (por menos de 100 euros al año se puede conseguir un certificado). Pero entonces ya no necesitarían de vulnerabilidades... También pueden seguir buscando vulnerabilidades que incluso puedan eludir los niveles de seguridad y seguir ejecutando applets de forma silenciosa.
Hay que evitar pues, si no hay más remedio que usar Java, la ejecución de applets no firmados o autofirmados. De los firmados, permitir, solo los sean los estrictamente necesarios. Para empezar, sería necesario impedir que los no firmados se ejecuten. Eso se consigue elevando la seguridad a "muy alta". Así, si se intenta cargar un applet no firmado se conseguirá un bloqueo directo:
No está de más quitar el permiso a applets autofirmados. Esto se consigue desmarcando la opción "Permitir el otorgamiento de acceso elevado a aplicaciones autofirmadas". Si se intenta cargar un applet de este tipo, aparecerá un diálogo como el que sigue.
¿Y si los atacantes firman sus applets "legítimamente"? Esto no es raro, bien porque inviertan en certificados bien porque los roben (los últimos incidentes en CA hacen que esto no solo sea una posibilidad, sino que además sea probable). En estos casos con el tiempo meterían en la lista negra los certificados y por tanto dejarían de ser de confianza, pero mientras tanto, es necesario hacer una lista blanca. O sea, conocer qué certificados firman los applets que necesito, y eliminar el resto del almacén.
Pero también se puede hacer mucho por mejorar la seguridad desde el navegador y con otras opciones. Lo veremos en la próxima entrega.
Más información:
una-al-dia (28/01/2013) Mejorar y entender la seguridad del plugin de Java (I)
una-al-dia (29/01/2013) Mejorar y entender la seguridad del plugin de Java (II)
 
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 .

Las Diez Mejores Reglas De Diseño Front-End Para Desarrolladores

Como desarrolladores Front-End, nuestro trabajo es esencialmente convertir los diseños en realidad a través del código. Comprender y ser competentes en el diseño es un componente importante de esto. Desafortunadamente, entender realmente el diseño de Front-End es más fácil a la hora de decirlo que hacerlo. La codificación y el diseño estético requieren algunos conjuntos de habilidades bastante diferentes. Debido a esto, algunos desarrolladores Front-End no son tan proficientes en el aspecto de diseño como deberían ser y como resultado, su trabajo sufre. Mi objetivo es darte algunas reglas y conceptos fáciles de seguir, desde un  desarrollador Front-End  a otro, que te ayudará a ir desde el inicio hasta el final de un proyecto sin estropear lo que tus diseñadores trabajaron tan duro (o posiblemente incluso permitirte diseñar tus propios proyectos con resultados decentes). Por supuesto, estas reglas no te llevarán de malo a magnífico en el tiempo que toma para leer un artí...

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.  ...