Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una...

44
C. Santander, 101. Edif. A. 2º I E-08030 Barcelona (Spain) I Tel.: +34 93 305 13 18 I Fax: +34 93 278 22 48 C. Arequipa, 1 I E-28043 Madrid (Spain) I Tel: +34 91 763 40 47 I Fax: +34 91 382 03 96 [email protected] I www.isecauditors.com Desarrollo de software seguro: una visión con OpenSAMM Vicente Aguilera Díaz Internet Security Auditors 09/05/2012 Zaragoza

Transcript of Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una...

Page 1: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

C. Santander, 101. Edif. A. 2º I E-08030 Barcelona (Spain) I Tel.: +34 93 305 13 18 I Fax: +34 93 278 22 48

C. Arequipa, 1 I E-28043 Madrid (Spain) I Tel: +34 91 763 40 47 I Fax: +34 91 382 03 96

[email protected] I www.isecauditors.com

Desarrollo de software seguro: una visión con OpenSAMM

Vicente Aguilera Díaz

Internet Security Auditors 09/05/2012 – Zaragoza

Page 2: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 2

Desarrollo de software seguro: una visión con OpenSAMM

¿Quién soy?

• CISA, CISSP, CSSLP, ITIL, CEH|I, ECSP|I, PCI ASV, OPSA,OPST

• Socio y Director del Dpto. de Auditoría en Internet Security Auditors

• OWASP Spain Chapter Leader

• Miembro del Consejo Técnico Asesor de la revista RedSeguridad

• Miembro del Jurado de los Trofeos de la Seguridad TIC

• Colaborador en distintos proyectos (OWASP Testing Guide, WASC

Threat Classification, OISSG ISSAF, WASC Articles, etc.)

• Ponente en congresos del sector (ExpoQA, IGC, RedIRIS, OWASP,

FIST, HackMeeting, ISACA, Respuestas SIC, AdwysCon, Infosecura,

etc.)

• Publicación de vulnerabilidades (Oracle, Facebook, Gmail, etc.) y

artículos en medios especializados (SIC, RedSeguridad, WASC, etc.)

Page 3: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 3

Desarrollo de software seguro: una visión con OpenSAMM

Agenda

1. Necesitamos construir software seguro

2. El SDLC seguro es la clave

3. OpenSAMM como estrategia de seguridad

4. Aplicando el modelo OpenSAMM

5. Conclusiones

Page 4: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 4

Desarrollo de software seguro: una visión con OpenSAMM

1│

Necesitamos construir software

seguro

Page 5: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 5

Desarrollo de software seguro: una visión con OpenSAMM

“In the 80’s we wired the world with cables and in the 90’s we

wired the world with computer networks. Today we are wiring

the world with applications (software). Having a skilled

professional capable of designing, developing and deploying

secure software is now critical to this evolving world.”

Mark Curphey

Director & Product Unit Manager, Microsoft Corporation

Founder of Open Web Application Security Project (OWASP)

Page 6: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 6

Desarrollo de software seguro: una visión con OpenSAMM

¿Porqué resulta ahora crítico?

• Las aplicaciones web resultan muy atractivas

• La trinidad de los problemas:

• Conectividad

• Complejidad

• Extensibilidad

… y existen estándares de obligado cumplimiento! (PCI

DSS, SOX, GLB Act, HIPAA, FISMA, …)

Nuestra vida cotidiana depende del software

Page 7: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 7

Desarrollo de software seguro: una visión con OpenSAMM

Todo es posible en la web…

Page 8: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 8

Desarrollo de software seguro: una visión con OpenSAMM

Escenario actual

Fuente: WASC Web Hacking Incident Database

Page 9: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 9

Desarrollo de software seguro: una visión con OpenSAMM

Escenario actual

Fuente: WASC Web Hacking Incident Database

Page 10: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 10

Desarrollo de software seguro: una visión con OpenSAMM

Escenario actual

Fuente: WASC Web Hacking Incident Database

Page 11: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 11

