Pruebas de Seguridad Continuas para DevOps

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Pruebas de Seguridad Continuas para DevOps"

Transcripción

1 Pruebas de Seguridad Continuas para DevOps Stephen de

2 Sobre mi CTO Continuum Security 70% Programador / 30% Consultor 17 años en seguridad Contributor OWASP 2

3 Unit/Integración/Tests funcionales Realización durante construcción Responsabilidad de desarrolladores y testers Tests visibles para todo el equipo Pruebas de Seguridad Realizados después del desarrollo Subcontratados a empresas especializadas externas Proceso opaco a desarrolladores 3

4 Agile Development Pre-prod Production Design Build Unit Tests Integration Tests Acceptance Tests Deploy Ciclos cortos repetidos Pruebas automatizadas exhaustivas Bajo/nulo coste de ejecutar las pruebas Pruebas que sustituyen documentación 4

5 Suministro Continuo con DevOps Development Pre-prod Production Design Build Unit Tests Integration Tests Acceptance Tests Deploy Suministro a pre-producción automatizado Pruebas de aceptación automatizadas 5

6 Despliegue Continuo con DevOps Development Pre-prod Production Design Build Unit Tests Integration Tests Acceptance Tests Deploy Etsy: 50+ deploys per day Gov.uk: 10+ deploys per day Amazon: 300+ per hour 6

7 Los desarrolladores son responsables de calidad Desplazar las pruebas de calidad hacia el código Pruebas continuas automatizadas Pruebas visibles para todo el equipo 7

8 Los desarrolladores son responsables de seguridad Desplazar las pruebas de seguridad hacia el código Pruebas continuas automatizadas ^ Pruebas visibles para todo el equipo 8

9 Opcion A: Suministro Continuo con SecDevOps: Pruebas de bloqueo Development Pre-prod Production Design Build Unit Tests Integration Tests Acceptance Tests Deploy 9

10 Opcion B: Suministro Continuo con Semi-SecDevOps: Pruebas en paralelo Development Pre-prod Production Unit Design Build Integration Tests Tests Acceptance Tests Deploy 10

11 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 11

12 De quién son las pruebas de seguridad? 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 12

13 De quién son las pruebas de seguridad? C) Sec + Dev + Ops en un solo equipo funcional multidisciplinario Aprobar en seguridad es nuestra responsabilidad Nosotros poseemos las herramientas y los conocimientos para gestionarla 13

14 Automatizar el qué? 1. Herramientas de escaneo existentes: atar a un test de superado/fallido 2. Exigencias de seguridad conocidas para infraestructura/aplicación 3. Funcionalidad de la seguridad, p.e. Login, Password Reset, SSL 4. 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 14

15 BDD-Security Testing Framework BDD-Security = JBehave + Selenium + OWASP ZAP + Nessus + Internal security tools + Pre-written baseline security specifications 15

16 Ejemplos 16

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

18 18

19 Pruebas de Seguridad para Aplicaciones 19

20 Pruebas de Seguridad Manuales para Aplicaciones con OWASP ZAP HTTP/S Proxy 20

21 Pruebas de Seguridad Manuales ^ para Aplicaciones con OWASP ZAP HTTP/S Proxy BDD-Security 21

22 22

23 23

24 Demo 24

25 Otras herramientas relacionadas Mittn (Python + Burp Intruder) ZAP-JUnit (Java) Guantlet (Ruby) OWASP ZAP Jenkins plugin 25

26 Diapositivas: Pruebas de Seguridad Continuas para 26

27