42
Seguridad en Aplicaciones Web Seguridad en Aplicaciones Web

Presentación Seguridad en Aplicaciones Web

Embed Size (px)

Citation preview

Page 1: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Seguridaden

Aplicaciones Web

Page 2: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Fabian Portantier

Consultor en Seguridad Informática

Instructor y Escritor sobre el tema

Coordinador de la Carrera de Seguridad

www.portantier.com

Page 3: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Aplicaciones Web Actuales

Cada vez más complejas

Muchas tecnologías diferentes

Más críticas para el negocio

Page 4: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Tecnologías Web

HTML5, CSS3, JavaScript

SQL, NoSQL

PHP, Java, .Net

WebServer, S.O, Hardware

Page 5: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

OWASP Top 10 2013

Page 6: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

“Diez vulnerabilidadesNO requieren diez

medidas de seguridad”

Page 7: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada

Diferenciar Datos Fiables de No­Fiables

Definir los tipos de datos esperados

Validar que cumplan con los requisitos

Filtrar los datos que no los cumplan

Page 8: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada: Datos Fiables vs No­Fiables

Fiables: Totalmente controlados por la aplicación, no pueden ser manipulados por ninguna entidad externa.

No­Fiables: Todos los otros datos.

Page 9: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada:Tipos de Dato Esperados

Direcciones de eMail

Números de Teléfono

Archivos de Imagen

Texto Libre

etc...

Page 10: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada:Filtrado de Datos

Muchas librerías disponibles

Java OWASP ESAPI

PHP Filters

Librerías propias (último recurso!)

Page 11: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada:PHP Filters

if(filter_var($email, FILTER_VALIDATE_EMAIL)){    echo “OK”;}else{    echo “ERROR”;}

Page 12: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada: PHP Filters

Filtros: Indican si un valor cumple con ciertos criterios (ej.: Dirección de eMail válida)

Saneadores: Modifican los valores para ajustarlos a ciertos criterios (ej.: Escapar caracteres especiales HTML)

Page 13: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Entrada:Vulnerabilidades Asociadas

A1: Inyección (SQL, LDAP, Comandos, etc)

A3: Cross­Site Scripting (XSS)

A10: Redirecciones y Reenvíos no validados

Page 14: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Acciones

Verificar la integridad de los datos (y sesiones)

Verificar el acceso a los datos de la aplicación

Verificar las peticiones realizadas por los usuarios

Page 15: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Acciones:Integridad de Sesiones

¿Desde qué IP o zona fue iniciada?

¿Qué navegador se utilizó para iniciarla?

Expirar sesiones (y no permitir simultáneas)

Usar identificadores únicos e irrepetibles

Page 16: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Acciones:Acceso a Datos

Establecer un único canal de acceso a los datos

Verificar que el usuario tenga permisos de acceso

Page 17: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Acciones:Peticiones de Usuario

Controlar el acceso a las funciones

Comprobar permisos de usuario

Comprobar acciones “personales” (ej. PassReset)

Page 18: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Validación de Acciones:Vulnerabilidades Asociadas

A2: Pérdida de autentic. y gestión de sesiones

A4: Referencia directa insegura a objetos

A6: Exposición de datos sensibles

A7: Ausencia de control de acceso a funciones

A8: Falsific. de petic. en sitios cruzados (CSRF)

Page 19: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Gestión de Cambios

Documentar los cambios de configuración

Configurar en base a mejores prácticas

Aplicar actualizaciones a todos los componentes

Page 20: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Gestión de Cambios:Documentar Cambios

Pequeños cambios pueden tener grandes efectos

Es una tarea “poco feliz”, pero necesaria

Excluyente en entornos con más de un SysAdmin

Page 21: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Gestión de Cambios:Seguir las Mejores Prácticas

Bien probadas y documentadas

Desarrolladas por personas muy capacitadas

Facilitan la solución de problemas

Page 22: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Gestión de Cambios:Aplicación de Parches

Mejora la estabilidad de los sistemas

Nos protege contra vulnerabilidades conocidas

Evita que los sistemas queden obsoletos

Page 23: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Gestión de Cambios:Vulnerabilidades Relacionadas

A5: Configuración de Seguridad Incorrecta

A9: Uso de componentes con vulnerab conocidas

Page 24: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Denegación de Servicio

Simples (DoS)

Distribuídos (DDoS)

Relativamente fáciles de realizar

Page 25: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Denegación de Servicio

Page 26: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Denegación de Servicio:Infraestructuras Distribuídas

Page 27: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Herramientas de Auditoría

Simplifican el proceso de auditoría

Permiten reportar fácilmente a la gerencia

No requieren grandes conocimientos

Page 28: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Herramientas de Auditoría:Zed Attack Proxy (ZAP)

Open Source

Multiplataforma (Java)

Desarrollado por OWASP

Fácil de Utilizar

Super Potente

Page 29: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Herramientas de Auditoría:Zed Attack Proxy (ZAP)

Page 30: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Herramientas de Auditoría:Algunas de las Mejores

BurpSuite (www.portswigger.net)

Vega (www.subgraph.com)

Arachni (www.arachni­scanner.com)

Page 31: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Filtrado Dinámico de Tráfico

Intrusion Prevention Systems (IPS)

Threat Intelligence

Web Application Firewalls

Page 32: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Filtrado Dinámico de TráficoIntrusion Prevention Systems

Reglas de firewall en base al tráfico habitual

Bloqueo de violaciones a los protocolos

Detección de ataques en base a firmas

Page 33: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Filtrado Dinámico de TráficoThreat Intelligence

Actualiza los Firewalls e IPS automáticamente

Toma como fuente ataques globales

Trabajan de forma colaborativa

Page 34: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Filtrado Dinámico de TráficoWeb Application Firewalls

Dedicados a las aplicaciones web

Bloquean ataques conocidos y nuevos

Fáciles de implementar (si, fáciles)

Page 35: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Web Application FirewallsAnálisis ZAP (On / Off)

Page 36: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Web Application FirewallsAnálisis Vega (On / Off)

Page 37: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Filtrado Dinámico de TráficoHerramientas Recomendas

Firewall: IPTables

IDS/IPS: Snort / Suricata

WAF: ModSecurity + ModEvasive

Threat Intelligence: Emerging Threats

Page 38: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Desarrollo Seguro

Seguridad en el proceso de desarrollo

Capacitación a los desarrolladores

Entender que es tiempo INVERTIDO

Page 39: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Desarrollo Seguro:OWASP Development Guide

Recurso fundamental sobre el tema

Acceso Gratuito

Version en Español

Page 40: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

Desarrollo Seguro:Vulnerabilidades Asociadas

A1: Inyección (SQL, LDAP, Comandos, etc)A2: Pérdida de autentic. y gestión de sesionesA3: Cross­Site Scripting (XSS)A4: Referencia directa insegura a objetosA6: Exposición de datos sensiblesA7: Ausencia de control de acceso a funcionesA8: Falsific. de petic. en sitios cruzados (CSRF)A10: Redirecciones y Reenvíos no validados

Page 41: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

¿Preguntas?

Page 42: Presentación Seguridad en Aplicaciones Web

Seguridad en Aplicaciones Web

MUCHAS GRACIAS!Fabian PortantierCoordinador Carrera Seguridad Informática

[email protected]

Argentina, Capital Federal(54) (011) 4328­0457

Todas las marcas y logos utilizados en la presentación son propiedad de sus respectivos propietarios