La siguiente presentación a cargo de Pablo Miño - CISSP donde explica las fases del ciclo de vida del software y la importancia que tiene la seguridad en estos puntos.
1. Seguridad en el ciclo de vida del
software
www.isaca.org.uy
Pablo Miño - CISSP
2. 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
3. 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
4. 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
5. 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
7. 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
8. ¿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!
9. 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
12. 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
13. Ciclo de vida del software
www.isaca.org.uy
Imagen: http://qutesys.wordpress.com/2010/01/16/software-development-life-cycle/
16. 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
17. 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á?
18. 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?
19. 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á?
21. 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
23. 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
25. 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
26. 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
}
30. 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
32. Conclusiones
• Involucrar seguridad desde el comienzo
• Concientizar al cliente
www.isaca.org.uy
• Concientizar al cliente
• Concientizar programadores
Imagen: http://sdc.net.au/
33. 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.