En el desarrollo de software, hay riesgos —básicamente errores de programación— que generan vulnerabilidades de seguridad que pueden explotarse en un ataque. Aunque son pocas las veces en que los lanzamientos de software no tienen errores, es importante identificar y corregir estos problemas y otras implementaciones defectuosas que plantean riesgos de seguridad. Sin embargo, si el trabajo de seguridad se limita a solucionar los problemas detectados tras realizar pruebas en software ya desarrollado, estas correcciones (aunque son importantes) pueden quedarse en retoques estéticos, porque no llegan a los problemas de fondo.
En Axis, creemos que las cuestiones de seguridad deben abordarse desde el principio y durante todo el proceso de desarrollo, no solo al final. Y lo pensamos porque se toman infinidad de decisiones durante todas las fases de desarrollo del software, desde el momento en que se establecen los requisitos de la aplicación y las fases de diseño e implementación hasta la verificación y el despliegue. En cada una de estas fases, desarrolladores, arquitectos y responsables del producto toman decisiones que son difíciles de revertir cuando el software ya está terminado.
Axis Security Development Model
Para garantizar la ciberseguridad y su integración en el ciclo de vida de desarrollo del software, Axis ha introducido una metodología conocida como Axis Security Development Model (ASDM). Este modelo describe las actividades de seguridad que deben tenerse en cuenta durante las diferentes fases del desarrollo de un software. El objetivo es reducir las vulnerabilidades, y también los costes de desarrollo, definiendo un punto de referencia para la ciberseguridad y proporcionando orientaciones. Gracias a este planteamiento, los equipos de desarrollo lo tienen más fácil para estar al corriente de las expectativas y para comunicar las decisiones vinculadas a la seguridad.
El conjunto de herramientas del ASDM plantea diferentes actividades, desde la evaluación de riesgos o el modelado de amenazas hasta las pruebas con modelos de amenazas, el análisis de código estático y de vulnerabilidades o la evaluación de proveedores, actividades que permiten resolver un amplio abanico de problemas de seguridad. Los equipos de desarrollo pueden realizar las actividades en función del tipo de software que deban desarrollar. El ASDM abre la puerta a trabajar con un enfoque basado en riesgos y garantiza que las actividades vinculadas a la seguridad se llevan a cabo en el momento oportuno. El objetivo último es reforzar la ciberseguridad y no únicamente cumplir con un trámite.
El proceso vinculado al ASDM empieza siempre con una evaluación que determinará si una nueva función o aplicación plantea un riesgo de seguridad. En la mayoría de los casos, tras la evaluación de riesgos se realiza un modelado de amenazas y pruebas con los modelos de amenazas. En esta fase se determinan el sistema, los casos de uso, las amenazas y las respuestas. El código se revisa y se analiza, y se lleva a cabo una verificación. Cada año se realizan pruebas de penetración (ciberataques simulados) en diferentes productos de software de Axis, a cargo de empresas externas especializadas.
Las pruebas, impulsadas por Axis y nuestros socios, ofrecen un análisis independiente de nuestro software y refuerzan los esfuerzos de la empresa en el terreno de la seguridad del software. El grupo de seguridad de software de Axis utiliza los resultados de las pruebas para evaluar la aplicación del ASDM y determinar si el modelo requiere mejoras. Y lo mismo ocurre cuando se descubren nuevas vulnerabilidades, notificadas al equipo de seguridad de productos de Axis por analistas de seguridad externos. Las conclusiones tanto de analistas externos como de las pruebas de penetración de terceros nos ayudan a mejorar nuestros productos y procesos. Merece la pena destacar que el Axis Security Development Model está en constante evolución.
Un elemento esencial del Axis Security Development Model es su apuesta por el trabajo en equipo. El grupo de desarrollo que crea el software también es responsable de su seguridad. Más de 1.100 desarrolladores de 50 equipos de desarrollo de Axis aplican el ASDM en su trabajo cotidiano. Para ayudarles en su día a día, cuentan con el apoyo de más de 40 desarrolladores vinculados al grupo de seguridad de software (SSG) de Axis y unidades satélite del SSG de asistencia técnica. El SSG se ocupa de proporcionar recursos de formación y herramientas de seguridad, y también de realizar el seguimiento de los diferentes equipos e introducir mejoras en el ASDM cuando hace falta. Las unidades satélite del SSG, por su parte, ayudan a ajustar el ASDM según las necesidades de cada equipo, teniendo en cuenta sus diferentes recursos tecnológicos y formas de trabajar. Los supervisores y los directores de los equipos de software son los responsables de realizar un seguimiento del trabajo de los equipos en relación con el ASDM y también de la seguridad del software.
Introducción del ASDM
El ASDM se puso en marcha en 2015 y, a partir de 2017, se convirtió en una herramienta de uso obligatorio para los equipos de desarrollo de software de Axis. Antes de su introducción, los equipos de desarrollo de Axis aplicaban diferentes prácticas en el desarrollo de software, inspiradas en algunos de los principales valores del ADN de Axis, como la transparencia, la revisión por pares y el orgullo y la responsabilidad por las innovaciones tecnológicas. Aunque los equipos eran capaces de crear código de gran calidad, Axis no disponía de ningún sistema común que definiera cómo incorporar las consideraciones de seguridad en el proceso de desarrollo.
La creciente importancia de la ciberseguridad y los cambios en las prácticas recomendadas obligaron también a buscar nuevas y mejores formas de trabajar. Con el fin de encontrar un enfoque común y viable, Axis revisó las normas y esquemas de ciberseguridad existentes (como ISO 27001, IEC 62443, NIST, BSIMM y CMMC), que de forma directa o indirecta tienen en cuenta la seguridad en la fase de desarrollo. El denominador común de estas normas y esquemas es la necesidad de incorporar la seguridad en diferentes fases del proceso de desarrollo. También orientan a los usuarios en el terreno de las buenas prácticas y establecen un vocabulario común que facilita a todos los actores implicados la comunicación en torno a la ciberseguridad.
El ASDM, sin embargo, es mucho más que la implementación de una norma o esquema existente, ya que incorpora muchos de los aspectos más útiles de diferentes normas y esquemas, y está totalmente adaptado a la cultura de empresa y las prácticas de desarrollo de Axis. Y al estar diseñado a medida, este modelo resulta aplicable a diferentes tipos de software. Además, en un entorno en el que las ciberamenazas y las respuestas están en constante evolución, también permite incorporar nuevas prácticas recomendadas. En suma, el ASDM permite a los equipos de desarrollo de software de Axis conseguir el máximo impacto posible e integrar realmente la seguridad en el software.