Owasp Top10 Spanish

Click here to load reader

  • date post

    25-Jul-2015
  • Category

    Documents

  • view

    42
  • download

    4

Embed Size (px)

Transcript of Owasp Top10 Spanish

OWASP Top 10 2010Los diez riesgos ms importantes en aplicaciones web Fabio Cerullo Comit Global de Educacin OWASP [email protected]

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

The OWASP Foundationhttp://www.owasp.org/

Quin soy?- - - - - Especialista en Seguridad de la Informacin en Allied Irish Banks. Ingeniero en Informtica de la Universidad Catlica Argentina. Certified Information Security Systems Professional (CISSP) Miembro del Comit Global de Educacin OWASP. Presidente del Capitulo Irlands de OWASP.

Misin del Comit Global de Educacin OWASP: Proporcionar sensibilizacin, capacitacin y servicios educativos a las empresas, instituciones gubernamentales y educativas sobre seguridad en aplicaciones.

OWASP - 2010

Introduccin al Top 10- Es un documento EDUCATIVO. - Es GRATUITO. - DESCRIBE los riesgos ms crticos en aplicaciones Web - Versin 2010 prximamente en espaol

Para cada riesgo, aporta: - Descripcin del mismo - Escenario de ejemplo de un ataque - Pautas para verificar si nuestra aplicacin es vulnerable - Recomendaciones para prevenir dicho riesgo

OWASP - 2010

Que ha cambiado en esta versin?Se centra en los Riesgos, no solo en VulnerabilidadesSu nuevo titulo es: Los diez riesgos ms importantes en aplicaciones web 2010

Ranking de Riesgos en OWASP Top 10Se basa en la metodologia de catalogacion de riesgos OWASP, utilizada para priorizar el Top 10

Riesgos agregados y eliminados Agregado: A6 Configuracin Defectuosa de Seguridad Se encontraba en el Top 10 2004: Gestin Insegura de la Configuracin Agregado: A10 Redirecciones y Destinos no Validados Falla relativamente comn y MUY peligrosa que no es bien conocida Eliminado: A3 Ejecucin de Ficheros Malintencionados Principalmente una falla en PHP que esta perdiendo relevancia Eliminado: A6 Revelacin de Informacin y Gestin Incorrecta de Errores Falla muy prevalente, que no introduce demasiado riesgo (normalmente) OWASP - 2010

Comparacin del Top 10 2010 con 2007OWASP Top 10 2007 (Anterior)A2 Fallas de Inyeccin A1 Secuencia de Comandos en Sitios Cruzados (XSS) A7 Perdida de Autenticacin y Gestin de Sesiones A4 Referencia Directa Insegura a Objetos A5 Falsificacin de Peticin en Sitios Cruzados (CSRF) A8 Almacenamiento Criptogrfico Inseguro A10 Falla de restriccin de acceso a URL A9 Comunicaciones Inseguras A3 Ejecucin de Ficheros Malintencionados A6 Revelacin de Informacin y Gestin Incorrecta de Errores

OWASP Top 10 2010 (Nuevo)A1 Inyeccin A2 Secuencia de Comandos en Sitios Cruzados (XSS) A3 Perdida de Autenticacin y Gestin de Sesiones

= A4 Referencia Directa Insegura a Objetos = A5 Falsificacin de Peticin en Sitios Cruzados (CSRF) + A6 Configuracin Defectuosa de Seguridad (NUEVO)A7 Almacenamiento Criptogrfico Inseguro A8 Falla de restriccin de acceso a URL

= A9 Proteccin Insuficiente en la Capa de Transporte + A10 Redirecciones y Destinos No Validados (NUEVO)

-

OWASP - 2010

Metodologa de Catalogacin de Riesgo OWASP

Agente de Amenaza

Vector de Ataque

Prevalencia de Debilidad Amplia Comun Poco Comun

Detectabilidad de Debilidad Facil Mediano Dificil

Impacto Tecnico Severo Moderado Menor

Impacto al Negocio

?

1 2 3

Facil Mediano Dificil

?

1

2 1.66

2 *

1 1OWASP - 2010

Ejemplo de Inyeccin

1.66 calificacin de riesgo ponderado

OWASP Top Ten (Edicin 2010)

http://www.owasp.org/index.php/Top_10

OWASP - 2010

A1 InyeccinInyeccin significa Incluir comandos mal intencionados en los datos de una aplicacin los cuales son enviados a un interprete Los interpretes Toman estos datos y los interpretan como comandos validos SQL, OS Shell, LDAP, XPath, Hibernate, etc La Inyeccin SQL es aun bastante frecuente Muchas aplicaciones todava son susceptibles (no tendra que ser as) Por lo general es muy fcil de evitar Impacto Tpico Por lo general severo. Todos los contenidos de una base de datos pueden potencialmente ser ledos o modificados. Tambin puede permitir el completo acceso al esquema de la base de datos, o cuentas de usuario, o incluso a nivel del sistema operativoOWASP - 2010

Inyeccin SQL DemostracinCommunication Knowledge Mgmt E-Commerce Bus. Functions

Capa de Aplicacin

Legacy Systems

Administration Transactions

Human Resrcs

Web Services

Directories

Databases

Pedido HTTP APPLICATIONATTACK

Respuesta Consulta HTTP SQL Custom Code

