Desarrollo a través de plataformas
Una ventaja clave de desarrollar el software empresarial en entornos Cloud es que se favorece al rápido crecimiento de las plataformas de desarrollo colaborativo. Éstas no solo acortan drásticamente los plazos de lanzamiento de productos y servicios al mercado, sino que también permiten realizar mejores ensayos en entornos virtuales, al tiempo que favorecen un trabajo más ágil. De este modo, las empresas pueden perfeccionar aún más el método DevOps, que de por sí ya ha impulsado mucho la eficiencia del desarrollo de software, con mejores fuentes de innovación y conocimiento que potencian la calidad y la personalización y reducen el plazo de salida al mercado.
Estas ventajas son muy atractivas para las empresas de casi todos los sectores, pero hay otra cara de la moneda: es necesario garantizar que la automatización de las pruebas de seguridad siga el ritmo del DevOps y que la transición al co-desarrollo en la nube, además de rápida, sea también completamente segura.
Para ello, hay que integrar el control, los métodos, los procesos y los conocimientos de seguridad en el núcleo del desarrollo online. Al incorporar la seguridad a estos procesos, las empresas pueden identificar posibles vulnerabilidades y mitigarlas desde las primeras etapas. Esto ahorra tiempo y dinero en fases posteriores, en las que habrá que resolver los distintos problemas que vayan surgiendo.
El objetivo debe ser solucionarlos problemas de seguridad desde el primer día, puesto que es más fácil y barato asegurarse de que no haya puntos débiles que gestionar los contratiempos conforme surgen. En NTT DATA creemos que no solo es lo más sensato, sino que es necesario ser previsores en este sentido. Opinamos que en un futuro cercano la mayoría de los procesos de desarrollo de software/servicios se basarán en ecosistemas de la nube, por lo que hay que asegurarse de que estos sean seguros en todo momento.
Del DevOps al DevSecOps
Es evidente que los principales desarrolladores de soluciones y software comparten nuestra opinión. Por eso la demanda de diseño e implantación de modelos de ciclo de vida de desarrollo de software seguro (Secure SDLC o S-SDLC) está creciendo rápidamente. Estos proyectos integran las tareas de seguridad en cada fase del SDLC y las automatizan en la medida de lo posible, lo cual es clave para llegar a lo que se conoce como DevSecOps
La evolución hacia el S-SDLC está haciendo que el desarrollo de software sea más sofisticado y, a la vez, tenga más en cuenta la seguridad. Sin embargo, completar esta transición con éxito y rapidez no es sencillo y requiere una inversión importante, no solo en términos financieros, sino también en capital humano. Como suele ocurrir cuando se debaten conceptos avanzados de tecnología, no se dedica suficiente tiempo y atención a los factores del cambio que afectan a los empleados. Para pasar de DevOps a DevSecOps se necesitan liderazgo y conocimientos, razón por la cual ha surgido dentro de muchas grandes empresas la figura del Security Champion.
La necesidad de un “defensor de la seguridad”
Aunque integrar aspectos de seguridad en el desarrollo de software es fácil en teoría, en la práctica conlleva cierta complejidad. El primer paso lógico es exigir a los analistas y responsables de seguridad de una organización que asuman un rol de liderazgo, pero para ello deben conocer en profundidad los proyectos de la empresa desde una perspectiva funcional.
Esto no solo obliga a los analistas a ampliar su ámbito de especialización, sino que también fuerza un crecimiento rápido de los equipos de seguridad. Ahora, además de realizar sus tareas principales (establecimiento de políticas, evaluación de amenazas, supervisión e intervención), los expertos tienen que involucrarse directamente en todos los proyectos.
Para liberar al departamento de seguridad de su implicación directa en las tareas habituales de los equipos de desarrollo, es necesario un nuevo rol: el de Security Champion (o “defensor de la seguridad”). Con este enfoque, se invierte el modelo anterior y se designa a una persona dentro de cada equipo de desarrollo como responsable de seguridad de ese proyecto. Esta persona se relaciona con el equipo de expertos en seguridad de la empresa y, juntos, deben recopilar ideas, apoyo y conocimientos especializados, así como identificar y resolver las debilidades de seguridad cuando sea necesario.
Gracias a este sistema, no es necesario ampliar en exceso el equipo central de seguridad para garantizar que esta se tiene en cuenta durante el desarrollo de los distintos proyectos. El rol del Security Champion es, por tanto, clave para pasar del método DevOps al DevSecOps.
Capacidades y función
En un mundo marcado por el desarrollo rápido a través de plataformas, la función del Security Champion es de vital importancia. Las personas que desempeñan este rol deben contar con un amplio abanico de competencias y experiencia:
- Experiencia y conocimientos técnicos en el ámbito del desarrollo de software y soluciones.
- Conocimiento profundo y práctico de los problemas de seguridad y de las técnicas de gestión y resolución de los mismos. Esto no significa que el Security Champion tenga que ser necesariamente un experto en ciberseguridad: es posible desarrollar el nivel adecuado de conocimientos con una formación específica.
- Autoridad y liderazgo dentro del equipo, lo que le permitirá ordenar modificaciones y mitigaciones cuando detecte fallos potenciales (no basta con "recomendar").
Los Security Champions deben demostrar competencia y veteranía. Solo así podrán cumplir su misión, que consiste en asegurarse de que se cumplen los requisitos de seguridad de la empresa, adecuando los distintos proyectos desde la fase de desarrollo. Para ello, deberán:
Recopilar la información sobre defectos de seguridad proporcionada por arquitectos y analistas (Security Brokers) a partir de análisis y auditorías. A continuación, deben interpretar estos informes basándose en los resultados de las herramientas AST (Application Security Testing) incorporadas en DevSecOps.
Este análisis conduce después a una intervención eficaz, ya que el Security Champion define tareas claras de mitigación de vulnerabilidades. Además, se asegura de que estas se integran en el flujo de trabajo del equipo, ofreciendo orientación y formación cuando sea necesario para garantizar que los miembros del equipo sepan lo que tienen que hacer para mejorar el nivel de seguridad del software.
Las tareas estarán supervisadas también por el Security Champion, que seguirá implicado en el proceso y será el responsable de garantizar que los fallos se resuelven por completo. Este profesional fomentará además la concienciación y la capacitación en materia de seguridad, lo que conducirá a una mejora progresiva de los resultados y una reducción constante de los fallos a largo plazo.
Evolución y mejora continuas
La figura del Security Champion se ha creado para dar a la mitigación de riesgos un mayor protagonismo en el desarrollo sin necesidad de ampliar el tamaño de los departamentos de seguridad ni de incorporar especialistas individuales a los equipos. Así se garantiza que las actividades de DevSecOps sigan siendo lo más ágiles y eficientes posible, al tiempo que se corrigen fallos y vulnerabilidades con facilidad y rapidez.
Esperamos que el papel y el alcance de estas actividades evolucionen de la siguiente manera:
- Incorporación del rol de Security Champion a los proyectos. Esto permitirá liberar a los especialistas en seguridad de la empresa de una participación directa en el desarrollo, algo que requeriría una gran inversión en tiempo y costes. Resulta mucho más sencillo y menos costoso formar a un desarrollador en competencias de seguridad, adquiriendo éstehabilidades complementarias, que contratar a nuevos especialistas en la materia.
- Como resultado directo de estos avances, irá surgiendo un programa de Security Champions dentro de la comunidad del desarrollo de software. Esto proporcionará un flujo constante de perfiles adecuados para este puesto, que habrán sido formados por desarrolladores senior con amplios conocimientos sobre proyectos clave. Es probable que estos programas incluyan incentivos y reconocimientos en función de las debilidades detectadas y los incidentes resueltos. El objetivo es motivar el compromiso con una actividad que contribuye al progreso personal.
- Se fomentará la concienciación en materia de seguridad a nivel mundial, por medio de programas corporativos destinados a promover el conocimiento y la formación en desarrollo seguro. Las empresas son las principales interesadas, ya que la detección precoz ahorra tiempo y costes. Integrar la seguridad desde el principio evita imprevistos disruptivos y aumenta la rentabilidad y las ventajas competitivas.
- La automatización mediante la industrialización de los procesos será cada vez más importante. La automatización de los procesos de análisis de seguridad permite acortar tiempos y adaptar mejor las tareas de seguridad a entornos ágiles, con la consiguiente reducción de costes económicos. Esto implica también un replanteamiento de los actuales procesos manuales (ya obsoletos), y requiere una inversión inicial en herramientas y formación.
Con el tiempo, estamos seguros de que el planteamiento expuesto en este artículo evolucionará adoptando distintas formas, pero la clave en un mercado tan cambiante será dar siempre con el enfoque adecuado.