Aseguramiento de Vulnerabilidades Web con tecnologías OWASP
1. Aseguramiento de
aplicaciones web con ESAPI
Juan David Parra (nopbyte)– LNHG
nopbytelownoisehg.org
Twitter: @nopbyte
Blog: nopbyte.blogspot.com
http://www.lownoisehg.org/
2. ¿ QuéesLowNoise HG ?
•Grupo de Investigación (Hacking only)
•Creado en 1995
•Multidisciplinario (No sóloIngenieros)
•ObjetivoComún:
Seguridad vs. Inseguridad
• Sin Ánimo de Lucro
•RecursosPropios
• Sin Afiliación a Empresas/Entidades
4. ¿ Quiénesnopbyte ?
•Juan David Parra
•Afinidadesbásicas:
•Desarrollo de herramientas de hacking
•Detección de vulnerabilidades
•Desarrollo de shellcode
•Linux
•Windows Internals
5. DISCLAIMER
•Todo lo que se hable y se muestre en
estacharlaes el resultado de investigaciones
con fines educativos.
YO = Alguien más
•Tododescubrimientorealizado, ha sidoy
seráusado de forma legal, por LNHG.
•La audienciadebeasumirtodo lo se
expongahoy, como “falso” y “sin fundamento”
hastaque lo compruebepersonalmente.
• Juan David no es el autordirecto de ninguno
de los descubrimientosexpuestos, ni de
lasherramientasdemostradas, ni los conoce.
6. ¿ Qué vamos a ver hoy ?
•OWASP ¿Qué es?
•Algunas vulnerabilidades web
•Arquitectura de ESAPI
•Demostración de ataque a vulnerabilidades
•Demostración de eliminación de
vulnerabilidades
7. OWASP ¿Quées?
•Proyecto ABIERTO de aseguramiento de
aplicaciones web, porsussiglas en inglés (Open
Web Application Security Project)
•Existenproyectosdentro de OWASP como:
•ESAPI
•AntiSammy
•WebScarab
•OWASP top 10
9. Ilustración XSS (OWASP Top 10 2010)
1 Atacanteingresa la trampa
Application with
stored XSS
Atacanteinserta script vulnerability
malicioso en la página
y lo guarda en el
sistema
Communication
Bus. Functions
Administration
E-Commerce
Transactions
Knowledge
Accounts
Finance
Mgmt
2 Victim views page – sees attacker profile
Custom Code
El script insertadopor
el atacantecorre en el
explorador de la
victima con acceso al
DOM y a suscookies
3 El script envíasilenciosamente la cookie del usuario al
atacante
10. CSRF ilustrado OWASP( top 10 2010)
El atacantecolocaunatrampa en supágina web o via email.
1
Application with
El CSRF vulnerability
códigomaliciosocont
iene un tag <img>
Communication
Bus. Functions
Administration
Transactions
E-Commerce
Knowledge
contra el sitio
Accounts
Finance
Mgmt
vulnerable
La victimaabre el email o la página
2 web del atacantemientras se encuentra
Logeado en el sistema Custom Code
3
El sitio vulnerable ve
El tag <img>ejecuta un la
request http GET accióncomolegítima
(incluyendolascredemc (con lascredenciales
iales del usuario en el de la victima ) y
sitio vulnerable) ejecuta la acción.
11. Falta de restricción de Acceso a URL
(OWASP top 10 2010)
• El atacantepuedeverque la
https://www.onlinebank.com/user/getAccounts URL indicasurol
/usuario/buscarCuentas
• Modifica la urlparaacceder
a:
/admin/buscarCuentas
• El
atacantetieneaccesomásinf
ormación de la quedebería.
12. Inyección de código (SQL)
•¿Quépodríatener de malohaceresto?
consulta = “SELECT FROM usuarios
where cuenta = „ ” +cuenta + “ ‟ ”;
ejecutarSQL(consulta);
13. Inyección de código (SQL)
•Y si el usuarioescribecomocuenta:
pepito‟; DROP TABLE usuario;--
Entonces el progarmava a ejecutar:
• SELECT FROM usuarios where cuenta = ‘ pepito ’; DROP
TABLE usuario; -- ’
Ouch!!
15. ¿Cómosolucionarestosinconvenientes?
•Debemosverificarpara la
tecnologíaqueestemosusandolasgarantíasofreci
daspor el ambiente de desarrollo (Hibernate
evitaSQLiporejemplo).
•Los puntosque no se
encuentrencubiertosporestosmediosdeben ser
aseguradosusandolibreríasexternas.
•ESAPI esusado en la
actualidadporempresascomo American
Express, Foundstone(McAfee), U.S Navy.
16. Integración de ESAPI
•Contienecódigoreutilizable.
•Define un conjunto de interfaces que DEBEN
ser implementadaspara la integración de la
librería.
•La definición de estas interfaces promueven el
uso de buenasprácticas en cuanto a
desarrolloseguro.
17. Arqutectura de ESAPI
•Accesounificado a los recursos.
•Interfaces:
•Authenticator
•HttpUtilities
•Encoder
•Cryptography
•AccessReferenceMap
•Entre otras…