Está en la página 1de 31

1

2
INTRODUCCIÓN
________________________________________________________

La tecnología y la innovación son factores que han transformado y moldeado el

mundo en que vivimos. En la actualidad, la industria del software es una de las áreas

que ha experimentado un crecimiento exponencial en los últimos años. La velocidad

a la que se desarrollan y actualizan las aplicaciones es cada vez mayor, lo que ha

llevado a la necesidad de adoptar prácticas de desarrollo de software más

eficientes, rápidas y seguras. Una de las metodologías más relevantes en este

sentido es DevSecOps, que combina prácticas de desarrollo ágil con medidas de

seguridad y operaciones integradas. En este trabajo se explorará el concepto de

DevSecOps, sus beneficios y desafíos, así como su implementación en

organizaciones y proyectos de software. También se discutirán las herramientas y

tecnologías clave para su implementación, así como las mejores prácticas y

lecciones aprendidas en el campo. En última instancia, se espera que este trabajo

brinde una comprensión profunda y crítica de DevSecOps como una metodología

clave para la entrega de software seguro, confiable y eficiente.

3
ÍNDICE
________________________________________________________

Contenido
INTRODUCCIÓN .................................................................................................................................. 3
ÍNDICE ............................................................................................................................................... 4
Qué es DevSecOps .............................................................................................................................. 6
¿Qué significa la palabra DevSecOps? ............................................................................................... 7
¿En qué consiste? ............................................................................................................................... 8
Importancia de DevSecOps ................................................................................................................ 9
Resumen. .......................................................................................................................................... 10
Objetivo Principal ............................................................................................................................. 11
DevSecOps Vs DevOps ...................................................................................................................... 12
Partes de DevSecOps ........................................................................................................................ 13
Seguridad como código SaC ............................................................................................................. 15
Infraestructura como codigo IaC ...................................................................................................... 17
Habilidades de DevSecOps ............................................................................................................... 18
Herramientas de DevSecOps ............................................................................................................ 19
IMPLEMENTACIÓN DEL DEVSECOPS ................................................................................................ 20
IMPLEMENTACIÓN DEL DEVSECOPS ................................................................................................ 21
Desafíos comunes en la implementación de DevSecOps en empresas .......................................... 22
Ejemplo de empresas que han implementado DevSecOps ........................................................ 22
Prácticas recomendadas del DevSecOps ......................................................................................... 23
Ejemplo: Caso de una empresa que implementa DevSecOps ........................................................ 24
Beneficios DevSecOps ...................................................................................................................... 25
Aumenta y mejora el nivel de seguridad ..................................................................................... 25
Automatización............................................................................................................................. 25
Aumento de la velocidad de entrega y reducción de los gastos ................................................. 26
Se apoya la sinceridad y la transparencia desde el comienzo del desarrollo............................. 26
Desventajas de DevSecOps .............................................................................................................. 27
Componentes de la filosofía DevSecOps ......................................................................................... 28
Aplicación/Inventario API ............................................................................................................ 28
Seguridad codificada personalizada ............................................................................................ 28

4
Seguridad de código abierto ........................................................................................................ 28
Prevención del tiempo de ejecución ............................................................................................ 29
Monitorización del cumplimiento................................................................................................ 29
Factores culturales........................................................................................................................ 29
CONCLUSIÓN..................................................................................................................................... 30
Bibliografía ........................................................................................................................................ 31

5
Qué es DevSecOps
________________________________________________________

DevSecOps es una metodología de desarrollo de software que combina prácticas


de desarrollo de software ágiles con medidas de seguridad informática y
operaciones (SecOps) integradas desde el principio del ciclo de vida de desarrollo
de software (SDLC).

En esencia, DevSecOps se enfoca en la creación de una cultura de seguridad en


toda la organización de desarrollo de software, para asegurar que la seguridad sea
parte integral del proceso de desarrollo de software en lugar de ser una idea tardía
o una responsabilidad separada. Los equipos de DevSecOps se esfuerzan por
construir, probar y entregar aplicaciones de manera más rápida, segura y confiable
a través de la automatización y la colaboración entre los equipos de desarrollo,
seguridad y operaciones.

Al adoptar DevSecOps, las empresas pueden detectar y solucionar problemas de


seguridad a medida que se construye el software, en lugar de esperar hasta que se
haya implementado y se haya convertido en una vulnerabilidad. Además, esto
ayuda a garantizar que los sistemas sean más seguros, confiables y escalables en
toda su vida útil.

6
¿Qué significa la palabra DevSecOps?

________________________________________________________

La palabra DevSecOps es un acrónimo que proviene de la combinación de tres


términos:

• Dev (Development o Desarrollo): se refiere al proceso de creación y mejora


continua del software.

