51
DevSecOps: Desafío o aliado del Líder de Seguridad hacia la Transformación Digital Javier Galindo Ortegón [email protected]

DevSecOps: Desafío o aliado del Líder de Seguridad hacia

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

DevSecOps: Desafío o aliado del Líder de Seguridad hacia la

Transformación Digital

Javier Galindo Ortegón

[email protected]

Page 2: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Agenda

• Contexto

• DevOps

• Desarrollo de software Seguro

• DevSecOps: ¿Cómo integrar seguridad dentro de DevOps?

• Conclusiones

• Preguntas

Page 3: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Contexto

Page 4: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Information Security

Professionals: ¿Do You Believe Your

Information Security

Policies/Teams Are Slowing IT Down?

Gartner (September 2016) DevSecOps: How to Seamlessly Integrate Security Into DevOps

Page 5: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

IT Operations Professionals:

¿Do You Believe Your Information

Security Policies/Teams Are Slowing IT

Down?

Gartner (September 2016) DevSecOps: How to Seamlessly Integrate Security Into DevOps

Page 6: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Realidades

Verizon Breach Report 2016Gartner Forecast 2016

Los sitios y las aplicaciones web son uno de los

objetivos principales de cibercrimen.

Un atacante sólo necesita explotar una

vulnerabilidad, en un día determinado, para lograr

hacer daño.

Pese a esto, solo el 10% de la organizaciones prueba

sus aplicaciones críticas de negocio antes y después de

desplegarlas

De las brechas de seguridad están causados por

aplicaciones web.

Solo se invierte el 1% de seguridad TI en

asegurar las aplicaciones.

40%

de todos los sitios web, tienen al menos una

vulnerabilidad seria, que está expuesta cada día

del año.33%

De las aplicaciones web usan administración de

credenciales (Contraseñas fuertes).35%

Page 7: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Realidades

Veracode State of Software Security Report 2016Verizon Data Breech and Incident Report 2016

Los sitios y las aplicaciones web son uno de los

objetivos principales de cibercrimen.

De las aplicaciones son vulnerables a ataques de

redirección que permiten a los atacantes remotos

redirigir a los usuarios a otros sitios web.28%

de las aplicaciones web no cumplen con OWASP

Top 10 al primer paso61%

De las aplicaciones no cumplió con las políticas

empresariales de seguridad en la primera revisión.70%

De las aplicaciones Java contienen una

vulnerabilidad conocida, módulos open-source y de

terceros61%

Page 8: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Seguridad en iniciativas de DevOps

• Para 2019, más del 70% de las iniciativas empresariales en torno a DevOps tendrán incorporados mecanismos de escaneo automático de vulnerabilidades de seguridad y configuración para componentes de código abierto y paquetes comerciales.

• Para 2019, más del 50% de las iniciativas empresariales en torno a DevOps tendrán incorporados mecanismos de pruebas de seguridad para código desarrollado.

• Para 2019, más del 60% de iniciativas DevOps habrán adoptado el control de versiones y la administración estricta de las herramientas de automatización de infraestructura.

Gartner (September 2016) DevSecOps: How to Seamlessly Integrate Security Into DevOps

Page 9: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

DevOps

Page 10: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Entrega más frecuente y consistente de servicios de IT y aplicaciones de alta calidad a los usuarios finales.

OBJETIVO DevOps

Page 11: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

¿Qué es DevOps? – Forma de pensamiento

DevOps es una agregación de un conjunto de prácticas colaborativas…

que influencian el desarrollo de IT, el equipo de gestión de servicios y el equipo de pruebas…

para que unan esfuerzos…

para entregar más frecuente y consistentemente servicios de IT y aplicaciones…

de alta calidad a los usuarios finales.

Page 12: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

La clave para que los equipos de IT generen, apoyen y

soporten la transformación digital está en poder adoptar y

adaptarse a la forma de trabajo “modo DevOps”

Page 13: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

DevOps - Proceso y Herramientas para Automatización

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Page 14: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Iniciativas para mejorar la oportunidad y calidad de software – DevOps

Page 15: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Integración continua y construcción automática de instaladores

Integración continua y

construcción automática de

instaladores

Page 16: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Automatización de despliegues

Page 17: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Generación de Ambientes Dinámicos (dockerización)

Page 18: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Gestión del Ciclo de Vida de Desarrollo (Reqs → Release)

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Gestión del Ciclo de Vida de Desarrollo (Reqs→ Release)

Page 19: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Automatización de pruebas:Automatización de casos de prueba

Generación de datos de pruebasVirtualización de servicios.

Automatización de pruebas

Page 20: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Seguridad en el Proceso de

Desarrollo

Seguridad en el Proceso de Desarrollo

Page 21: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Monitoreo de Negocio

(Ops)

Monitoreo de Negocio - (Ops)

Page 22: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Iniciativas para mejorar la oportunidad y calidad de software – DevOps

• Definición de lineamientos de arquitectura para DevSecOps.

