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 GNU Free Documentation.

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 GNU Free Documentation."— 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 GNU Free Documentation License. The OWASP Foundation OWASP OWASP TOP 10 Los diez riesgos más importantes en aplicaciones web Luis Martínez Bacha Softtek AppSec Program Manager Hacker Ético Certificado, SCJP Héctor J. Espinoza Auditor de Seguridad en Aplicaciones - Softtek Hacker Ético Certificado

2 OWASP OWASP Top 10 (Edición 2010)

3 OWASP A1 – Inyección (SQL) Firewall Hardened OS Web Server App Server Firewall Databases Legacy Systems Web Services Directories Human Resrcs Billing Custom Code APPLICATION ATTACK Capa de Red Capa de Aplicación Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions Pedido HTTP Consulta SQL Tabla BD Respuesta HTTP "SELECT * FROM accounts WHERE acct= OR 1=1-- " 1. Aplicación presenta un formulario Web al atacante 2. Atacante envía un ataque en los datos del formulario 3. Aplicación dirige el ataque a la base de datos en una consulta SQL Account Summary Acct: Acct: Acct: Acct: Base de datos ejecuta el ataque y envía los resultados cifrados nuevamente a la aplicación 5. Aplicación descifra los datos normalmente y envía los resultados al atacante Account: SKU: Account: SKU:

4 OWASP Las inyecciones (como de SQL, OS y LDAP) ocurren cuando datos no confiables son enviados a un interprete como parte de un comando o consulta. Los datos hostiles del atacante pueden engañar al interprete al ejecutar comandos no previstos u obteniendo datos no autorizados. _______ Impacto SEVERO Considere el valor de negocio de los datos afectados y la plataforma sobre la que esta el interprete. Todos los datos podrían ser robados, modificados o borrados. ¿Tu reputación se podría ver afectada? Las inyecciones pueden resultar en pérdida de datos, falta de contabilidad o denegación de acceso. Las inyecciones algunas veces pueden ocasionar que el servidor sea tomado por atacante por completo. Los errores de inyección ocurren cuando una aplicación envía datos no confiables a un interprete. Las inyecciones son muy comunes, particularmente en código heredado, casi siempre encontrado en consultas SQL, LDAP, XPATH y comandos OS, argumentos de programa, etc. Los errores de inyección son fáciles de descubrir cuando se examina código, pero es más difícil durante pruebas sobre la instancia. Los escáner y fuzzers pueden ayudar a los atacantes a encontrarlos. El atacante simplemente envía un ataque basado en texto que explota la sintaxis del interprete objetivo. Casi cualquier origen de datos puede ser un vector de inyección, incluyendo orígenes internos. Considere cualquier persona que pueda mandar datos no confiables al sistema, incluyendo usuarios externos, usuarios internos y administradores. Explotable FACIL Detectable PROMEDIO Prevalencia COMUN _______ A1 - Inyección Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

5 OWASP A2 – Scripting de Sitios Cruzados Aplicación con vulnerabilidad XSS Reflejado 3 2 Atacante establece una trampa – actualizar perfil Atacante ingresa un script malicioso en una pagina Web que almacena los datos en el servidor 1 Victima visualiza la pagina – accede al perfil Script silenciosamente envía la sesión de la victima al atacante Script se ejecuta en el navegador de la victima Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions

6 OWASP Los errores XSS ocurren siempre que una aplicación toma datos no confiables y los envía al navegador sin una validación y escape apropiado. XSS permite a los atacantes a ejecutar scripts en el navegador de la victima donde pueden adueñarse de sesiones de usuario, modificar sitios Web o redireccionar al usuario a sitios maliciosos. _______ Impacto MODERADO Considere el valor de negocio del sistema afectado y todos los datos que este procesa. También considere el impacto de negocio al ser expuesto a la vulnerabilidad. Los atacantes puede ejecutar scripts en un navegador de la victima para robar sesiones, modificar sitios Web, insertar contenido hostil, incrustar malware a través del navegador del usuario, etc. XSS es el error de seguridad en aplicaciones Web mas común. Los errores de XSS ocurren cuando la aplicación incluye datos proporcionados por el usuario en una pagina enviada al navegador sin la validación y escape apropiado. Hay tres tipos conocidos de XSS: 1) Almacenado 2) Reflejado 3) Basado en DOM La detección de la mayoría de los errores de XSS es fácil ya con pruebas en la instancia de la aplicación o con análisis de código. El atacante envía ataques de scripts basados en texto que explotan al interprete en el navegador. Casi cualquier origen de datos puede ser un vector de ataque, incluyendo orígenes internos como datos desde la BD. Considere cualquier persona que pueda mandar datos no confiables al sistema, incluyendo usuarios externos, usuarios internos y administradores. Explotable PROMEDIO Detectable FÁCIL Prevalencia MUY ESPARCIDO _______ A2 – Scripting de Sitios Cruzados Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

