pruebas de seguridad continuas para dev ops

26
Pruebas de seguridad continuas para DevOps Stephen de Vries, CTO @stephendv www.continuumsecurity.net

Upload: stephen-de-vries

Post on 07-Aug-2015

125 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Pruebas de seguridad continuas para dev ops

Pruebas de seguridad continuas para DevOps

Stephen de Vries, CTO @stephendv

www.continuumsecurity.net

Page 2: Pruebas de seguridad continuas para dev ops

Sobre Continuum Security

• Empresa Española fundada en 2012• Servicios: Pruebas de Seguridad, instalación de BDD-Security• Productos: Reforzando la seguridad del SDLC

– Código Abierto• Marco de Pruebas de seguridad: BDD-Security• OWASP ZAP integración con Junit y Selenium• Nessus Java cliente API• …y mas http://github.com/continuumsecurity

– Producto Comercial• IriusRisk, gestión de riesgos de seguridad en aplicaciones: www.iriusrisk.com

Page 3: Pruebas de seguridad continuas para dev ops

Pruebas de Seguridad

• Realizados después del desarrollo

• Subcontratados a empresas especializadas externas

• Proceso opaco a desarrolladores

Unit/Integración/Tests funcionales

• Realización durante construcción

• Responsabilidad de desarrolladores y testers

• Tests visibles para todo el equipo

Page 4: Pruebas de seguridad continuas para dev ops

Design Build Unit Tests

Integration Tests

AcceptanceTests Deploy

Development Pre-prod Production

Agile

• Ciclos cortos repetidos• Pruebas automatizadas exhaustivas• Bajo/nulo coste de ejecutar las pruebas• Pruebas que sustituyen documentación

Security Tests

Page 5: Pruebas de seguridad continuas para dev ops

Design Build Unit Tests

Integration Tests

AcceptanceTests Deploy

Development Pre-prod Production

Suministro Continuo con DevOps

• Suministro a pre-producción automatizado

• Pruebas de aceptación automatizadas

Page 6: Pruebas de seguridad continuas para dev ops

Design Build Unit Tests

Integration Tests

AcceptanceTests Deploy

Development Pre-prod Production

Despliegue Continuo con DevOps

• Etsy: 50+ deploys per day• Gov.uk: 10+ deploys per day• Amazon: 300+ per hour

Security Tests?

Page 7: Pruebas de seguridad continuas para dev ops

• Los desarrolladores son responsables de

• Desplazar las pruebas de hacia el código

• Pruebas continuas automatizadas

• Pruebas visibles para todo el equipo

calidad

calidad

seguridad

de seguridadseguridad

^

Page 8: Pruebas de seguridad continuas para dev ops

DesignAuto. Security Tests

BuildIntegration TestsUnit

TestsAcceptance

Tests Deploy

Development Pre-prod Production

Opcion A: Suministro Continuo con SecDevOps: Pruebas de bloqueo

Manual Security Tests

Page 9: Pruebas de seguridad continuas para dev ops

Design Build Integration TestsUnit Tests

AcceptanceTests Deploy

Development Pre-prod Production

Opcion B: Suministro Continuo con Semi-SecDevOps: Pruebas en paralelo

Manual Security Tests

Auto. Security Tests

Page 10: Pruebas de seguridad continuas para dev ops

¿De quién son las pruebas de seguridad?

A) del Equipo de Seguridad• Se efectúan pruebas de bajo coste• Lento feedback a los desarrolladores• Poca colaboración• El equipo DevOps se desentiende

Page 11: Pruebas de seguridad continuas para dev ops

B) del equipo DevOps con supervisación del de Seguridad

• Mejor colaboración• Se pueden efectuar pruebas de bloqueo• Más sentido de responsabilidad sobre la seguridad• Es un buen trampolín hacia…

¿De quién son las pruebas de seguridad?

Page 12: Pruebas de seguridad continuas para dev ops

SecDev

OpsC) Sec + Dev + Ops en un solo equipo funcional multidisciplinario

• Aprobar en seguridad es nuestra responsabilidad

• Nosotros poseemos las herramientas y los conocimientos para gestionarla

¿De quién son las pruebas de seguridad?

Page 13: Pruebas de seguridad continuas para dev ops

¿Automatizar el qué?

1. Herramientas de escaneo existentes: atar a un test de “superado/fallido”2. Exigencias de seguridad conocidas para infraestructura/aplicación3. Funcionalidad de la seguridad, p.e. Login, Password Reset, SSL4. Casos de abuso creados por:

• el equipo de Seguridad y Desarrollo (SecDev) durante el diseño• el feedback del equipo de seguridad durante las pruebas manuales

Page 14: Pruebas de seguridad continuas para dev ops

BDD-Security Testing Framework

https://github.com/continuumsecurity/bdd-security

BDD-Security = JBehave +

OWASP ZAP + Nessus + Internal security tools + Pre-written baseline security specifications

Selenium +

Page 15: Pruebas de seguridad continuas para dev ops

Ejemplos

Page 16: Pruebas de seguridad continuas para dev ops

• Es una prueba de seguridad ejecutable• Es una especificación de seguridad• Es una especificación auto-verificable

Page 17: Pruebas de seguridad continuas para dev ops
Page 18: Pruebas de seguridad continuas para dev ops

Pruebas de Seguridad para Aplicaciones

Page 19: Pruebas de seguridad continuas para dev ops

HTTP/S Proxy

Pruebas de Seguridad Manuales para Aplicaciones con OWASP ZAP

Page 20: Pruebas de seguridad continuas para dev ops

Selenium

ZAP

API

HTTP/S Proxy

Pruebas de Seguridad Manuales ^ para Aplicaciones con OWASP ZAPAutomáticas

BDD-Security

Page 21: Pruebas de seguridad continuas para dev ops
Page 22: Pruebas de seguridad continuas para dev ops
Page 23: Pruebas de seguridad continuas para dev ops

Pruebas de Seguridad Funcionales

Page 24: Pruebas de seguridad continuas para dev ops

Integración con Jenkins• Configuración• Hacer pruebas

Page 25: Pruebas de seguridad continuas para dev ops

Otras herramientas relacionadas

• Mittn (Python + Burp Intruder) https://github.com/F-Secure/mittn

• ZAP-JUnit (Java) https://github.com/continuumsecurity/zap-webdriver

• Guantlet (Ruby) http://gauntlt.org/

• OWASP ZAP Jenkins plugin https://wiki.jenkins-ci.org/display/JENKINS/Zapper+Plugin

Page 26: Pruebas de seguridad continuas para dev ops

Gracias

www.continuumsecurity.net@stephendv