• Selección e Implementación de herramientas.

• Sensibilización, definición y ajuste de procesos de software.

• Definición de procedimientos de automatización.

• Entrenamiento (Conceptos y herramientas).

Gestión del Ciclo de Vida de Desarrollo (Reqs → Release)

BU

ILD

OP

ER

AT

E

MONITORTEST

CODE DEPLOY

Automatización de despliegues

Generación de Ambientes Dinámicos

(dockerización)

Automatización de pruebasAutomatización de casos de prueba

Generación de datos de pruebasVirtualización de servicios.

Monitoreo de Negocio

(Ops)

Seguridad en el Proceso de Desarrollo

Integración continua y

construcción automática de

instaladores

Page 23: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Desarrollo de Software Seguro

Page 24: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Mientras más temprano se detecte un problema, menos costoso en tiempo y esfuerzo será solucionarlo y menor será el

impacto sobre los proyectos de software.

Page 25: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Revisiones de pares

• Requerimientos

• Arquitectura

- Análisis estático de

código / Adherencia:

• PCI

• OWASP

• CWE/SANS

• Pruebas de

penetración estática y

dinámica

Proceso de Desarrollo Seguro con puntos de control

Page 26: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Requerimientos de Seguridad

Cuáles son los requerimientos para:

Confidencialidad

Integridad

Disponibilidad

Autenticación

Autorización

Auditoría

Manejo de sesión

Manejo de errores y excepciones

Manejo de parámetros de configuración

Archivo/Almacenamiento de información

Entorno de despliegue

Antipiratería

Page 27: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Diseño de mecanismos de Seguridad

• Confidencialidad → ¿Criptografía ?• Integridad → ¿Hashing?• Autenticación → ¿SSO?• Auditoría → ¿Syslog / Base de

Datos?• Manejo de sesión → ¿Expiración

de sesión?• Manejo de errores y excepciones → ¿Enmascaramiento?

• Manejo de parámetros de configuración → ¿Prevención de modificación no autorizada?

Page 28: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Proceso de Desarrollo Seguro con puntos de control

Punto de control

Revisiones de pares

• Requerimientos, incluyendo

los de seguridad

• Arquitectura

• Casos de prueba de

seguridad

• Trazabilidad entre casos de

prueba y requerimientos de

seguridad

Page 29: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Implementación y Codificación segura

• Reglas de seguridad independiente del lenguaje

• Guías de código seguro• Top 10-OWASP

• CWE/SANS 25

• HIPAA

• Manejo adecuado de versiones

• Análisis de código

• Revisiones de pares automatizadas

Page 30: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Punto de control

- Análisis estático de código

- Verificación de adherencia de

seguridad

• PCI

• OWASP

• CWE/SANS

• Políticas de cubrimiento

de código

- Creación y Ejecución continua

y automática de casos de

prueba

Proceso de Desarrollo Seguro con puntos de control

Page 31: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Pruebas seguras

• Adicional a las tradicionales• Funcionales, Unitarias,

Integración, Regresión

• Pruebas de funciones de seguridad vs. Pruebas seguras• Validación de entradas

• Inyección de código (SQL, LDAP, etc.)

• Fallas de sistema

• Herramientas • Escáneres de vulnerabilidades

• Analizadores de protocolos

• Análisis de código estático y dinámico

Page 32: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Punto de control

- Ejecución de pruebas

Funcionales de

seguridad

- Ejecución continua y

automática de casos de

prueba manuales y de

código

- Pruebas de penetración

estática y dinámica

Proceso de Desarrollo Seguro con puntos de control

Page 33: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Aceptación de software

• Típicamente realizada por el cliente final• Software completo, documentado• Validar si la solución se debe incluir en el BCP• Evaluar proveedores, incluyendo su proceso de desarrollo seguro,

certificaciones de seguridad, etc.• Mecanismos legales, manejo de garantías, patentes y/o derechos

de autor• Exigir cumplimientos de SLAs• Verificaciones y validaciones de terceros (a nivel de seguridad de

las aplicaciones)

Page 34: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Proceso de Desarrollo Seguro con puntos de control

Punto de control

- Pruebas de aceptación

funcional del cliente

Page 35: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Despliegue Seguro

• Hardening de infraestructura

• Configuración de entorno / parámetros de configuración

• Monitoreo de actividades de uso de aplicaciones

• Gestión de incidentes

• Aplicación de parches para aplicativos

Page 36: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Punto de control

- Pruebas no funcionales

- Pruebas de penetración

estática y dinámica

Punto de control

Proceso de Desarrollo Seguro con puntos de control

Page 37: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

DevSecOps: ¿Cómo integrarseguridad dentro de

DevOps?

Page 38: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

¿Qué es DevSecOps?

• Es un método para construir seguridad en la entrega continua de software como parte del proceso DevOps.

• Es un paso adelante para eliminar los cuellos de botella y los procesos que bloquea.

