¿que ha cambiado?

39
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 http://www.owasp.org / OWASP Top 10 – 2010 Los Diez Riesgos más importantes en Aplicaciones Web Miguel Guirao Linux+, GCIH, ITIL OWASP México [email protected]

Upload: nevan

Post on 23-Feb-2016

53 views

Category:

Documents


0 download

DESCRIPTION

OWASP Top 10 – 2010 Los Diez Riesgos más importantes en Aplicaciones Web Miguel Guirao Linux+, GCIH, ITIL OWASP México [email protected]. ¿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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ¿Que ha cambiado?

Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this documentunder the terms of the OWASP License.

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

OWASP Top 10 – 2010Los Diez Riesgos más importantes en Aplicaciones Web

Miguel GuiraoLinux+, GCIH, ITILOWASP México

[email protected]

Page 2: ¿Que ha cambiado?

OWASP - 2010

¿Que ha cambiado?

Page 3: ¿Que ha cambiado?

OWASP - 2010

Metodologia de Valoración

1.66 valoración de riesgo

Ejemplo de Inyección

123

Page 4: ¿Que ha cambiado?

OWASP - 2010

OWASP Top Diez (Edición 2010)

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

Page 5: ¿Que ha cambiado?

OWASP - 2010

OWASP Top Diez (Edición 2010)

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

Page 6: ¿Que ha cambiado?

OWASP - 2010

A1 – Inyección

Page 7: ¿Que ha cambiado?

OWASP - 2010

A1 – Inyección

Page 8: ¿Que ha cambiado?

OWASP - 2010

Inyección SQL – Ilustrado

Fire

wal

l

Hardened OS

Web Server

App ServerFi

rew

all

Dat

abas

esLe

gacy

Sys

tem

sW

eb S

ervi

ces

Dire

ctor

ies

Hum

an R

esrc

sB

illin

g

Custom Code

APPLICATIONATTACK

Net

wor

k La

yer

App

licat

ion

Laye

r

Acc

ount

sFi

nanc

eA

dmin

istra

tion

Tran

sact

ions

Com

mun

icat

ion

Kno

wle

dge

Mgm

tE-

Com

mer

ceB

us. F

unct

ions

SolicitudH

TTP SQL

queryTabla DB

Respuesta HTTP

"SELECT * FROM accounts WHERE acct=‘’ OR 1=1--’"

1. La aplicación presenta una forma al atacante2. El atacante envía un ataque a traves de los datos de la forma3. La aplicación reenvía el ataque a la base de datos por medio de una consulta SQL

Account Summary

Acct:5424-6066-2134-4334Acct:4128-7574-3921-0192Acct:5424-9383-2039-4029Acct:4128-0004-1234-0293

4. La base de datos ejecuta la consulta que contiene el ataque y envía los resultados cifrados a la aplicación5. La aplicación descifra los datos como normales y envía los resultados al usuario

Account:

SKU:

Account:

SKU:

Page 9: ¿Que ha cambiado?

OWASP - 2010

A2 – Secuencia de Comandos en Sitios Cruzados (XSS)

Page 10: ¿Que ha cambiado?

OWASP - 2010

A2 –Secuencia de Comandos en Sitios Cruzados (XSS)

Page 11: ¿Que ha cambiado?

OWASP - 2010

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

Acc

ount

sFi

nanc

eA

dmin

istra

tion

Tran

sact

ions

Com

mun

icat

ion

Kno

wle

dge

Mgm

tE-

Com

mer

ceB

us. F

unct

ions

Page 12: ¿Que ha cambiado?

OWASP - 2010

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

Page 13: ¿Que ha cambiado?

OWASP - 2010

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

Page 14: ¿Que ha cambiado?

OWASP - 2010

Perdida de Autenticación Ilustrado

Custom Code

Acc

ount

sFi

nanc

eA

dmin

istr

atio

nTr

ansa

ctio

nsC

omm

unic

atio

nK

now

ledg

e M

gmt

E-C

omm

erce

Bus

. Fun

ctio

ns

1 Usuario envía credenciales

2El sitio usa reescritura de URL(coloca la sesión en el URL)

3 Usuario da click en un link a http://www.hacker.com en un foro

www.boi.com?JSESSIONID=9FA1DB9EA...

4

Hacker verifica las bitacoras de referencia en www.hacker.com y encuentra la JSESSIONID del usuario

5 Hacker usa JSESSIONID y se apodera de la cuenta de la victima

Page 15: ¿Que ha cambiado?

OWASP - 2010

A4 – Referencia Directa Insegura a Objetos

Page 16: ¿Que ha cambiado?

OWASP - 2010

A4 – Referencia Directa Insegura a Objetos

Page 17: ¿Que ha cambiado?

