La agilidad en el desarrollo del software y la seguridad del mismo no debían estar reñidas, nos decían los gurús del DevOps y otras metodologías unificadoras y que hacen proclama de la flexibilidad. Quizás sea cierto en su capa más elemental, pero la realidad del día a día de los programadores hace que esa información deje cuanto menos de ser 100% correcta.
Pongámonos en una situación al uso. En los procesos de desarrollo basados en DevOps se valora la velocidad y la eficiencia para mantenerse al día y poder satisfacer las demandas de la economía de las aplicaciones. Como resultado, los desarrolladores hacen uso de componentes que utilizan características y funcionalidades de proyectos y bibliotecas existentes. De hecho, el 83% de los desarrolladores usa componentes comerciales o de código abierto, o ambos, con un promedio de 73 componentes por aplicación.
Y aquí viene el problema: solo el 52% de los desarrolladores que usa componentes comerciales o de código abierto en sus aplicaciones actualiza esos componentes cuando se anuncia una nueva vulnerabilidad de seguridad.
Desarrollo de apps multiplataforma: una formación con garantía de empleo
Así lo asegura un estudio de Vanson Bourne para CA Technologies, según el cual, a pesar de encontrar un promedio de 71 vulnerabilidades por aplicación introducidas a través del uso de componentes de terceros, solo el 23% de los encuestados realizaron pruebas de vulnerabilidades en los componentes en cada versión.
Además, solo el 53 % de las organizaciones mantiene un inventario de todos los componentes en sus aplicaciones. Incluso podemos ir más allá: menos del 28% de las compañías hace un análisis regular de composición para saber qué componentes forman parte de sus aplicaciones.
El estudio también muestra que el 44% de los equipos de desarrollo y el 31% de los de seguridad son, con más probabilidad, los responsables del mantenimiento de componentes de código abierto y comercial de terceros, lo que sugiere un movimiento hacia mayor responsabilidad del equipo de desarrollo.