Desarrollo de software seguro: una visión con OpenSAMM

¿Qué es software seguro?

• Diseñado, construido y probado para ser seguro

• Continúa ejecutándose correctamente bajo un ataque

• Diseñado con el fallo en mente

Romper algo es más fácil que diseñar algo para que no

pueda ser roto

Page 12: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 12

Desarrollo de software seguro: una visión con OpenSAMM

¿Qué es software seguro?

Improving Web Application Security: Threats and countermeasures

Page 13: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 13

Desarrollo de software seguro: una visión con OpenSAMM

2│

El SDLC seguro es la clave

Page 14: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 14

Desarrollo de software seguro: una visión con OpenSAMM

El SDLC seguro es la clave

• SDLC basado en principios de seguridad

• No existe una fórmula única para todas las

organizaciones

• Requiere involucrar los siguientes factores:

• Personas

• Procesos

• Tecnología

SDLC genérico

Page 15: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 15

Desarrollo de software seguro: una visión con OpenSAMM

Buenas prácticas

• Microsoft SDL (Secure Development Lifecycle)

• OWASP CLASP (Comprehensive, Lightweight

Application Security Process)

• Cigital Software Security Touchpoints

• OWASP OpenSAMM (Software Assurance Maturity

Model)

• BSIMM (Building Security In Maturity Model)

• SSE CMM (Secure Software Engineering Capability

Maturity Model)

Page 16: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 16

Desarrollo de software seguro: una visión con OpenSAMM

3│

OpenSAMM como estrategia de

seguridad

Page 17: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 17

Desarrollo de software seguro: una visión con OpenSAMM

OWASP OpenSAMM

• Marco abierto para ayudar a las organizaciones a

diseñar e implementar una estrategia para la creación

de software seguro

• Los recursos facilitados por OpenSAMM ayudan a:

• Evaluar las prácticas de seguridad existentes

• Demostrar mejoras concretas

• Definir y medir actividades relacionadas con la

seguridad

• Construir un programa de aseguramiento de la

seguridad en software

Page 18: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 18

Desarrollo de software seguro: una visión con OpenSAMM

OWASP OpenSAMM

Page 19: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 19

Desarrollo de software seguro: una visión con OpenSAMM

Gobierno - Estrategia y métricas

Page 20: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 20

Desarrollo de software seguro: una visión con OpenSAMM

Gobierno - Política y cumplimiento

Page 21: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 21

Desarrollo de software seguro: una visión con OpenSAMM

Gobierno - Educación y orientación

Page 22: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 22

Desarrollo de software seguro: una visión con OpenSAMM

Construcción – Evaluación de amenazas

Page 23: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 23

Desarrollo de software seguro: una visión con OpenSAMM

Construcción – Requisitos de seguridad

Page 24: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 24

Desarrollo de software seguro: una visión con OpenSAMM

Construcción – Arquitectura de seguridad

Page 25: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 25

Desarrollo de software seguro: una visión con OpenSAMM

Verificación – Revisión de diseño

Page 26: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 26

Desarrollo de software seguro: una visión con OpenSAMM

Verificación – Revisión de código

Page 27: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 27

Desarrollo de software seguro: una visión con OpenSAMM

Verificación – Pruebas de seguridad

Page 28: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 28

Desarrollo de software seguro: una visión con OpenSAMM

Implementación – Gestión de vuln.

Page 29: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 29

Desarrollo de software seguro: una visión con OpenSAMM

Implementación – Securización del entorno

Page 30: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 30

Desarrollo de software seguro: una visión con OpenSAMM

Implementación – Habilitación operativa

Page 31: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 31

Desarrollo de software seguro: una visión con OpenSAMM

4│

Aplicando el modelo OpenSAMM

Page 32: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 32

Desarrollo de software seguro: una visión con OpenSAMM

Aplicando OpenSAMM

• Realizar una revisión inicial

• Medir las prácticas de la organización frente las

prácticas de seguridad definidas por el modelo

• Definir el nivel de madurez actual

• Dos estilos de revisiones

