Como ya sabemos Java es un lenguaje muy amplio, que abarca muchas plataformas y se usa para propósitos muy variopintos, pero estos días no está destacando por las novedades que va incorporando la plataforma de Oracle (que son una barbaridad), sino por los problemas de seguridad que van lastrando su camino y su reputación.
Pero los titulares como “fallos de seguridad en Java permiten que […]“ , bajo mi punto de vista, no hacen justicia a lo que realmente es Java ni tampoco suelen expresar el verdadero fallo que permite, por ejemplo, ejecutar código arbitrario en un PC sin autorización.
¿Donde está el fallo se seguridad?
Obviamente los fallos de seguridad dentro de toda la plataforma que comprende Java pueden encontrarse en cualquier versión o sistema operativo, pero realmente donde están los fallos de seguridad es en el navegador (en el complemento de Java de cada navegador que permiten ejecutar los applets) y no en todos los demás sitios (como por desgracia se está empando a creer).
¿Pero cual es el fallo de seguridad?
Uno de los motivos por lo que los navegadores son el principal foco de malware es por el gran acceso que hay a Internet (como es lógico a través del navegador) y por la facilidad que existe para hacer que cualquier persona entre a una web sin conocerla (“¡Oh! mirar esto”… y si, lo normal que no haya nada, pero puede que te encuentres con una página normal que ha conseguido infectarte a través de un complemento del navegador).
Java y los applets
Java como lenguaje de programación que es y con el que se crear aplicaciones puede necesitar acceso a nuestros archivos, por ejemplo, y no pasa nada si lo tiene, siempre que lo vaya a usar para darles un buen uso y seamos conscientes de su propósito. Pero los applets tienen limitaciones de seguridad (que básicamente es encerrarlos en una sandbox), cualquier applet de una web cualquiera no puede tener acceso a todo nuestro sistema, porque podría hacer cualquier tarea maliciosa sin darnos cuenta.
Pero esos applets, que pueden ser aplicaciones que sirvan para gestionar nuestros archivos o para hacer un informe avanzado del sistema, si que necesitan saltarse los bloqueos de seguridad, sino no pueden actuar para realizar sus tareas (actuando prácticamente como ejecutables).
Pero saltarse los bloqueos de seguridad “teóricamente” no es tan fácil y solo cumpliendo ciertos requisitos pueden saltárselos. Java permite tener más privilegios a una aplicación si está certificada por una entidad válida.
O también puede haber un fallo de diseño del propio lenguaje que permita saltarse estas imitaciones, como ha ocurrido bastantes veces en 2012 y en el primer mes de este año. Este ha sido el motivo por el que últimamente se recomienda deshabilitar los complementos del navegador de Java si no son necesarios usarlos.
¿Java es inseguro?: no, pero por desgracia los complementos para los navegadores fallan, pero eso no significa que una aplicación de escritorio escrita en Java sea peligrosa, ni que lo sea una aplicación de Android, ya que para instalar una aplicación en estas plataformas se necesita usar un ejecutable e instalarlas, en cambio en un navegador hasta ahora que han saltado las alarmas se ejecutaban prácticamente sin permiso, pero con las “sandbox” que se han podido eludir.
Cambios en políticas de seguridad de Java
Actualmente la ejecución de applets está algo más controlada, ahora Java debería de preguntarnos cada vez que ejecutemos una aplicación no firmada o firmada por una entidad certificadora desconocida, haciendo que algún usuario se echase para atrás al ver estas alertas, aunque siempre está el factor ingeniería social, si ves un anuncio y al entrar te encuentras esto puede que te pensases si ejecutarlo o no, pero si buscas por ejemplo descargar gratis el Photoshop en una página y te mencionan que para descargarlo previamente tienes que dar a “ejecutar”, el usuario medio-bajo tiene bastantes posibilidades de acabar con una pantalla titulada: “Cuerpo Nacional de Policía“, que es lo que puede pasar (y pasa) cuando el complemento de Java ejecuta código sin previo aviso.
Resumen
Nosotros como desarrolladores sabemos cual es el problema, simplemente fallos de seguridad en un navegador (usado de forma masiva), pero la gente que no tiene unos conocimientos básicos de seguridad si nadie les previene acabarán con el malware de turno y se extenderá la creencia que últimamente está dando que hablar: “Java es inseguro, no uses nada que funcione con Java“, claramente, una creencia errónea, usa el PC, todo lo que quieras, pero con cabeza o te dará igual que sea Java u otro programa.
Vía | Hispasec
En Genbeta Dev | Apple da la espalda a Java en su última actualización de OSX