Post on 11-Jan-2015
Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this
document under the terms of the OWASP License.
The OWASP Foundation
OWASP
http://www.owasp.org
OWASP ESAPI Swingset
Fabio CerulloOWASP IrlandaComité Global de Educación
19 July 2011
OWASP
Agenda•Introducción a OWASP ESAPI
•Areas de Seguridad Cubiertas por ESAPI
•Mapeo de ESAPI > ASVS > Swingset
•SwingSet Demo
•AppSec Latam 2011
•Preguntas y Respuestas
OWASP
Introducción a ESAPI
•Cual es el principal problema con la mayor parte de los frameworks/controles de seguridad?
OWASP
Introducción a ESAPI
•NO Intuitivo, Integrado o Amigable (para el desarrollador).
OWASP
Introducción a ESAPI
•RIESGO es un camino desde el Agente de Amenaza al Impacto de Negocio
OWASP
Introducción a ESAPI
Todas las vulnerabilidades se originan por:
ESAPI puede ayudaren estos escenarios
OWASP
Introducción a ESAPI• OWASP ESAPI (Enterprise Security API) apunta a
proveer a los desarrolladores con todos los controles de seguridad necesarios:
• Estandarizados
• Centralizados
• Organizados
• Integrados
• Alta Calidad
• Intuitivos
• Testeados
OWASP
Que es ESAPI?• Los Toolkits de OWASP Enterprise Security API ayudan a los
desarrolladores de software a protegerse de problemas de seguridad relacionados con el diseño o implementación de una aplicación.
• Colección de clases que encapsulan los controles de seguridad mas importantes para una aplicación.
• Existen versiones de Java EE, .Net, Javascript, Classic ASP ColdFusion/CFML, PHP y Python.
• La version de ESAPI para JAVA EE incluye un Web Application Firewall (WAF) que puede ser utilizado mientras los equipos de desarrollo se focalizan en remediar los problemas.
• Todas las versiones de ESAPI se encuentran bajo una licencia BSD de software libre.
• Usted puede modificar o utilizar ESAPI como le parezca. Incluso puede incluirlo en productos comerciales de manera totalmente gratuita.
OWASP
Donde se ubica ESAPI?
Plan &DesignPlan &Design BuildBuild TestTest ImplementImplement
securitytesting
WAF/XMLfirewalls
architectualrisk analysis
Securitycode review
policy awareness training
Controls
Controls
ASVS T10 Education
BuildingGuide
WebGoatOWASP
Swingset
Testing Guide
Code reviewGuide
ASVS
OWASP
ESAPI
ESAPIWAF
W3AFCode Crawler
SDLC
OWASP
Como funciona ESAPI?
•Simplemente extraiga el paquete de distribución ESAPI a una ubicación apropiada.
• Las interfaces de controles de seguridad ESAPI incluyen una clase “ESAPI” que sirve de “localizadora” del resto.
• La clase “localizadora” ESAPI es llamada para recuperar las instancias de controles de seguridad individuales.
OWASP
Areas de Seguridad Cubiertas por ESAPI
Existen120+ métodos organizados en diferentes interfaces.
OWASP
Mapeo de ESAPI a ASVS
• ASVS puede ser utilizado para establecer un nivel de confianza en la seguridad de aplicaciones Web.
• Autenticación
• Gestión de Sesiones
• Control de Acceso
• Validación de Entradas
• Codificación de Salidas
• Criptografía
• Manejo de Errores
• Protección de Datos
• Seguridad HTTP
OWASP
Mapeo de ESAPI a ASVS- Un ejemplo -
•ASVS Gestión de Sesiones
•Implementación ESAPI
•ESAPI.httpUtilities().changeSessionIdentifier() cambia el identificador de sesión durante el inicio de sesión.
•BTW: previene fijación de sesión.
OWASP
Mapeo de ESAPI a ASVS
OWASP
Swingset
•Originalmente había sido diseñada como una aplicación Web que demuestra los distintos usos de ESAPI.
•Problema... No había interacción con desarrolladores.
OWASP
Swingset Interactivo•Version customizada de Swingset
•Alineada con la mision de OWASP GEC
•Apunta a entrenar desarrolladores en ESAPI
Cada lab presenta una vulnerabilidad
Desarrollador necesita remediarla utilizando ESAPI
•Labs organizados alrededor de ASVS
OWASP
Swingset Interactivo
•Requisitos de Instalación:
•JDK o JRE
•Eclipse
•ESAPI para Java
•Swingset
OWASP
Swingset Interactivo Demo
OWASP
Swingset Interactivo Demo
•ESAPI provee un conjunto de controles de seguridad “positivos”
•ESAPI puede ser utilizado para mejorar la seguridad de sus aplicaciones alineandolas con ASVS
•Swingset es una gran herramienta para entrenar desarrolladores.
OWASP
Swingset Interactivo Planes
Futuros•Automatizar instalación
•Mejor GUI (menúes/gráficos)
•Mas lecciones (ej. principiantes/avanzados)
•Lab Virtuales
•Interesado? Envíame un correo!SWINGSET
OWASP
Recursos Adicionales•ESAPI Swingset Interactive
•https://www.owasp.org/index.php/ESAPI_Swingset
•ESAPI Javadocs
•http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/index.html
•Libro de ESAPI
•https://www.owasp.org/images/7/79/ESAPI_Book.pdf
OWASP
AppSec Latam 2011
- Dias de Entrenamiento 4 y 5 Octubre 2011
- Dias de Conferencia 6 y 7 Octubre 2011
SORPRESASorteo de una entrada esta noche!
OWASP
Preguntas y Respuestas
FCERULLO@OWASP.ORG
Queres contribuir o proveer feedback?
Gracias!