Title: Vulnerabilidades de Seguridad en Aplicaciones Web
1Vulnerabilidades de Seguridad en Aplicaciones Web
- Chema Alonso
- MS MVP Windows Server Security
- jmalonso_at_informatica64.com
2Agenda
- Introducción a Seguridad
- Aplicaciones Web
- Vulnerabilidades Sql Injection
- Vulnerabilidades Cross-Site Scripting
- Vulnerabilidades Phising
- Vulnerabilidades WebTrojan
- Vulnerabilidades Capa 8
3Que es Seguridad?
- Seguridad, es un termino relativo y no absoluto
- Que es lo que esta seguro?
- Contra quien se esta seguro?
- Contra que se esta seguro?
- Hasta cuando se esta seguro?
- Que intensidad de ataque se puede resistir?
- Por lo tanto sin un contexto el termino Seguridad
no tiene sentido
4Seguridad
- La seguridad depende de 3 factores
- Tecnología
- Estándares
- Productos de los fabricantes
- Desarrollos personales
- Procesos
- Procedimientos y operaciones en nuestros entornos
- Personas
- Formación vertical del personal de la empresa
5Porque Atacan?
- Hacer Daño
- Alterar, dañar or borrar información
- Deneger servicio
- Dañar la imagen pública
- Motivos Personales
- Desquitarse
- Fundamentos políticos o terrorismo
- Gastar una broma
- Lucirse y presumir
- Motivos Financieros
- Robar información
- Chantaje
- Fraudes Financieros
6Motivos
- La tecnología tiene fallos.
- Es muy fácil hacerlo.
- No hay conciencia clara del delito
Porque MOLA!!
7Incidentes Reportados al CERT
Data Source CERT ( http//www.cert.org)
8Vulnerabilidades por Años
Data Source CERT ( http//www.cert.org)
9Problema de la Industria ITVulnerabilidades en
Sistemas Operativos - 2002
10Problema de la Industria ITVulnerabilidades en
Sistemas Operativos - 2003
Windows 2003
OpenBSD
Windows XP
Windows 2000
SuSE
SUN
Mandrake
RedHat
Debian
11Fuentes
- Debian http//www.nl.debian.org/security
- Mandrake http//www.mandrakesoft.com/security/adv
isories - Microsoft http//www.microsoft.com/technet/securi
ty/current.aspx - Open BSD http//www.openbsd.org/errata35.html
- Sun http//sunsolve.sun.com/pub-cgi/show.pl?targe
tsecurity/sec - Suse http//www.novell.com/linux/security/advisor
ies.html - RedHat http//www.redhat.com/security/updates/
12Vulnerabilidades
http//www.securityfocus.com/bid
13Sofisticación de los Ataques vs. Conocimientos
requeridos
14Aplicaciones Web
15Tipos de Aplicaciones Web
- Web Site público.
- Información destinada al público.
- Intranet (ERP/CRM/Productividad)
- Información privada de acceso interno.
- Extranet (Productividad/B2B/B2C)
- Información privada de acceso externo.
16Arquitectura Multicapa
Almacén De Datos
Lógica de la Aplicación
Interfaz de Usuario (GUI)
DCOM
BBDD
WebServer
Browser
WebService
BBDD
WebServer
RPC
17Arquitectura Lógica de Aplicación
- Servidor Web
- Ejecuta código en contextos privilegiados.
- Lenguajes potentes
- Acceden a BBDD
- Envían programas a clientes
- Transferir ficheros
- Ejecutar comandos sobre el sistema.
- Soporte para herramientas de administración de
otro software. - Códigos de Ejemplo
18Arquitectura Cliente
- Navegador de Internet
- Ejecuta código en contexto de usuario.
- Lenguajes potentes
- HTML/DHTML
- vbScript/JavaScript/Jscript
- Programas embebidos
- Applets Java
- ActiveX
- Shockwave Flash
- Códigos No protegidos
- Cifrado cliente Atrise.
- Ofuscación de código.
19Arquitectura Almacén de Datos
- SGBD
- Lenguaje de 3ª y 4ª Generación.
- Soporta múltiples bases de datos.
- Catálogo global de datos.
- Ejecuta programas sobre Sistema.
- LOPD.
- Transacciones económicas.
- Información clave de negocio.
20Vulnerabilidades SQL Injection
21Explotación del Ataque
- Aplicaciones con mala comprobación de datos de
entrada. - Datos de usuario.
- Formularios
- Text
- Password
- Textarea
- List
- multilist
- Datos de llamadas a procedimientos.
- Links
- Funciones Scripts
- Actions
- Datos de usuario utilizados en consultas a base
de datos. - Mala construcción de consultas a bases de datos.
22Riesgos
- Permiten al atacante
- Saltar restricciones de acceso.
- Elevación de privilegios.
- Extracción de información de la Base de Datos
- Parada de SGBDR.
- Ejecución de comandos en contexto usuario bd
dentro del servidor.
23Tipos de Ataques
- Ejemplo 1
- Autenticación de usuario contra base de datos.
- Select idusuario from tabla_usuarios
- Where nombre_usuariousuario
- And claveclave
Usuario
Clave
24Tipos de Ataques
- Ejemplo 1 (cont)
- Select idusuario from tabla_usuarios
- Where nombre_usuarioAdministrador
- And clave or 11
Usuario
Administrador
Clave
or 11
25Demo
26Tipos de Ataques
- Ejemplo 2
- Acceso a información con procedimientos de
listado. - http//www.miweb.com/prog.asp?parametro1hola
- Ó
- http//www.miweb.com/prog.asp?parametro11
27Tipos de Ataques
- Ejemplo 2 (cont)
- http//www.miweb.com/prog.asp?parametro1 union
select nombre, clave,1,1,1 from tabla_usuarios
otra instrucción xp_cmdshell(del c\boot.ini)
shutdown -- - Ó
- http//www.miweb.com/prog.asp?parametro1-1 union
select ..... otra instrucción --
28Demo
29Contramedidas
- No confianza en medias de protección en cliente.
- Comprobación de datos de entrada.
- Construcción segura de sentencias SQL.
- Fortificación de Servidor Web.
- Códigos de error.
- Restricción de verbos, longitudes, etc..
- Filtrado de contenido HTTP en Firewall.
- Fortificación de SGBD.
- Restricción de privilegios de motor/usuario de
acceso desde web. - Aislamiento de bases de datos.
30Vulnerabilidades Cross-Site Scripting (XSS)
31Explotación del Ataque
- Datos almacenados en servidor desde cliente.
- Datos van a ser visualizados por otros
cliente/usuario. - Datos no filtrados. No comprobación de que sean
dañinos al cliente que visualiza.
32Riesgos
- Ejecución de código en contexto de usuario que
visualiza datos. - Navegación dirigida
- Webspoofing
- Spyware
- Robo de credenciales
- Ejecución de acciones automáticas
- Defacement
33Tipos de Ataques
- Mensajes en Foros.
- Firma de libro de visitas.
- Contactos a través de web.
- Correo Web.
- En todos ellos se envían códigos Script dañinos.
34Demo
35Contramedidas
- Fortificación de aplicación
- Comprobación fiable de datos
- Fortificación de Clientes
- Ejecución de clientes en entorno menos
privilegiado. - Fortificación de navegador cliente.
- MBSA.
- Políticas.
36Vulnerabilidades Phising
37Explotación del Ataque
- Basado en técnicas de Ingeniería Social.
- Se aprovecha de la confianza de los usuarios.
- Se aprovecha de la falta de formación en
seguridad de los usuarios. - Certificados digitales no generados por Entidades
Emisoras de Certificados de confianza.
38Riesgos
- Suplantación de Sitios Web para engañar al
usuario. - Robo de credenciales de acceso a web
restringidos. - Robo de dinero
- Compras por Internet
- Bromas pesadas
39Tipos de Ataques
- Se falsea la dirección de DNS del servidor
- Falsificación hosts
- Troyanos, Físicamente, Shellcodes exploits
- DHCP
- DNS Spoofing
- Man in The Middle
- Se engaña la navegación.
- Frames Ocultos
- URLs falseadas.
- Se implanta en la nueva ubicación un servidor
replica. - Se implantan hasta fakes de certificados
digitales
40Exploits
infohacking.com
41Contramedidas
- Contra Phising
- Uso de CA de confianza
- Formación a usuarios
- Gestión de actualizaciones de seguridad
- Códigos de aplicaciones seguras
- Control físico de la red
- Comprobación DHCP
- Contra Spoofing ARP
- Autenticado de conexiones
- IPSec
- Detección de Sniffers
- IDS
42Vulnerabilidades WebTrojan
43Explotación de Ataque
- Servidores Web no fortificados
- Ejecución de programas en almacenes de ficheros.
- Subida de ficheros a servidores.
- Imágenes para publicaciones.
- Archivos de informes.
- Currículos, cuentos, etc...
- Almacenes de ficheros accesibles en remoto
- Usuario en contexto servidor Web no controlado
44Riesgos
- Implantación de un troyano que puede
- Gestionar ficheros
- Ejecutar programas
- Destrozar el sistema
- Defacement
- Robo de información
- ....
45Tipos de Ataques
- Programación de un troyano en PHP, ASP o JSP
- Utilización de objetos FileObject
- Subida mediante ASP Upload
- Busqueda del lugar de almacenamiento
- Invocación por URL pública del servidor Web
46Demo
47Contramedidas
- Fortificación de servidores Web
- Menor Privilegio
- Ejecución de programas en sitios restringidos
- Listado de directorios ocultos
- Usuario de servidor en contexto controlado
- Subida de archivos controlada
- Ubicación no accesible desde URL pública
- Tipos de ficheros controlados
- Tamaño, tipo, extensión, etc..
- Filtrado vírico -gt Rootkits
48Vulnerabilidades Capa 8
49Explotación de Ataque
- Falta de conocimiento SD3
- Diseño
- Configuraciónes
- Implantación
- Administradores/Desarrolladores no formados en
Seguridad - Hacking Ético
- Falta de conocimiento del riesgo
50Riesgos
- Insospechados
- Bases de datos públicas
- No protección de datos
- No protección de sistemas
- .....
51Tipos de Ataques
- Hacking Google
- Administradores predecibles
- http//www.misitio.com/administracion
- http//www.misitio.com/privado
- http//www.misitio.com/gestion
- http//www.misitio.com/basedatos
- Ficheros log públicos
- WS_ftp.log
- Estadísticas públicas
- Webalyzer
52Demo
53Contramedidas
- Formación
- Ficheros Robots
- Robots.txt
- LOPD y LSSI
- www.lssi.org
- Writting Secure Code
54 Preguntas ?
55Grupos Reducidos de 10 a 15 asistentes. Cada
asistente tiene un escenario virtualizado para
ejecución de laboratorios. Un técnico por grupo
imparte explicaciones teóricas y plantea y
resuelve las practicas con los asistentes al
mismo tiempo que resuelve dudas. 6 horas de
duración cada uno y 24 horas los seminarios de
Contramedidas Hacker.
- Madrid, Vigo, Salamanca, Pamplona, Barcelona y
Santander. Valladolid Valencia. - Valladolid, Tenerife y Sevilla. Murcia, A
Coruña y Valencia próximamente
56Próximas Acciones Madrid
- 3 al 7 de Octubre Contramedidas Hacker
- 28 de Septiembre SQL Server Migración de Bases
de Datos Oracle - HOLS semana que viene
- Migración VB a VB.NET 2.0
- Migración ASP a ASP.NET 2.0
- Windows SharePoint Services
- SharePoint Portal Server 2003
- SQL Server 2005 Replication Services
- SQL Server 2005 Integration Services
- InfoPath 2003
57TechNews
- Suscripción gratuita enviando un mail
- mailtotechnews_at_informatica64.com
58Contacto
- Chema Alonso
- chema_at_informatica64.com
- Informatica64
- http//www.informatica64.com
- http//www.informatica64.com/hol.htm
- i64_at_informatica64.com
- 34 91 226 82 08