DevSecOps en Modern Apps, Extraña Fascinación Fascinándome

Por: Andrew Oteiza

Solution Engineer Manager Latam de F5

En 1971, David Bowie lanza el acetato Hunky Dory, y la primera canción del Lado 1 del disco es Changes. En dicha canción, Bowie comienza diciendo algo así como: 

“Aún no se lo que estaba esperando, 

mi tiempo corría salvaje, un millón de calles sin salida y

Cada vez que pensaba que lo había hecho

Parecía que el sabor no era tan dulce…”

Cada vez que tengo la oportunidad de conversar con equipos de trabajo que están embarcados en iniciativas para segurizar sus aplicaciones modernas, en el fondo de mi cabeza suena este tema de Bowie… Realmente son varios los desafíos que tienen que enfrentar las organizaciones al comenzar a desarrollar sus aplicaciones modernas, utilizando metodologías ágiles de desarrollo, cambiando no solo sus arquitecturas, sino también incorporando nuevas herramientas y automatizando los procesos y modificando la manera en las que los equipos de trabajo se encuentran organizados. Siempre nos referimos a que la tecnología es un habilitador de la transformación digital pero, por sí sola, no genera el impacto esperado sin considerar a la cultura de trabajo y la formación o skills de las personas que la utilizan.

Ahora, varias empresas cuando buscan segurizar sus aplicaciones modernas, se encuentran que, a pesar de llevar a cabo un gran esfuerzo, una vez implementadas estas políticas de seguridad, ya se encuentran desactualizadas, dejando un sabor amargo, como refiere la letra de Bowie.

Claro, desarrollar aplicaciones modernas trae varios beneficios a las organizaciones, donde quizás el principal, es mejorar el time-to-market, habilitando muy rápidamente el despliegue de aplicativos que generan un impacto positivo en el negocio. Sin embargo, estas aplicaciones no dejan de ser un activo más de TI, la cuales están expuestas a distintos vectores de ataque, y por ende, deben ser protegidas. Pero… ¿Cómo protegemos una aplicación que cambia continuamente? ¿Cómo aseguramos dichos activos de una manera ágil, sin que las tareas de seguridad sean un cuello de botella en un pipeline automatizado? ¿Cómo, el área de ciberseguridad, se convierte en un habilitador del negocio, incluyendo seguridad desde la concepción de la aplicación?

La respuesta parecería sintetizarse en utilizar metodologías de DevSecOps, pero… ¿Qué es DevSecOps?

Bueno, podríamos resumirlo en que es un enfoque de seguridad basado en los principios de DevOps.  Las prácticas de DevSecOps abarcan a todo el stack de TI e incluye la seguridad de red, hosts, contenedores, servidores, nube y aplicaciones. Cada vez más, todas estas capas se están convirtiendo en software, lo que hace que la seguridad de las aplicaciones sea un enfoque fundamental para DevSecOps.

DevSecOps también abarca el ciclo de vida completo del software, incluido el desarrollo y las operaciones. En el desarrollo, el enfoque está en identificar y prevenir vulnerabilidades, mientras que, en las operaciones, los objetivos son monitorear y proteger los aplicativos.

Implementar DevSecOps en cada empresa será distinto en base a su contexto, y principalmente a los skills que tengan sus equipos de trabajo. Es mejor ver a DevSecOps como un viaje. Ahora, ¿cuáles podrían ser los puntos importantes a tener en cuenta para implementar estas prácticas? A continuación, resumo algunos de los puntos que varios libros y artículos coinciden en ser los más relevantes en ese camino:

  • Empoderar a los equipos de dev y ops: el desarrollo y las operaciones están “empoderados” para entregar aplicaciones seguras en producción por sí mismos. Los especialistas en seguridad brindan apoyo, pero no tienen la responsabilidad principal de la seguridad. La seguridad debe incluirse desde el diseño de las aplicaciones. Es importante que las herramientas y los procesos estén diseñados para los desarrolladores y los responsables de operaciones, no para expertos en ciberseguridad.
  • Hacer visible la seguridad: muchas veces el valor de la seguridad no es fácil de entender. En DevSecOps, deben llevarse a cabo pequeñas tareas de seguridad que se puedan rastrear, asignar y medir como cualquier otro tipo de trabajo. Además, la seguridad se convierte en parte de las responsabilidades del día a día, lo que permite que la seguridad sea transparente para todos.
  • Moverse a la izquierda: desde desarrolladores hasta especialistas de DevOps, todos están involucrados en la seguridad. Cambiar la seguridad “a la izquierda” significa que las actividades de seguridad comienzan durante el diseño y se extienden a lo largo del ciclo de vida del desarrollo de software, con retroalimentación continua en cada etapa, desde el desarrollo hasta la producción.
  • Seguridad como código: al igual que la integración y el despliegue continuo, la seguridad continua significa que deben responderse a las amenazas con actividades de seguridad que se realizan constantemente, como parte del proceso de desarrollo y operación de los aplicativos, e integradas en las herramientas que los miembros del equipo están utilizando. La seguridad como código es la clave para automatizar las operaciones de seguridad, lo que conduce a un proceso integral para las prácticas de DevSecOps.
  • Monitoreo continuo: cuando se completa el desarrollo, comienza el monitoreo; necesitamos realizar un seguimiento constante del comportamiento de nuestras aplicaciones para detectar anomalías y posibles ataques. Esto da una idea de la seguridad de la aplicación y proporciona feedback para el equipo de desarrollo.
  • Prevenir y Proteger: nunca se desarrollará una aplicación con un código perfecto. Tampoco se podrá detectar ni detener a todos los atacantes. Por lo tanto, las mejores estrategias de seguridad implican un equilibrio entre codificación segura durante el desarrollo (DevSec) y protección en tiempo de ejecución durante las operaciones (SecOps).

Claramente podríamos entrar en detalle en cada uno de los puntos anteriormente citados, enumerar herramientas que ayudan a las organizaciones a contar con seguridad en aplicaciones modernas (como las soluciones de F5) pero no es la idea de este artículo.

DevSecOps es un mundo que parecería interminable, pero claramente las empresas que están incorporando estas prácticas están obteniendo beneficios palpables muy alineados a la demanda de su negocio.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s