7 OWASP A3 – Pérdida de Autenticación y Gestión de Sesiones Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions 1 Usuario envía credenciales 2 Sitio utiliza reescritura de URLs (ej., escribe sesión en URL) 3 Usuario hace clic en un link hacia en un foro 4 El Atacante verifica encabezados de referencia en los logs de y encuentra la JSESSIONID del usuario 5 El Atacante utiliza la JSESSIONID y toma posesión de la cuenta del usuario

8 OWASP Las funciones de la aplicación relacionadas a la autenticación y el manejo de sesión no siempre son implementadas correctamente, permitiendo a los atacantes a recuperar contraseñas, llaves, identificadores de sesión o explotar otros errores de implementación para adquirir la identidad de otros usuarios. _______ Impacto SEVERO Considere el valor de negocio de los datos afectados o las funciones de la aplicación. También considere el impacto de negocio de al ser expuesto públicamente a este esta vulnerabilidad. Dichos errores pueden permitir ataques a una o incluso todas las cuentas. Una vez que el ataque a sido exitoso, el atacante puede hacer cualquier cosa que la victima podría hacer. Las cuentas privilegiadas son las que siempre están en la mira. Los desarrolladores frecuentemente construyen esquemas de autenticación y gestión de sesiones personalizadas, pero construirlas correctamente es difícil. Como un resultado, esos esquemas personalizados frecuentemente tienen errores en áreas como el cierre de sesión, la gestión de contraseñas, temporizador de sesión, funciones de recordatorio de usuario, pregunta secreta, actualización de cuenta, etc. El encontrar esos errores puede ser difícil algunas veces ya que cada implementación es única. El atacante usa pistas o fallas en la autenticación o en las funciones de gestión de las sesiones (por ejemplo, cuentas expuestas, contraseñas, identificadores de sesión) para personificar otros usuarios. Considere a atacantes externos anónimos, así como usuarios con sus propias cuentas quienes traten de robar cuentas de otros. También considere usuarios internos esperando por tomar acción. Explotable PROMEDIO Detectable PROMEDIO Prevalencia COMÚN _______ A3 – Pérdida de Autenticación y Gestión de Sesiones Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

9 OWASP A4 – Referencia Directa Insegura a Objetos Atacante identifica su numero de cuenta 6065 ?acct=6065 Lo modifica a un numero parecido ?acct=6066 Atacante visualiza los datos de la cuenta de la victima https://www.onlinebank.com/user?acct=6065

10 OWASP Una referencia directa a objeto ocurre cuando un desarrollador expone una referencia a una implementación de un objeto interno, como pueden ser un archivo o una llave de base de datos. Sin un chequeo de control de acceso u otra protección, los atacantes pueden manipular esas referencias para acceder a datos no autorizados. _______ Impacto MODERADO Considere el valor de negocio de los datos expuestos. También considere el impacto de negocio de al ser expuesto públicamente a este esta vulnerabilidad. Dichos errores pueden comprometer todos los datos que pueden ser referenciados por el parámetro. A menos que el espacio de nombres sea escaso, es fácil para un atacante el acceder a todas los datos disponibles. Las aplicaciones frecuentemente usan el nombre actual o llave de un objeto durante la generación de las paginas Web. Las aplicaciones no siempre verifican si el usuario esta autorizado a ver el objeto en cuestión. Esto resulta en un error de referencia directa insegura a objetos. Los auditores pueden fácilmente manipular los valores de los parámetros para detectar dichos errores y el análisis de código rápidamente muestra si la autorización esta propiamente verificada. El atacante, quienes un usuario autorizado del sistema, simplemente cambia el valor de un parámetro que directamente relaciona el objeto del sistema con otro objeto al que el usuario no esta autorizado. Considere los tipos de usuarios de su sistema. Existe algún usuario con solo accesos parciales a ciertos tipos de datos del sistema. Explotable FÁCIL Detectable FÁCIL Prevalencia COMÚN _______ A4 – Referencia Directa Insegura a Objetos Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

