Enfoque práctico para construir aplicaciones sin vulnerabilidades del OWASP Top 10 Pablo Alzuri uy.linkedin.com/in/palzuri https://twitter.com/palzuri FAIL AGENDA Oportunidades de utilizar GeneXus Algunos de los proyectos de OWASP Ciclo de desarrollo seguro Conclusiones Inyección SQL select * from usuario where nombre = 'NOMBRE‘ NOMBRE = Pablo'; truncate table usuario; -­‐-­‐ select * from usuario where nombre = 'Pablo'; truncate table usuario; -­‐-­‐‘ Generación de SQLs en GeneXus ¿Tengo la bala de plata? h?p://allplaidout.com/2013/07/the-­‐lone-­‐ranger/ No existe la bala de plata h?p://allplaidout.com/2013/07/the-­‐lone-­‐ranger/ Calidad del software Usabilidad Seguridad Disponibilidad Reusabilidad Confiabilidad Performance Escalabilidad Mantenibilidad Interoperabilidad h?p://owasptop10.googlecode.com/files/OWASP_Top-­‐10_2013%20-­‐%20Changes-­‐from-­‐2010.pptx h?ps://www.owasp.org/images/thumb/a/a7/OWTGv4_Cover.png/455px-­‐OWTGv4_Cover.png h?ps://www.owasp.org/index.php/Category:OWASP_Applica\on_Security_Verifica\on_Standard_Project#tab=Home h?ps://www.owasp.org/images/5/59/Code_Review_Eoin.pptx Ciclo de desarrollo seguro Ciclo de desarrollo seguro Requerimientos funcionales de seguridad • Polí\cas de privacidad de datos (empresariales) • Regulaciones de la industria (Tarjetas de crédito) • Regulaciones Gubernamentales (Habeas Data) • Relevamiento de Polí\cas de Seguridad sobre auten\cación y autorización Análisis anti-requerimientos Casos de Abuso: [McDermo? J, Fox C, (1999) ”Using Abuse Case Models for Security Requirements Analysis”] Casos de Mal Uso: [Sindre G, Opdahl AL, (2000) “Elici\ng security requirements by misuse cases” ] Ciclo de desarrollo seguro Aproximadamente el 50% de los problemas de seguridad son causados debido a fallas de diseño. Análisis de Riesgo h?ps://www.owasp.org/index.php/OWASP_Risk_Ra\ng_Methodology Análisis de Riesgo h?ps://www.owasp.org/index.php/OWASP_Risk_Ra\ng_Methodology Ciclo de desarrollo seguro Implementación • Pautas de desarrollo (OWASP Top Ten) • Revisiones de código por pares • Revisión de código automa\zada (Security Scanner) Ciclo de desarrollo seguro Testing • Tes\ng funcionalidades de seguridad • Manual • Automa\zada • Tes\ng de seguridad basada en riesgos • Pruebas diseñadas en función de los casos de abuso, mal uso y análisis de riesgos. Ciclo de desarrollo seguro Implantación • Hardening servidores. • Ges\ón de Vulnerabilidades de sotware base. • Test de penetración o “hackeo é\co” Obje\vo validar el sotware desarrollado en el ambiente de ejecución en el cual será puesto en producción. Gestión • Registrar vulnerabilidades detectadas en cada etapa • Planificación de capacitación • Planificación de tareas de seguridad en el ciclo de desarrollo • Reservar \empos en el proyecto para las ac\vidades de seguridad. CONCLUSIONES ¿Preguntas? ¡Muchas Gracias! Pablo Alzuri uy.linkedin.com/in/palzuri https://twitter.com/palzuri