La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Presentaciones similares


Presentación del tema: "Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP."— Transcripción de la presentación:

1 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP Top 10 – 2010 Los Diez Riesgos más importantes en Aplicaciones Web Miguel Guirao Linux+, GCIH, ITIL OWASP México

2 OWASP ¿Que ha cambiado?

3 OWASP Metodologia de Valoración 1.66 valoración de riesgo Ejemplo de Inyección

4 OWASP OWASP Top Diez (Edición 2010)

5 OWASP OWASP Top Diez (Edición 2010)

6 OWASP A1 – Inyección

7 OWASP A1 – Inyección

8 OWASP Inyección SQL – Ilustrado Firewall Hardened OS Web Server App Server Firewall Databases Legacy Systems Web Services Directories Human Resrcs Billing Custom Code APPLICATION ATTACK Network Layer Application Layer Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions SolicitudH TTP SQL query Tabla DB Respuest a HTTP "SELECT * FROM accounts WHERE acct= OR 1=1-- " 1. La aplicación presenta una forma al atacante 2. El atacante envía un ataque a traves de los datos de la forma 3. La aplicación reenvía el ataque a la base de datos por medio de una consulta SQL Account Summary Acct: Acct: Acct: Acct: La base de datos ejecuta la consulta que contiene el ataque y envía los resultados cifrados a la aplicación 5. La aplicación descifra los datos como normales y envía los resultados al usuario Account: SKU: Account: SKU:

9 OWASP A2 – Secuencia de Comandos en Sitios Cruzados (XSS)

10 OWASP A2 –Secuencia de Comandos en Sitios Cruzados (XSS)

11 OWASP XSS Ilustrado App con vuln. XSS almacenado 3 2 Atacante coloca la trampa – actualiza perfil Atacante ingresa script malicioso en sitio web que guarda los datos en el servidor 1 La victima consulta la página – ve el perfil del atacante Silenciosamente el script envía las cookies de sesión de la victima El script se ejecuta en el browser de la victima con acceso completo al DOM y cookies Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions

12 OWASP A3 – Perdida de Autenticación y Gestión de Sesiones

13 OWASP A3 – Perdida de Autenticación y Gestión de Sesiones

14 OWASP Perdida de Autenticación Ilustrado Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions 1 Usuario envía credenciales 2 El sitio usa reescritura de URL (coloca la sesión en el URL) 3 Usuario da click en un link a en un foro 4 Hacker verifica las bitacoras de referencia en y encuentra la JSESSIONID del usuario 5 Hacker usa JSESSIONID y se apodera de la cuenta de la victima

15 OWASP A4 – Referencia Directa Insegura a Objetos

16 OWASP A4 – Referencia Directa Insegura a Objetos

17 OWASP Referencia Directa Insegura a Objetos Ilustrado Atacante se da cuenta que su parametro acct es 6065 ?acct=6065 Lo modifica a un número cercano ?acct=6066 Atacante ve la información de la cuenta de la victima https://www.onlinebank.com/user?acct=6065

18 OWASP A5 – Falsificación de Peticiones en Sitios Cruzados (CSRF)

19 OWASP A5 – Falsificación de Peticiones en Sitios Cruzados (CSRF)

20 OWASP Patrón de la Vulnerabilidad CSRF El Problema Los navegadores web incluyen automaticamente las credenciales en cada consulta Aún para consultas generadas por una forma, script, o imagen en otro sitio Todos los sitios que emplean unicamente en credenciales automaticas son vulnerables! (y la gran mayoria de los sitios son así) Credenciales Enviadas Automaticamente Cookies de sesión Encabezado basico de autenticación Dirección IP Certificados SSL de lado del cliente Autenticación de dominio Windows

21 OWASP CSRF Ilustrado 3 2 Atacante coloca la trampa en algún sitio de Internet (o incluso vía ) 1 Mientras está firmado en el sitio vulnerable, la victima consulta el sitio del atacante El sitio vulnerable ve la consulta legitima de la victima y ejecuta la acción solicitada La etiqueta cargada por el navegador – envía la solicitud GET (incluyendo credenciales) al sitio vulnerable Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions La etiqueta oculta contiene el ataque contra el sitio vulnerable App con la vulnerabilidad CSRF

22 OWASP A6 – Defectuosa Configuración de Seguridad

23 OWASP A6 – Defectuosa Configuración de Seguridad

