Tradicionalmente el modelo de desarrollo del software era en cascada, donde se planificaba el proyecto en pequeños objetivos y se iban realizando en serie, y poco a poco se ha ido migrando a metodologías agiles donde lo que se busca hacer es un desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto.
Lo que permite esto es solucionar los errores de forma temprana para evitar los sobrecostes que suponen arreglar un error cuando el software ya está en producción. Bajo esta premisa se apoya el desarrollo seguro, poniendo a la seguridad como elemento principal, realizando comprobaciones de seguridad que se centran en detectar y subsanar cualquier error en una etapa temprana, y comprenden tests de autentificación, autorización, confidencialidad, no repudio, integridad, estabilidad, disponibilidad o resiliencia.
Según el informe Cost of Data Breach Report de 2019, se subraya que una brecha de datos puede infligir de media un gasto de 3,9 millones de dólares a una empresa. Brecha que podría detectarse haciendo uso del desarrollo seguro. Con esto y el aumento de los ciberataques en un 150% en 2021 y con un 2022 afectado por la Guerra entre Ucrania y Rusia, el desarrollo seguro ha de ser una prioridad para las empresas.
Para detectar estas vulnerabilidades a tiempo durante la fase de desarrollo, se pueden hacer auditorías de código estático. Estas auditorías consisten en el análisis del código fuente mediante el uso de herramientas de análisis de código para detectar posibles vulnerabilidade que junto con la pericia de los auditores para validar dichas vulnerabilidades se filtran los falsos positivos. Los falsos positivos son resultados que dan las herramientas automatizadas de detección de código estático cuando creen haber encontrado una vulnerabilidad que en realidad no resulta ser explotable. Es tarea del auditor distinguir entre positivos y falsos positivos.
A la hora de aplicar el desarrollo seguro existen metodologías e iniciativas que aportan las pautas necesarias y pueden ser utilizadas como referencia para su implantación e incorporan el uso de auditoría de código dentro de sus ciclos de desarrollo:
- Microsoft SDL (Microsoft Security Development Lifecycle)
- CLASP (Comprehensive, Lightweight Application Security Process)
- OpenSAMM (Open Software Assurance Maturity Model)
- Touchpoints.
En Áudea realizamos auditorias de código estático. En base a los resultados obtenidos tras el análisis de código estático, se realiza un informe detallado con diferentes recomendaciones de seguridad y su manera de aplicarlas, que aumentan de manera sustancial el grado de seguridad del código fuente auditado.
Equipo Audea