• Sec (Security o Seguridad): hace referencia a la incorporación de medidas de


seguridad en todo el ciclo de vida de desarrollo del software.

• Ops (Operations u Operaciones): se refiere a las prácticas y herramientas


utilizadas para administrar y mantener el software en su entorno de producción.

7
¿En qué consiste?

________________________________________________________

DevSecOps es una metodología de desarrollo de software que combina


prácticas de desarrollo ágil con medidas de seguridad y operaciones integradas
en todo el ciclo de vida de desarrollo del software. La metodología busca
integrar la seguridad en el proceso de desarrollo de software desde el principio,
en lugar de ser una actividad separada y posterior al desarrollo.

En DevSecOps, los equipos de desarrollo y seguridad trabajan juntos en todo


el ciclo de vida de desarrollo de software para asegurar que las aplicaciones
sean seguras, confiables y escalables. Los desarrolladores escriben código y
pruebas automatizadas, mientras que los equipos de seguridad se encargan de
la identificación temprana de vulnerabilidades y riesgos de seguridad. Los
equipos de operaciones se centran en la implementación, el mantenimiento y la
administración de aplicaciones en entornos de producción.

DevSecOps también implica el uso de herramientas y tecnologías para la


automatización de procesos y pruebas, y la integración continua y la entrega
continua (CI/CD) de aplicaciones. La integración continúa significa que los
desarrolladores integran su código en un repositorio compartido varias veces al
día, mientras que la entrega continúa significa que los cambios en el código se
entregan automáticamente a los entornos de prueba o producción.

En resumen, DevSecOps es una metodología que busca integrar la seguridad


y las operaciones en todo el ciclo de vida de desarrollo de software, fomentando
la colaboración y la automatización entre los equipos de desarrollo, seguridad y
para construir, probar y entregar aplicaciones de manera más rápida, segura y
confiable.

8
Importancia de DevSecOps
________________________________________________________

DevSecOps es una metodología que combina la seguridad informática con la


entrega continua y el desarrollo ágil de software. Esta metodología es importante
porque ayuda a asegurar que la seguridad esté integrada en todo el ciclo de vida
del software, desde la planificación hasta la implementación y el mantenimiento.

La adopción de DevSecOps es importante porque ayuda a las organizaciones a


mantenerse al día con las crecientes demandas del mercado. A medida que la
tecnología avanza y se vuelve más compleja, las organizaciones necesitan
asegurarse de que su software esté seguro y protegido contra posibles amenazas.
DevSecOps proporciona un enfoque integrado y colaborativo para la seguridad del
software que ayuda a las organizaciones a mantenerse a la vanguardia de las
mejores prácticas de seguridad.

Además, DevSecOps ayuda a las organizaciones a acelerar el tiempo de entrega


de software sin comprometer la seguridad. Al integrar la seguridad en todo el ciclo
de vida del software, los equipos pueden identificar y abordar los riesgos de
seguridad de manera temprana, lo que permite una entrega más rápida y una
reducción en los costos asociados con los errores y fallas de seguridad.

Otra ventaja de DevSecOps es que ayuda a los equipos de desarrollo y seguridad


a trabajar juntos de manera más efectiva. La colaboración temprana entre estos
equipos puede ayudar a prevenir problemas de seguridad y garantizar que las
mejores prácticas de seguridad se integren en todo el proceso de desarrollo de
software. También fomenta una cultura de seguridad en toda la organización, lo que
puede ser beneficioso para todos los equipos y áreas de la empresa.

La adopción de DevSecOps puede mejorar la reputación de la organización al


garantizar que se cumplan los requisitos de seguridad y privacidad de los datos.
Con el aumento de las brechas de seguridad y la creciente preocupación por la
privacidad de los datos, las organizaciones deben ser más proactivas para
garantizar que los datos de sus clientes estén seguros. La implementación de
DevSecOps ayuda a cumplir con los requisitos de seguridad y privacidad, lo que a
su vez mejora la confianza del cliente en la organización y su marca.

9
Resumen.
________________________________________________________

Adoptar DevSecOps es importante porque ayuda a las organizaciones a integrar la


seguridad en todo el ciclo de vida del software, reduce los riesgos y costos
asociados con las vulnerabilidades de seguridad, mejora la eficiencia y efectividad
del equipo, permite acelerar la entrega de software sin comprometer la seguridad,
fomenta una cultura de seguridad en toda la organización y cumple con los
requisitos de seguridad y privacidad de los datos. Todo esto se traduce en una
mejora de la reputación de la organización y una mayor confianza del cliente en su
marca.

10
Objetivo Principal
________________________________________________________

El objetivo principal de DevSecOps es integrar la seguridad informática en todo el


