pruebas de seguridad continuas para dev ops

Post on 07-Aug-2015

125 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pruebas de seguridad continuas para DevOps

Stephen de Vries, CTO @stephendv

www.continuumsecurity.net

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

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

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

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

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?

• 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

^

DesignAuto. Security Tests

BuildIntegration TestsUnit

TestsAcceptance

Tests Deploy

Development Pre-prod Production

Opcion A: Suministro Continuo con SecDevOps: Pruebas de bloqueo

Manual Security Tests

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

¿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

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?

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?

¿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

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 +

Ejemplos

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

Pruebas de Seguridad para Aplicaciones

HTTP/S Proxy

Pruebas de Seguridad Manuales para Aplicaciones con OWASP ZAP

Selenium

ZAP

API

HTTP/S Proxy

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

BDD-Security

Pruebas de Seguridad Funcionales

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

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

Gracias

www.continuumsecurity.net@stephendv

top related