Romper generador lineal congruente

2

(No estoy seguro de que esta pregunta se ajuste a esta placa, si no es así, redirígeme en consecuencia) (Solo puedo publicar dos enlaces, así que tengan paciencia conmigo: p) (No puedo encontrar ninguna etiqueta decente para esto ... :()

Como puede ver en una de mis preguntas anteriores en este foro, estoy trabajando con los dispositivos Devolo powerline. Estoy intentando reproducir los pasos finales de esto artículo . Rigth ahora estoy atascado con los dispositivos no vulnerables.

Qualcomm proporciona un paquete de software llamado open-plc-utils que se usa en el enlace anterior. Siguiendo la descripción del ataque, hay un paso crucial en el que la dirección MAC del dispositivo se convierte en una contraseña de 16 caracteres de capital. El código de Qualcomm mac2pw convierte correctamente MAC a contraseña para dispositivos TP-Link , pero no para los demás. Ya que estoy intentando atacar un dispositivo Devolo, necesito revelar de alguna manera los cambios realizados en el algoritmo original.

Hasta ahora, leí la descripción de mac2pw y estudié generadores lineales congruentes (ya que uno se usa en mac2pw). Al leer el intercambio de la pila de seguridad, vi que descubrir los parámetros cruciales de LCG (a, c, m) es realmente bastante factible. Sin embargo, el algoritmo proporcionado por Qualcomm no es tan simple. Introduce algo de entropía utilizando solo los números "aleatorios" cuyo módulo de 128 proporciona una letra mayúscula, usa esas mayúsculas para llenar una matriz y luego usa más números "aleatorios" (modded una vez más) para seleccionar la contraseña final de esa matriz . Por lo tanto, no puedo estar seguro de que dos letras de la contraseña correspondan a dos números consecutivos generados por LCG, que son necesarios para romper la LCG.

Supongo que se tomaron a la ligera y solo cambiaron algunos parámetros: a, c y / o m. En caso de que no lo hicieran y escribieran algún otro algoritmo suyo, espero poder descubrir una LCG equivalente.

Tengo seis de las direcciones MAC de Devolo y sus contraseñas correspondientes. Creo que esto debería ser suficiente para que yo descubra el algoritmo subyacente. Creo que no necesito el algoritmo exacto que usa Devolo, uno equivalente debería ser suficiente.

Mi principal problema aquí es cómo superar la entropía y las operaciones de módulo consecutivas. ¿Cómo puedo superar estos y obtener el algoritmo subyacente, o uno equivalente?

EDITAR: También recordé que puedo usar los recursos de la nube para forzar el algoritmo. Al simplificar el algoritmo básico y la fuerza bruta todas las combinaciones de a / c / m, podría obtener un algoritmo similar al original. Sin embargo, no estoy seguro de que sea posible.

    
pregunta Camandros 08.02.2016 - 20:07
fuente

0 respuestas

Lea otras preguntas en las etiquetas