Download - Seguridad ágil? Dejamos de ser los villanos!
Seguridad ágil? Dejamos de ser los villanos!
1
El squad
https://es.linkedin.com/in/cmonteroe
Agile experienceshttps://plus.google.com/u/0/communities/104006137025221336239
https://es.linkedin.com/in/pedroserrano/es
@jaripES
De dónde venimos? (Histórico)Waterfall
3
Análisis
Diseño
Desarrollo
Testing
Implementación
Despliegue
Hacking ético
Previsiones a X años vista
Añadimos X tiempo a la previsión fallida
De dónde venimos? (I4S)Agile + Hacking ético
4
Análisis y
diseño
Desarrollo
Testing
Implementación
Análisis y
diseño
Desarrollo
Testing
Implementación
Análisis y
diseño
Desarrollo
Testing
Implementación
Deploy
Deploy
Deploy
Iteración 1/Release 1
ESO NO ES AGILE!!!!
Hacking ético
Hacking ético
TiempoIteración 2/Release 2
Iteración 3/Release 3
DÓNDE HE VISTO ESTO ANTES?
A dónde vamos?Agile con seguridad integrada
5
Deploy
Deploy
Deploy
Iteración 1
Iteración 2
Iteración N
Análisis y
diseño
Desarrollo
Testing
Implementación
Análisis y
diseño
Desarrollo
Testing
Implementación
Análisis y
diseño
Desarrollo
Testing
Implementación
Desarrollo + Seguridad
Desarrollo + Seguridad
Desarrollo + Seguridad
Cómo integrar la seguridad en el desarrollo? (I)Agile con seguridad integrada (I4S)
6
Equipo de trabajo scrum 1
Sec Dev Ops
Escenario seguridad
Feature Seguridad
Product Owner Scrum
Feature 1
Feature 2
Feature 3
Feature n
Backlog Scrum
DoRDoD
Cómo integrar la seguridad en el desarrollo? (II)Agile con seguridad integrada (Alternativa)
7
Product Owner Scrum1
Product Owner Scrum2
Product Owner Seguridad
Feature 1
Feature 2
Feature Seguridad 1
Feature n
Feature 1
Feature 2
Feature 3
Feature Seguridad 1
Feature 1
Feature 2
…
Feature n
Equipo de trabajo scrum 1
Equipo de trabajo scrum 1
Equipo de trabajo de seguridad
Integración, despliegue o
entrega continua.
Backlog Scrum 1
Backlog Scrum 2
Backlog Seguridad
Cómo funciona BDDBehaviour Driven Development
8
Como ____Quiero ____Para ____
Historia de usuario
Gherkin -> .featureFeature
@tagScenario Given 1 When 2 Then 3
Traducción
Sacar todos los comportamientos esperados
STEPS -> .py
@given(‘1')def step_impl(context): assert False
@when(‘2')def step_impl(context): assert False
@then(‘3')def step_impl(context): assert False
~TDD
+
Product OwnerUXQADev Team….
Unión con varios estándares del MITRE como:– CAPEC: Common Attack Pattern Enumeration and Classification – CWE: Common Weakness Enumeration – CVE: Common Vulnerabilities and Exposures
Historias de seguridad en BDD
Historias de seguridad desarrolladas en base a:– OWASP– SAFEcode– Expertise propio– Patrones de seguridad definidos
9
Tipos de historias:– SQLi– XSS– HTTPfuzzing– SSL/TLS configuration– DoS– Technical Compliance (VATS)– …
Historias de seguridad en BDD
10
FUNCIONALSEGURIDAD
Cómo tenemos montado nuestro BDD?Integración continua
11
Archivo configuración
APP RUNNING
Behave Behave
…
Behave Behave
Output
BDD
Como __Quiero __Para __
Gherkin -> .featureSTEPS -> .py
Ejemplo práctico
12
ConclusionesCualquier dev team puede contar con las features de seguridad para pasarlas desde el día 1.
Reaprovechamiento de escenarios ya desarrollados.
Seguridad no entra el último en el ciclo de desarrollo ágil.
Se reducen las vuelta atrás en el desarrollo por lo que realmente si se desarrolla de manera ágil.
Automatización de un alto % de historias de seguridad porque las vulnerabilidades son heredadas del software.
Equipos de hacking reducidos para issues específicos.
Comunidad para las features de seguridad en el future. (Our wish)
Otros frameworks: BDD Security (Irius Risk), Gauntlt, mittn (F-Secure).
13
It’s over
14
MUCHAS GRACIAS!
Preguntas?
14
@jaripESAgile experienceshttps://plus.google.com/u/0/communities/104006137025221336239