Your SlideShare is downloading. ×
0
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Owasp top 10
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Owasp top 10

1,356

Published on

Presentación en el OWASP Day Guatemala 2011

Presentación en el OWASP Day Guatemala 2011

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,356
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
66
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • http://igigi.baywords.com/rockyou-com-exposed-more-than-32-millions-of-passwords-in-plaintext/
  • Transcript

    • 1. Las diezvulnerabilidades web másrelevantes<br />Eduardo Castellanos<br />eduardo.castellanos@owasp.org<br />
    • 2. Eduardo Castellanos<br />3 años de experiencia en desarrollo<br />3 años de experiencia en seguridad<br />Analista de seguridadpara Verizon Business Security Solutions<br />A través de SISAP<br />Asociado de (ISC)² orientado a CISSP<br />Miembro del capítulo de OWASP Guatemala<br />
    • 3. Su “perímetro” de seguridadtienegrandesagujeros en la capa de aplicaciones<br />|3<br />Código de AplicaciónElaborado a la Medida<br />Capa de Aplicaciones<br />Bases de datis<br />Legacy Systems<br />Servicios Web<br />Directorios<br />RRHH<br />Cobros<br />ATAQUE A LA APLICACIÓN<br />Servidor de App<br />Servidor Web<br />SO Endurecido<br />Capa de Red<br />Firewall<br />Firewall<br />No se puedenutilizarmecanismos de protección de red paradetener o detetctarattaques de la capa de aplicación<br />
    • 4. OWASP Top 10<br />
    • 5. A1 – Inyección<br />
    • 6. Ejemplo: ataque de inyección SQL<br />Select user_informationfrom user_tablewhere username='input username'and password='input password'<br />Select user_informationfrom user_tablewhere username= '' or 1=1 -- ' and password='abc'<br />
    • 7. ¿Comodo?<br />Marzo 2011<br />Un hacker usó inyección SQL para entrar a un sistema de un afiliado de Comodo. <br />Comodo es un CA. Ellos firman certificados SSL para garantizar la seguridad de las comunicaciones.<br />Resultado<br />El hacker obtuvo las credenciales paraentrar a los sistemas para generar certificados.<br />Generó certificados para mail.google.com, www.google.com, login.yahoo.com, login.skype.com, addons.mozilla.org y login.live.com<br />
    • 8. A1 – Evitando la Inyección<br />Recomendaciones<br />Evitarusar un interprete, o<br />Usarunainterfazquepermitaatar (bind) variables (e.g., prepared statements, o stored procedures)<br />Codificartodaslasentradas del usuario antes de pasarlas al interprete. <br />Referencias<br />SQLi Prevention Cheat Sheet http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet<br />
    • 9. A2 – Cross-Site Scripting (XSS)<br />
    • 10. XSS = Cross-site Scripting<br />Vulnerabilidad de las aplicaciones web<br />Permite la inyección de código en páginas que serán vistas por otros usuarios<br />XSS = el nuevo buffer overflow<br />Javascript = el nuevo Shell Code<br />
    • 11. Samy Worm<br />11<br />Primer Worm de XSS<br />EscritoporSamyKamkar<br />Afectó a MySpace.com <br />En menos de 20 horasafectó a más de 1 millón de usuarios<br />
    • 12. 12<br />
    • 13. Browser Exploitation Framework<br />
    • 14. Recomendaciones<br />Eliminar la falla<br />Defenderse de la falla<br />Recomendación principal: Codificartodaslassalidasquecontengandatosproporcionadospor el usuario (Usar OWASP’s ESAPI)<br />http://www.owasp.org/index.php/ESAPI<br />Para grandesporciones de HTML: <br />OWASP’s AntiSamyhttp://www.owasp.org/index.php/AntiSamy<br />Referencias<br />Cross-site Scripting Cheat Sheethttp://www.owasp.org/index.php/XSS_(Cross Site Scripting) Prevention Cheat Sheet<br />(AntiSamy)<br />A2 – Evitando XSS<br />
    • 15. A3 – Pérdida de Autenticación y Gestión de Sesiones<br />
    • 16. Ataque de Fijación de Sesión<br />
    • 17. A3 – Evitando la Pérdida de Autenticación y Gestión de Sesiones<br />Verificar la arquitectura<br />La autenticacióndebe ser simple, centralizada y estandarizada. <br />Use el identificador de sesiónproporcionadopor el contenedor<br />Aseguresequelascredenciales y el identificador de sesiónestanprotegidos con SSL todo el tiempo.<br />Verificar la implementación<br />Verificarque el cierre de sesión la destruya.<br />Verificarlasfunciones de autenticación<br />Authentication Cheat Sheet<br />http://www.owasp.org/index.php/Authentication_Cheat_Sheet<br />
    • 18. A4 – ReferenciaDirectaInsegura a Objetos<br />
    • 19. Ejemplo:ReferenciaDirectaInsegura a Objetos<br />El atacante se dacuentaque el identificador de sucuentaes 6534<br /> ?acct=6534<br />Lo cambia a un numero similar… <br /> ?acct=6535<br />El atacantepuedever la información de la víctima<br />https://www.onlinebank.com/user?acct=6534<br />
    • 20. A4 – Evitando la ReferenciaDirectaInsegura a Objetos<br /><ul><li>Eliminar la referenciadirecta
    • 21. Hacer un mapeo temporal (1,2,3)
    • 22. ESAPI proveeestafuncionalidad: IntegerAccessReferenceMap& RandomAccessReferenceMap
    • 23. Validar la referenciadirecta
    • 24. Verificar los permisos del usuario</li></li></ul><li>A5 – Cross Site Request Forgery (CSRF)<br />
    • 25. Ejemplo: CSRF<br />El atacantearmaunatrampa en algun website en Internet<br />Aplicación con vulnerabilidad CSRF<br />Unaetiqueta <img> contiene el ataque contra el sitio vulnerable<br />Mientrasesta en unasesión en el sitio vulnerable, la víctimavisita el sitiomalo<br />El sitio vulnerable miraunapetición vulnerable de la víctima y ejecuta la acciónsolicitada<br /><imgsrc=http://bank.com/transferir?cuenta=2323&cantidad=10000&dest=4444 /><br />
    • 26. A5 – Evitando CSRF<br /><ul><li>Agregar un token a cadapetición
    • 27. Requerirconfirmación con la contraseña u otrométodo</li></ul>CSRF Cheat Sheet<br /><ul><li>www.owasp.org/index.php/CSRF_Prevention_Cheat_Sheet</li></li></ul><li>A6 – Defectos en la Configuración de Seguridad<br />
    • 28. Defectos en la Configuración de Seguridad<br />BD<br />Finance<br />Transactions<br />Accounts<br />Administration<br />Communication<br />Knowledge Mgmt<br />E-Commerce<br />Bus. Functions<br />Custom Code<br />App Configuration<br />Development<br />Framework<br />App Server<br />QA Servers<br />Web Server<br />Hardened OS<br />Atacante<br />Test Servers<br />Source Control<br />
    • 29. A6 – EvitandoDefectos en la Configuración de Seguridad<br /><ul><li>Verificar la gestión de la configuración
    • 30. Seguirunaguía de configuraciónsegura
    • 31. Establecer un control de cambios
    • 32. Verificar la implementación
    • 33. Escaneos</li></li></ul><li>A7 – AlmacenamientoCriptográficoInseguro<br />
    • 34. Cifrar información de clientes<br />Información de clientes, 77 Milliones comprometidos.(probablemente tarjetas de crédito también)<br />28<br />
    • 35. A7 – EvitandoAlmacenamientoCriptográficoInseguro<br /><ul><li>Considerelasamenazas y los datossensibles
    • 36. Aseguresequelascopias de los datosestandebidamenteprotegidas
    • 37. Asegurese de usarcorrectamentealgorítmosestándares con llavesfuertes
    • 38. Almacenelascontraseñas con un hash + sal</li></li></ul><li>A8 – Falla de Restricción de Acceso a URL<br />
    • 39. Ejemplo de Falla de Restricción de Acceso a URL<br />El atacante se dacuentaque el URL define surol<br /> /user/getAccounts<br />Lo cambia a otrodirectorio (rol)<br /> /admin/getAccounts, o<br /> /manager/getAccounts<br />El atacantemiralascuentas de otrosusuarios<br />
    • 40. A9 – ProtecciónInsuficiente en la Capa de Transporte<br />
    • 41. Firesheep<br />33<br />
    • 42. A9 – EvitandoProtecciónInsuficiente en la Capa de Transporte<br />Proteger con mecanismosadecuados<br />Usar TLS en todaslasconexiones con información sensible<br />Cifrarmensajesprevio a sutransmisión<br />Usar los mecanismosadecuadamente<br />No usarcifrados SSL obsoletos<br />Atributo Secure de las cookies<br />Gestionarlasllaves/certificadosadecuadamente<br />Usarmecanismoscomprobados<br />Cheat Sheet: http://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet<br />
    • 43. A10 – Redirecciones y Reenvíos No Validados<br />
    • 44. CNN<br />http://ads.cnn.com/event.ng/Type=click&Redirect=http:/bit.ly/cP–XW<br />36<br />
    • 45. A10 – EvitandoRedirecciones y Reenvíos No Validados<br />Variasopciones<br />Evitarusarlos<br />No usarparámetrosparadeterminar el URL<br />Si ‘debe’ tenerparametros<br />Validarquecadaparámetro sea válido. <br />(preferido) – Usar un mapeo del lado del servidor<br />ESAPI<br />Ver: SecurityWrapperResponse.sendRedirect( URL )<br />http://owasp-esapi-java.googlecode.com/svn/trunk_doc/org/owasp/esapi/filters/SecurityWrapperResponse.html#sendRedirect(java.lang.String)<br />
    • 46. Resumen: ¿Cómoatacarestosproblemas?<br />Desarrollarcódigoseguro<br />Seguirlasmejoresprácticasdefinidas en OWASP’s Guide to Building Secure Web Applications<br />http://www.owasp.org/index.php/Guide<br />Usar OWASP’s Application Security Verification Standard<br />http://www.owasp.org/index.php/ASVS<br />Usarcomponentes de seguridad<br />Usar OWASP’s ESAPI como la base paraSUScomponentes<br />http://www.owasp.org/index.php/ESAPI<br />Revisarlasaplicaciones<br />Que un equipo de expertos revise susaplicaciones<br />Revise susaplicacionesporsimismousandoguías OWASP<br />OWASP Code Review Guide: http://www.owasp.org/index.php/Code_Review_Guide<br />OWASP Testing Guide: http://www.owasp.org/index.php/Testing_Guide<br />
    • 47. Descarguen<br />http://www.owasp.org/index.php/Top_10<br />
    • 48. www.owasp.org<br />|40<br />40<br />
    • 49. 41<br />Suscribanse a nuestra lista de correo<br />https://lists.owasp.org/mailman/listinfo/owasp-Guatemala<br />

    ×