proceso de desarrollo de software, desde la planificación hasta la implementación y
el mantenimiento, con el fin de garantizar que el software sea seguro y protegido
contra posibles amenazas.

La metodología DevSecOps se centra en la colaboración entre los equipos de


desarrollo y seguridad, promoviendo una cultura de seguridad en toda la
organización y automatizando la integración y el monitoreo continuo de la seguridad
en todo el ciclo de vida del software. Este enfoque ayuda a prevenir problemas de
seguridad, identificarlos de manera temprana y abordarlos de manera proactiva, lo
que a su vez ayuda a mejorar la eficiencia, efectividad y calidad del software
entregado.

El objetivo de DevSecOps es lograr una entrega continua y segura de software, lo


que significa que los equipos pueden entregar nuevas funciones y actualizaciones
a los usuarios de manera rápida y segura, sin comprometer la seguridad. Esto es
importante en un mundo en el que los ciberataques están aumentando y las
vulnerabilidades de seguridad pueden tener consecuencias graves para la
privacidad y la seguridad de los datos.

La adopción de DevSecOps también ayuda a mejorar la cultura de seguridad en


toda la organización, promoviendo una mayor conciencia y responsabilidad en torno
a la seguridad informática. Esto se logra a través de la colaboración y la
comunicación entre los equipos de desarrollo y seguridad, así como mediante la
implementación de procesos de seguridad y herramientas que ayudan a garantizar
que la seguridad se integre en todo el ciclo de vida del software.

En resumen, el objetivo principal de DevSecOps es integrar la seguridad informática


en todo el proceso de desarrollo de software con el fin de garantizar que el software
sea seguro y protegido contra posibles amenazas. Esto se logra a través de la
colaboración y la comunicación entre los equipos de desarrollo y seguridad, la
automatización de la integración y el monitoreo continuo de la seguridad, la mejora
de la cultura de seguridad en toda la organización y la entrega continua y segura de
software

11
DevSecOps Vs DevOps
________________________________________________________
Antes, los procesos de desarrollo de software duraban meses e incluso años. Sin
embargo, con DevOps las entregas de software son cada vez más cortas y
frecuentes (de semanas o días). Como resultado, cumplir con un alto nivel de
seguridad en los desarrollos se ha convertido en todo un desafío. Esto ha provocado
que las empresas se vean en la tesitura de tener que decidir entre un buen grado
de seguridad en sus desarrollos, que conlleva más tiempo, o ciclos más cortos
renunciando a la seguridad.

DevSecOps reúne las ventajas de estos dos enfoques y promueve entregas más
rápidas y seguras de software. DevOps no pretendía dejar de lado la seguridad,
pero a medida que se eliminaron las barreras entre los equipos de desarrollo y de
operaciones, la seguridad se fue quedando aislada. Era realizada por un equipo
determinado al final del proceso.
DevSecOps surgió para cambiar esta situación, integrando la seguridad desde el
principio y a lo largo de todo el ciclo y ampliando la responsabilidad sobre la misma
a los demás equipos. Tanto DevOps como DevSecOps son metodologías de trabajo
que persiguen el mismo objetivo: entregar software de calidad de forma más rápida.
Solamente que con DevSecOps además se hace de forma segura.
En definitiva, DevOps y DevSecOps son enfoques de desarrollo de software
basados en la colaboración, la responsabilidad compartida, la automatización, el
feedback y la mejora continua.

12
Partes de DevSecOps
________________________________________________________

DevSecOps se divide en dos partes importantes: SAC (Security as Code) e IAC


(Infrastructure as Code). Ambos son elementos esenciales en la implementación de
DevSecOps, y tienen como objetivo mejorar la seguridad del software y de la
infraestructura.

SAC es un enfoque de seguridad en el que el código de seguridad se integra


directamente en el proceso de desarrollo de software. Con SAC, los equipos de
desarrollo y seguridad trabajan juntos para desarrollar código que incorpore
medidas de seguridad desde el principio. Esto puede incluir la codificación de
pruebas de seguridad, la definición de políticas de seguridad y la integración de
herramientas de seguridad automatizadas en todo el ciclo de vida del software.

La ventaja de SAC es que ayuda a detectar y prevenir problemas de seguridad


temprano en el proceso de desarrollo de software. También ayuda a garantizar que
el software entregado sea seguro y cumpla con los estándares de seguridad
requeridos.

Por otro lado, IAC es un enfoque en el


que se trata la infraestructura como si
fuera código. Con IAC, se define la
infraestructura necesaria para ejecutar
el software en un formato legible por
máquina. Esto permite que la
infraestructura se maneje como código,
lo que a su vez permite una
implementación más rápida y eficiente.

La ventaja de IAC es que permite una


mayor agilidad y eficiencia en la
implementación de la infraestructura
necesaria para el software. Además,
permite una mayor flexibilidad y

