Inseguridad de los sistemas de autenticación en aplicaciones web



Documentos relacionados
Guía de doble autenticación

Modelo de Política de Privacidad

Hacking Ético Web. I Jornadas Tecnológicas CEEPS Carlos García García i52gagac@uco.es

Ataques XSS en Aplicaciones Web

Aplicateca API Validador de Móviles Certificados SMS -

SIEWEB. La intranet corporativa de SIE

PROGRAMACIÓN PÁGINAS WEB CON PHP

Política de la base datos WHOIS para nombres de dominio.eu

Programación páginas web. Servidor (PHP)

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

POLÍTICA DE PRIVACIDAD DE DATOS

Banco de la República Bogotá D. C., Colombia

Política de Privacidad del Grupo Grünenthal

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

Especificaciones funcionales para el acceso al RAI por Web

Seguridad en el manejo de la información asociada a las muestras (Ficheros automatizados) Granada 06/11/2012

Teléfono: Telefax:

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

XI ENCUENTRO IBEROAMERICANO DE PROTECCIÓN DE DATOS Cartagena de Indias, Octubre de Fabián L. Jaramillo Palacios

Tu Hora Soluciones Sectoriales EUROWIN

Manual SSO Avant2. Última revisión: 02/05/2013. Copyright Codeoscopic S.A.

Q-expeditive Publicación vía Internet

RETO HACKER DE VERANO

Norma de uso Identificación y autentificación Ministerio del Interior N02

Programa Control SMS para Teléfonos Android.

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Seguridad en Sitios Web de Alto Tráfico. Ing. Enrique Hurtarte Juárez

Administración Local Soluciones

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

Manual de uso de Moodle para alumnos

Sistema Integrado de Control de Presencia Dactilar

Tendencias del Fraude

Alternativas tecnológicas en seguridad desde la Red

Guía Básica Sede Electrónica Dirección General de Ordenación del Juego

Guía sobre la asignación de contraseña al certificado electrónico de identidad de persona física de la FNMT

Instructivo Asignación y Cambio de clave para el ingreso de usuarios HQ-RUNT

Qué son y cómo combatirlas

Introducción: Seguridad Activa: Medidas de Prevención. Objetivo: Evitar daños en sistemas informáticos antes que ocurran. Mecanismos de protección


SinAuto: Captura de requisitos

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Guía para la instalación de certificado de seguridad AlphaSSL en hostings basados en panel de control Plesk

En la web hay una serie de contenidos de carácter informativo sobre los servicios de la compañía.

AVISO DE PRIVACIDAD Y PROTECCION DE DATOS PERSONALES EN AMISTAD FAMILIAR A.R.

Procedimiento de instalación y Configuración del. cliente VPN en Windows. Acceso remoto a la red corporativa

SISTEMAS IDEALES SISTIDE, S.A. SISTEMA GESTION DE USUARIOS

Gestió n de Certificadó Digital

SEGURIDAD OCTUBRE Versión 1

Christian Martorella - Vicente Díaz Edge-security Fist Conference April 2007

AVISO DE PRIVACIDAD INTEGRAL PARA USUARIOS DE PEARSON EDUCACIÓN DE MÉXICO, S.A. DE C.V.

PROGRAMA DE AGENCIAS

Aspectos relevantes relacionados con la seguridad

Política de Privacidad

SCGDoc. SisConGes & Estrategia

- MANUAL DE USUARIO -

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Proporciona cifrado de datos, autorización de servidores, integridad de mensajes y, opcionalmente, autorización de clientes para conexiones.

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

engine es pec ialis tas en entor nos G N U

Seguridad en el Comercio Electrónico. <Nombre> <Institución> < >

Denominación Social: HOSPITAL DE MADRID, S.A., (en adelante, HM HOSPITALES ) Domicilio Social: Plaza del Conde del Valle de Suchil 16, Madrid

Introducción a la Firma Electrónica en MIDAS

Trazzos Web Hosting and Design 1a Pte sur no. 231 Segundo Piso Tuxtla Gutierrez, Chiapas, México CP Tel Septiembre 11, 2014

Política de cookies. Introducción Acerca de las cookies

Software Criptográfico FNMT-RCM

POLÍTICA DE PRIVACIDAD PARA APLICACIONES MÓVILES GRUPOCOPESA. 1. información que se obtiene la aplicación y su utilización

Edición de Ofertas Excel Manual de Usuario

Consejería de Presidencia, Justicia e Igualdad. Grupo C Modelo de Gestión de la Información de la Base de datos de terceros de Platino

Puntos clave: Gestión centralizada de la seguridad lógica de todos los sistemas. Centralización de logs en un único entorno

MANUAL DE AYUDA WEB SAT GOTELGEST.NET