• Es un medio para ara ayudar a los equipos de DevOps a comprender cómo crear software seguro y comprender cuándo se está explotando de una forma que no se pretendía.

• Aborda la seguridad con un enfoque en la innovación y la escalabilidad al mismo tiempo que involucra la seguridad más cerca del código fuente de aplicaciones, clientes, desarrolladores y DevOps.

Fuente: http://www.devsecops.org/

Page 39: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Retos principales

• El cumplimiento de DevOps es una de las principales preocupaciones de los líderes de TI, pero la seguridad de la información se considera un inhibidor de la agilidad de DevOps.

• La infraestructura de seguridad se ha rezagado en "software definido" y programable, lo que dificulta la integración de los controles de seguridad en los flujos de trabajo de estilo DevOps de una manera automática y transparente.

• Las aplicaciones modernas están en gran parte "ensambladas", no desarrolladas y los desarrolladores a menudo descargan y usan los componentes y frameworks que tienen vulnerabilidades conocidas.

Page 40: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

DevSecOps – Claves para eléxito

• Detectar y resolver problemasde seguridad rápidamente

• Usar capacidades de seguridadnativas cuando sea posible

• Alistar y habilitar la organización

• Educando a la par de ir implementando

https://github.com/devsecops/devsecops/blob/master/01_What_is_DevSecOps.md

Page 41: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Integración continua – Versión DevSecOps

Orquestador

Checkout desde repositorio

CompilaRevisa Código

(Seguridad y Confiabilidad)

Portal de revisión de

código

Crea instaladores

Crea la Infraestructura (Dockeriza)

Infraestructura

Despliega

231

567

Ejecuta Pruebas funcionales automáticas

84

ReportaRepositorio de

despiegues 9

Page 42: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Beneficios

• Mejora la oportunidad en la generación de soluciones al negocio

• Libera talento técnico gracias a la automatización

• Control sobre de los activos de software dentro de la organización y no en proveedores

• Reduce riesgos y tiempos en la generación de software

• Reduce procesos repetitivos manuales

• Crea una versión de software mediante un proceso conocido, confiable, probado, versionado y repetible

• Mejora la visibilidad del estado del proyecto

• Incorpora la seguridad dentro del proceso de desarrollo

Page 43: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Recomendaciones

Page 44: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Recomendaciones

• Los controles de seguridad deben ser programables y automatizados siempre que sea posible

• Use IAM y control de acceso basado en roles para proporcionar separación de funciones

• Implementar un modelo simple de riesgo y amenaza para todas las aplicaciones

• Escanear código desarrollado, aplicaciones y APIs

• Escanear en desarrollo librerías Open Source

Page 45: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Recomendaciones

• Los controles de seguridad deben ser programables y automatizados siempre que sea posible

• Use IAM y control de acceso basado en roles para proporcionar separación de funciones

• Implementar un modelo simple de riesgo y amenaza para todas las aplicaciones

• Escanear código desarrollado, aplicaciones y APIs

• Escanear en desarrollo librerías Open Source

Page 46: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Recomendaciones

• Escanear vulnerabilidades y corregir la configuración en desarrollo

• Tratar Scripts / Plantillas / Layers como si fuera código sensible

• Medir la integridad de los sistemas y asegurarse que la configuración sea correcta/segura

• Bloquear cambios a infraestructura y servicios de producción

• Si se utilizan contenedores, reconocer y abordar las limitaciones de seguridad que tiene la tecnología adoptada.

Page 47: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Conclusiones

Page 48: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Recomendaciones finales - Arquitectos de seguridad de la información deberían:

• Iniciar con entrenamiento en desarrollo Seguro, pero no hagan que los desarrolladores se conviertan en expertos!

• Adoptar el concepto de seguridad centrada en las personas y empoderen a los desarrolladores para que asuman de forma personal la responsabilidad de la seguridad. Acepte la mentalidad de "confiar y verificar".

• Requerir que todas las plataformas de seguridad de la información involucradas en el proceso de desarrollo expongan la funcionalidad completa mediante API para la automatización.

• Utilizar herramientas y control de versiones comprobados para todo el software, tan importante como para todos los scripts, plantillas utilizados en entornos DevOps.

• Adoptar una mentalidad de infraestructura inmutable donde los sistemas de producción se bloquean y cambian a través del desarrollo.

Page 49: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Conclusiones

• La seguridad NO ES UN MÓDULO!

• La seguridad debe estar contenida comoparte integral del ciclo de vida de desarrollode software

• Se debe entrenar / concientizar a losmiembros del equipo de desarrollo (analistas,desarrolladores, QA) con respecto al aportede cada uno a la seguridad del proceso

• Revisión de código → exigencia futura? para la adquisición de desarrollos.

Page 50: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Preguntas

Page 51: DevSecOps: Desafío o aliado del Líder de Seguridad hacia

Mientras más temprano se detecte un problema, menos costoso en tiempo y esfuerzo será solucionarlo y menor será el impacto sobre los proyectos

de software.

Javier Galindo

[email protected]