35
Seguridad en el ciclo de vida del software www.isaca.org.uy Pablo Miño - CISSP

Seguridad en el ciclo de vida del software

Embed Size (px)

Citation preview

Page 1: Seguridad en el ciclo de vida del software

Seguridad en el ciclo de vida del software

www.isaca.org.uy

Pablo Miño - CISSP

Page 2: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 3: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 4: Seguridad en el ciclo de vida del software

Importancia del software

• Software cumple muchas funciones:– SO

www.isaca.org.uy

– Ofimática– Groupware– CRM– ERP

• Imagine un día sin uno de ellos

Page 5: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 6: Seguridad en el ciclo de vida del software

Seguridad en capas

www.isaca.org.uy

Imagen: http://technet.microsoft.com/en-us/library/cc767969.aspx

Page 7: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 8: Seguridad en el ciclo de vida del software

¿Por qué el software falla?

• No es una tarea sencilla• Requiere alto conocimiento

www.isaca.org.uy

• Requiere alto conocimiento• Equipos multidisciplinarios• Plazos reducidos• Seguridad es un add-on• Somos humanos!

Page 9: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 10: Seguridad en el ciclo de vida del software

Conceptos de seguridad

• CID– Confidencialidad

www.isaca.org.uy

– Integridad– Disponibilidad

Imagen: http://cursosonline.mdl.gnomio.com/

Page 11: Seguridad en el ciclo de vida del software

Conceptos de seguridad

• AAA– Autenticación

www.isaca.org.uy

– Autorización– Auditoría

Imagen: http://www.akadia.com

Page 12: Seguridad en el ciclo de vida del software

Agenda

• Importancia del software• Seguridad en capas

www.isaca.org.uy

• Seguridad en capas• ¿Por qué el software falla?• Conceptos de seguridad• Ciclo de vida

Page 13: Seguridad en el ciclo de vida del software

Ciclo de vida del software

www.isaca.org.uy

Imagen: http://qutesys.wordpress.com/2010/01/16/software-development-life-cycle/

Page 14: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 15: Seguridad en el ciclo de vida del software

Requerimientos

• ¿Qué se necesita?– Funcionales

www.isaca.org.uy

– Estéticos– Limitaciones– ¿Seguridad?

Imagen: http://sdc.net.au/

Page 16: Seguridad en el ciclo de vida del software

Requerimientos: Usuarios

• ¿Quiénes son los usuarios?• ¿Cómo accederán a la aplicación?

www.isaca.org.uy

• ¿Cómo accederán a la aplicación?• ¿Con que frecuencia?• ¿Qué roles tendrán?• ¿Cómo se administrarán los roles?• Esquema de autenticación de usuarios

Page 17: Seguridad en el ciclo de vida del software

Requerimientos: Datos

• ¿Cómo se almacenarán los datos?• ¿Se usará encriptación?

www.isaca.org.uy

• ¿Se usará encriptación?• ¿Existe niveles de clasificación? (MAC)• ¿Cómo se validará la información?• ¿Cómo se respaldará?

Page 18: Seguridad en el ciclo de vida del software

Requerimientos: Control de acceso

• ¿Cómo se accederá a la aplicación?• ¿Habrá acceso remoto?

www.isaca.org.uy

• ¿Habrá acceso remoto?• ¿Habrá acceso desde celulares?• ¿Cómo se manejará el acceso remoto?• ¿Cómo se manejará el acceso físico?• ¿Quién manejará el acceso físico?

Page 19: Seguridad en el ciclo de vida del software

Requerimientos: Auditoría

• ¿Qué información se colectará para auditoría?

www.isaca.org.uy

• ¿Con qué frecuencia?• ¿Quién revisará esta información?• ¿Cuánta auditoría se conservará?• ¿Cómo se respaldará?

Page 20: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 21: Seguridad en el ciclo de vida del software

Diseño y Arquitectura

• Principio de menor privilegio• Separación de roles• Separación de dominios

Imagen: http://sdc.net.au/

www.isaca.org.uy

• Separación de dominios• Mantener configuración y ejecutables separados• Minimizar la cantidad de puntos de entrada del

sistema• Auditoría• Valores por omisión seguros

Page 22: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 23: Seguridad en el ciclo de vida del software

Desarrollo y Programación

• Reutilizar cuando sea posible• Usar la última versión de bibliotecas

Imagen: http://sdc.net.au/

www.isaca.org.uy

• Usar la última versión de bibliotecas• Buenas prácticas lenguaje/paradigma

Page 24: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 25: Seguridad en el ciclo de vida del software

Calidad y Testing

• Test unitarios• Test de integración Imagen: http://sdc.net.au/

www.isaca.org.uy

• Test de integración• Test de regresión• Test de stress• Análisis estático de codigo• Revisión de código

Page 26: Seguridad en el ciclo de vida del software

Revisión de codigo

public void doPost( HttpServletRequest request, HttpServletResponse response){

String magic = “sf8g7sfjdsurtsdieerwqredsgnfg8d”;boolean admin = magic.equals(request.getParameter(“magic”));if (admin) doAdmin (request, response);

www.isaca.org.uy

Extraido de OWASP Testing Guide 3.0

if (admin) doAdmin (request, response);else .... // normal processing

}

Page 27: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 28: Seguridad en el ciclo de vida del software

Implementación

• Hardenizar plataformas• Configurar accesos acordes Imagen: http://sdc.net.au/

www.isaca.org.uy

• Configurar accesos acordes• Usar encriptación de ser posible• Hacking Etico

Page 29: Seguridad en el ciclo de vida del software

www.isaca.org.uy

Page 30: Seguridad en el ciclo de vida del software

Mantenimiento

• Ambiente de testing• Probar los parches Imagen: http://sdc.net.au/

www.isaca.org.uy

• Probar los parches• Set de pruebas estándar• Hacking Etico

Page 31: Seguridad en el ciclo de vida del software

Resumen

www.isaca.org.uy

Page 32: Seguridad en el ciclo de vida del software

Conclusiones

• Involucrar seguridad desde el comienzo• Concientizar al cliente

www.isaca.org.uy

• Concientizar al cliente• Concientizar programadores

Imagen: http://sdc.net.au/

Page 33: Seguridad en el ciclo de vida del software

Referencias Graff, Mark G., and Kenneth R. Van Wyk. Secure

Coding, O'Reilly. 1st ed. Sebastopol, CA, 2003.

Viega, John., and Gary McGraw. Building Secure

www.isaca.org.uy

Viega, John., and Gary McGraw. Building Secure Software: How to Avoid Security Problems the

Right Way, Addison-Wesley Professional. 1st ed., 2001.

Anurag Agarwwal, et al. OWASP Testing Guide v3.0, OWASP. 1st ed. 2008.

Page 34: Seguridad en el ciclo de vida del software

Preguntas?

www.isaca.org.uy

Page 35: Seguridad en el ciclo de vida del software

Muchas Gracias

www.isaca.org.uy

Pablo Miño - [email protected]