POLÍTICAS DE SEGURIDAD PARA EL DESARROLLO DE SISTEMAS DE CAPUFE

FOROS. Manual de Usuario

Especificación WebService para:

Versión / 04 / GUÍA RÁPIDA PARA USUARIOS

Oficina Online. Manual del administrador

Test de intrusión (Penetration Test) Introducción

Seguridad informática

En el artículo del mes pasado,

S E G U R I D A D E N A P L I C A C I O N E S W E B

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

PLATAFORMA DE VISADO TELEMÁTICO.

Guía de Obtención de Certificados para la Facturación Electrónica en Adquira Marketplace.

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

NOTA LEGAL: El contenido de esta página web es propiedad de EXPOMEDIA COMUNICACIÓN, S. L.

AVISO LEGAL / LOPD OBJETO

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN


Política de gestión de datos

MANUAL DE USUARIO DEL MÓDULO DE ACCESO ÚNICO A APLICACIONES DE LA AECID Y GESTIÓN DE USUARIOS

Esta prestación permite enviar las hojas de salario por a nivel de empresas, centros de trabajo o trabajadores.

SERVICIO DE CORREO COIT.ES

Configuración de eduroam en Windows 8.0 y 8.1 Guía Detallada Edición: Última Actualización

SEMANA 12 SEGURIDAD EN UNA RED

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

Sistemas de seguridad en redes inalámbricas: WEP, WAP y WAP2

El sistema está solicitandome ingresar nuevamente porque mi sesión ha expirado. Qué significa esto?

El salto a las nuevas tecnologías de la formación

POLITICA DE PRIVACIDAD.

Transcripción:

Barcelona, 18 de Marzo Inseguridad de los sistemas de autenticación Vicente Aguilera Díaz vaguilera@isecauditors.com

Contenido 0. Introducción al sistema de autenticación 2. Medidas de protección 3. Referencias 18/3/2005 Slide 2

0. Introducción Al hablar de autenticación existen 2 contextos: autenticación de usuarios proceso mediante el cual alguien prueba su identidad. autenticación de datos proceso mediante el cual se prueba la integridad de los datos. Nos centraremos en la autenticación de usuarios 18/3/2005 Slide 3

0. Introducción Seleccionar un buen mecanismo de autenticación no es trivial: basada en usuario/contraseña basada en tokens basada en certificados digitales basada en mecanismos biométricos... El mecanimo más extendido: usuario/contraseña. 18/3/2005 Slide 4

0. Introducción En adelante, al hablar del sistema de autenticación, nos centraremos en: autenticación de usuarios basada en formularios 18/3/2005 Slide 5

1.1 Fugas de información 1.2 Debilidad de los campos del formulario de autenticación 1.3 Deficiencias de las funcionalidades extras 1.4 Deficiencias en el sistema de gestión de sesiones 1.5 Validaciones deficientes de los datos de E/S 1.6 Deficiencias en la recogida de datos 1.7 Deficiencias de configuración 1.8 Deficiencias en las relaciones de confianza 18/3/2005 Slide 6

1.1 Fugas de información En el código que recibe el cliente Mensajes que devuelve la aplicación Mensajes en foros y grupos de noticias Información facilitada por la empresa de desarrollo Webs personales Etc. Veamos un ejemplo... 18/3/2005 Slide 7

1.1 Fugas de información 18/3/2005 Slide 8

1.1 Fugas de información 18/3/2005 Slide 9

1.1 Fugas de información Posibilita: Enumeración de usuarios Permite obtener identificadores válidos de usuario DoS Password cracking Por fuerza bruta Basado en diccionarios Obtención de información sensible Usuarios/Contraseñas Paths de la aplicación Plataforma y versión de desarrollo Etc. 18/3/2005 Slide 10

1.2 Debilidad de los campos del formulario de autenticación Campos débiles: Longitud excesivamente corta Rango de caracteres permitido excesivamente limitado Atributo autocomplete=on por defecto Sin límite de caracteres de entrada Posibilita: Enumeración de usuarios Password cracking 18/3/2005 Slide 11

1.3 Deficiencias de las funcionalidades extras Debilidades en los procesos de: Registro Alta de usuarios Modificación de datos Modificación de password o datos de registro Recuperación de contraseñas Implementación del sistema Olvidó su contraseña? Otros 18/3/2005 Slide 12

1.3 Deficiencias de las funcionalidades extras Caso de ejemplo Proceso de recuperación de contraseñas Identificación en persona Difícil de llevar a cabo Identificación vía fax No se dispone de información con la que comparar E-mail Contraseñas que no caducan, correo compartido, envío no seguro,... Pregunta respuesta Número de preguntas? Dificultad a la hora de seleccionar preguntas Llamada telefónica / SMS Métodos híbridos 18/3/2005 Slide 13