13
escalabilidad, ya que la infraestructura se puede modificar y escalar con facilidad a
medida que cambian las necesidades de la empresa.

Ambos enfoques, SAC e IAC, son fundamentales en la implementación de


DevSecOps, ya que permiten una integración más estrecha de la seguridad en todo
el ciclo de vida del software y de la infraestructura. La combinación de SAC e IAC
ayuda a garantizar que el software entregado sea seguro, eficiente y escalable.

En resumen, SAC es un enfoque de seguridad que integra directamente el código


de seguridad en el proceso de desarrollo de software, mientras que IAC es un
enfoque en el que la infraestructura se trata como si fuera código. Ambos enfoques
son fundamentales en la implementación de DevSecOps, ya que permiten una
integración más estrecha de la seguridad en todo el ciclo de vida del software y de
la infraestructura, lo que a su vez ayuda a garantizar que el software entregado sea
seguro, eficiente y escalable.

14
Seguridad como código SaC
________________________________________________________

Security as Code (SAC) es una práctica de DevSecOps que se centra en la


integración de la seguridad en el proceso de desarrollo de software mediante la
codificación de medidas de seguridad directamente en el código. El objetivo
principal de SAC es garantizar que el software entregado sea seguro y cumpla con
los estándares de seguridad requeridos.

La implementación de SAC implica la colaboración y la comunicación entre los


equipos de desarrollo y seguridad, así como la adopción de herramientas y procesos
de seguridad automatizados. Esto permite la detección temprana de posibles
vulnerabilidades y la corrección de los problemas de seguridad antes de que el
software sea implementado en producción.

Una de las principales ventajas de SAC es que permite la integración de medidas


de seguridad en todo el ciclo de vida
del software, desde el diseño hasta la
implementación. Esto ayuda a
garantizar que el software entregado
sea seguro y esté protegido contra
posibles ataques cibernéticos.

Otra ventaja de SAC es que puede


ayudar a reducir los costos de seguridad a largo plazo. Al integrar la seguridad en
el proceso de desarrollo de software, se pueden identificar y corregir posibles
problemas de seguridad antes de que el software sea implementado en producción.
Esto puede ayudar a evitar costosos incidentes de seguridad en el futuro.

Sin embargo, la implementación de SAC también tiene algunas desventajas. Por


ejemplo, puede requerir una inversión significativa de tiempo y recursos para
capacitar a los equipos de desarrollo y seguridad sobre cómo integrar medidas de
seguridad en el código. Además, la adopción de herramientas y procesos de
seguridad automatizados puede requerir una inversión financiera significativa.

15
En resumen, SAC es una práctica fundamental en la implementación de
DevSecOps, que tiene como objetivo integrar la seguridad en el proceso de
desarrollo de software mediante la codificación de medidas de seguridad en el
código. Al integrar la seguridad en todo el ciclo de vida del software, se puede
garantizar que el software entregado sea seguro y cumpla con los estándares de
seguridad requeridos. Si bien la implementación de SAC puede requerir una
inversión significativa de tiempo y recursos, las ventajas a largo plazo, como la
reducción de costos de seguridad, pueden ser significativas.

16
Infraestructura como codigo IaC
________________________________________________________

En el contexto de la infraestructura como código, DevOps implica una estrecha


colaboración entre desarrolladores e ingenieros de DevOps, así como el uso de IAC
como parte de la implementación continua. "DevSecOps", también conocido como
el "enfoque shift-left", es la integración de aspectos de seguridad en DevOps. En
cuanto a IAC, DevSecOps significa integrar la seguridad desde el principio del
proyecto y mantener un control estricto sobre la seguridad en todo momento.
También significa utilizar las herramientas adecuadas para su carga de trabajo, así
como automatizar la seguridad (a veces llamada seguridad como código).

DevSecOps es tanto sobre la cultura organizacional (en particular, el flujo libre de


información entre equipos diversos) como sobre la tecnología. DevSecOps, como
parte del mundo DevOps y donde se encuentran la cultura y la tecnología, busca la
automatización en todos los niveles. IAC es un aspecto fundamental de DevOps, ya
que busca automatizar las implementaciones completas.

El aspecto DevSecOps de IAC se


trata de automatizar las mejores
prácticas de seguridad y utilizar las
herramientas adaptadas a la carga
de trabajo específica para mejorar la
seguridad.

17
Habilidades de DevSecOps
________________________________________________________

Los ingenieros de DevSecOps necesitan las habilidades técnicas de los


profesionales de seguridad de TI, así como el conocimiento de la metodología
DevOps. También necesitan un conocimiento profundo de la ciberseguridad,
incluidas las últimas amenazas y tendencias.

