slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
¿Que ha cambiado? PowerPoint Presentation
Download Presentation
¿Que ha cambiado?

Loading in 2 Seconds...

play fullscreen
1 / 39

¿Que ha cambiado? - PowerPoint PPT Presentation


  • 101 Views
  • Uploaded on

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).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '¿Que ha cambiado?' - nevan


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

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

metodologia de valoraci n
Metodologia de Valoración

1

2

3

Ejemplo de Inyección

1.66 valoración de riesgo

owasp top diez edici n 2010
OWASP Top Diez (Edición 2010)

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

owasp top diez edici n 20101
OWASP Top Diez (Edición 2010)

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

inyecci n sql ilustrado

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

xss ilustrado

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

perdida de autenticaci n ilustrado

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

referencia directa insegura a objetos ilustrado
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

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

Patrón de la Vulnerabilidad CSRF
csrf ilustrado

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

defectuosa configuraci n de seguridad ilustrado
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

almacenamiento criptogr fico inseguro ilustrado

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

falla de restricci n de acceso a url ilustrado
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
protecci n insuficiente en la capa de transporte ilustrado
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

redirecciones no validados ilustrado

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

reenv os no validados ilustrado
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 ( ...

resum n c mo solucionamos estos problemas
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
reconocimientos
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