1.3 Deficiencias de las funcionalidades extras Posibilita: Enumeración de usuarios Password Cracking Creación de cuentas válidas Fugas de información Obtención de contraseñas 18/3/2005 Slide 14

1.4 Deficiencias en el sistema de gestión de sesiones Envío de ID de sesión por un canal inseguro Algoritmo débil en la generación de ID Longitud excesivamente corta del ID Generación de ID previa a la autenticación Validaciones deficientes del ID recibido Tiempo de vida ilimitado para el ID Posibilita ataques de: Intercepción Predicción Fuerza bruta Fijación de ID Manipulación de ID 18/3/2005 Slide 15

1.4 Deficiencias en el sistema de gestión de sesiones Caso de ejemplo Fijación de ID 1. Generación de ID El atacante obtiene un ID (se autentica contra la aplicación) o utiliza uno aleatorio. En algunos casos requiere mantener la sesión viva 2. Fijación de ID El atacante necesita introducir el ID generado en el navegador del usuario víctima 3. Robo de sesión El atacante espera a que la víctima inicie sesión con el ID fijado a continuación entra en su sesión 18/3/2005 Slide 16

1.4 Deficiencias en el sistema de gestión de sesiones Caso de ejemplo Fijación de ID 18/3/2005 Slide 17

1.4 Deficiencias en el sistema de gestión de sesiones Caso de ejemplo Manipulación de ID Introduciendo un PHPSESSID excesivamente largo... 18/3/2005 Slide 18

1.5 Validaciones deficientes de los datos de E/S Filtro inexistente/deficiente de validación de los datos de E/S de la aplicación Posibilita: Inyección de código SQL (SQLInjection) Evasión de la autenticación. Acceso a la base de datos y al sistema operativo. Inyección de código script (XSS, XST) Phishing. Web Defacement. Obtención de información sensible. Manipulación de parámetros Evasión de la autenticación. Escalar privilegios.... 18/3/2005 Slide 19

1.5 Validaciones deficientes de los datos de E/S Caso de ejemplo Inyección de código SQL Evadir la autenticación Hacer que las condiciones especificadas en la cláusula WHERE se cumplan Obtener información de la base de datos Mediante la provocación de errores (p.e. en la conversión de tipos) Inclusión de sentencias SELECT... FROM... WHERE... LIKE '...%' Si el servidor web no devuelve una página de error... Buscar alternativas que permitan deducir el resultado de la sentencia (p.e. en SQLServer incluir WAITFOR DELAY 'HH:MM:SS') 18/3/2005 Slide 20

1.6 Debilidad en la recogida de datos Uso de un canal inseguro No redirección tras la autenticación Posibilita: Sniffing Phishing Suplantación de personalidad Obtención de información sensible 18/3/2005 Slide 21

1.6 Debilidad en la recogida de datos Caso de ejemplo Uso de un canal inseguro Si la página que contiene el formulario de autenticación se accede por HTTP (aunque el envío se realize posteriormente vía HTTPs): 1. El usuario puede desconfiar (al pensar que su información se transmite en claro) 2. Un phiser puede capturar las credenciales antes de enviarlas a la página de validación 18/3/2005 Slide 22

1.6 Debilidad en la recogida de datos Caso de ejemplo No redirección tras la autenticación Si el usuario cierra la sesión pero no el navegador, otro usuario podría hacer back repetidamente y al llegar a la primera página privada refrescarla y se enviarían los datos enviados por POST 18/3/2005 Slide 23

1.6 Debilidad en la recogida de datos Caso de ejemplo Con redirección tras la autenticación En este caso no se enviarían los datos del POST 18/3/2005 Slide 24

1.7 Deficiencias de configuración Instalaciones por defecto Cuentas por defecto Posibilita: Conocimiento de credenciales válidas Por ejemplo, usuario/password de la consola de administración de WebSphere: wcsadmin/wcsadmin Evasión del sistema de autenticación Utilizando recursos instalados por defecto por la plataforma y que son conocidos por el atacante 18/3/2005 Slide 25

1.7 Deficiencias de configuración Caso de ejemplo Creación de credenciales Supongamos una aplicación desarrollada con WebSphere Commerce Suite (WCS) con opciones por defecto, cuyo formulario de autenticación sólo permita introducir ID/password. Un atacante podría realizar una petición al servlet UserRegistrationAdd y crear un usuario con el cual acceder a la aplicación: https://victima.com/webapp/wcs/stores/servlet/userregistrationadd?url =LogonForm&logonId=atacanteID&logonPassword=atacantePWD&logon PasswordVerify=atacantePWD 18/3/2005 Slide 26