• Ligero

• Detallado

Page 33: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 33

Desarrollo de software seguro: una visión con OpenSAMM

Aplicando OpenSAMM

• Construir programas de aseguramiento de la seguridad

• Crear una hoja de ruta o usar una plantilla

• Realizar las actividades prescritas para alcanzar el

nivel de madurez esperado

Page 34: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 34

Desarrollo de software seguro: una visión con OpenSAMM

Hojas de trabajo para las revisiones

Page 35: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 35

Desarrollo de software seguro: una visión con OpenSAMM

Creando tarjetas de

calificaciones

• Permite demostrar la evolución

• Basado en las puntuaciones

asignadas a cada práctica de

seguridad

• Puede resultar tan simple como

un conjunto de 12 puntuaciones

para un momento concreto

Page 36: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 36

Desarrollo de software seguro: una visión con OpenSAMM

Hoja de ruta

• Define la estrategia de

implementación

• Es una estrategia a largo plazo

• Depende de las prioridades de cada

organización

Page 37: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 37

Desarrollo de software seguro: una visión con OpenSAMM

¿Cuáles son los beneficios?

• Permite implementar las mejores prácticas utilizadas

hoy y aprovechar la experiencia en su implementación

• Proporciona una manera de revisar el estado de una

organización y priorizar los cambios

• Proporciona una manera de construir un programa de

seguridad en el desarrollo mediante iteraciones

claramente definidas

• Permite definir y medir actividades relacionadas con la

seguridad

• Permite demostrar mejoras concretas en la seguridad

Page 38: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 38

Desarrollo de software seguro: una visión con OpenSAMM

5│

Conclusiones

Page 39: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 39

Desarrollo de software seguro: una visión con OpenSAMM

Conclusiones

• La mayoría de los ataques se producen en la capa de

aplicación

• Necesitamos invertir más en la protección de nuestras

aplicaciones

• Necesitamos crear software seguro

• Necesitamos adoptar una estrategia de seguridad

para la creación de software

• El software seguro es el resultado de múltiples

actividades

• Requiere involucrar personas, procesos y tecnología

Page 40: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 40

Desarrollo de software seguro: una visión con OpenSAMM

Conclusiones

• Mejorar la seguridad del software implica un cambio

cultural en la organización

• Debemos cambiar la forma en la que trabaja nuestra

organización

Page 41: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 41

Desarrollo de software seguro: una visión con OpenSAMM

6│

Referencias

Page 42: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 42

Desarrollo de software seguro: una visión con OpenSAMM

Referencias

• Improving Web Application Security:

• OWASP OpenSAMM:

• The Ten Best Practices for Secure Software Development:

http://www.isc2.org/uploadedFiles/(ISC)2_Public_Content/Certificat

ion_Programs/CSSLP/ISC2_WPIV.pdf

http://msdn.microsoft.com/en-us/library/ff649874.aspx

http://www.opensamm.org

• PCI Data Security Standard

https://www.pcisecuritystandards.org

Page 43: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 43

Desarrollo de software seguro: una visión con OpenSAMM

?

preguntas / comentarios / sugerencias

Muchas gracias por su atención!

Page 44: Desarrollo de software seguro: una visión con OpenSAMM · Desarrollo de software seguro: una visión con OpenSAMM Buenas prácticas • Microsoft SDL (Secure Development Lifecycle)

© I n t e r n e t S e c u r i t y A u d i t o r s • M a y o 2 0 1 2 • P. 44

Desarrollo de software seguro: una visión con OpenSAMM

Su Seguridad es Nuestro Éxito

Vicente Aguilera Díaz Director Departamento Auditoría

Internet Security Auditors [email protected]

C. Santander, 101. Edif. A. 2º

E-08030 Barcelona (Spain)

Tel.: +34 93 305 13 18

Fax: +34 93 278 22 48

C. Arequipa, 1

E-28043 Madrid (Spain)

Tel.: +34 91 763 40 47

Fax: +34 91 382 03 96

www.isecauditors.com