UNIVERSIDAD DE BUENOS AIRES
FACULTADES DE CIENCIAS ECONÓMICAS,
CIENCIAS EXACTAS Y NATURALES E
INGENIERÍA
CARRERA DE ESPECIALIZACIÓN EN SEGURIDAD INFORMÁTICA
Desafíos sobre las nuevas tecnologías de resolución de
CAPTCHA
Características que debería poseer CAPTCHA en el futuro
para su mantenimiento
DANIEL ALEJANDRO MALDONADO RUIZ
[email protected]
TUTOR:
Juan Alejandro Devincenzi
2013 - 2014
Cohorte 2013
DECLARACIÓN
Por medio de la presente, Yo, Daniel Alejandro Maldonado Ruiz,
manifiesto conocer y aceptar el Reglamento de Trabajos Finales vigente y
me hago responsable que la totalidad de los contenidos del presente
documento son originales y de mi creación exclusiva, o bien pertenecen a
terceros u otras fuentes, que han sido adecuadamente referenciados y cuya
inclusión no infringe la legislación Nacional e Internacional de Propiedad
Intelectual.
____________________________
Daniel Alejandro Maldonado Ruiz
i
RESUMEN
El presente proyecto de especialización incluye un análisis teórico-
técnico de las razones del uso de CAPTCHA desde el punto de vista de la
criptografía, y de como con el paso del tiempo la tecnología ha alcanzado el
desarrollo suficiente para poder romper la mayoría de CAPTCHA, ya sea en
función de ataques o de análisis al algoritmo utilizado; para finalmente
plantear los nuevos avances en inteligencia artificial, sobretodo de redes
neuronales avanzadas, que podrían, a mediano plazo, eliminar brechas del
análisis humano-máquina de los test de Turing.
El análisis comienza estudiando como CAPTCHA se utilizó para
resolver ciertos problemas criptográficos basados en los ‘problemas difíciles’
de la inteligencia artificial como primitivas criptográficas y de los análisis de
probabilidad llevados a cabo para comprobar cómo, sin la mediación de una
inteligencia artificial altamente desarrollada, CAPTCHA sirve para resolver
problemas de autenticación frente a sistemas, además de comprobar que el
usuario es una persona.
El avance de la tecnología permitió el desarrollo de herramientas que
podían hacerle frente a CAPTCHA para invalidarlo, estar pruebas iban desde
ataques de fuerza bruta hasta más complejas herramientas de análisis
basado en la extrapolación de la imagen del CAPTCHA para permitir que los
algoritmos de detección óptica determinen el contenido, pero siempre
basados en la brecha humano-maquina existente.
Además, se realiza una introducción a las nuevas tecnologías de
Inteligencia Artificial que, basadas en nuevas redes neuronales avanzadas,
han alcanzado la posibilidad de invalidar CAPTCHA al quitarle la posibilidad
de diferenciar si el usuario es o no una máquina.
ii
Como parte de este análisis, se presentan recomendaciones de cómo
se debe diseñar y mantener CAPTCHA al corto y mediano plazo fortalecido
frente a la evolución de la tecnología y que características debería tener.
Finalmente, se presentan
las conclusiones acerca del estudio
realizado, poniendo especial énfasis en la necesidad de hacer de CAPTCHA
un sistema confiable a mediano plazo.
iii
CONTENIDO
DECLARACIÓN ..................................................................................................... I
RESUMEN............................................................................................................. II
CONTENIDO ........................................................................................................ IV
ÍNDICE DE FIGURAS .......................................................................................... IV
INTRODUCCIÓN ................................................................................................... V
SISTEMA VISUAL DE AUTENTICACIÓN HUMANO-MAQUINA O
CAPTCHA ............................................................................................................. 1
CAPTCHA como modelo de seguridad ...............................................................1
1.1 Definiciones principales .................................................................. 3
Factores de vulnerabilidad de CAPTCHA .........................................................10
DESARROLLO DE REDES NEURONALES AVANZADAS ................................ 17
Redes Neuronales Convolucionales ..................................................................17
Redes Neuronales Recursivas Corticales y el anuncio de Vicarius ..............21
EVOLUCION Y MANUTENCION DE CAPTCHA ................................................ 25
Características para mantener CAPTCHA seguro al corto plazo ..................25
Posibles evoluciones de CAPTCHA al mediano plazo ...................................27
CONCLUSIONES ................................................................................................ 30
BIBLIOGRAFÍA ................................................................................................... 32
ÍNDICE DE FIGURAS
CAPTCHA de Yahoo! ............................................................................................ 8
iv
INTRODUCCIÓN
Desde el desarrollo de los sistemas de computación, se consideró
necesario diferenciar las respuestas que provenían tanto de un sistema
informático como de una persona, para que uno no pueda suplantar al otro.
Alan Turing diseño un test que permitía realizar esta comprobación,
mediante preguntas que solo los humanos estábamos en capacidad de
responder adecuadamente.
Con la masificación de servicios en Internet surgió la necesidad
inversa, es decir, la de comprobar que el usuario que estaba accediendo a
estos servicios sea en efecto una persona y no un bot programado para
saturar un servicio o una red. Por este motivo, se desarrolló CAPTCHA, o
Prueba de Turing Automática y pública para diferenciar humanos de
máquinas, por sus siglas en
inglés. La
idea era mantener a
los
programadores maliciosos fuera de servicios masivos de información; pero
con el tiempo su uso se extendió hasta ser utilizado como prueba de
identificación y autenticación de usuarios, facilitando tareas a criptógrafos y
encargados de seguridad.
Conforme el avance de la tecnología, también comenzaron a aparecer
métodos cada vez más poderosos para burlar CAPTCHA a través de
algoritmos de reconocimiento grafico; sin embargo y a pesar de sus
desarrollos, no habían logrado alcanzar el nivel de poder batir CAPTCHA
completamente, hasta el desarrollo de la nueva inteligencia artificial. Muy
recientes avances en este campo claman haber podido finalmente vencer
CAPTCHA mediante una red neuronal avanzada.
El presente trabajo pretende dar una visión de cuál es la fortaleza de
CAPTCHA desde el punto de vista criptográfico y de seguridad, de cómo los
avances en reconocimiento grafico han permitido vulnerar de alguna manera
este sistema y de que características debería poseer CAPTCHA en el futuro
para poder seguir siendo seguro frente a cualquier ataque, sea este
v
algorítmico o de inteligencia artificial; es decir, que aun solo pueda ser
resuelto por humanos.
Es importante comprender que aun cuando un sistema pueda ser
visto como infalible al corto plazo; la tecnología de inteligencia artificial crece
cada vez más y es un desafío mantener los sistemas seguros en un mundo
donde las máquinas están tomando control de comunicaciones y servicios
con los que nos relacionamos día a día.
vi
SISTEMA VISUAL DE AUTENTICACIÓN HUMANO-MAQUINA
O CAPTCHA
CAPTCHA COMO MODELO DE SEGURIDAD [2][3][5][23]
La necesidad de crear textos que sean ilegibles a las computadoras
ha formado parte de los estudios de los desarrolladores desde los primeros
días de Internet. Ya en 1997 Altavista diseñó un sistema para evitar que bots
ingresaran url’s a su motor de búsquedas [1]. Pero no sería hasta 2000
cuando
investigadores de
la Universidad Carnegie-Mellon e
IBM
desarrollaron un test para evitar que bots desde Internet pudieran acceder y
monopolizar servicios para usuarios. Este test se denominó CAPTCHA, o
Prueba de Turing Automática y pública para diferenciar humanos de
máquinas, por sus siglas en inglés; y fue descrito como tal en una
publicación de 2003, tiempo desde el cual se han desarrollado distintos tipos
de CAPTCHAS en función a las necesidades de los sistemas que poco a
poco iban a invadir la Internet.
CAPTCHA fue diseñado para generar y verificar test que una persona
podría fácilmente resolver, pero que a un sistema computacional le sea muy
difícil. De acuerdo al diseño original, ni siquiera el generador del test en sí
mismo está capacitado para pasarlo. Esta particularidad del diseño ha hecho
que efectivamente sirva para crear una brecha entre humanos e inteligencia
programable. Esta capacidad de diferenciación ha posibilitado que
CAHTCHA sea utilizado como:
Verificador de votantes en encuestas
Comprobador de identidades para la creación de correos electrónicos y
demás servicios sociales en la Red
Implementar restricciones de acceso frente a motores de búsqueda.
Defensas frente al envío masivo de correo basura y malware a través de
listas automáticas
Defensa frente a ataques
Comentarios de: Desafíos sobre las nuevas tecnologías de resolución de CAPTCHA (0)
No hay comentarios