Estos son los lenguajes de programación que generan más vulnerabilidades

Escrito por Rubén Velasco
Programación

Existen un gran número de lenguajes de programación, cada uno con sus características, técnicas y medidas de seguridad. En aplicaciones de gran tamaño, con miles de líneas de código, es muy habitual cometer fallos o despistes que, según su envergadura, pueden llegar a causar problemas para la seguridad y privacidad de los usuarios. No todos los lenguajes de programación son igual de propensos a las vulnerabilidades, por lo que la empresa Veracode ha publicado un estudio donde se muestren los lenguajes de programación más vulnerables a día de hoy.

Veracode es una empresa de seguridad dedicada a analizar código fuente en busca de posibles vulnerabilidades antes de que los desarrolladores publiquen las aplicaciones. Esta empresa de seguridad ha estado llevando a cabo un estudio en el que, según sus propios datos, ha sido capaz de identificar los lenguajes de programación que albergan un mayor número de vulnerabilidad por cada megabyte de código.

Según el estudio, los lenguajes de programación más vulnerables son:

  1. Classic ASP, con 1.686 fallos por cada megabyte (1.112 fallos críticos por megabyte)
  2. ColdFusion, con 262 fallos por megabyte (227 fallos críticos por megabyte)
  3. PHP, con 184 fallos por megabyte (47 fallos críticos por megabyte)
  4. Java, con 51 fallos por megabyte (5.2 fallos críticos por megabyte)
  5. .NET, Con 32 fallos por megabyte (9.7 fallos críticos por megabyte)
  6. C ++, con 26 fallos por megabyte (8.8 fallos críticos por megabyte)
  7. iOS, con 23 fallos por megabyte (0,9 fallos críticos por megabyte)
  8. Android, con 11 fallos por megabyte (0,4 fallos críticos por megabyte)
  9. JavaScript, con 8 fallos por megabyte (0,09 fallos críticos por megabyte)

Si analizamos la lista anterior podemos ver que ASP ocupa el primer lugar, sin embargo, se trata de un lenguaje prácticamente abandonado y totalmente en desuso, por lo que el número de aplicaciones creadas con este lenguaje es mínimo. Igualmente, ColdFusion que ocupa el segundo lugar tampoco es un lenguaje habitual al estar enfocado a sistemas tecnológicos punteros.

Los datos preocupantes comienzan en el tercer puesto, ocupado por PHP, un lenguaje de programación backend muy extendido en la red, siendo uno de los más peligrosos al enviar comandos de inyección (SQL Injection, por ejemplo) e incluso en temas criptográficos.

Lenguajes de programación más vulnerables

Cuáles son los ataques informáticos más frecuentes para cada lenguaje de programación

Esta empresa de seguridad también ha facilitado información sobre los diferentes ataques informáticos más frecuentes para cada lenguaje de programación.

Dejando de lado los lenguajes ASP y ColdFusion al ser su cuota de mercado prácticamente irrelevante, PHP sería el lenguaje más vulnerable si nos fijamos en fallos SQL Injection, XSS y ejecución remota de código. Si fijamos la seguridad en temas criptográficos la programación menos segura es la de iOS y Android, aunque estos sistemas, en cambio, son los que mejor se protegen frente a los 3 tipos de vulnerabilidades anteriores.

Comparando los resultados con las reglas OWASP (Open Web Application Security Project), los lenguajes compilados como C/C++ y Objective C (lenguaje de programación de iOS) obtienen mejor nota en esta plataforma. En segundo lugar, los lenguajes que se ejecutan en código de bytes como Java o .NET suelen pasar con menos éxito las reglas OWASP, aunque sus resultados no son del todo malos. Los lenguajes en scripts, como ASP, ColdFusion o PHP son, de lejos, los que peores notas consiguen en estos tests de seguridad y tienen la tasa de aprobado más baja.

Vulnerabilidades más frecuentes en los lenguajes de programación

El estudio completo de Veracode se puede consultar en el siguiente enlace.

¿Qué opinas de las vulnerabilidades en los lenguajes de programación?

Quizá te interese:


Últimos análisis

Valoración RZ
8
Valoración RZ
9
Valoración RZ
9
Valoración RZ
10
Valoración RZ
9
Valoración RZ
10
Valoración RZ
7
Valoración RZ
9
Valoración RZ
10