Estas son algunas de las principales habilidades que necesitan los ingenieros de
DevSecOps:

• Comprensión de los principios y la cultura de DevOps.

• Conocimiento de lenguajes de programación, por ejemplo, Perl, Java, Ruby,


Python y PHP.

• Fuertes habilidades de comunicación y trabajo en equipo.

• Comprensión de las técnicas de evaluación de riesgos y modelado de


amenazas.

• Conocimiento actualizado de las amenazas a la seguridad cibernética, el


software más reciente y las mejores prácticas.

• Comprensión de programas como ThreatModeler, Chef, Puppet, Checkmarx,


Immunio y Aqua.

18
Herramientas de DevSecOps
________________________________________________________

Las herramientas de DevSecOps incluyen lo siguiente:

• ThreatModeler es una herramienta automatizada de modelado de


amenazas que se puede implementar en las instalaciones o en una
instancia en la nube. ThreatModeler monitorea continuamente los
modelos de amenazas para entornos de computación en la nube,
notificando a los usuarios sobre actualizaciones y cambios.
ThreatModeler proporciona una interfaz de programación de
aplicaciones bidireccional para integrarse fácilmente con herramientas
IC/DC, lo que permite a los equipos construir infraestructuras seguras
en la nube. ThreatModeler ofrece plantillas que se pueden reutilizar e
información y marcos de amenazas integrados.

• Acunetix proporciona un escáner de seguridad de sitios web todo en


uno para ayudar a los desarrolladores a encontrar vulnerabilidades lo
antes posible en el ciclo de desarrollo. Acunetix permite a las
organizaciones proteger sus activos web de los hackers al proporcionar
tecnologías especializadas que los desarrolladores pueden usar para
detectar más problemas y solucionarlos rápidamente.

• Aqua Security es una plataforma de seguridad que se especializa en la


seguridad de aplicaciones en contenedores y sus infraestructuras,
evitando intrusiones o vulnerabilidades a través del pipeline
DevSecOps. Aqua cuenta con procesos y controles de seguridad en
tiempo de ejecución muy estrictos. Esta herramienta se centra en las
vulnerabilidades relacionadas con el acceso a la red y las imágenes de
las aplicaciones. Aqua se integra con una variedad de infraestructuras,
incluido Kubernetes, para proteger los clústeres en el nivel de red más
bajo y controlar la actividad del contenedor en tiempo real utilizando
perfiles de comportamiento basados en el aprendizaje automático.

19
IMPLEMENTACIÓN DEL DEVSECOPS
________________________________________________________

La implementación de DevSecOps es un enfoque integrado para el desarrollo de


software seguro que combinas prácticas de desarrollo de software con prácticas de
seguridad y operaciones de tecnología de la información. La integración de la
seguridad en todo el ciclo de vida del desarrollo del software es clave para garantizar
que se detecten y solucionen los problemas de seguridad de manera oportuna.

Para implementar DevSecOps de manera efectiva, se deben seguir algunos pasos


clave. En primer lugar, es importante fomentar una cultura de seguridad en toda la
organización para garantizar que se tenga en cuenta la seguridad desde el principio.
En segundo lugar, se deben automatizar las pruebas de seguridad para garantizar
que se detecten y solucionen los problemas de seguridad de manera oportuna. En
tercer lugar, se deben implementar medidas de autenticación y autorización
adecuadas para garantizar que solo los usuarios autorizados tengan acceso al
software.

Además, se deben establecer políticas de seguridad claras para garantizar que


todos los miembros del equipo de desarrollo entiendan sus responsabilidades en
cuanto a la seguridad del software. Las evaluaciones regulares de riesgos son
importantes para identificar posibles vulnerabilidades y amenazas de seguridad en
el software. También es esencial integrar la seguridad en todo el ciclo de vida del
desarrollo de software, utilizar herramientas y tecnologías adecuadas, capacitar y
concientizar en seguridad, establecer objetivos claros y realizar auditorías regulares
de seguridad.

En resumen, la implementación de DevSecOps es esencial para garantizar la


seguridad del software en toda la organización. Al seguir los pasos mencionados
anteriormente y mantener un enfoque constante en la seguridad, las organizaciones
pueden implementar DevSecOps de manera efectiva y asegurarse de que sus
sistemas sean seguros y estables.

20
IMPLEMENTACIÓN DEL DEVSECOPS
________________________________________________________

La implementación de DevSecOps es un proceso que requiere la colaboración y la


comunicación entre los equipos de desarrollo y seguridad, y la adopción de nuevas
herramientas y procesos para integrar la seguridad en todo el ciclo de vida del
software.

El primer paso en la implementación de DevSecOps es establecer una cultura de