Tabla BD

"SELECT * FROM Account Summary Account: accounts WHERE SKU: acct= OR Acct:5424-6066-2134-4334 Acct:4128-7574-3921-0192 1=1--"Acct:5424-9383-2039-4029 Acct:4128-0004-1234-0293

Accounts Finance

Billing

App Server Web Server Capa de Red Hardened OS

1. Aplicacin presenta un formulario web al atacante 2. Atacante enva un ataque en los datos del formulario 3. Aplicacin dirige el ataque a la base de datos en una consulta SQL 4. Base de datos ejecuta el ataque y enva los resultados cifrados nuevamente a la aplicacin 5. Aplicacin descifra los datos normalmente y enva los resultados al atacanteOWASP - 2010

Firewall

Firewall

A1 Como evitar Fallas de InyeccinRecomendaciones1. Evitar el interprete completamente 2. Utilizar una interfase que soporte variables parametrizadas (Ej., declaraciones preparadas, o procedimientos almacenados), Las variables parametrizadas permiten al interprete distinguir entre cdigo y datos

3. Decodificar y convertir todas las entradas del usuario a su forma mas simple antes de enviarlas al interprete Siempre efectuar una validacin positiva de todas las entradas realizadas por el usuario Seguir el principio de mnimo privilegio en las conexiones con bases de datos para reducir el impacto de una falla

Referencias Para mayor informacin:http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet OWASP - 2010

A2 Secuencia de Comandos en Sitios Cruzados (XSS)Ocurre cada vez que Datos no validados de un atacante son enviados al navegador de una victima Los datos no validados pueden Encontrarse ALMACENADOS en una base de datos Ser REFLEJADOS desde una entrada web (formulario, campo oculto, URL, etc) Ser enviados directamente a un cliente JavaScript Virtualmente todas las aplicaciones web tienen este problema Intentar esto en un navegador javascript:alert(document.cookie) Impacto Tpico Robar la sesin del usuario, robar datos sensibles, redireccionar un usuario hacia un sitio de malware o phishing Mas grave: Instalar un proxy XSS que permite a un atacante observar y dirigir todas las actividades de un usuario en el sitio vulnerable y forzarlo hacia otros sitiosOWASP - 2010

XSS - Demostracin1 Atacante establece una trampa actualizar perfil Aplicacin con vulnerabilidad XSS Reflejado

Script se ejecuta en el navegador de la victima

3

Script silenciosamente enva la sesin de la victima al atacanteOWASP - 2010

Accounts Finance

2

Victima visualiza la pagina accede al perfil

Custom Code

Communication Knowledge Mgmt E-Commerce Bus. Functions

Atacante ingresa un script malicioso en una pagina web que almacena los datos en el servidor

Administration Transactions

XSS - Demostracin

BEEF DemoOWASP - 2010

A2 Como evitar Fallas de XSSRecomendaciones Eliminar la Falla No incluir entradas suministradas por el usuario en la pagina de salida

Defenderse de la Falla Recomendacin Principal: Codificar todos los datos de entrada en la pagina de salida (Utilizar OWASPs ESAPI para dicha tarea): http://www.owasp.org/index.php/ESAPI Siempre efectuar una validacin positiva de todas las entradas realizadas por el usuario Cuando grandes cantidades de HTML son suministradas por el usuario, utilizar OWASPs AntiSamy para sanitizar dicho HTML Ver: http://www.owasp.org/index.php/AntiSamy

Referencias Para ver como codificar datos en la pagina de salida:http://www.owasp.org/index.php/XSS_(Cross Site Scripting) Prevention Cheat Sheet OWASP - 2010

(AntiSamy)

A3 Perdida de Autenticacin y Gestin de SesionesHTTP es un protocolo sin estado Significa que las credenciales tienen que viajar en cada pedido HTTP Debera utilizar SSL para todo contenido que requiere autenticacin Fallas en la gestin de sesiones SESSION ID es utilizado para mantener el estado ya que HTTP no puede Para un atacante es igual de til que poseer el usuario y contrasea SESSION ID es tpicamente expuesto en la red, en el navegador, los logs, etc Tener cuidado con las puertas laterales Cambio de contrasea, recordar contrasea, olvidar la contrasea, pregunta secreta, desconexin del sitio, cambio de correo electrnico, etc. Impacto Tpico Cuentas de usuario comprometidas o sesiones de usuario secuestradasOWASP - 2010

Perdida de Autenticacin - Demostracinwww.boi.com?JSESSIONID=9FA1DB9EA... Sitio utiliza reescritura de URLs (ej., escribe sesion en URL) 2Communication Knowledge Mgmt E-Commerce Bus. Functions Administration Transactions

1

Usuario envia credencialesAccounts Finance

Custom Code

3

Usuario hace clic en un link hacia http://www.hacker.com en un foro 4

5

Hacker verifica encabezados de referencia en los Hacker utiliza la logs de www.hacker.com JSESSIONID y toma y encuentra la JSESSIONID del usuario posesin de la cuenta del usuario

OWASP - 2010

A3 Como evitar la Perdida de Autenticacin y Gestin de SesionesVerificar la arquitecturaAutenticacin debera ser simple, centralizada y estandarizada Utilizar el gestor de sesiones estndar provisto por el servidor de aplicaciones no inventar