Dev Sec Ops
Dev Sec Ops
Dev Sec Ops
S
¿QUÉ ES DEVSECOPS Y PARA QUÉ
SE UTILIZA?
En el ámbito del desarrollo ágil de software, la seguridad de los productos adquiere un papel
cada vez más importante. En una época en la que, tanto la integración, como las entregas,
aspiran a ser continuas (continuous integration, continuous delivery), no debe menospreciarse el
desafío que supone el proceso de desarrollo. Por este motivo, cada vez más empresas adoptan el
enfoque de DevOps, que entrelaza desde el inicio los procesos de desarrollo (development) y los
de ejecución o de operaciones (operations), y lo amplían con componentes de seguridad
(security): de ahí el acrónimo DevSecOps. Se trata, por lo tanto, de una solución a muchos
problemas del día a día en las compañías de software y que, además, tiene en cuenta tanto las
expectativas de velocidad, como las de seguridad, en el desarrollo del producto.
DEVSECOPS – DEFINICIÓN
DevSecOps permite utilizar de manera optima la agilidad y la rapidez de reacción que ofrece el
enfoque DevOps. En este sistema, los mecanismos de seguridad están integrados en el proceso
ya desde el inicio del desarrollo. Esta es una de las claras diferencias entre el sistema
DevSecOps y los enfoques convencionales, en los que los equipos de seguridad suelen aplicar
las medidas correspondientes una vez se ha finalizado el producto en sí.
¿EN QUE CONCEPTO SE BASA
DEVSECOPS?
Con el método DevSecOps, la máxima seguridad está también garantizada cuando se trabaja con
los métodos ágiles y rápidos de desarrollo ligados a la entrega continua o continuous delivery y
la integración continua o continuous integration. Para lograrlo, los requisitos de seguridad, que
suelen ser muy altos, deben formar parte del proceso ya desde la fase de programación. En este
sentido, es esencial que haya una muy buena comunicación entre los equipos encargados de la
seguridad, del desarrollo y de las operaciones informáticas. Por este motivo, el carácter
interdisciplinar del proceso es clave para lograr una buena implementación.
¿POR QUÉ ES DEVSECOPS TAN
IMPORTANTE?
Desde hace algunos años, la seguridad viene ganando cada vez más importancia en el ámbito del
desarrollo de software. En especial, cuando se trata de procesos cortos de desarrollo, que tienen
que producirse cada vez con más rapidez entre las versiones, el cumplimiento de los estándares
de seguridad es todo un desafío. En este contexto, si se deja la seguridad para el final, tras la
fase de desarrollo en sí, puede que no se logre alcanzar tales estándares. En muchos casos, las
empresas tienen que elegir entre un alto nivel de seguridad, que requiere una gran inversión de
tiempo, o ciclos cortos de lanzamiento que renuncian a la seguridad. Ante estas opciones,
muchas compañías se deciden por la segunda. DevSecOps, en cambio, ofrece una solución que
reúne las ventajas de las dos anteriores: un alto nivel de seguridad y ciclos cortos de lanzamiento
de productos.
¿CÓMO CONSIGUE DEVSECOPS
BENEFICIAR TANTO A LOS CLIENTES,
COMO A LAS EMPRESAS?
Los métodos más antiguos de integración de mecanismos y protocolos de seguridad no tienen
parangón con sus nuevos y más rápidos equivalentes del desarrollo ágil de software. Para
conseguir la seguridad necesaria en procesos cortos de desarrollo y de lanzamiento, es
imprescindible integrar activamente los aspectos de seguridad y concederles importancia ya
desde la fase de desarrollo del software. Infortunadamente, sólo algunas empresas se ajustan a
este principio. En las que no lo hacen, la negligencia se descubre fácilmente: como resultado, en
algunos productos con ciclos cortos de desarrollo se deja la seguridad de lado y las consecuentes
brechas deben repararse luego, de emergencia y de forma provisoria, con los llamados one-day
patches.
Para garantizar altos estándares de seguridad, por lo tanto, las compañías tiene dos opciones: o
bien pagar el precio, como hasta ahora, de los largos ciclos de desarrollo, o bien aplicar el
método DevSecOps para lograr el objetivo deseado.
DEVSECOPS EN LA PRÁCTICA:
UN EJEMPLO
Podemos presentar los conceptos explicados hasta ahora con un práctico ejemplo del día a día
de un usuario particular. Imaginemos una aplicación de contabilidad que permite gestionar
ingresos y gastos desde el smarthphone: registrarlos, clasificarlos y marcarlos con distintos
colores, por ejemplo. Puesto que no se trata de datos muy sensibles, los aspectos de seguridad
no tienen mucha relevancia.
Sin embargo, si la aplicación luego se amplía con una función que permita escanear y procesar
automáticamente tiques de compra, la cosa cambia: se estarían recogiendo y analizando muchos
datos en servidores, por lo que sería muy importante la seguridad en la comunicación y el
procesamiento de los datos. En un caso como este, relegar los mecanismos de seguridad al final
del proceso retrasaría el lanzamiento de la nueva función quizá medio año.
DEVSECOPS EN LA PRÁCTICA:
UN EJEMPLO
Supongamos ahora que queremos añadir otra función a la aplicación: la integración de los gastos
realizados online. Se trata, en este caso, de procesar datos extremadamente sensibles, de manera
que la implementación de los estándares de seguridad necesarios puede llegar a durar mas de un
año. Este periodo de tiempo le daría mucha ventaja a la competencia, de forma que el producto
en cuestión probablemente habría perdido interés en el mercado.
Con la metodología DevSecOps, en cambio, los mecanismos de seguridad se integran ya en las
fases de programación y desarrollo. De esta forma, el plazo hasta el lanzamiento puede acortarse
enormemente sin tener que renunciar a la seguridad. De hecho, el nivel de seguridad incluso
suele aumentar al incorporar las medidas correspondientes ya desde la programación, en lugar
de aplicarlas a modo de kit de seguridad sobre el producto ya cerrado. De esta forma, la empresa
se beneficia de ciclos más cortos entre las versiones y los usuarios, por su parte, de las
actualizaciones frecuentes del software.
VENTAJAS DE DEVSECOPS EN
EL PROCESO DE DESARROLLO
Las ventajas que ofrece DevSecOps saltan a la vista. Las empresas que, guiándose por el
aumento de la demanda de nuevos productos y los desafíos del mercado, deciden aplicar el
moderno sistema DevOps al desarrollo de sus productos, suelen alcanzar velocidades
inesperadas en la producción y lanzamiento de nuevas versiones. Sin embargo, este método, por
sí solo, no tiene en cuenta las medidas de seguridad, que por lo general suelen integrarse
posteriormente, una vez el producto ya esta terminado. Esta manera de proceder no sólo puede
causar problemas en el funcionamiento del software, sino que también suele alargar mucho los
plazos hasta su lanzamiento al mercado.
VENTAJAS DE DEVSECOPS EN
EL PROCESO DE DESARROLLO
Por el contrario, si se integran los elementos de seguridad ya desde la fase de desarrollo, los
resultados son otros: el proceso apenas se alarga, ya que las cuestiones de seguridad también
pueden someterse a la automatización y a los mecanismos de seguimiento. Además, los distintos
equipos encargados del desarrollo y de las operaciones se familiarizan con los factores de
seguridad y los aplican desde el inicio, previniendo así posibles brechas de seguridad. De esta
manera, en poco tiempo se crean versión de software seguras y estables, que pueden ponerse
directamente a disposición de los clientes. Así, tanto los clientes, como las empresas, se
benefician de las nuevas posibilidades.
INCONVENIENTES Y DIFICULTADES
DE DEVSECOPS
Al igual que ocurre con DevOps, que DevSecOps se implemente de forma adecuada y eficiente
depende de cómo se adapten los equipos y miembros de la empresa al cambio que supone. Sin
una estructura empresarial abierta e interconectada que facilite la comunicación entre equipos y
departamentos, el concepto de DevSecOps no puede funcionar. Por este motivo, es importante
que la dirección, además de comunicar las ventajas que el nuevo sistema trae consigo, involucre
a los distintos departamentos y a los trabajadores en la toma de decisiones que conlleven
cambios.
El posible rechazo de algunos trabajadores hacia el nuevo sistema (por ejemplo, si se opusiesen
a incluir a expertos en seguridad en el proceso de desarrollo) podría complicar mucho el
proceso.
EN RESUMEN: UNA BUENA
IMPLEMENTACIÓN OFRECE MUCHAS
VENTAJAS
La implementación de medidas importantes de seguridad tiene un papel esencial en el ámbito
del desarrollo de software y también, directamente, en las operaciones informáticas. Relegar las
medidas de seguridad hasta el final del desarrollo no solo implica atrasar en mayor medida el
lanzamiento del producto, sino que abre la puerta a posibles fallos que quizá no pueda
solucionar siquiera una revisión exhaustiva. Con la metodología DevSecOps, en cambio, se
incorporan elementos de seguridad ya desde la fase de desarrollo del programa, así como de las
actualizaciones y de las nuevas versiones: de esta manera se acortan los plazos necesarios
para crear un producto seguro y, gracias a los controles automatizados, la calidad aumenta
considerablemente. Por ello, la mejor manera en la que las empresas pueden aprovechar las
ventajas del concepto DevOps es implementando, conjuntamente, DevSecOps, es decir,
incorporando medidas de seguridad al software y a los datos desde el inicio de su desarrollo.