Está en la página 1de 40

Barcelona, 18 de Marzo

Inseguridad de los sistemas de autenticacin


en aplicaciones web
Vicente Aguilera Daz
vaguileraisecauditors!com
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 2
(ontenido
%! Introduccin
1! De)iciencias * Ata+ues al sistema de autenticacin
$! Medidas de proteccin
#! ,e)erencias
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 3
%! Introduccin
Al -ablar de autenticacin e.isten $ conte.tos/

autenticacin de usuarios
proceso mediante el cual alguien prueba su identidad!

autenticacin de datos
proceso mediante el cual se prueba la integridad de los datos!
0os centraremos en la autenticacin de usuarios
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 4
%! Introduccin
'eleccionar un buen mecanismo de autenticacin no es
trivial/

basada en usuario"contrase1a

basada en to2ens

basada en certi)icados digitales

basada en mecanismos biom3tricos

!!!
4l mecanimo m5s e.tendido/ usuario/contrasea!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 5
%! Introduccin
4n adelante, al -ablar del sistema de autenticacin, nos
centraremos en/
autenticacin de usuarios basada en formularios
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 6
1! De)iciencias * Ata+ues
1!1 6ugas de in)ormacin
1!$ Debilidad de los campos del )ormulario de autenticacin
1!# De)iciencias de las )uncionalidades 7e.tras8
1!9 De)iciencias en el sistema de gestin de sesiones
1!& Validaciones de)icientes de los datos de 4"'
1!: De)iciencias en la recogida de datos
1!; De)iciencias de con)iguracin
1!8 De)iciencias en las relaciones de con)ianza
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 7
1! De)iciencias * Ata+ues
1!1 6ugas de in)ormacin

4n el cdigo +ue recibe el cliente

Mensa<es +ue devuelve la aplicacin

Mensa<es en )oros * grupos de noticias

In)ormacin )acilitada por la empresa de desarrollo

=ebs personales

4tc!
Veamos un e<emplo!!!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 8
1! De)iciencias * Ata+ues
1!1 6ugas de in)ormacin
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 9
1! De)iciencias * Ata+ues
1!1 6ugas de in)ormacin
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 10
1! De)iciencias * Ata+ues
1!1 6ugas de in)ormacin
>osibilita/

4numeracin de usuarios
>ermite obtener identi)icadores v5lidos de usuario Do'

>assword crac2ing
>or )uerza bruta
Basado en diccionarios

?btencin de in)ormacin sensible


@suarios"(ontrase1as
>at-s de la aplicacin
>lata)orma * versin de desarrollo
4tc!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 11
1! De)iciencias * Ata+ues
1!$ Debilidad de los campos del )ormulario de autenticacin
(ampos d3biles/

Aongitud e.cesivamente corta

,ango de caracteres permitido e.cesivamente limitado

Atributo 7autocompleteBon8 por de)ecto

'in lmite de caracteres de entrada


>osibilita/

4numeracin de usuarios

>assword crac2ing
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 12
1! De)iciencias * Ata+ues
1!# De)iciencias de las )uncionalidades 7e.tras8
Debilidades en los procesos de/

,egistro
Alta de usuarios

Modi)icacin de datos
Modi)icacin de password o datos de registro

,ecuperacin de contrase1as
Implementacin del sistema C?lvid su contrase1aD

?tros
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 13
1! De)iciencias * Ata+ues
1!# De)iciencias de las )uncionalidades 7e.tras8
(aso de e<emplo E >roceso de recuperacin de contrase1as

Identi)icacin en persona
Di)cil de llevar a cabo

Identi)icacin va )a.
0o se dispone de in)ormacin con la +ue comparar

4Fmail
(ontrase1as +ue no caducan, correo compartido, envo 7no seguro8, !!!

>regunta respuesta
0Gmero de preguntasD Di)icultad a la -ora de seleccionar preguntas

Alamada tele)nica " 'M'

M3todos -bridos
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 14
1! De)iciencias * Ata+ues
1!# De)iciencias de las )uncionalidades 7e.tras8
>osibilita/

4numeracin de usuarios

>assword (rac2ing

(reacin de cuentas v5lidas 6ugas de in)ormacin

?btencin de contrase1as
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 15
1! De)iciencias * Ata+ues
1!9 De)iciencias en el sistema de gestin de sesiones

4nvo de ID de sesin por un canal 7inseguro8

Algoritmo d3bil en la generacin de ID

Aongitud e.cesivamente corta del ID

Heneracin de ID previa a la autenticacin

Validaciones de)icientes del ID recibido

Iiempo de vida ilimitado para el ID


>osibilita ata+ues de/

Intercepcin

>rediccin

6uerza bruta

6i<acin de ID