24 OWASP Hardened OS Web Server App Server Framework Defectuosa Configuración de Seguridad Ilustrado App Configuration Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions Test Servers QA Servers Source Control Development Database Insider

25 OWASP A7 – Almacenamiento Criptográfico Inseguro

26 OWASP A7 – Almacenamiento Criptográfico Inseguro

27 OWASP Almacenamiento Criptográfico Inseguro Ilustrado Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions 1 Victima ingresa número de TDC en la forma 2 El manejador de errores registra en la bitacora el número de TDC porque el sistema del vendedor no está disponible 4 El atacante malicioso se rroba 4 millones de números de TDC Log files 3 Las bitacoras son accesibles por todos los miembros del staff de TI para propositos de correción de errores

28 OWASP A8 – Falla de Restricción de Acceso a URL

29 OWASP A8 – Falla de Restricción de Acceso a URL

30 OWASP Falla de Restricción de Acceso a URL Ilustrado Atacante nota que el URL indica su rol /user/getAccounts Lo modifica a otro directorio (rol) /admin/getAccounts, o /manager/getAccounts Atacante consulta más cuentas que solo la propia

31 OWASP A9 – Protección Insuficiente en la Capa de Transporte

32 OWASP A9 – Protección Insuficiente en la Capa de Transporte

33 OWASP Protección Insuficiente en la Capa de Transporte Ilustrado Custom Code Empleados Socios de Negocio Victima Externa Backend Systems Atacante Externo 1 Atacante externo roba las credenciales y datos de la red 2 Atacante interno roba las credenciales y datos de la red Atacante Interno

34 OWASP A10 – Redirecciones y reenvíos no validados

35 OWASP A10 – Redirecciones y reenvíos no validados

36 OWASP Redirecciones no validados Ilustrado 3 2 Atacante envía el ataque a la victima a traves de un sitio o De: Secretaría de Hacienda Tema: Su Retorno de Impuestos No Reclamados Nuestros registros indican que no ha reclamado el regreso de sus impuestos. De click aquí para iniciar el tramite. 1 Aplicación redirecciona a la victima al sitio del atacante Solicitud enviada al sitio vulnerable, incluyendo el sitio destino del atacante como un parametro. El redireccionamiento envía a la victima al sitio del atacante. Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions 4 El sitio malicioso instala malware en la victima, o busca información privada con phishing La victima da clic en el enlace que contiene parametros no validados Evil Site &http://www.irs.gov/taxrefund/claim.jsp?year=2006 & … &dest=www.evilsite.com… &dest=www.evilsite.com

37 OWASP Reenvíos no validados Ilustrado 2 Atacante envía ataque a la página vulnerable a la cual tiene acceso 1 Aplicación autoriza la solicitud, la cual continua a la página vulnerable La solicitud enviada a la página vulnerable a la cual el usuario tiene acceso. El reenvío toma al usuario directamente a la página privada, pasando por alto los controles de acceso. 3 La página de reenvío falla en validar el parametro, enviando al atacante a una página no autorizada, pasando por alto los controles de acceso public void doPost( HttpServletRequest request, HttpServletResponse response) { try { String target = request.getParameter( "dest" ) );... request.getRequestDispatcher( target ).forward(request, response); } catch (... Filtro public void sensitiveMethod( HttpServletRequest request, HttpServletResponse response) { try { // Do sensitive stuff here.... } catch (...

38 OWASP Resumén: ¿Cómo solucionamos estos problemas? Desarrollemos Código Seguro Sigamos las mejores practicas en la Guía para Construir Aplicaciones Web Seguras de OWASP Utilicemos el Estandar de Verificación de la Seguridad de Aplicaciones de OWASP como una guía de lo que una aplicación requiere para ser segura Utilicemos componentes de seguridad estandar que encajen en tu organización Utilicemos ESAPI de OWASP como una base para nuestros compoenentes estandar Auditemos nuestras aplicaciones Que un equipo experno audite nuestra aplicación Revicemos nosotros mismos nuestras aplicaciones siguiendo los lineamientos de OWASP Guía de Auditoria de Código de OWASP: Guía de Pruebas de OWASP:

39 OWASP Reconocimientos Documento Original Dave Wichers COO, Aspect Security OWASP Board Member Adaptación y Traducción al Español Mtro. Miguel Guirao, MGTI, Linux+, GCIH, ITIL OWASP Capitulo México


Descargar ppt "Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP."

Presentaciones similares


Anuncios Google