¿Qué es un ataque de Oráculo?

Un ataque de oráculo analiza cada interacción con un sistema y extrae información oculta o detalles de implementación de este. Defenderse contra ataques de oráculo es fácil, pero solo si se observa la vulnerabilidad primero.

El concepto de un ataque de oráculo se origina del estudio de la criptografía. Al elegir una entrada en texto plano o en ciphertexto a un encriptor o desencriptor, respectivamente, y analizar como la salida se relaciona con la entrada elegida, es posible deducir información valiosa acerca del algoritmo o un set de información oculta, tal como una de las llaves que están siendo utilizadas en el algoritmo.

Tal vulnerabilidad en un criptosistema es nombrada “oráculo”, porque de igual manera que una visita al antiguo oráculo griego en Delphi, cada entrada o pregunta, recibe una salida o respuesta, y es entonces donde el observador decide si la información tiene algún sentido valioso. Cuando la salida de un oráculo en respuesta a múltiples entradas revela una verdad oculta, entonces un ataque criptográfico de oráculo ha sido realizado.

Un ataque clásico de oráculo aplicado a algo más que la criptografía, es una condición donde una contraseña puede ser deducida enviando múltiples contraseñas en secuencia y cuidadosamente monitoreando la cantidad de tiempo requerida para que el sistema responda con un mensaje de error. Es algunas veces el caso que la coincidencia parcial de una contraseña hace que la rutina de validación ejecute tareas adicionales de coincidencia de patrones u otros procesos en el sistema, resultando en respuestas significativamente más tardadas. Adaptando entradas subsecuentes basadas en las pistas reveladas en la salida, o el tiempo que toma el oráculo para producir la respuesta, puede ultimadamente revelar la contraseña correcta. Esto es conocido como un ataque adaptativo de oráculo, donde el oráculo solo revelara algo de valor una pequeña parte a la vez y el adversario debe adaptarse para completar un objetivo de ataque.

Por ejemplo, es muy común para aplicaciones web el ofrecer un método de recuperación de contraseña a sus usuarios. Solo introduce la dirección de correo electrónico en una forma y el servidor de web te enviara tu nueva contraseña por correo. Esta es una bonita forma de auto-servicio, pero ¿Qué pasa cuando tu introduces una cuenta que no existe? En la mayoría de los casos, el servidor desplegara un mensaje de error indicándolo. Esto resulta en un simple ataque de oráculo que permite a cualquiera descubrir el rango entero de cuentas validas, o peor, determinar la dirección de correo electrónico de cada usuario del sitio web (mediate automatización de esta tarea y web scrapping).

Defenderse contra ataques de oráculo es siempre fácil. Lo que no es fácil es observar que el ataque es posible. Mas atención a este método de ataque es crucial para protegerse contra la fuga de información no intencional y mejorar las defensas para servicios de información públicamente accesibles que aceptan todo tipo de consultas.

Referencia:
Scitum SCILabs