seguridad en toda la organización. Esto puede incluir la realización de sesiones de
capacitación y concientización de seguridad, la definición de políticas de seguridad
y la designación de un equipo de seguridad dedicado para trabajar en estrecha
colaboración con el equipo de desarrollo.

El siguiente paso es integrar la seguridad en el proceso de desarrollo de software.


Esto puede incluir la automatización de pruebas de seguridad y la implementación
de análisis estático y dinámico de código. Además, se pueden implementar
herramientas de monitoreo de seguridad para identificar posibles amenazas y
vulnerabilidades.

Es importante asegurarse de que los equipos de desarrollo y seguridad trabajen en


estrecha colaboración durante todo el proceso de desarrollo. Esto incluye la
participación del equipo de seguridad en las reuniones de planificación y revisión de
código, y la creación de una cadena de suministro de software segura, desde la
creación del código hasta la implementación en producción.
También es importante implementar pruebas de penetración y pruebas de carga
para garantizar la resistencia del software ante posibles amenazas. Además, se
deben realizar pruebas de respuesta a incidentes para asegurarse de que el equipo
esté preparado para manejar posibles incidentes de seguridad.

En resumen, la implementación de DevSecOps es un proceso que requiere la


colaboración y la comunicación entre los equipos de desarrollo y seguridad, la
adopción de nuevas herramientas y procesos para integrar la seguridad en todo el
ciclo de vida del software, y una cultura de seguridad en toda la organización. La
implementación exitosa de DevSecOps puede mejorar la seguridad, eficiencia y
calidad del software entregado.

21
Desafíos comunes en la implementación de DevSecOps en empresas

_______________________________________________________

• cambios culturales y organizacionales necesarios para una colaboración más


cercana y efectiva entre los equipos de desarrollo, seguridad y operaciones.
• Falta de conocimiento y habilidades en seguridad en algunos equipos de
desarrollo.
• Complejidad de la infraestructura y de los sistemas de software en entornos
de desarrollo y producción complejos.
• Integración de diferentes herramientas y tecnologías.

La superación de estos desafíos puede requerir una planificación cuidadosa,


una gestión efectiva y una capacitación continua del personal.

Ejemplo de empresas que han implementado DevSecOps

Algunos casos de empresas que han implementado con éxito DevSecOps, y


han logrado mejorar la eficiencia y la seguridad de sus procesos de desarrollo
y software.

1. Netflix.
2. Amazon.
3. Microsoft.
4. Google.
5. Adobe.
6. Spotify
7. IBM

Estas empresas han demostrado cómo la implementación de DevSecOps


puede mejorar la eficiencia, la seguridad y la calidad del software entregado, y
cómo puede contribuir al éxito de los proyectos de desarrollo de software en un
entorno cada vez más digital y competitivo.
Cada una de estas empresas ha adoptado diferentes enfoques y ha utilizado
distintas herramientas y prácticas para implementar DevSecOps de manera
efectiva. Estos casos de éxito pueden ser una fuente de inspiración y
aprendizaje para otras empresas que estén interesadas en mejorar la seguridad
y la calidad de su software mediante la implementación de DevSecOps.

22
Prácticas recomendadas del DevSecOps
________________________________________________________
Las empresas utilizan los siguientes enfoques para apoyar la transformación digital
por medio de DevSecOps.

Desplazar la seguridad a la izquierda


Desplazar la seguridad a la izquierda se refiere a un proceso que permite comprobar
la existencia de vulnerabilidades en las primeras fases del desarrollo del software.
Si siguen el proceso, los equipos de software pueden evitar problemas de seguridad
sin detectar al crear la aplicación. Por ejemplo, los desarrolladores crean código
seguro en un proceso de DevSecOps.

Desplazar la seguridad a la derecha


Desplazar la seguridad a la derecha se refiere a la importancia de centrarse en la
seguridad una vez desplegada la aplicación. Es posible que algunas
vulnerabilidades eludan las comprobaciones de seguridad previas y se manifiesten
únicamente cuando los clientes utilizan el software.

Utilice herramientas de seguridad automatizadas


En ocasiones, los equipos de DevSecOps deben realizar varias revisiones en un
día. Para ello, necesitan integrar herramientas de análisis de seguridad en el
proceso de CI/CD. Esto evita que las evaluaciones de seguridad ralenticen el
desarrollo.

Promueva que las personas sean conscientes de la seguridad


Las empresas convierten la concienciación en materia de seguridad en uno de los
valores fundamentales a la hora de crear software. Todos los miembros del equipo
que desempeñan un papel en el desarrollo de aplicaciones deben compartir la
responsabilidad de proteger a los usuarios del software ante las amenazas de
seguridad.

23
Ejemplo: Caso de una empresa que implementa DevSecOps
________________________________________________________

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 smartphone: 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
entonces 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.

