El informático cacereño Rafael Santos, lector de KRIPTOPOLIS y practicante del criptoanálisis (como a continuación se demuestra), nos ha informado en primicia de una grave deficiencia en la protección de las populares bases de datos de Microsoft Access 97. Dichas bases de datos permiten la protección de las mismas mediante una palabra de paso, que es almacenada en el propio archivo de base de datos (.MDB) tras ser protegida mediante un algoritmo de cifrado.
+Es segura la implementación de este mecanismo?.
Rafael ha demostrado que el sistema de cifrado de dicha clave dentro del archivo que contiene la base de datos es de una inocencia infantil. El descubridor ha tenido además la gentileza de explicarnos la metodología utilizada para el descubrimiento tanto del algoritmo como de la clave.
Metodología utilizada
Rafael comienza comparando el contenido de un archivo (.MDB) de base datos sin protecci¢n, con el de la misma base de datos con protecci¢n por una palabra clave, y concluye que existen ciertas diferencias a partir de la posici¢n 42H (hexadecimal y considerando 0 el primer octeto del archivo). Repitiendo el experimento observa que la clave (aunque admita 14 caracteres) siempre se almacena en los 13 octetos que comienzan en la posici¢n 42H. Lo que para nuestro criptoanalista resulta incre¡ble es que la palabra clave se almacena tras haber realizado una sencilla operaci¢n XOR (OR exclusiva) de la contrase_a con una clave constante de 13 octetos.
¨Cu l es la clave de cifrado que se utiliza para el XOR?
Os invito, lectores de KRIPTOPOLIS a practicar el m’todo que acabamos de describir para encontrar la clave de cifrado de MS Access 97. Yo lo he hecho y me siento criptoanalista en ciernes…
Si alguien tiene prisa por encontrar dicha clave, la cosa es aon m s f cil. No hay nada que calcular, pues basta con crearse una base de datos sin proteger y mirar el contenido de los octetos 42H a 4EH, que contendr n la clave utilizada para la operaci¢n XOR.
Puede que esto sea tan s¢lo un ejemplo de una nueva tecnolog¡a criptogr fica inventada por el fabricante de Access 97, que podr¡a pasar a los manuales de criptograf¡a con el curioso nombre de «Criptograf¡a XOR de clave poblica».
Aparte de felicitar a Rafael Santos por su descubrimiento, quiero agradecer su desinterado gesto de hacerlo poblico por primera vez pues, aunque su hallazgo no es nuevo, las gentes que anteriormente realizaron el mismo descubrimiento se lo han callado, para explotarlo mediante programas comerciales, cuyo precio va desde los 35$ hasta los 150$ (al final del art¡culo mostramos una relaci¢n de algunos de estos sitios, obtenida tras escasos minutos de bosqueda).
Rafael nos ha remitido tambi’n, como demostraci¢n de su hallazgo, un programa en versi¢n Visual Basic y Delphi que, tras unas veinte l¡neas de c¢digo, nos muestra directamente en pantalla la contrase_a de cifrado de cualquier base de datos Access 97. Lo bueno si breve…
+Tiene soluci¢n (parche) el problema?
Creo que es demasiado tarde. Existen demasiados millones de bases de datos Access protegidas con el algoritmo que hemos descrito. Por cuestiones de compatibilidad, un hipot’tico parche debiera contener la posibilidad de abrir dichas bases de datos con el algoritmo actual, con lo cual el problema de seguridad me parece irresoluble.
Coincido con Rafael Santos en que al menos, a partir de ahora, los usuarios de MS Access 97 sean conscientes de que la protecci¢n de una base de datos con una palabra de paso es como poner puertas al campo.
¨Ser Access 2000 m s seguro?
Rafael Santos nos asegura que no. Lo sabremos en primicia en el pr¢ximo bolet¡n de KRIPTOPOLIS.
* Algunos crackeadores *COMERCIALES* de passwords para Office:
http://soft4you.com/vitas/downl_mso.htm
http://www.crak.com/downsoft.htm
http://www.accessdata.com/passwdprd.html
http://lostpassword.com/access.htm
Fuente: Bolet¡n 141 de KRIPTOPOLIS
