Hablamos constantemente de cómo se transforman las compañías, de cómo se actualiza el software… pero, ¿cómo evoluciona la seguridad en el desarrollo de proyectos?

Hoy en el blog, hablamos de cómo integramos en Paradigma la seguridad dentro de los procesos DevOps, de cómo funciona la nueva filosofía bautizada como DevSecOps y de cómo estamos trabajando para conseguir una entrega de valor que incluya la seguridad de la misma forma que hoy en día se incluye QA o sistemas de CI/CD.

Filosofía DevSecOps

DevSecOps no es solo un método, es una filosofía que se basa en la integración de la seguridad en el proceso DevOps. ¿Cómo conseguimos llevarla a cabo? Mediante una cultura basada en el concepto "Seguridad como Código", con colaboración flexible y constante entre los equipos de desarrollo, operaciones y seguridad.

El movimiento DevSecOps tiene, como el movimiento DevOps, el foco en crear nuevas soluciones dentro de un framework ágil, para procesos complejos de desarrollo de software.

En DevSecOps observamos dos objetivos aparentemente opuestos: "velocidad de entrega" prácticas ágiles, las pruebas de seguridad que se hacen mediante iteraciones sin frenar o ralentizar los ciclos de entrega.

Los problemas críticos de seguridad se resuelven de forma preventiva, no después de que se haya convertido en una amenaza o hayan sido comprometidos.

DevSecOps es la respuesta natural y necesaria ante los constantes cuellos de botella que generan los modelos de seguridad tradicionales en los entornos de desarrollo modernos basados en Continuous Delivery.

El objetivo es garantizar una entrega rápida y segura del código mientras se atajan los problemas tradicionales entre el desarrollo y la seguridad.

Con el enfoque DevSecOps se pretende reemplazar los métodos tradicionales con comunicación y responsabilidad compartida de las tareas de seguridad durante todas las fases del proceso de entrega.

Beneficios de un enfoque DevSecOps

Algunos de los beneficios inherentes a DevSecOps son los siguientes:

Cuando integramos la seguridad en el proceso de desarrollo, en lugar de ser una capa añadida posteriormente, permitimos que se aproveche el poder de las metodologías ágiles por parte de los profesionales DevOps y de Seguridad, con el objetivo de evitar bloqueos para conseguir generar código seguro.

Nuestro manifiesto DevSecOps

En Paradigma estamos trabajando para integrar esta filosofía en nuestra forma de trabajar con los clientes, y para eso hemos decidido elaborar un manifiesto con las máximas de nuestra visión acerca de la misma.

Las máximas que hemos establecido son las siguientes:

Aplicando el método DevSecOps

Existen seis importantes componentes de la filosofía DevSecOps:

Es importante destacar que, aunque lo mencionado anteriormente recae principalmente sobre el propio Equipo de Seguridad, una de las mayores máximas de DevSecOps es descentralizar la seguridad, de forma que se convierta en un requisito más en el flujo de desarrollo y entrega, siendo algo que, como por ejemplo el rendimiento, se tenga en cuenta como prioridad y todo el equipo lo mantenga en mente.

Desde Paradigma estamos actualmente trabajando en desarrollar una interacción con los equipos mediante la definición de un glosario de medidas de seguridad. Partiendo de las medidas implementadas por los equipos, estas se abstraen para su uso por parte de toda la organización.

La definición de las medidas definidas se consensúan con los distintos equipos, a ser posible en los refinamientos, ya que es probable que muchas de ellas se traduzcan en tareas a añadir al backlog. El resto serán comportamientos que el equipo tendrá que decidir cómo implementar.

El hecho de que el Equipo de Seguridad apoye en la definición de las medidas no implica que estos sean los que la implementen.

La idea es que los equipos sigan buscando soluciones, teniendo en cuenta los requisitos y apoyándose en el Equipo de Seguridad, y así desarrollando no solo soluciones extrapolables a todos los proyectos con requisitos similares, sino desarrollando esta cultura de seguridad en la compañía.

Durante el ciclo de vida del proyecto pueden surgir incidentes de seguridad. En estos casos, el equipo responde a estas incidencias de forma inmediata, y Seguridad da apoyo en esta respuesta.

Aunque la presencia del personal de seguridad no es necesaria, sí es recomendable, ya que puede aportar una experiencia que el resto del equipo puede no tener. En estos casos, ayudará a agilizar el proceso, resolver técnicamente la incidencia y a garantizar que se sigue el procedimiento.

En otra línea de trabajo, se están investigando activamente tecnologías y herramientas que se puedan integrar en el ciclo de CI de forma automatizada para aumentar la seguridad de las builds, incidiendo en el análisis estático del código, test de seguridad y programación segura y tests de vulnerabilidades de aplicaciones web.

Por último, el Equipo de Seguridad cumple una labor de formación dentro de Paradigma para crear esa cultura de seguridad por diseño y concienciar a todos los miembros de la organización en este ámbito.

Para esto, se están impartiendo seminarios de vulnerabilidades web y se está trabajando en sesiones de formación más específicas, enfocadas cada una a distintos ámbitos de trabajo con el objetivo de conseguir que la seguridad esté en mente de todas las personas que trabajan en Paradigma.

Conclusiones

En Paradigma nos tomamos en serio la seguridad y estamos apostando actualmente por un enfoque DevSecOps y Security by Design.

A medida que las tecnologías avanzan y aumenta el valor del dato, nos encontramos en un terreno en el que la seguridad se convierte no solo en un valor añadido, sino en una parte esencial del diseño, tanto como puede serlo el rendimiento.

Esta filosofía no es nada nuevo y se basa en la adaptabilidad. Como dijo el célebre Bruce Lee:

No te establezcas en una forma, adáptala y construye la tuya propia, y déjala crecer, sé como el agua. Vacía tu mente, sé amorfo, moldeable, como el agua. Si pones agua en una taza se convierte en la taza, si pones agua en una botella se convierte en la botella, si la pones en una tetera se convierte en la tetera. El agua puede fluir o puede aplastar. Sé como el agua, amigo, el agua que corre nunca se estanca; así es que hay que seguir fluyendo.

Bruce Lee

Con este enfoque conseguimos conocernos a nosotros mismos, y ser conscientes en la medida de lo posible de quiénes son los demás.

De esta forma no reaccionamos ante los ataques, sino que estamos preparados para evitarlos y, si se produjeran, para enfrentarnos a ellos con eficiencia y sin miedos ni desconocimiento, adaptándonos a los cambios de la forma más eficaz posible.

Cuéntanos qué te parece.

Enviar.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.