jueves, 5 de febrero de 2009

FRAUDE EN LOS CASINOS POR 1.000.000

“Queríamos escribir un libro que fuera a un mismo tiempo una novela de misterio y un manual que abra los ojos a las empresas y les ayude a proteger su información confidencial y sus recursos informáticos.” Kevin Mitnick



El libro “EL ARTE DE LA INTRUSIÓN “ de Kevin Mitnick presenta relatos interesantes de los cuales podemos aprender lecciones por ejemplo nos presenta un fraude en los casinos relacionados con la generación de números aleatorios en los juegos de cartas, a continuación una extracción de algunos párrafos que ilustran lo que les comento, pero les recomiendo que se lean todo el libro ya sea en su versión en inglés o español:

Siempre que [algún ingeniero de software] dice: "nadie se complicaría tanto como para hacerlo", hay algún chaval en Finlandia dispuesto a complicarse.
Alex Mayfield


“…Nos preguntábamos si realmente podríamos predecir la secuencia de cartas. O quizás podríamos encontrar una puerta trasera [en inglés backdoor, un código de software que permite el acceso no autorizado a un programa] que algún programador hubiera podido dejar para su propio beneficio. Todos los programas están escritos por programadores y los programadores son criaturas maliciosas. Pensamos que, de alguna forma, podría dar con una puerta trasera, como, por ejemplo, pulsando una secuencia de teclas que cambiara las probabilidades o encontrando un fallo de programación que pudiéramos explotar.

…"Se me ocurrió que alguien podría haber sido lo suficientemente tonto para poner todo el código en la patente de una máquina de videopóquer".
Aún así, a Mike le sorprendió que "pudiéramos comprar las unidades exactas que se utilizan en los salones de los casinos".
La abrimos, le sacamos la ROM, averiguamos qué procesador era. Habla tomado la decisión de comprar esta máquina japonesa que parecía una imitación de una de las grandes marcas. Pensé simplemente que los ingenieros habrían trabajado bajo presión, que habrían sido un poco holgazanes o un poco descuidados.

…Y resultó que tenia razón. Habían utilizado un [chip] 6809, similar al 6502 de un Apple II o un Atari. Era un chip de 8 bits con un espacio de memoria de 64 K. Yo era programador de lenguaje de ensamblador, así que me era familiar.

…Nuestra esperanza era que el generador de números aleatorio fuera relativamente simple. Y en este caso, a principios de la década de los 90, lo era. Investigué un poco y descubrí que se basaba en algo que Donald Knuth había escrito en los años 60. Esta gente no inventó nada, todo lo que hicieron fue tomar la investigación previa de los métodos de Montecarlo y otras cosas, y refundirlo todo en su código.

…Averiguamos con exactitud qué algoritmo estaban utilizando para generar las cartas; se conoce como registro de desplazamiento lineal con retroalimentación y era un generador de números aleatorio bastante bueno.

…Otra cosa en la que no repararon los diseñadores cuando crearon esta máquina es que no sólo necesitan un generador de números aleatorios. Desde el punto de vista de la estadística, hay diez cartas en cada reparto, las cinco que se muestran inicialmente y una carta alternativa por cada una de ellas que aparecerá si el jugador decide descartar. Resulta que en estas versiones anteriores de las máquinas, salen esas diez cartas de diez números aleatorios consecutivos del generador de números aleatorios.
… Una vez que el cronómetro de cuenta atrás recomenzaba, yo volvía a la máquina. Cuando el reloj hacía "bip, bip, bum ", justo entonces, con el "bum", yo pulsaba el botón para jugar en la máquina otra vez.

…Esa primera vez creo que gané 35.000 dólares.
Llegamos al punto de lograr un 30 ó 40 por ciento de aciertos porque estaba muy bien calculado. Sólo fallaba cuando no sincronizábamos bien el reloj.

…Gané una partida de 45.000 dólares. Salió un técnico que llevaba un cinturón grande, probablemente fuera el mismo tipo que reparaba las máquinas. Tenía una llave especial que los supervisores del salón no tenían. Abrió la carcasa, sacó la placa [electrónica], sacó el chip de la ROM allí mismo, delante de mí. Llevaba un lector de ROM que utilizaba para probar el chip de la máquina con una copia maestra que guardaba bajo llave.

…En la década de 1990, los casinos y los diseñadores de máquinas de juego todavía no imaginaban cosas que después serían evidentes. Un generador de números pseudoaleatorios no genera realmente números aleatorios, sino que, en realidad, almacena una lista de números en orden aleatorio. En este caso, una lista muy larga: 2 elevado a 32 o más de cuatro mil millones de números. Al principio de un ciclo, el software selecciona aleatoriamente un lugar en la lista. Pero después de eso, hasta que vuelva a iniciar un nuevo ciclo de juego, va utilizando los números de la lista en orden consecutivo.

Mediante la ingeniería inversa del software, estos chicos obtuvieron la lista.
Partiendo de cualquier punto conocido de la lista "aleatoria", podían determinar cada uno de los números subsiguientes y con el conocimiento adicional de la velocidad de actuación, podían determinar cuántos minutos o segundos faltaban hasta que apareciera una escalera real de color.”


KEVIN D. MITNICK, El Arte de la Intrusión, Editorial Alfaomega Ra-Ma, México, 2007

No hay comentarios:

web stats