1 / 39

¿Que ha cambiado?

OWASP Top 10 – 2010 Los Diez Riesgos más importantes en Aplicaciones Web Miguel Guirao Linux+, GCIH, ITIL OWASP México mguirao@gusly.org. ¿Que ha cambiado?. Metodologia de Valoración. 1 2 3. Ejemplo de Inyección. 1.66 valoración de riesgo. OWASP Top Diez (Edición 2010).

nevan
Download Presentation

¿Que ha cambiado?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OWASP Top 10 – 2010Los Diez Riesgos más importantes en Aplicaciones WebMiguel GuiraoLinux+, GCIH, ITILOWASP Méxicomguirao@gusly.org

  2. ¿Que ha cambiado?

  3. Metodologia de Valoración 1 2 3 Ejemplo de Inyección 1.66 valoración de riesgo

  4. OWASP Top Diez (Edición 2010) http://www.owasp.org/index.php/Top_10

  5. OWASP Top Diez (Edición 2010) http://www.owasp.org/index.php/Top_10

  6. A1 – Inyección

  7. A1 – Inyección

  8. Account: SKU: Account: SKU: Inyección SQL – Ilustrado "SELECT * FROM accounts WHERE acct=‘’ OR 1=1--’" Account Summary Acct:5424-6066-2134-4334 Acct:4128-7574-3921-0192 Acct:5424-9383-2039-4029 Acct:4128-0004-1234-0293 Tabla DB   Respuesta HTTP   SQL query SolicitudHTTP  Finance Transactions Accounts Administration Communication Knowledge Mgmt E-Commerce Bus. Functions Databases Legacy Systems Web Services Directories Billing Human Resrcs Application Layer APPLICATIONATTACK Custom Code 1. La aplicación presenta una forma al atacante 2. El atacante envía un ataque a traves de los datos de la forma App Server 3. La aplicación reenvía el ataque a la base de datos por medio de una consulta SQL Web Server Hardened OS 4. La base de datos ejecuta la consulta que contiene el ataque y envía los resultados cifrados a la aplicación Network Layer Firewall Firewall 5. La aplicación descifra los datos como normales y envía los resultados al usuario

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

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

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

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

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

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

  15. A4 – Referencia Directa Insegura a Objetos

  16. A4 – Referencia Directa Insegura a Objetos

  17. 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. A5 – Falsificación de Peticiones en Sitios Cruzados (CSRF)

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

  20. 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 Patrón de la Vulnerabilidad CSRF

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

  22. A6 – Defectuosa Configuración de Seguridad

  23. A6 – Defectuosa Configuración de Seguridad

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

  25. A7 – Almacenamiento Criptográfico Inseguro

  26. A7 – Almacenamiento Criptográfico Inseguro

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

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

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

  30. 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. A9 – Protección Insuficiente en la Capa de Transporte

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

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

  34. A10 – Redirecciones y reenvíos no validados

  35. A10 – Redirecciones y reenvíos no validados

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

  37. Reenvíos no validados Ilustrado 1 Atacante envía ataque a la página vulnerable a la cual tiene acceso 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. • public void sensitiveMethod( HttpServletRequest request, HttpServletResponse response) { • try { • // Do sensitive stuff here. • ... } catch ( ... Aplicación autoriza la solicitud, la cual continua a la página vulnerable 2 Filtro 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 3 • public void doPost( HttpServletRequest request, HttpServletResponse response) { • try { • String target = request.getParameter( "dest" ) ); ... request.getRequestDispatcher( target ).forward(request, response); } catch ( ...

  38. 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 • http://www.owasp.org/index.php/Guide • 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 • http://www.owasp.org/index.php/ASVS • Utilicemos componentes de seguridad estandar que encajen en tu organización • Utilicemos ESAPI de OWASP como una base para nuestros compoenentes estandar • http://www.owasp.org/index.php/ESAPI • 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: http://www.owasp.org/index.php/Code_Review_Guide • Guía de Pruebas de OWASP: http://www.owasp.org/index.php/Testing_Guide

  39. Reconocimientos • Documento Original • Dave WichersCOO, Aspect SecurityOWASP Board Memberdave.wichers@aspectsecurity.comdave.wichers@owasp.org • Adaptación y Traducción al Español • Mtro. Miguel Guirao, MGTI, Linux+, GCIH, ITIL • OWASP Capitulo México • mguirao@gusly.org

More Related