11 OWASP A5 – Falsificación de Petición de Sitios Cruzados 3 2 Atacante establece una trampa en algún sitio Web en la Internet (o simplemente a través de un correo electrónico) 1 Mientras que la victima se encuentra conectada al sitio vulnerable, visualiza el sitio del atacante Sitio vulnerable recibe un pedido legitimo de la victima y ejecuta la acción solicitada tag es cargado por el navegador – envía un pedido GET (utilizando las credenciales) a un sitio vulnerable Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions Tag oculto contiene ataque contra sitio vulnerable Aplicación con vulnerabilidad CSRF

12 OWASP Un ataque de CSRF fuerza a un navegador de un usuario con sesión activa a mandar una petición HTTP falsa, incluyendo la cookie de la sesión de la victima y cualquier otra información incluida en la autenticación, hacia la aplicación Web vulnerable. Esto permite al atacante a forzar al navegador de la victima a generar peticiones que la aplicación vulnerable piense que son legítimos. _______ Impacto MODERADO Considere el valor de negocio de los datos afectados o de las funciones de la aplicación. Imagina el no estar seguro si los usuarios intentaron tomar esas acciones. Considere el impacto a tu reputación. Los atacantes pueden ocasionar que las victimas cambien cualquier dato que en teoría seria valido o realizar cualquier función que la victima estaría autorizada a usar. CSRF toma ventaja de las aplicaciones Web que permiten a los atacantes a predecir todos los detalles de una acción particular. Ya que los navegadores envían automáticamente credenciales como la cookie de sesión, los atacantes pueden crear paginas Web maliciosas donde puedan generar peticiones falsas que no son distinguibles de las legítimas. La detección de los errores de CSRF es fácil por pruebas de penetración o análisis de código. El atacante crea peticiones HTTP falsas y engaña a la victima al enviarlas a través de etiquetas de imagen, XSS u otras numerosas técnicas. Si el usuario es autenticado, el ataque será exitoso. Considere a cualquier persona que pueda engañar a sus usuarios al enviar una petición a tu sitio Web. Cualquier sitio Web u otro tipo de alimentación en HTML que tus usuarios acceden pueden hacer esto. Explotable PROMEDIO Detectable FÁCIL Prevalencia ESPARCIDO _______ A5 – Falsificación de Petición de Sitios Cruzados (CSRF) Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

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

14 OWASP Tener buena seguridad requiere tener una configuración de seguridad definida e implementada para la aplicación, marcos de trabajo, servidor de aplicación, servidor web, servidor de base de datos, y la plataforma. Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que muchas no se envían con seguridad por defecto. Esto incluye mantener todo el software al día, incluyendo las librerías de código que utiliza la aplicación. _______ Impacto MODERADO El sistema podría estar completamente comprometido sin que usted lo sepa. Toda su información podría ser robada o modificada lentamente con el tiempo. Los costos de recuperación podrían ser costosos. Estos defectos suelen dar a los atacantes acceso no autorizado a algunos datos o alguna funcionalidad del sistema. Ocasionalmente, estos defectos resultan en un ataque que compromete completamente al sistema. La Configuración Defectuosa de Seguridad puede ocurrir a cualquier nivel de una pila de aplicaciones, incluyendo la plataforma, servidor web, servidor de aplicaciones, marcos de trabajo y código personalizado. Los desarrolladores y administradores de red necesitan trabajar juntos para asegurar que toda la pila esta configurada apropiadamente. Los escáneres automáticos son útiles para la detección de parches faltantes, errores de configuración, el uso de cuentas por defecto, servicios innecesarios, etc. El atacante accede a las cuentas por defecto, páginas no utilizadas, defectos sin parchar, archivos y directorios sin parchar, etc. para obtener acceso no autorizado al sistema u obtener conocimiento del mismo. Considere atacantes anónimos externos así como usuarios con sus cuentas propias que pueden tratar de comprometer el sistema. También considere insiders que quieran ocultar sus acciones. Explotable FÁCIL Detectable FÁCIL Prevalencia COMÚN _______ A6 – Configuración Defectuosa de Seguridad Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

