Conecta con nosotros

A Fondo

SecOps y su papel en el desarrollo de software

Publicado el

SecOps y su papel en el desarrollo de software

A día de hoy, la mayoría de personas relacionadas en mayor medida con el mundo del desarrollo, y muchas que se muevan en entornos donde la tecnología tiene mucho peso, habrán escuchado hablar de la metodología DevOps. Con ella, los equipos de desarrollo y operaciones de un entorno de desarrollo de software trabajan de manera conjunta para agilizar el desarrollo de herramientas software.

Hasta aquí todo bien, pero cuando comenzamos a interesarnos por la seguridad, no apreciamos que entre en el juego en esta metodología de desarrollo. Esto es así hasta cierto punto, porque de ello se ocupa otra metodología específica de normas encaminadas a mejorar la seguridad de los entornos de desarrollo de aplicaciones software: SecOps.

¿Qué es SecOps?

Esta metodología que acabamos de mencionar, que en principio no parece tan popular como DevOps, mantiene sin embargo un nexo de unión con ella: el equipo de operaciones. Es el que se encarga de colaborar con el equipo de seguridad para establecer las normas que la empresa en la que operan tienen que seguir, así como los procesos que han de ejecutar y las herramientas a utilizar para que el desarrollo de software sea siempre seguro.

La misión de los equipos de SecOps es, básicamente, asegurarse de que las organizaciones no dejan a un lado la seguridad para conseguir un mayor rendimiento y un mayor tiempo de actividad. También automatizar tareas de seguridad que resultan cruciales para el software en desarrollo. Pero al igual que DevOps, SecOps va mucho más allá, puesto que también implica un cambio de mentalidad en el ciclo de desarrollo del software.

En un ciclo de desarrollo convencional, que requiere la recopilación de información, diseño, desarrollo, prueba, implementación o despliegue, y mantenimiento, la seguridad se introduce en el ciclo en las últimas etapas de desarrollo del software. En la mayoría de casos, en un punto entre la prueba y el desarrollo. Puede que incluso vaya más tarde. Pero con SecOps, la seguridad entra antes en el proceso. O bien varias etapas antes, o bien lo hace en cada una de las etapas del ciclo de vide de desarrollo de software.

A muchos esto puede parecerles muy complicado. Si no hay colaboración, efectivamente, las cosas se complican más. Pero si a la colaboración entre seguridad y operaciones se le una una tercera, la del equipo de desarrollo, las tareas se facilitan más. Y con el tiempo, y práctica suficiente, la colaboración entre los tres equipos puede convertirse en algo natural. Solo se necesita un poco de unión entre ellos y efectuar una planificación detallada de cada desarrollo.

SecOps surge, en parte, a raíz de la transformación de la infraestructura de la empresa y de los modelos de despliegue de TI, que van cambiando a medida que las compañías sacan cada vez más partido a los modelos de computación en la nube por su eficiencia de costes y la velocidad y agilidad que les proporciona la nube.

SecOps comparte muchas de las prácticas de desarrollo de DevOps, pero también de la metodología Agile. Además, se preocupa sobre todo de la seguridad de lo implicado en el proceso de creación de software, e implica a programadores, diseñadores y responsables de seguridad para que tengan en cuenta las amenazas que podrían afectar tanto a los usuarios como al software a lo largo de todo el ciclo de desarrollo.

Ventajas de SecOps para el desarrollo

Las ventajas de la incorporación de SecOps al proceso de desarrollo son variadas. Pero las principales son tres: un mayor retorno de la inversión si se comparar con el obtenido mediante el empleo de medidas de seguridad convencionales, una mejora en la productividad y un mejor uso de los recursos, registrándose un menor y mejor uso de los mismos.

Además de estas tres, hay otras ventajas que adoptar una metodología SecOps en el ciclo de desarrollo de software proporciona a la empresa. La primera es una reducción de los problemas de seguridad relacionados con la nube. Esto se debe a que los equipos de SecOps se encargan de tomar medidas para mejorar la seguridad de las plataformas en la nube y minimizar los riesgos de problemas y amenazas relacionados con estas plataformas.

La segunda es un menor índice de obstáculos y problemas relacionados con las apps si se desarrollan utilizando SecOps. Así, una mejor implementación de la seguridad se traducirá probablemente en menos problemas en el desarrollo de las aplicaciones. Esto llevará a que su funcionamiento normal se vea interrumpido menos veces, lo que implica una mejor experiencia de usuario y un entorno de desarrollo más suave.

Además, el contar con SecOps integrado en el proceso de desarrollo implica que se contará con mejores procedimientos de auditoría. Esto se debe a que si solo se utiliza Agile y otras metodologías similares, las comprobaciones de seguridad se darán hacia el final del proceso de desarrollo. Con SecOps se puede contar con evaluaciones de seguridad más exhaustivas y regulares.

