¿Java es seguro para el escritorio? [duplicar]

23

Se sabe que el complemento de Java para navegadores web tiene muchos problemas de seguridad, al menos en el pasado. Google Chrome ya no lo soporta más, lo describe como tecnología decrépita y Firefox tiene un pequeño mensaje de advertencia cerca.

¿Pero está seguro el JRE sin el complemento del navegador? ¿Las aplicaciones de escritorio, móviles y servidores de Java son tan vulnerables como el complemento de Java?

    
pregunta Dan 17.09.2015 - 10:16
fuente

3 respuestas

49

Sí : las aplicaciones de escritorio y servidor Java son básicamente seguras.

Cuando ejecutas una aplicación de escritorio (Skype, Picassa, lo que sea), le das a ese software acceso completo a tu computadora. Tienes que confiar en el software.

Por el contrario, cuando ejecuta un applet de Java en su navegador web, el applet se ejecuta en un entorno restringido llamado sandbox. La zona de pruebas existe para que no tenga que confiar en el applet de Java.

Java ha tenido muchas vulnerabilidades; Casi todos ellos son "escapes de caja de arena". En otras palabras, si está ejecutando una versión anterior de Java, un applet malintencionado puede salir de la zona de pruebas y tomar el control de su computadora.

No hay muchas tecnologías que admitan entornos limitados. De hecho, solo hay tres tecnologías comunes en las que las personas ejecutan habitualmente software que no es de confianza: Java, JavaScript y Flash. Todos estos han tenido muchas vulnerabilidades de escape en la caja de arena, lo que demuestra la dificultad de escribir una caja de arena segura.

Cuando ejecuta Java en su escritorio o en un servidor, confía en el código Java que está ejecutando, por lo que no confía en el entorno limitado. En ese contexto, la principal preocupación es si los datos que no son de confianza pueden interferir con la aplicación. Por ejemplo, si está hablando con alguien en Skype, podría enviar un mensaje malintencionado de que Skype maneja mal y les permite tomar el control de su computadora. (Solo uso Skype como ejemplo aquí).

Ha habido muy pocas instancias en las que los errores en el tiempo de ejecución de Java permitieran que una aplicación de escritorio o servidor fuera hackeada. Normalmente, esto ocurre debido a errores en el código de la aplicación, no en el propio Java.

    
respondido por el paj28 17.09.2015 - 11:46
fuente
10
  

¿Pero está seguro el JRE sin el complemento del navegador? Son de escritorio de java,   ¿Aplicaciones móviles y de servidor tan vulnerables como el complemento de Java?

El JRE no es tan seguro, incluso si no tomamos en consideración el complemento de Java. Para darle una pista, encontrará aquí un largo Lista de vulnerabilidades de seguridad, incluidas las críticas, descubiertas durante este año que afectan a JRE en sus diferentes versiones.

Y los mecanismos de sandboxing que encontramos en la JVM (y en otros lugares) no son tan perfectos, a veces se omiten:

  

Aunque Oracle es consciente de que las vulnerabilidades de Java también pueden ser   explotado en implementaciones de servidor al proporcionar información maliciosa a las API   En componentes vulnerables, su mensaje ha sido generalmente que el   La mayoría de las vulnerabilidades de Java solo afectan el complemento del navegador Java.   o que los escenarios de explotación para fallas de Java en servidores son   improbable, dijo Gowdiak el martes por correo electrónico.

     

“ Tratamos de informar a los usuarios que las afirmaciones de Oracle eran incorrectas con   respecto al impacto de las vulnerabilidades de Java SE ", dijo Gowdiak. "Nosotros   probó que los errores evaluados por Oracle solo afectaban a Java   El complemento también podría afectar a los servidores ".

Fuente: Investigadores: grave defecto en Java Runtime Environment para equipos de sobremesa, servidores

    
respondido por el user45139 17.09.2015 - 10:55
fuente
9

Si bien el Java RE no siempre es tan seguro como lo anuncian, las alternativas son aún peores. Otras tecnologías como C ++ ni siquiera intentan ofrecer sandbox y permiten que un programa haga lo que quiera. Cuando ejecuta un programa local en su máquina, debe asumir que le permite hacer lo que quiera. No importa si se implementa en C, Python, Java o lo que sea.

    
respondido por el Philipp 17.09.2015 - 11:36
fuente

Lea otras preguntas en las etiquetas