Supongamos ahora que queremos añadir otra función a la aplicación: la integración


de los gastos realizados online. En este caso, se trata de procesar datos
extremadamente sensibles, de manera que la implementación de los estándares de
seguridad necesarios puede llegar a durar más 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 al llegar al mercado.

Con la metodología DevSecOps, en cambio, los mecanismos de seguridad se


integran ya en las fases de programación y de 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.

24
Beneficios DevSecOps
________________________________________________________

DevSecOps es una metodología de desarrollo de software que tiene como objetivo


integrar la seguridad informática en todo el ciclo de vida del software. Como
cualquier enfoque de desarrollo de software, DevSecOps tiene sus Beneficios y
desventajas.
Algunos beneficios de DevSecOps:

Aumenta y mejora el nivel de seguridad


La seguridad es uno de los principales beneficios de DevSecOps. Al introducir la
seguridad proactiva en todo el proceso de desarrollo, estos problemas se abordan
tan pronto como se identifican y, por lo tanto, no solo será más seguro, sino que al
responder a los incidentes (como parchear las vulnerabilidades de seguridad), la
reacción es más rápida y eficiente.

Automatización
La automatización es otro beneficio
importante de DevSecOps y se
considera el denominador común.

Las pruebas y comprobaciones de seguridad automatizadas se añaden a todas las


fases del desarrollo con DevSecOps, lo que equivale a un mayor nivel de seguridad
en un sistema CI/CD. Estas pruebas garantizan que el código pase a la siguiente
fase con un nivel de seguridad adecuado.

Dos de las iniciativas DevSecOps que más se utilizan son la automatización del
proceso de gestión de vulnerabilidades y el escaneo de la configuración de código
abierto.

La automatización favorece la colaboración entre las personas encargadas del


desarrollo, la seguridad y las operaciones en el equipo unificado de DevSecOps.

25
Además, permite que amplíen sus perspectivas en todo el SDLC (ciclo de vida de
desarrollo de un sistema), independientemente del marco de implantación.

Aumento de la velocidad de entrega y reducción de los gastos


Uno de los principales motivos por los que se retrasa la entrega de software son los
problemas de seguridad. El plazo de entrega aumenta considerablemente cuando
se necesita mucho tiempo para solucionar los problemas y corregir el código.

A diferencia del enfoque convencional de DevSecOps, gracias a la seguridad


integrada, los problemas de seguridad se reducen, se detectan y se solucionan en
todas y cada una de las etapas del desarrollo, y esto, a su vez, acelera los plazos
de entrega y garantiza un alto nivel de seguridad.

Así mismo, se reducen los costes, ya que no se tienen que realizar cambios de
forma constante, por motivos de seguridad. El mismo motivo por el que disminuyen
los plazos de entrega. Al planificar e involucrar a los equipos de seguridad en todas
las fases del desarrollo, se minimizan los problemas relacionados con la seguridad,
lo que se traduce en una entrega más barata.

Se apoya la sinceridad y la transparencia desde el comienzo del desarrollo


DevSecOps promueve una cultura de sinceridad y transparencia desde las primeras
etapas del desarrollo, lo que es beneficioso para todos. En última instancia,
incrementa las ventas, dado que es mucho más fácil vender un producto que se
puede demostrar que es seguro.

26
Desventajas de DevSecOps
________________________________________________________

La implementación del DevSecOps 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.
Hay algunas desventajas de la implementación de DevSecOps, del cual
mencionaremos a continuación.

Una de las principales desventajas es que puede requerir una inversión significativa
en tiempo y recursos. La implementación de DevSecOps requiere la adopción de
nuevas herramientas y procesos, lo que puede llevar tiempo y requerir una
capacitación adecuada para los equipos de desarrollo y seguridad.

Otra desventaja de DevSecOps es que


puede ser difícil de implementar en
organizaciones grandes y complejas. La
colaboración y la comunicación entre los
equipos de desarrollo y seguridad pueden
ser más difíciles de lograr en
organizaciones grandes y silos, lo que
puede dificultar la adopción de DevSecOps
a gran escala.

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.

27
Componentes de la filosofía DevSecOps
________________________________________________________
Los acercamientos de DevSecOps pueden incluir estos importantes componentes:

