La seguridad del software sigue siendo una rémora para el desarrollador

  • Seguridad

Corregir las vulnerabilidades se ha convertido en una parte igual de importante del proceso de desarrollo como lo es mejorar la funcionalidad. Aunque la seguridad de las aplicaciones es un área en la que se ha avanzado mucho en la última década y DevOps aumenta la tasa de reparación de fallos, queda margen para la mejora.

Veracode recurre al símil de las tarjetas de crédito para hablar de ‘deuda en seguridad’. “Al igual que las deudas en las tarjetas de crédito, haciendo pequeños gastos de forma recurrente se puede acumular una gran deuda”, dice Chris Wysopal, co-fundador y CTO de la compañía cuando habla de que, aunque más de la mitad de todos los fallos de seguridad (56%) son solucionados, remediar los nuevos errores conduce a una mayor deuda en seguridad, ya que se acumulan los no resueltos y se unen a la lista de fallos sin resolver. Además, según sus datos, el 83% de software aún tiene fallos en el primer escaneo.

Después de analizar más de 85.000 aplicaciones en más de 2.300 compañías en todo el mundo, la investigación indica que corregir las vulnerabilidades se ha convertido en una parte igual de importante la mejora de la funcionalidad, lo que sugiere que los desarrolladores están cambiando su mentalidad para ver la seguridad de su código de la misma manera que otras métricas de valor.

Tras diez años elaborando el informe, el directivo dice que “hemos visto una gran mejora en el estado general de la seguridad de las aplicaciones (AppSec). Hemos pasado de tener que discutir por qué dicha seguridad es importante a tener conversaciones sobre la mejor manera de abordar el problema. Este cambio se refleja en los datos que muestran que las empresas están solucionando un mayor porcentaje de fallos que nunca, pero hay mucho margen de mejora, específicamente cuando se trata del tema del aumento de la deuda de seguridad”.

Principales fallos
En general, según los datos del estudio, el 83% de las aplicaciones tienen al menos un error en el escaneo inicial, y la filtración de información (64%), problemas criptográficos (62%) e inyección de CRLF (61%) son los problemas más comunes.

Aunque hay vulnerabilidades recurrentes en todas las ediciones del estudio, los equipos de desarrollo están avanzando para mantenerse al día con ellas: el 70% está reduciendo el número de errores después del primer escaneo o están logrando no introducir ningún otro al momento del escaneo final, y también se observan otros avances que apuntan que la educación en seguridad del software está ayudando a reducir las vulnerabilidades.

El estudio también revela que cuanto más tiempo se mantengan activas las vulnerabilidades, las posibilidades de que se corrijan disminuyen, lo que se suma a la deuda en seguridad de una organización, es decir, se acumulan con la lista de fallos por resolver. Este tema se está convirtiendo en un problema para empresas de todos los sectores, ya que aproximadamente la mitad de las aplicaciones acumulan deudas con el tiempo, aunque es verdad que una cuarta parte las está reduciendo y otra cuarta parte está llegando al punto de equilibrio.

Según el informe, la frecuencia con la que se escanea una aplicación tiene un impacto directo a la deuda de seguridad en general. El 1% de las aplicaciones con la frecuencia de escaneo más alta desencadena aproximadamente cinco veces menos deudas de seguridad, lo que sugiere que una exploración frecuente va más allá del hecho de encontrar los fallos; también ayuda a las empresas a reducir significativamente el riesgo.

Como explica Chis Eng, responsable de Riesgos de la compañía, “la prevalencia general de las vulnerabilidades aumentó un 11% desde que lo reportamos por primera vez hace 10 años, pero la proporción de las que se han evaluado como de alta gravedad cayó un 14% durante el mismo periodo. Los datos muestran que es muy probable que los desarrolladores sean quienes se den cuenta y corrijan los fallos de esta categoría, por lo que existe una evidencia sólida de que los equipos de desarrollo están mejorando para determinar qué fallos son los más importantes para solucionarlos primero”.

DevSecOps mejora las tasas de reparación
La frecuencia y la cadencia de las pruebas de seguridad están vinculadas a los cambios de hábitos, con la finalidad de reducir la deuda en seguridad. Las aplicaciones escaneadas menos de una vez al mes requieren un tiempo medio de solución de 68 días, pero los equipos de desarrollo que hacen el escáner diario solo tardan 19 días, lo que contribuye a reducir la acumulación de la deuda a través del tiempo. Las organizaciones también pueden reducir dicha deuda creando listas de verificación de seguridad para desarrolladores para todas las nuevas funciones, y escaneando bases de código después de cada compilación nocturna.

"Los equipos de desarrollo no pueden ignorar los fallos ni elegir reparar los nuevos en lugar de los antiguos. En su lugar, deberían hacer un plan para arreglar los errores más actuales y usar ‘sprints de seguridad’ periódicos para corregir fallos no resueltos que podrían ser atacados", explica Eng.

Los datos revelan que el 30% de las aplicaciones muestran un mayor número de fallos en su último análisis, un indicador de que se está acumulando la deuda de seguridad. Esto no implica necesariamente que esos equipos de desarrollo estén haciendo un mal trabajo a la hora de manejar los fallos (el periodo de tiempo analizado podría estar asociado a un tiempo de rápido crecimiento y cambio, por ejemplo), aunque las organizaciones deberían pensar en la frecuencia con la que las pruebas de seguridad de las aplicaciones (AppSec) en los entornos DevOps pueden tener un impacto positivo en la deuda de seguridad.