En la infraestructura IT de las organizaciones, el peso de las aplicaciones cada vez es mayor como drivers de negocio. El entorno cambiante en el que vivimos hace que la presión sobre los equipos IT para desarrollarlas y evolucionarlas sea continua. En este escenario, la metodología de trabajo DevOps se ha convertido en la gran aliada para afrontar eficientemente el ciclo de vida del software, desde el desarrollo hasta el despliegue de los servicios implementados.
Este modelo marca un camino de colaboración y comunicación entre los distintos perfiles que intervienen en la elaboración y evolución de las aplicaciones. Esa cooperación multidisciplinar que supone una gran ventaja también es un peligro si no se aplica un marco de ciberseguridad continuo. Y es que DevOps y seguridad siempre tienen que ir de la mano. Su integración ha dado lugar al acrónimo DevSecOps.
Sin duda las prácticas de codificación segura son una de las metodologías prioritarias al hablar de ciberseguridad y aplicaciones, ya que cualquier mínima vulnerabilidad puede ser aprovechada por los ciberdelincuentes. De ahí que sea crucial el despliegue de programas de seguridad de aplicaciones (Application Security, AppSec).
En este sentido, estudios como el informe sobre el estado de la seguridad del software 2023 de Veracode, proveedor de soluciones de pruebas de seguridad para aplicaciones, arrojan datos muy preocupantes. Según este, la acumulación de fallos en las aplicaciones es tal que casi el 32 % presenta fallos en un primer escaneo, y cuando llevan cinco años en producción, cerca del 70 % tienen al menos un fallo de seguridad.
Teniendo en cuenta el coste que pueden tener los fallos tanto técnicos como de seguridad por su impacto en los procesos de negocio, lo más recomendado es afrontar cuanto antes los errores que pueda haber en una aplicación. Y es que, a medida que pase tiempo, lo más posible es que vayan acumulando más fallos.
Tipos de análisis para escanear vulnerabilidades
Por esa razón es fundamental adelantar los puntos y controles de seguridad al principio del proceso de desarrollo e implementación con herramientas de escaneo de código de forma estática y dinámica. El objetivo es detectar y corregir los fallos de seguridad en el código de las aplicaciones. Para ellos se cuenta con tres tipos de análisis. SAST (Static Application Security Testing) con el que revisar el código fuente durante la fase de desarrollo de la aplicación y prevenir problemas de seguridad futuros; DAST (Dynamic Application Security Testing) que realiza escaneo tras desplegar la aplicación, no necesitando tener acceso al código fuente; y SCA (Software Composition Analysis) con el que escanear vulnerabilidades de dependencias usadas o de librerías de terceros.
Lo más adecuado es que el uso de unos u otros análisis se determine en un protocolo de gestión del ciclo de vida de las aplicaciones en el que se incorporen aspectos como la gestión de cambios, la asignación de recursos y los controles organizativos.
Es importante señalar que cuantos más meses pasen entre los escaneos más se aumenta la probabilidad de encontrar fallos al realizar uno. Además, es recomendable aplicar varias clases de escaneos para identificar fallos difíciles de detectar.
La seguridad como ventaja competitiva
El objetivo de estos análisis es no sólo en encontrar vulnerabilidades, sino también solucionarlas para reducir los riesgos y aumentar la productividad de los equipos de desarrollo y seguridad. DevSecOps supone la integración temprana de la seguridad en el ciclo de desarrollo de las aplicaciones; la automatización de la seguridad en todo el ciclo de desarrollo; y una analítica y gobernanza de seguridad.
Un aspecto muy a tener en cuenta es que desplegando un programa AppSec se cubren las carencias de las organizaciones cuyos desarrolladores no cuentan con formación en seguridad y, por lo tanto, no la priorizan en sus trabajos. En la evolución de DevOps a DevSecOps, la formación de los desarrolladores influye decididamente en la reducción del tiempo necesario para corregir vulnerabilidades. Es muy importante que entiendan qué vulnerabilidades se introducen con mayor probabilidad y qué técnicas lo impiden.
En definitiva, apostar por este enfoque garantiza la seguridad de las modificaciones que se hagan en las aplicaciones que pueden convertirse en puertas abiertas para ciberataques cada día más sofisticados. Además, permite alinearse con las políticas de seguridad corporativas, proteger a la empresa frente a riesgos, cumplir con normativas legislativas y sectoriales, y, algo fundamenta, presentar la seguridad como una ventaja competitiva.
Adrián Pérez Portillo
Systems Engineer en Omega Peripherals