OWASP - 2010

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

Page 18: ¿Que ha cambiado?

OWASP - 2010

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

Page 19: ¿Que ha cambiado?

OWASP - 2010

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

Page 20: ¿Que ha cambiado?

OWASP - 2010

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

Page 21: ¿Que ha cambiado?

OWASP - 2010

CSRF Ilustrado

3

2

Atacante coloca la trampa en algún sitio de Internet(o incluso vía e-mail)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 <img> cargada por el navegador – envía la solicitud GET (incluyendo credenciales) al sitio vulnerable

Custom Code

Acc

ount

sFi

nanc

eA

dmin

istr

atio

nTr

ansa

ctio

nsC

omm

unic

atio

nK

now

ledg

e M

gmt

E-C

omm

erce

Bus

. Fun

ctio

ns

La etiqueta oculta <img> contiene el ataque contra el sitio vulnerable

App con la vulnerabilidad CSRF

Page 22: ¿Que ha cambiado?

OWASP - 2010

A6 – Defectuosa Configuración de Seguridad

Page 23: ¿Que ha cambiado?

OWASP - 2010

A6 – Defectuosa Configuración de Seguridad

Page 24: ¿Que ha cambiado?

OWASP - 2010

Hardened OS

Web Server

App Server

Framework

Defectuosa Configuración de Seguridad Ilustrado

App Configuration

Custom Code

Acc

ount

sFi

nanc

eA

dmin

istra

tion

Tran

sact

ions

Com

mun

icat

ion

Kno

wle

dge

Mgm

tE-

Com

mer

ceB

us. F

unct

ions

Test Servers

QA Servers

Source Control

Development

Database

Insider

Page 25: ¿Que ha cambiado?

OWASP - 2010

A7 – Almacenamiento Criptográfico Inseguro

Page 26: ¿Que ha cambiado?

OWASP - 2010

A7 – Almacenamiento Criptográfico Inseguro

Page 27: ¿Que ha cambiado?

OWASP - 2010

Almacenamiento Criptográfico Inseguro Ilustrado

Custom Code

Acc

ount

sFi

nanc

eA

dmin

istr

atio

nTr

ansa

ctio

nsC

omm

unic

atio

nK

now

ledg

e M

gmt

E-C

omm

erce

Bus

. Fun

ctio

ns

1

Victima ingresa número de TDC en la forma

2El 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

3Las bitacoras son accesibles por todos los miembros del staff de TI para propositos

de correción de errores

Page 28: ¿Que ha cambiado?

OWASP - 2010

A8 – Falla de Restricción de Acceso a URL

Page 29: ¿Que ha cambiado?

OWASP - 2010

A8 – Falla de Restricción de Acceso a URL

Page 30: ¿Que ha cambiado?

OWASP - 2010

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

https://www.onlinebank.com/user/getAccountshttps://www.onlinebank.com/user/getAccounts

Page 31: ¿Que ha cambiado?

OWASP - 2010

A9 – Protección Insuficiente en la Capa de Transporte

Page 32: ¿Que ha cambiado?

OWASP - 2010

A9 – Protección Insuficiente en la Capa de Transporte

Page 33: ¿Que ha cambiado?

OWASP - 2010

Protección Insuficiente en la Capa de Transporte Ilustrado

Custom Code

Empleados

Socios de NegocioVictima Externa

Backend Systems

Atacante Externo

1Atacante externo roba las credenciales y datos de la red

2

Atacante interno roba las credenciales y datos de la red

Atacante Interno

Page 34: ¿Que ha cambiado?

OWASP - 2010

A10 – Redirecciones y reenvíos no validados

Page 35: ¿Que ha cambiado?

OWASP - 2010

A10 – Redirecciones y reenvíos no validados

Page 36: ¿Que ha cambiado?

OWASP - 2010

Redirecciones no validados Ilustrado

3

2

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.

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

Acc

ount

s

Fina

nce

Adm

inis

trat

ion

Tran

sact

ions

Com

mun

icat

ion

Kno

wle

dge

Mgm

t

E-C

omm

erce

Bus

. Fun

ctio

ns

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

Page 37: ¿Que ha cambiado?

OWASP - 2010

Reenvíos no validados Ilustrado

2

Atacante envía ataque a la página vulnerable a la cual tiene acceso1

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 accesopublic 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 ( ...

Page 38: ¿Que ha cambiado?

OWASP - 2010

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

Page 39: ¿Que ha cambiado?

OWASP - 2010

Reconocimientos

Documento Original Dave Wichers

COO, Aspect SecurityOWASP Board Member

[email protected]@owasp.org

Adaptación y Traducción al Español Mtro. Miguel Guirao, MGTI, Linux+, GCIH, ITIL OWASP Capitulo México [email protected]