Aplicación/Inventario API
• Automatice el descubrimiento, descripción y monitorización continua del
código en todo el portafolio. Esto puede incluir código de producción en
centros de datos, entornos virtuales, nubes privadas, nubes públicas,
contenedores, sin servidor y más. Use una combinación de herramientas de
detección automatizada y auto inventariado. Las herramientas de detección
le ayudan a identificar qué aplicaciones y APIs tiene. Las herramientas de
generación automática de informes permiten que sus aplicaciones realicen
un inventario propio automático y notifiquen sus metadatos a una base de
datos central.
Seguridad codificada personalizada
• Supervise su software de forma continua y halle vulnerabilidades en todo el
desarrollo, pruebas y operaciones. Entregue código frecuentemente para que
las vulnerabilidades puedan identificarse rápidamente con cada actualización
de código.
• La prueba de seguridad de aplicaciones estáticas (SAST) analiza los archivos
fuente de la aplicación, identifica con precisión la causa del problema y le
ayuda a solucionar los defectos de seguridad subyacentes.
• La prueba dinámica de seguridad de aplicaciones (DAST) simula ataques
controlados a una aplicación o a un servicio web en ejecución para identificar
vulnerabilidades explotables en un entorno en ejecución.
• Las pruebas de seguridad de aplicaciones interactivas (IAST) proporcionan
un escaneado en profundidad al instrumentar la aplicación usando agentes y
sensores para analizar continuamente la aplicación, su infraestructura,
dependencias y flujo de datos, así como todo el código.

Seguridad de código abierto


• El software de fuente abierta (OSS) a menudo incluye vulnerabilidades de
seguridad, así que un acercamiento de seguridad completo incluye una
solución que haga el seguimiento de bibliotecas OSS, e informe de
vulnerabilidades e incumplimientos de licencias.
• El Software Composition Analysis (SCA) automatiza la visibilidad en software
de fuente abierta (OSS) para las finalidades de gestión de riesgos, seguridad
y cumplimiento de la licencia.

28
Prevención del tiempo de ejecución
• Proteja sus aplicaciones en producción -pueden descubrirse nuevas
vulnerabilidades, o puede que aplicaciones obsoletas no estén en desarrollo.
• El registro puede informarle de qué tipos de vectores y sistemas de ataque
están siendo el objetivo. La inteligencia sobre amenazas le informa de los
procesos de modelado de
amenazas y arquitectura de
seguridad.
• Las aplicaciones de
instrumentos de Runtime
Application Self-Protection
(RASP) miden directamente
los ataques desde el interior, e
impiden que se utilicen de las vulnerabilidades internas.

Monitorización del cumplimiento


• Habilite la disponibilidad de la auditoría y un estado constante de
cumplimiento para el RGPD, CCPA, PCI, etc.
Factores culturales
• Identifique campeones de la seguridad, establezca formación en seguridad
para desarrolladores, etc.

29
CONCLUSIÓN
________________________________________________________

• En conclusión, DevSecOps es una metodología de desarrollo de software


que se enfoca en integrar la seguridad y las operaciones desde el principio
del ciclo de vida de desarrollo del software, en lugar de ser una actividad
separada y posterior al desarrollo.

• La adopción de DevSecOps permite a los equipos de desarrollo, seguridad y


operaciones trabajar juntos en todo el proceso de desarrollo de software para
construir, probar y entregar aplicaciones de manera más rápida, segura y
confiable. Al integrar la seguridad en el proceso de desarrollo, se pueden
identificar y solucionar problemas de seguridad tempranamente, lo que
reduce el riesgo de vulnerabilidades y ataques maliciosos.

• En última instancia, la implementación exitosa de DevSecOps puede


conducir a la entrega de aplicaciones de alta calidad, seguras y confiables
que satisfagan las necesidades del usuario final y de la organización. La
adopción de DevSecOps es fundamental en un mundo cada vez más digital
y dependiente de la tecnología, y su impacto en la seguridad y la eficiencia
del software hace que sea una meto

30
Bibliografía
________________________________________________________

• https://aws.amazon.com/es/what-is/devsecops/
• https://www.microfocus.com/es-es/what-is/devsecops
• https://www.computerweekly.com/es/definicion/SecOps-o-DevSecOps
• https://www.kolibers.com/implementacion_devsecops.html
• https://www.iebschool.com/blog/devops-ventajas-beneficios-agile-
scrum/#:~:text=DevOps%20es%20una%20metodolog%C3%ADa%20de,co
ste%2C%20y%20a%20una%20mayor%20velocidad
• https://www.redhat.com/es/topics/devops/what-is-
devsecops#:~:text=DevSecOps%20significa%20desarrollo%2C%20segurid
ad%20y,de%20vida%20de%20la%20TI
• https://es.m.wikipedia.org/wiki/Wikipedia:Portada
• https://concepto.de/
• https://snyk.io/learn/infrastructure-as-code-iac.com

• https://www.redhat.com/es/topics/devops/what-is-devsecops

• https://www.synopsys.com/glossary/what-is-devsecops.html

• https://www.atlassian.com/es/devops/devops-tools/devsecops-tools

• https://www.computerweekly.com/es/definicion/SecOps-o-DevSecOps

31

También podría gustarte