15
Seguridad en aplicaciones Seguridad en aplicaciones web web Carlos Fernández @C4Fdez

Seguridad en Aplicaciones Web

Embed Size (px)

Citation preview

Page 1: Seguridad en Aplicaciones Web

Seguridad en aplicaciones webSeguridad en aplicaciones web

Carlos Fernández@C4Fdez

Page 2: Seguridad en Aplicaciones Web

SALUD

FINANZAS

DEFENSA

ENERGIA

SCADA

SOFTWARESOFTWARE

¿ES SEGURO?¿ES SEGURO?

Aplicaciones web!Aplicaciones web!

Page 3: Seguridad en Aplicaciones Web

¿Riesgos de seguridad web?¿Riesgos de seguridad web?

Page 4: Seguridad en Aplicaciones Web

Aprender ….. ¿En donde?Aprender ….. ¿En donde?Elección:

1.Sentarnos frente el computador y probar cada página web de SONY, para una vez encontrados los fallos, arriesgarnos a que nos detecten, contraataquen y nos metan entre rejas.2.Juguetear en un entorno controlado y cerrado sobre una aplicación web repleta de vulnerabilidades a la que, si logramos entrar hasta la cocina, no tendrá repercusiones legales.

Page 5: Seguridad en Aplicaciones Web

BadStoreBadStore

• .iso de 12 MB.• Sistema Linux (Trinux) live.• Vulnerabilidades web.• Mínimo 400Mhz CPU.• Mínimo 64 MB RAM.• GNU open source software

http://www.badstore.net/

Page 6: Seguridad en Aplicaciones Web

Top 10 de vulnerabilidades en Top 10 de vulnerabilidades en aplicaciones web aplicaciones web

(según OWASP 2010)

Page 7: Seguridad en Aplicaciones Web

= MITM= MITM

Page 8: Seguridad en Aplicaciones Web

• Mostrar sólo enlaces y opciones de Mostrar sólo enlaces y opciones de menú autorizadosmenú autorizados

• Control de acceso a la capa de Control de acceso a la capa de presentaciónpresentación

• El atacante simplemente arma el El atacante simplemente arma el acceso directo a la página "no acceso directo a la página "no autorizada"autorizada"

Page 9: Seguridad en Aplicaciones Web

• La falta de protección adecuada de los La falta de protección adecuada de los datos en uno o todos los lugares.datos en uno o todos los lugares.

• Bases de datos, archivos, Bases de datos, archivos, directorios, archivos de registro, copias directorios, archivos de registro, copias de seguridad, etc.de seguridad, etc.

• Mecanismos inseguros con los datos Mecanismos inseguros con los datos sensiblessensibles

• Demandas y/o multas a la organizaciónDemandas y/o multas a la organización

Page 10: Seguridad en Aplicaciones Web

• Su manejo de errores ayuda a prevenir Su manejo de errores ayuda a prevenir los mensajes de error con información los mensajes de error con información sensible?sensible?

• ¿Tiene un proceso para mantener todo su ¿Tiene un proceso para mantener todo su software al día?software al día?

• Está la seguridad incluida en los Está la seguridad incluida en los parámetros de desarrollo?parámetros de desarrollo?

• Robots.txtRobots.txt• Error Information disclosureError Information disclosure

Page 11: Seguridad en Aplicaciones Web

• Los principales activos a proteger Los principales activos a proteger son las credenciales de identificación son las credenciales de identificación e inicio de sesión.e inicio de sesión.

• ¿Hay tiempo de vigencia de la sesión?¿Hay tiempo de vigencia de la sesión?• ¿Los usuarios pueden salir ¿Los usuarios pueden salir

correctamente?correctamente?

• Perfiles: Usuarios, Proveedores y Perfiles: Usuarios, Proveedores y AdministradoresAdministradores

• Acciones: Cambiar contraseña, Acciones: Cambiar contraseña, recuperar contraseñarecuperar contraseña

Page 12: Seguridad en Aplicaciones Web

• Permitir ejecutar código de Permitir ejecutar código de «scripting» en el contexto del sitio «scripting» en el contexto del sitio web.web.

• Presenta la información en el Presenta la información en el navegador web.navegador web.

• Puede estar presente de forma Puede estar presente de forma persistente o reflejada.persistente o reflejada.

<h1>Mensaje de titulo</h1><h1>Mensaje de titulo</h1><script>alert(“XSS”)</script><script>alert(“XSS”)</script>

<script type="text/javascript"> <script type="text/javascript"> window.location="http://window.location="http://www.google.com/"</script>www.google.com/"</script>

Page 13: Seguridad en Aplicaciones Web

1. XSS

2. AccesoA la Web

3. ScriptMalicioso

4. Acceso a Web atacante

5. GET /BeEF/command.php

6. Acciones a realizar7. Confirma realización

XSSV XSSV tipo BeEFtipo BeEF

Page 14: Seguridad en Aplicaciones Web

' or 1= 1 -- ' or 1= 1 -- ' or '1'= '1 #' or '1'= '1 #

' or 1=1 limit 1,1 -- ' or 1=1 limit 1,1 --

• El atacante envía texto que se El atacante envía texto que se aprovecha de la sintaxis del aprovecha de la sintaxis del intérprete de destino. intérprete de destino.

• Casi cualquier fuente de datos puede ser Casi cualquier fuente de datos puede ser un vector de la inyección.un vector de la inyección.

• Las fallas de inyección se producen Las fallas de inyección se producen cuando una aplicación envía los datos cuando una aplicación envía los datos no confiables a un intérprete (no confiables a un intérprete (SQL, SQL, LDAP, XpathLDAP, Xpath, etc)., etc).

• Las fallas de inyección son muy Las fallas de inyección son muy frecuentes!frecuentes!

• Ataques inbound, outboundAtaques inbound, outbound• Ataques a ciegasAtaques a ciegas• Una comilla ‘Una comilla ‘• Una condicion verdadera (1=1)Una condicion verdadera (1=1)

Page 15: Seguridad en Aplicaciones Web

La seguridad no deberá basarse La seguridad no deberá basarse en lo que las situaciones te en lo que las situaciones te

hagan creer, si quieres estar hagan creer, si quieres estar seguro confronta a las seguro confronta a las

situaciones y afirma cuan situaciones y afirma cuan seguro estás.seguro estás.

@C4FdezCarlos Fernández