15 OWASP A7 – Almacenamiento Criptográfico Inseguro Custom Code Accounts Finance Administration Transactions Communication Knowledge Mgmt E-Commerce Bus. Functions 1 Victima ingresa su tarjeta de crédito en un formulario web 2 El gestionador de errores almacena los datos de la TC porque el gateway no se encuentra disponible 4 Atacante interno obtiene 4 millones de tarjetas de crédito Log files 3 Logs son accesibles a todos los miembros de IT por motivos administrativos

16 OWASP Muchas aplicaciones web no protegen adecuadamente los datos sensibles, tales como tarjetas de crédito, números de seguro social, y credenciales de autenticación, con la codificación o hashing adecuada. Los atacantes pueden robar o modificar dichos datos débilmente protegidos para llevar a cabo robo de identidad, fraudes de tarjetas de crédito u otros delitos. _______ Impacto SEVERO Considere el valor de negocio de la información perdida y el impacto a su reputación. ¿Cuál es su responsabilidad legal si esta información es expuesta? También considere el daño a su reputación. El fracaso frecuentemente compromete todos los datos que debieron haber sido cifrados. Generalmente esta información incluye datos sensibles como registros de salud, credenciales, datos personales, tarjetas de crédito, etc. La falla más común en esta área es simplemente no cifrar los datos que merecen ser cifrados. Cuando el cifrado es empleado, la generación y almacenamiento inseguro de llaves, no rotar las llaves, y el uso de algoritmos débiles es común. El uso de hashes débiles o sin sal para proteger contraseñas es también común. Atacantes externos tienen dificultades para detectar estos errores debido al acceso limitado. Deben explotar algo más primero para obtener el acceso necesario. Los atacantes normalmente no pueden romper el cifrado. Rompen algo más, como encontrar las llaves, obtener copias de los datos en texto claro, o acceden datos a través de canales que automáticamente los descifran. Considere usuarios de su sistema. ¿Les gustaría tener acceso a datos protegidos a los que no están autorizados? ¿Qué pasa con los administradores internos? Explotable FÁCIL Detectable DIFÍCIL Prevalencia COMÚN _______ A7 – Almacenamiento Criptográfico Inseguro Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

17 OWASP A8 – Falla de Restricción de Acceso a URL Atacante identifica que la URL indica su perfil /user/getAccounts La modifica apuntando a otra carpeta (perfil) /admin/getAccounts, o /manager/getAccounts Atacante visualiza otras cuentas

18 OWASP Muchas aplicaciones web comprueban derechos de acceso a la URL antes de emitir enlaces y botones protegidos. Sin embargo, las aplicaciones necesitan llevar a cabo comprobaciones de control de acceso similares cada vez que estas páginas son accedidas, o un atacante será capaz de forjar las URLs para acceder estas páginas ocultas de todos modos _______ Impacto MODERADO Considere el valor de negocio de las funciones expuestas y la información que procesan. También considere el impacto en su reputación si la vulnerabilidad se hace pública. Estos defectos puede permitir que algunas o incluso todas las cuentas sean atacadas. Una vez que se tiene éxito, el atacante puede hacer cualquier cosa que la víctima puede hacer. Cuentas privilegiadas son normalmente el objetivo. Las aplicaciones no siempre están protegiendo las solicitudes de páginas. Algunas veces, la protección de URL es manejada a través de la configuración, y el sistema está mal configurado. Algunas veces, los desarrolladores deben incluir comprobaciones de código adecuadas, y lo olvidan. Detectar dichos defectos es fácil. La parte más difícil es identificar que páginas (URLs) existen para atacar. El atacante, que es un usuario autorizado del sistema, simplemente cambia la URL a la de una página privilegiada. ¿Se concede acceso? Usuarios anónimos pueden acceder a páginas privadas que no están protegidas. Cualquier persona con acceso a la red puede enviar una petición a su aplicación. ¿Podrían usuarios anónimos acceder a una página privada o usuarios regulares a páginas privilegiadas? Explotable FÁCIL Detectable PROMEDIO Prevalencia POCO COMÚN _______ A8 – Falla de Restricción de Acceso a URL Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