1.8 Deficiencias en las relaciones de confianza Relaciones: Aplicación/Base de datos/servidor Web/Sistema Operativo Una vulnerabilidad en cualquiera de ellos puede afectar al resto Entre servicios Por ejemplo, la compartición de cuentas de usuario Usuarios y su entorno Existe la posibilidad de atacar directamente al usuario y/o su entorno (físico/personal) aplicando técnicas de ingeniería social 18/3/2005 Slide 27

1.8 Deficiencias en las relaciones de confianza Posibilita: Reutilización de credenciales Si se dispone de una cuenta en un servidor FTP, puede ser utilizada para acceder a otros servicios (p.e. Correo) Ataques colaterales Si en la aplicación no se detectan deficiencias, quizás sea factible explotar alguna vulnerabilidad de la máquina en la que reside o en otras en las que confía Ingeniería social Aprovecharse de la ingenuidad de los usuarios y/o personal relacionado con ellos para obtener sus credenciales Visitar el entorno del usuario 18/3/2005 Slide 28

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 1: Utilizar one-time-logins y/o one-time-passwords Ejemplo: Supongamos que un usuario tiene como password: j2as!op.4w En lugar de solicitar el password, la aplicación podría preguntar: 1º, 4º, 2º, 6º, 3º, 8º, 9º y 10º caracter del password? Y hacer que la posición que solicita fuera aleatoria 18/3/2005 Slide 29

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 2: Utilizar CAPTCHA Programa que puede generar tests que: los humanos pueden pasar las máquinas no pueden pasar Nota: en la Universidad de California (en Berkeley) han desarrollado un programa para romper captcha-gimpy con un 83% de aciertos. Un grupo de Cambridge ha logrado alcanzar el 93%. 18/3/2005 Slide 30

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 2: Utilizar CAPTCHA-pix 18/3/2005 Slide 31

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 2: Utilizar CAPTCHA-text 18/3/2005 Slide 32

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 2: Utilizar CAPTCHA-gimpy 18/3/2005 Slide 33

2. Medidas de Protección 2.1 Impedir ataques automáticos (enumeración usuarios, password cracking, etc.) Solución 3: Bloqueo de cuenta tras un nº de intentos fallidos Por ejemplo, tras 5 intentos fallidos bloquear la cuenta. 18/3/2005 Slide 34

2. Medidas de Protección 2.2 Implementación sistema Olvidó su contraseña? Recomendaciones: Siempre se ha de resetear la contraseña En caso de que alguién obtuviera nuestra contraseña empleando este proceso lo detectaríamos rápidamente. No podríamos entrar! Si se envían correos con datos sensibles, han de caducar Por ejemplo, en 24h. El objetivo es evitar que esos datos puedan ser utilizados por alguien que tuviera acceso a nuestro correo. A ser posible, los e-mails deberían enviarse encriptados. Si se opta por las preguntas y respuestas Utilizar varias preguntas de seguridad. No han de ser predecibles y debe definirlas la aplicación. No dejar la responsabilidad de seleccionar las preguntas en manos del usuario. 18/3/2005 Slide 35

2. Medidas de Protección 2.2 Implementación sistema Olvidó su contraseña? Recomendaciones: Enviar la contraseña por vía telefónica (voz, SMS) (caso NETCODE en ASB Bank) Utilizar métodos híbridos Por ejemplo: combinar preguntas/respuestas con llamada telefónica. 18/3/2005 Slide 36

2. Medidas de Protección 2.3 Recomendaciones genéricas Utilizar HTTPs para acceder al formulario de autenticación y durante el envío de datos sensibles. Si se utilizan cookies, utilizar la variable SECURE para asegurar que sólo viajaran por un canal encriptado. No permitir que los mensajes de la aplicación posibiliten deducir información (a través de mensajes de error o mensajes controlados ) No permitir contraseñas débiles en el sistema 18/3/2005 Slide 37

2. Medidas de Protección 2.3 Recomendaciones genéricas No reutilizar cuentas en distintos servicios Realizar validaciones de todos los datos de E/S. El filtro debe ser en negativo Por defecto rechazo todo. Sólo acepto caracteres dentro del rango... Eliminar del servidor web todos aquellos recursos que no sean estrictamente necesarios (manuales, ficheros de ejemplo, etc.) y no realizar instalaciones por defecto. 18/3/2005 Slide 38

3. Referencias CAPTCHA - www.captcha.net ESP Game - www.espgame.org PASSMARK - www.passmarksecurity.com NETCODE - www.asbbank.co.nz/netcode/ Sesiones - www.acros.si/papers/session_fixation.pdf OWASP - www.owasp.org 18/3/2005 Slide 39

Dudas, preguntas, comentarios,...? 18/3/2005 Slide 40