Manipulacin de ID
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 16
1! De)iciencias * Ata+ues
1!9 De)iciencias en el sistema de gestin de sesiones
(aso de e<emplo E 6i<acin de ID
1! Heneracin de ID
4l atacante obtiene un ID Jse autentica contra la aplicacinK o utiliza uno
aleatorio! 4n algunos casos re+uiere mantener la sesin 7viva8
$! 6i<acin de ID
4l atacante necesita introducir el ID generado en el navegador del
usuario vctima
#! ,obo de sesin
4l atacante espera a +ue la vctima inicie sesin con el ID )i<ado a
continuacin entra en su sesin
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 17
1! De)iciencias * Ata+ues
1!9 De)iciencias en el sistema de gestin de sesiones
(aso de e<emplo E 6i<acin de ID
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 18
1! De)iciencias * Ata+ues
1!9 De)iciencias en el sistema de gestin de sesiones
(aso de e<emplo E Manipulacin de ID
Introduciendo un >L>'4''ID e.cesivamente largo!!!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 19
1! De)iciencias * Ata+ues
1!& Validaciones de)icientes de los datos de 4"'
6iltro ine.istente"de)iciente de validacin de los datos de
4"' de la aplicacin
>osibilita/

In*eccin de cdigo 'MA J'MAIn<ectionK


4vasin de la autenticacin! Acceso a la base de datos * al sistema operativo!

In*eccin de cdigo script JN'', N'IK


>-is-ing! =eb De)acement! ?btencin de in)ormacin sensible!

Manipulacin de par5metros
4vasin de la autenticacin! 4scalar privilegios!

!!!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 20
1! De)iciencias * Ata+ues
1!& Validaciones de)icientes de los datos de 4"'
(aso de e<emplo E In*eccin de cdigo 'MA

4vadir la autenticacin
Lacer +ue las condiciones especi)icadas en la cl5usula =L4,4 se
cumplan

?btener in)ormacin de la base de datos


Mediante la provocacin de errores Jp!e! en la conversin de tiposK
Inclusin de sentencias '4A4(I !!! 6,?M !!! =L4,4 !!! AIO4 P!!!QP
'i el servidor web no devuelve una p5gina de error!!!
Buscar alternativas +ue permitan deducir el resultado de la sentencia
Jp!e! en 'MA'erver incluir =AII6?, D4AAR PLL/MM/''PK
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 21
1! De)iciencias * Ata+ues
1!: Debilidad en la recogida de datos

@so de un canal inseguro

0o redireccin tras la autenticacin


>osibilita/

'ni))ing

>-is-ing

'uplantacin de personalidad

?btencin de in)ormacin sensible


Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 22
1! De)iciencias * Ata+ues
1!: Debilidad en la recogida de datos
(aso de e<emplo E @so de un canal inseguro
'i la p5gina +ue contiene el )ormulario de autenticacin se
accede por LII> Jaun+ue el envo se realize posteriormente
va LII>sK/
1! 4l usuario puede descon)iar Jal pensar +ue su in)ormacin
se transmite en claroK
$! @n p-iser puede capturar las credenciales antes de
enviarlas a la p5gina de validacin
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 23
1! De)iciencias * Ata+ues
1!: Debilidad en la recogida de datos
(aso de e<emplo E 0o redireccin tras la autenticacin
'i el usuario cierra la sesin pero no el navegador, otro usuario podra
-acer 7bac28 repetidamente * al llegar a la primera p5gina privada
re)rescarla * se enviaran los datos enviados por >?'I
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 24
1! De)iciencias * Ata+ues
1!: Debilidad en la recogida de datos
(aso de e<emplo E (on redireccin tras la autenticacin
4n este caso no se enviaran los datos del >?'I
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 25
1! De)iciencias * Ata+ues
1!; De)iciencias de con)iguracin

Instalaciones por de)ecto

(uentas por de)ecto


>osibilita/

(onocimiento de credenciales v5lidas


>or e<emplo, usuario"password de la consola de administracin de
=eb'p-ere/ wcsadmin"wcsadmin

4vasin del sistema de autenticacin


@tilizando recursos instalados por de)ecto por la plata)orma * +ue son
conocidos por el atacante
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 26
1! De)iciencias * Ata+ues
1!; De)iciencias de con)iguracin
(aso de e<emplo E (reacin de credenciales
'upongamos una aplicacin desarrollada con =eb'p-ere (ommerce
'uite J=('K con opciones por de)ecto, cu*o )ormulario de autenticacin
slo permita introducir ID"password!
@n atacante podra realizar una peticin al servlet 7@ser,egistrationAdd8
* crear un usuario con el cual acceder a la aplicacin/
-ttps/""victima!com"webapp"wcs"stores"servlet"@ser,egistrationAddD@,A
BAogon6ormSlogonIdBatacanteIDSlogon>asswordBatacante>=DSlogon
>asswordVeri)*Batacante>=D
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 27
1! De)iciencias * Ata+ues
1!8 De)iciencias en las relaciones de con)ianza
,elaciones/

Aplicacin"Base de datos"'ervidor =eb"'istema ?perativo


@na vulnerabilidad en cual+uiera de ellos puede a)ectar al resto

4ntre servicios
>or e<emplo, la comparticin de cuentas de usuario