19 OWASP A9 – Protección insuficiente en la Capa de Transporte Custom Code Empleados Socios de Negocios Victima Externa Backend Systems Atacarte Externo 1 Atacante Externo obtiene credenciales y datos de la red 2 Atacante Interno obtiene credenciales y datos de la red interna Atacante Interno

20 OWASP Las aplicaciones frecuentemente fallan en autenticar, cifrar y proteger la confidencialidad e integridad del tráfico de red sensible. Cuando lo hacen, en ocasiones utilizan algoritmos débiles, usan certificados expirados o inválidos, o no lo usan correctamente. _______ Impacto MODERADO Considere el valor de negocio de la información expuesta en el canal de comunicación en cuanto a las necesidades confidencialidad e integridad, y la necesidad de autenticar a los dos participantes. Tales defectos exponen la información de usuarios individuales y puede conducir al robo de cuenta. Si una cuenta de administrador es comprometida, el sitio completo podría ser comprometido. Las aplicaciones frecuentemente no protegen el tráfico de red. Tal vez usen SSL/TLS durante la autenticación, pero no en otra parte, exponiendo los datos y los identificadores de sesión a que sean interceptados. Certificados expirados o mal configurados también pueden ser utilizados. Detectar las fallas básicas es fácil. Sólo hay que observar el tráfico de red del sitio. Defectos más sutiles requieren inspeccionar el diseño de la aplicación y la configuración del servidor. Monitorear el tráfico de red de los usuarios puede ser difícil, pero en ocasiones es fácil. La dificultad principal radica en el monitoreo apropiado de tráfico de red mientras los usuarios están accediendo al sitio vulnerable. Considere cualquier persona que pueda monitorear el tráfico de red de sus usuarios. Si la aplicación está en Internet, nadie sabe como sus usuarios la accederán. No olvide las conexiones en el back-end. Explotable DIFÍCIL Detectable FÁCIL Prevalencia COMÚN _______ A9 – Protección Insuficiente en la Capa de Transporte Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

21 OWASP A10 – Redirecciones y Destinos No Validados 2 Atacante envía un ataque a la pagina web vulnerable 1 La aplicación autoriza el pedido y lo procesa El pedido es enviado a una pagina web que el atacante tiene acceso. 3 La pagina destino falla al validar el parámetro, enviando al atacante directamente hacia una pagina no autorizada, salteando 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 (...

22 OWASP Las aplicaciones web frecuentemente redireccionan y envían a los usuarios a otras páginas y sitios web, y usan datos no confiables para determinar las páginas de destino. Sin una validación adecuada, los atacantes pueden redirigir a las víctimas a sitios de phishing o malware, o usar reenvíos para acceder páginas no autorizadas _______ Impacto MODERADO Considere el valor de negocio de conservar la confianza de sus usuarios. ¿Qué si son poseídos por malware? ¿Qué si los atacantes pueden acceder funciones que son internas únicamente? Tales redireccionamiento s pueden intentar instalar malware o engañar alas victimas para que revelen contraseñas u otra información sensible. Reenvíos inseguros pueden permitir que se eluda el control de acceso Las aplicaciones frecuentemente redirigen a los usuarios a otras páginas, o utilizan reenvíos internos de similar manera. Algunas veces la página de destino se especifica en un parámetro no validado, permitiendo al atacante elegir la página de destino. El atacante envía enlaces hacía redireccionamiento s no validos y engaña a la victima para que haga clic sobre dicho enlace. Las víctimas son más propensas a hacer clic en él, ya que el enlace es a un sitio válido. El objetivo del atacante es utilizar reenvíos inseguros para eludir controles de seguridad. Considere cualquier persona que puede engañar a los usuarios para que envíen una petición a su sitio web. Cualquier sitio web o cualquier otro tipo de alimentación en HTML que sus usuarios utilicen podría hacer esto. Explotable FÁCIL Detectable FÁCIL Prevalencia POCO COMÚN _______ A10 – Redirecciones y Destinos No Validados Agentes Atacantes Impacto de Negocio Impacto TécnicoDebilidad en Seguridad Vectores de Ataque

23 OWASP 23 Gracias por tu tiempo Puedes contactarnos:


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

Presentaciones similares


Anuncios Google