Java ya no es líder de infecciones de PCs
Últimamente en el portal hemos tenido bastantes discusiones sobre si realmente Java tiene un problema de seguridad (1, 2, 3) y cuánta gente se infecta a través de Java. Según las estimaciones de Kaspersky, Java es responsable del 50% de todas las infecciones de equipos en 2012; este dato me parece tremendamente exagerado. Aunque sólo sea porque hay demasiadas vulnerabilidades para que una sola de ellas acapare la mitad de los ataques.
Así que he decidido volver a buscar datos y actualizar el artículo "Java sigue siendo líder en vulnerabilidades" que escribí hace poco más de un año, y he buscado datos en la fuente más fiable que conozco, al menos en lo que infecciones para PCs Windows se refiere: los Microsoft Security Intelligence Report
Primero, las buenas noticias: Java ya no es el vector de ataque líder en infecciones de equipos, al menos no en PCs Windows. Las fantásticas aplicaciones HTML 5 están consiguiendo que las infecciones a través de HTML/JavaScript hayan crecido espectacularmente, especialmente a lo largo de 2011, y a mediados de este año han superado al número de infecciones causadas por Java. Ahora las malas noticias: las infecciones a través de Java siguen creciendo considerablemente. Aquí tenéis un gráfico resumiendo la evolución de las infecciones:
Este gráfico forma parte del "Microsoft Security Intelligence Report v 13", que contiene datos hasta el segundo trimestre de 2012. Microsoft no ha hecho públicos los datos del tercer y cuarto trimestres de 2013 (que formarán parte de la versión 14 del informe).
Los datos de esa gráfica surgen de los datos que la MRT (Microsoft Removal Tool) envía cada mes a los servidores de Microsoft. La MRT es un antivirus no residente que se actualiza en nuestros equipos cada mes a través de la actualización de Windows Update y que se ejecuta en el siguiente arranque realizado por el equipo después de la actualización. Si encuentra alguna infección, además de eliminarla notifica a Microsoft.
Aquí tenéis un gráfico con la evolución de los malwaremás populares, junto con la vulnerabilidad en la que se basan:
Y este gráfico muestra la evolución de infecciones debidas a los agujeros de seguridad responsables de más infecciones dentro de la plataforma Java:
Será discutible si desde un punto de vista teórico Java tiene o no un problema de seguridad. Desde un punto de vista práctico sí que lo tiene. Y si no que se lo digan a los aproximadamente 15 millones de equipos que se infectaron a través de Java en el período analizado por este informe.
Reader Comments (7)
No sé si es idea mía, pero creo que una conclusión más fría es que la web en si misma se ha vuelto más insegura.
Creo que se debe a la evolución de la tecnología. En mis años mozos era habitual recibir un diskette "infectado". Hoy en día distribuir virus mediante software o medios físicos es como distribuirlos a caballo. Hoy en día todo se hace a través de la web. Por lo tanto es la web en si misma la que es más insegura.
De hecho, los dos vectores de infección que más destacan en el gráfico tienen íntima relación con la web: HTML5 y Java. Por lo tanto, además de la responsabilidad de Oracle de hacer de Java realmente más seguro (personalmente creo que la comunidad lo logrará en la OpenJDK), la industria debe enfocarse en hacer de la web un lugar más seguro.
Creo que hoy el problema está en mejorar la seguridad del browser o quizá mejorar los antivirus para que abarquen también al browser. No sé si estoy equivocado, pero creo que las tecnologías de antivirus deberán enfocarse más en la web independientemente de la tecnología de fondo (HTML5, Java o lo quevenga)
Casi todas las vulnerabilidades hoy en día llegan a través de la web, incluso cuando es un documento suele ser un adjunto. Y cuando hablan de vulnerabilidad del sistema operativo seguro que es a través de algún servicio o similar. Simplemente porque es la realidad de cómo metemos información dentro del ordenador.
Lo que sí que ha cambiado completamente desde los tiempos en los que los virus venían en disquetes es la motivación. El virus del disquete lo hacía un hacker en su casa para demostrar que era inteligente. Los virus de ahora lo hace gente para ganar dinero, porque esa industria mueve mucho dinero, como se desprende del precio que tienen los exploit kit comerciales (hasta $10,000 al mes). O los precios de las vulnerabilidades:
http://www.javahispano.org/portada/2012/11/30/a-la-venta-zero-day-exploit-para-java-7-update-9-precio-de-v.html
¿Alguna otra fuente para contrastar esos datos? No por decir que sean malos, simplemente que fiarse de una sola fuente que además es interesada... me parece poco para sacar conclusiones.
Aparte de la fiabilidad, la tendencia actual es incluir más y más funcionalidad en "el HTML" (incluyendo JavaScript) así que ríete tú con el acesso desde JavaScript a funcionalidades nativas.
Y por cierto, dado que algunas infecciones con Java, como la última, lo que hacen es darte acceso al equipo para ejecutar lo que quieras, no es un virus que te instale vamos, como hace ésta herramienta para detectarlo.... ¿Mira si tienes un JRE vulnerable?
Komorr, Fuentes he citado a lo largo de los últimos años muchas, francamente, y ahora no me apetece buscarlas. La última, anteayer: Kaspersky dice que Java es responsable del 50% de todas las infecciones de equipos en 2012. en cualquier caso, aunque hay otras fuentes, más fiables que ésta no la hay.
Y la herramienta de Microsoft hace lo mismo que cualquier otro antivirus para buscar virus: busca "signatures", es decir busca bytes del virus en tu disco duro.
Teniendo en cuenta que las vulnerabilidades de Java, como la última mencionada, NO son virus, pues me quedo igual que antes :).
Soy de la opinión que hay que matar al plugin de Java. Es una herencia pesada, que ya no tiene ningún sentido para el usuario en general. Debería ser una descarga separada del JRE, y que no se habilite por defecto. Si no se toma una acción en este sentido, desde Oracle o desde los fabricantes de navegadores, se terminará "manchando" el prestigio de toda la plataforma Java por extensión. Siempre el vector de ataque en los exploits de Java pasa por el maldito plugin, que no tiene ninguna utilidad en prácticamente la totalidad de los usuarios de hoy día.
Sino después salen anuncios apocalípticos de "java es inseguro", sin aclar nada, y cada vez más se va formando en el inconsciente colectivo que es una plataforma para evitar. Hay que eliminar y desactivar el maldito plugin de una vez por todas. Estoy tremendamente desilucionado con las respuestas de Oracle hasta ahora, y cómo está descuidando a la plataforma por continuar con su cruzada destinada al fracaso de JavaFX, que por más excelente que sea, a nadie le interesa. El futuro son los estándares abiertos y la web, JavaFX es un despropósito. Tienen que matar al plugin, de una vez y para siempre.
Yo todavía no he visto un virus de Java, ¿alguien ha visto alguno?