Papel de los equipos de SecOps

La principal diferencia entre SecOps y otras filosofías de programación, entre las que está DevOps, es que en SecOps cada miembro del equipo de desarrollo es consciente de la seguridad y responsable de ella. Las operaciones de seguridad están integradas en la cultura del equipo de desarrollo, e incluso de la organización en la que se utiliza esta filosofía, por completo. Así, por ejemplo, un administrativo puede informar de la llegada de un mensaje de correo electrónico sospechoso, o un desarrollador web de un intento de ataque a una web.

Como es lógico, los equipos más afectados por el cambio de mentalidad que implica la integración de SecOps en la creación de software serán los de desarrollo y seguridad. Los programadores y el personal encargado de la seguridad pasarán de trabajar de una manera bastante independiente a hacerlo colaborando de forma muy cercana. Y a hacerlo en todas las fases del desarrollo. De esta manera, se pueden distribuir las responsabilidades de la seguridad, y permitir escalar a los equipos de seguridad. Todos los trabajadores de una empresa deberían tener un nivel de comprensión básico sobre cómo impacta su trabajo a la seguridad. Y por supuesto, todos los que tienen algún tipo de papel, grande o pequeño, en el desarrollo de software, deberían estar implicados en SecOps.

Cambios que implica la adopción de SecOps

Toda novedad en una empresa implica cambios. Y al igual que la adopción de Agile y DevOps en su día llevó a modificaciones de calado en las empresas, también la llegada de SecOps provoca modificaciones en los sistemas de trabajo. De ellos, quizá los más importantes son los siguientes: análisis más temprano del código, más transparencia y mayor comunicación, mejoras en la seguridad y alerta ante las amenazas.

En muchas empresas, para analizar el código en busca de problemas de seguridad se analizan secuencias de código de gran tamaño. Pero con SecOps, estas comprobaciones se llevan a cabo con piezas de código más pequeñas, y más a menudo. En cuanto a la transparencia, que también influyen en una mayor y mejor comunicación entre los miembros de los distintos equipos, se consigue gracias a una unión y colaboración estrecha entre los tres equipos componentes de SecOps: seguridad, operaciones, y también desarrollo.

Con todo esto, se consigue una mejora sostenida de la seguridad, tanto en lo que se refiere a la programación como a los aspectos operativos del proceso. Y también se consigue que otros miembros de la empresa, aparte del equipo de seguridad, estén alerta de posibles amenazas de seguridad. A veces es necesario realizar una formación al respecto para estar seguros de que todos los miembros de los equipos implicados tienen el mismo nivel de comprensión de las mismas que los de seguridad, pero la recompensa que se obtiene de ello hace que el esfuerzo merezca la pena.

Cómo adoptar SecOps en una organización

Para implementar SecOps en una entidad es necesario hacer un cambio en su cultura, similar a lo que supuso en su día la de Agile o DevOps. Con SecOps llegan las medidas de seguridad a una fase más temprana del desarrollo, lo que es un buen objetivo, pero los principios son complicados y pueden provocar una cierta ralentización del proceso en un primer momento. Pero esto sólo se da en los primeros momentos, cuando todavía no está la máquina funcionando perfectamente engrasada. Es, por tanto, cuestión de tiempo que todo vuelva a la normalidad. Eso sí, habrá que dar un empujoncito para facilitarlo, con diversas medidas.

La primera pasa, por supuesto, por la formación, ya sea propia de la organización y con sus propios procedimientos, como externa, con recursos de terceros. Además, hay que promover y fomentar la cultura de colaboración entre departamentos antes incluso de que SecOps llegue a la organización. De esta manera, que todos colaboren entre sí será más sencillo, y llegará un momento en que se hará de manera natural.

Además, es necesario proporcionar a los equipos las herramientas de seguridad adecuadas para poder implementar SecOps en el sistema de desarrollo y operaciones sin perder velocidad en los procesos. Para ello es básico contar con alguna plataforma de automatización capaz de gestionar procedimientos de seguridad, entre otros elementos. También es imprescindible, como en muchos casos, disponer de un proceso de SeOps debidamente documentado, de manera que sirva para avanzar y resolver dudas en cualquier momento.

A la vista de todo lo mencionado, la implementación de SecOps en una organización y en un entorno de desarrollo, aunque en un principio puede ofrecer algún obstáculo, conduce a múltiples beneficios, que van desde una mejor comunicación y trabajo en equipo de los distintos departamentos a unos menores costes y a herramientas software con menos fallos y problemas de seguridad.

Redactora de tecnología con más de 15 años de experiencia, salté del papel a la Red y ya no me muevo de ella. Inquieta y curiosa por naturaleza, siempre estoy al día de lo que pasa en el sector.

Lo más leído