Aplicaciones en Java y .NET son más propensos a vulnerabilidades

Iniciado por AXCESS, Enero 17, 2023, 02:17:20 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 17, 2023, 02:17:20 AM Ultima modificación: Enero 17, 2023, 02:25:32 AM por AXCESS
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Más de las tres cuartas partes de las aplicaciones escritas en Java y .NET tienen al menos una vulnerabilidad de OWASP Top 10, una lista de debilidades de software que los desarrolladores suelen utilizar como referencia para la seguridad de las aplicaciones.

Eso es según la firma de prueba de software Veracode, que encontró en un análisis de casi 760,000 aplicaciones que aproximadamente una de cada cinco aplicaciones que usaban esos dos ecosistemas de programación tenía al menos una vulnerabilidad de gravedad alta o crítica.

En general, la aplicación promedio tenía un 27 % de posibilidades de presentar al menos una vulnerabilidad cada mes, con aplicaciones mal escritas y aplicaciones escaneadas con poca frecuencia que probablemente tenían más fallas, mientras que las aplicaciones con un historial más largo de procesos de seguridad y escritas por personal bien capacitado los desarrolladores tienen menos probabilidades de introducir nuevas fallas, según mostraron los datos.

El análisis destaca la importancia de integrar la seguridad en la línea de desarrollo, dice Tim Jarrett, vicepresidente de gestión estratégica de productos de Veracode.

"Los datos muestran consistentemente que si creas un hábito de seguridad en tu proceso, obtienes un mejor resultado, tanto en términos de corregir fallas generales como... también ralentizas la avalancha de cosas que ingresan y eso hace diferencia", dice.

Mientras tanto, las empresas de software y los equipos de desarrollo continúan luchando para eliminar los defectos y las vulnerabilidades del código de las aplicaciones. Si bien los desarrolladores y los proyectos de código abierto corrigen las fallas de software más rápidamente, la vida media de la vulnerabilidad promedio se sigue midiendo en meses, no en días o semanas, según el informe "Estado de la seguridad del software" de Veracode, publicado el 11 de enero.

Por ejemplo, las aplicaciones Java y .NET, que representaron el 71 % del total de aplicaciones analizadas por el estudio, observaron que la mitad de las fallas seguían afectando las aplicaciones después de 243 y 158 días, respectivamente.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La sobrecarga y la edad de las aplicaciones tuvieron un impacto negativo significativo en su seguridad. La aplicación promedio acumuló alrededor de un 40% más de código y es más probable que tenga vulnerabilidades. Alrededor del 54% de las aplicaciones de dos años tienen fallas, mientras que el 69% de las aplicaciones de cinco años tienen fallas, encontró el análisis.

La sorprendente seguridad de JavaScript

Sorprendentemente, las aplicaciones escritas en JavaScript o que utilizan uno de los marcos de JavaScript tendían a obtener mejores resultados en los análisis de vulnerabilidades. Mientras que alrededor del 80 % de las aplicaciones Java y .NET tenían una vulnerabilidad, solo el 56 % de las aplicaciones JavaScript la tenían. Y mientras que alrededor del 20 % de las aplicaciones Java y .NET tenían una vulnerabilidad de gravedad alta, menos del 10 % de las aplicaciones JavaScript la tenían.

Los marcos de JavaScript son más nuevos, tienen más seguridad y tienen los beneficios de un ecosistema de código abierto, del cual Java se ha beneficiado recientemente, dice Jarret.

"JavaScript es un lenguaje más nuevo, por lo que las aplicaciones escritas en él [son] más nuevas, y existe una correlación que hemos establecido en informes anteriores entre la antigüedad de la aplicación y el tiempo de reparación de fallas", dice. "Muchas de las herramientas para JavaScript [son] maduras y es un lenguaje bien soportado".

Además, cuando una vulnerabilidad en una aplicación Java es un problema de origen (deja que el desarrollador solucione los problemas), en JavaScript y el marco de Node.js, las vulnerabilidades suelen ser un problema de terceros, porque la vulnerabilidad se ha producido en un componente de la que depende el software.

"La forma en que soluciona un problema de seguridad en una aplicación Java sigue siendo en gran medida [donde] realiza un cambio en un archivo de clase y lo compila", dice. "Donde en una aplicación de JavaScript, [es] más un problema de administración de paquetes. Y eso es algo diferente para que un desarrollador aprenda, lo que puede ser más fácil".

Languidecen nuevos lenguajes de programación

Los datos del informe también destacan la diferencia entre los lenguajes de programación que los desarrolladores están aprendiendo y los lenguajes que en realidad se usan en la mayoría de las empresas. Los principales lenguajes y ecosistemas (Java, .NET y JavaScript) vistos por Veracode no son la elección de tecnología de programación de los desarrolladores.

Si bien los marcos basados en JavaScript y JS, como Node.js, React.js y Angular, dominan las listas de tecnología preferida por los desarrolladores, Java es uno de los lenguajes de programación menos apreciados, con un 54 % de los encuestados que temen el lenguaje, en comparación con un 46% a quien le encantó, según la Encuesta de desarrolladores de 2022 de Stack Overflow.

Sin embargo, Java dominó la parte de las aplicaciones escaneadas por los clientes de Veracode (44 %) en comparación con el 14 % de JavaScript.

Además, el lenguaje de programación más querido, Rust, ni siquiera aparece en los datos de Veracode, mientras que el número 6 de los desarrolladores, Python, solo representa menos del 4 % de las aplicaciones escaneadas.

Parte del motivo de la desconexión es que las aplicaciones establecidas están escritas en lenguajes de programación establecidos, dice Jarrett de Veracode.

"Tienes el universo completo de todo el código que existe, y luego tienes el tipo de espuma en la cresta de la ola de nuevos desarrollos que está ocurriendo, y ahí es donde ves a la gente recogiendo Go, Rust y Dart. y Flutter", dice.

Debido a las bases de código agregadas de las aplicaciones escritas en esos lenguajes, es probable que esa situación no cambie.

"Desafortunadamente, las aplicaciones antiguas nunca mueren, por lo que hay una gran cantidad de masa crítica en las empresas con estas grandes bases de código Java y .NET", dice.

Fuente:
DarkReading
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta