You are on page 1of 58

Vulnerabilidades de Seguridad en Aplicaciones Web

Chema Alonso MS MVP Windows Server Security jmalonso@informatica64.com

Agenda
Introduccin a Seguridad Aplicaciones Web Vulnerabilidades: Sql Injection Vulnerabilidades: Cross-Site Scripting Vulnerabilidades: Phising Vulnerabilidades: WebTrojan Vulnerabilidades: Capa 8

Que 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

Seguridad
La seguridad depende de 3 factores:
Tecnologa:

Estndares Productos de los fabricantes Desarrollos personales


Procesos:

Procedimientos y operaciones en nuestros entornos


Personas:

Formacin vertical del personal de la empresa

Porque Atacan?
Hacer Dao
Alterar, daar or borrar

Motivos Personales

informacin Deneger servicio Daar la imagen pblica

Desquitarse Fundamentos polticos o terrorismo Gastar una broma Lucirse y presumir

Motivos Financieros
Robar informacin Chantaje Fraudes Financieros

Motivos

La tecnologa tiene fallos. Es muy fcil hacerlo. No hay conciencia clara del delito

Porque MOLA!!

Incidentes Reportados al CERT


Data Source: CERT ( http://www.cert.org)
000 000 000 000 000 000 000 000 000 00 000 00 000 00 000 00 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Vulnerabilidades por Aos


Data Source: CERT ( http://www.cert.org)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 11 11 11 11 11 11 11 11 00 * 00 00 00 00 00 00 00 00 00

Problema de la Industria IT
Vulnerabilidades en Sistemas Operativos - 2002
120 100 80 60

11 1

0 0 0 0 0 0 1 1

0 0

0 0

40 20

0 0

0 0

0 Windows XP EnGarde

Windows 2000

SuSE

Sun (OS)

Mandrake 8.x

Trustix 1.5

RedHat 7.2

Debian

Source: Company web sites

Problema de la Industria IT
Vulnerabilidades en Sistemas Operativos - 2003
11 1
120 100 80 60 40 20

0 0

0 0

1 1 1 1 0 0 0
OpenBSD Windows XP Windows 2000 SuSE

1 1

1 1

0 Windows 2003 SUN Mandrake RedHat Debian

Source: Company web sites

Fuentes
Debian: http://www.nl.debian.org/security Mandrake: http://www.mandrakesoft.com/security/advisories Microsoft: http://www.microsoft.com/technet/security/current.aspx Open BSD: http://www.openbsd.org/errata35.html Sun: http://sunsolve.sun.com/pub-cgi/show.pl?target=security/sec Suse: http://www.novell.com/linux/security/advisories.html RedHat: http://www.redhat.com/security/updates/

Vulnerabilidades
http://www.securityfocus.com/bid

Sofisticacin de los Ataques vs. Conocimientos requeridos

Aplicaciones Web

Tipos de Aplicaciones Web


Web Site pblico.
Informacin destinada al pblico.

Intranet (ERP/CRM/Productividad)
Informacin privada de acceso interno.

Extranet (Productividad/B2B/B2C)
Informacin privada de acceso externo.

Arquitectura Multicapa
DCOM BBDD
WebServer

Browser
WebServer

WebService

BBDD

RPC Interfaz de Usuario (GUI) Lgica de la Aplicacin Almacn De Datos

Arquitectura: Lgica de Aplicacin


Servidor Web
Ejecuta cdigo en contextos privilegiados. Lenguajes potentes Acceden a BBDD Envan programas a clientes Transferir ficheros Ejecutar comandos sobre el sistema. Soporte para herramientas de administracin de otro software. Cdigos de Ejemplo

Arquitectura: Cliente
Navegador de Internet:
Ejecuta cdigo en contexto de usuario. Lenguajes potentes:
HTML/DHTML vbScript/JavaScript/Jscript

Programas embebidos
Applets Java ActiveX Shockwave Flash

Cdigos No protegidos
Cifrado cliente: Atrise. Ofuscacin de cdigo.

Arquitectura: Almacn de Datos


SGBD
Lenguaje de 3 y 4 Generacin. Soporta mltiples bases de datos. Catlogo global de datos. Ejecuta programas sobre Sistema. LOPD. Transacciones econmicas. Informacin clave de negocio.

Vulnerabilidades: SQL Injection

Explotacin del Ataque


Aplicaciones con mala comprobacin 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 construccin de consultas a bases de datos.

Riesgos
Permiten al atacante:
Saltar restricciones de acceso. Elevacin de privilegios. Extraccin de informacin de la Base de Datos Parada de SGBDR. Ejecucin de comandos en contexto usuario bd dentro del servidor.

Tipos de Ataques
Ejemplo 1:
Autenticacin de usuario contra base de datos.
Usuario Clave

****************

Select idusuario from tabla_usuarios Where nombre_usuario=$usuario And clave=$clave;

Tipos de Ataques
Ejemplo 1 (cont)
Usuario Clave Administrador

or 1=1

Select idusuario from tabla_usuarios Where nombre_usuario=Administrador And clave= or 1=1;

Demo

Tipos de Ataques
Ejemplo 2:
Acceso a informacin con procedimientos de listado.
http://www.miweb.com/prog.asp?parametro1=hola http://www.miweb.com/prog.asp?parametro1=1

Tipos de Ataques
Ejemplo 2 (cont):
http://www.miweb.com/prog.asp?parametro1= union select nombre, clave,1,1,1 from tabla_usuarios; otra instruccin; xp_cmdshell(del c:\boot.ini); shutdown - http://www.miweb.com/prog.asp?parametro1=-1 union select .....; otra instruccin; --

Demo

Contramedidas
No confianza en medias de proteccin en cliente. Comprobacin de datos de entrada. Construccin segura de sentencias SQL. Fortificacin de Servidor Web.
Cdigos de error. Restriccin de verbos, longitudes, etc.. Filtrado de contenido HTTP en Firewall.

Fortificacin de SGBD.
Restriccin de privilegios de motor/usuario de acceso desde web. Aislamiento de bases de datos.

Vulnerabilidades: Cross-Site Scripting (XSS)

Explotacin del Ataque


Datos almacenados en servidor desde cliente. Datos van a ser visualizados por otros cliente/usuario. Datos no filtrados. No comprobacin de que sean dainos al cliente que visualiza.

Riesgos
Ejecucin de cdigo en contexto de usuario que visualiza datos.
Navegacin dirigida Webspoofing Spyware Robo de credenciales Ejecucin de acciones automticas Defacement

Tipos de Ataques
Mensajes en Foros. Firma de libro de visitas. Contactos a travs de web. Correo Web.

En todos ellos se envan cdigos Script dainos.

Demo

Contramedidas
Fortificacin de aplicacin
Comprobacin fiable de datos

Fortificacin de Clientes
Ejecucin de clientes en entorno menos privilegiado. Fortificacin de navegador cliente.
MBSA. Polticas.

Vulnerabilidades: Phising

Explotacin del Ataque


Basado en tcnicas de Ingeniera Social. Se aprovecha de la confianza de los usuarios. Se aprovecha de la falta de formacin en seguridad de los usuarios. Certificados digitales no generados por Entidades Emisoras de Certificados de confianza.

Riesgos
Suplantacin de Sitios Web para engaar al usuario. Robo de credenciales de acceso a web restringidos.
Robo de dinero Compras por Internet Bromas pesadas

Tipos de Ataques
Se falsea la direccin de DNS del servidor
Falsificacin hosts DHCP DNS Spoofing
Troyanos, Fsicamente, Shellcodes exploits

Man in The Middle

Se engaa la navegacin.
Frames Ocultos URLs falseadas.

Se implanta en la nueva ubicacin un servidor replica. Se implantan hasta fakes de certificados digitales

Exploits

infohacking.c om

Contramedidas
Contra Phising
Uso de CA de confianza Formacin a usuarios Gestin de actualizaciones de seguridad Cdigos de aplicaciones seguras Control fsico de la red Comprobacin DHCP

Contra Spoofing ARP


IPSec

Autenticado de conexiones Deteccin de Sniffers IDS

Vulnerabilidades: WebTrojan

Explotacin de Ataque
Servidores Web no fortificados
Ejecucin de programas en almacenes de ficheros. Subida de ficheros a servidores.
Imgenes para publicaciones. Archivos de informes. Currculos, cuentos, etc...

Almacenes de ficheros accesibles en remoto

Usuario en contexto servidor Web no controlado

Riesgos
Implantacin de un troyano que puede:
Gestionar ficheros Ejecutar programas Destrozar el sistema Defacement Robo de informacin ....

Tipos de Ataques
Programacin de un troyano en PHP, ASP o JSP Utilizacin de objetos FileObject Subida mediante ASP Upload Busqueda del lugar de almacenamiento Invocacin por URL pblica del servidor Web

Demo

Contramedidas
Fortificacin de servidores Web
Menor Privilegio
Ejecucin de programas en sitios restringidos Listado de directorios ocultos Usuario de servidor en contexto controlado

Subida de archivos controlada


Ubicacin no accesible desde URL pblica Tipos de ficheros controlados
Tamao, tipo, extensin, etc.. Filtrado vrico -> Rootkits

Vulnerabilidades: Capa 8

Explotacin de Ataque
Falta de conocimiento SD3
Diseo Configuracines Implantacin

Administradores/Desarrolladores no formados en Seguridad


Hacking tico

Falta de conocimiento del riesgo

Riesgos
Insospechados:
Bases de datos pblicas No proteccin de datos No proteccin de sistemas .....

Tipos 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 pblicos


WS_ftp.log

Estadsticas pblicas
Webalyzer

Demo

Contramedidas
Formacin Ficheros Robots
Robots.txt

LOPD y LSSI
www.lssi.org

Writting Secure Code

Preguntas ?

Grupos Reducidos de 10 a 15 asistentes. Cada asistente tiene un escenario virtualizado para ejecucin de laboratorios. Un tcnico por grupo imparte explicaciones tericas y plantea y resuelve las practicas con los asistentes al mismo tiempo que resuelve dudas. 6 horas de duracin cada uno y 24 horas los seminarios de Contramedidas Hacker.

Sistemas Desarrollo

http://www.microsoft.com/spain/HOLsistemas http://www.microsoft.com/spain/HOLdesarrollo

Madrid, Vigo, Salamanca, Pamplona, Barcelona y Santander. Valladolid Valencia. Valladolid, Tenerife y Sevilla. [Murcia, A Corua y Valencia prximamente]

Prximas Acciones Madrid


3 al 7 de Octubre: Contramedidas Hacker 28 de Septiembre: SQL Server Migracin de Bases de Datos Oracle HOLS semana que viene:
Migracin VB a VB.NET 2.0 Migracin 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

TechNews
Suscripcin gratuita enviando un mail:
mailto:technews@informatica64.com

Contacto
Chema Alonso
chema@informatica64.com

Informatica64
http://www.informatica64.com http://www.informatica64.com/hol.htm i64@informatica64.com +34 91 226 82 08

You might also like