@suarios * su entorno
4.iste la posibilidad de atacar directamente al usuario *"o su entorno
J)sico"personalK aplicando t3cnicas de ingeniera social
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 28
1! De)iciencias * Ata+ues
1!8 De)iciencias en las relaciones de con)ianza
>osibilita/

,eutilizacin de credenciales
'i se dispone de una cuenta en un servidor 6I>, puede ser utilizada para
acceder a otros servicios Jp!e! (orreoK

Ata+ues colaterales
'i en la aplicacin no se detectan de)iciencias, +uiz5s sea )actible
e.plotar alguna vulnerabilidad de la m5+uina en la +ue reside o en otras
en las +ue con)a

Ingeniera social
Aprovec-arse de la ingenuidad de los usuarios *"o personal relacionado
con ellos para obtener sus credenciales
Visitar el entorno del usuario
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 29
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin 1/ @tilizar oneFtimeFlogins *"o oneFtimeFpasswords
4<emplo/
'upongamos +ue un usuario tiene como password/ <$asT?>!9w
4n lugar de solicitar el password, la aplicacin podra preguntar/
C1U, 9U, $U, :U, #U, 8U, VU * 1%U caracter del passwordD
R -acer +ue la posicin +ue solicita )uera aleatoria
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 30
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin $/ @tilizar (A>I(LA
>rograma +ue puede generar tests +ue/

los -umanos pueden pasar

las m5+uinas no pueden pasar


0ota/ en la @niversidad de (ali)ornia Jen Ber2ele*K -an desarrollado un
programa para romper captc-aFgimp* con un 8#Q de aciertos! @n grupo
de (ambridge -a logrado alcanzar el V#Q!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 31
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin $/ @tilizar (A>I(LAFpi.
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 32
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin $/ @tilizar (A>I(LAFte.t
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 33
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin $/ @tilizar (A>I(LAFgimp*
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 34
$! Medidas de >roteccin
$!1 Impedir ata+ues autom5ticos
Jenumeracin usuarios, password crac2ing, etc!K
'olucin #/ Blo+ueo de cuenta tras un nU de intentos )allidos
>or e<emplo, tras & intentos )allidos blo+uear la cuenta!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 35
$! Medidas de >roteccin
$!$ Implementacin sistema 7C?lvid su contrase1aD8
,ecomendaciones/

'iempre se -a de resetear la contrase1a


4n caso de +ue algui3n obtuviera nuestra contrase1a empleando este
proceso lo detectaramos r5pidamente! 0o podramos entrarT

'i se envan correos con datos sensibles, -an de caducar


>or e<emplo, en $9-! 4l ob<etivo es evitar +ue esos datos puedan ser
utilizados por alguien +ue tuviera acceso a nuestro correo! A ser posible,
los eFmails deberan enviarse encriptados!

'i se opta por las preguntas * respuestas


@tilizar varias preguntas de seguridad! 0o -an de ser predecibles * debe
de)inirlas la aplicacin! 0o de<ar la responsabilidad de seleccionar las
preguntas en manos del usuario!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 36
$! Medidas de >roteccin
$!$ Implementacin sistema 7C?lvid su contrase1aD8
,ecomendaciones/

4nviar la contrase1a por va tele)nica Jvoz, 'M'K


Jcaso 04I(?D4 en A'B Ban2K

@tilizar m3todos -bridos


>or e<emplo/
combinar preguntas"respuestas con llamada tele)nica!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 37
$! Medidas de >roteccin
$!# ,ecomendaciones gen3ricas
@tilizar LII>s para acceder al )ormulario de autenticacin *
durante el envo de datos sensibles!
'i se utilizan coo2ies, utilizar la variable '4(@,4 para
asegurar +ue slo via<aran por un canal encriptado!
0o permitir +ue los mensa<es de la aplicacin posibiliten
deducir in)ormacin Ja trav3s de mensa<es de error o
mensa<es 7controlados8K
0o permitir contrase1as d3biles en el sistema
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 38
$! Medidas de >roteccin
$!# ,ecomendaciones gen3ricas
0o reutilizar cuentas en distintos servicios
,ealizar validaciones de todos los datos de 4"'! 4l )iltro debe
ser en negativo 7>or de)ecto rec-azo todo! 'lo acepto
caracteres dentro del rango !!!8
4liminar del servidor web todos a+uellos recursos +ue no
sean estrictamente necesarios Jmanuales, )ic-eros de
e<emplo, etc!K * no realizar instalaciones 7por de)ecto8!
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 39
#! ,e)erencias
(A>I(LA F www!captc-a!net
4'> Hame F www!espgame!org
>A''MA,O F www!passmar2securit*!com
04I(?D4 F www!asbban2!co!nz"netcode"
'esiones F www!acros!si"papers"sessionW)i.ation!pd)
?=A'> F www!owasp!org
Inseguridad de los sistemas de autenticacin
en aplicaciones web
18"#"$%%& 'lide 40
Dudas, preguntas, comentarios, !!!
D

También podría gustarte