Come battere le slot machine

  1. Alex, colui che decifrò il PRNG utilizzato nelle slot e che divenne milionario
  2. Truffe alle slot machine, manipolazione dell’hardware e attrezzi speciali
  3. Slot e imperfezioni del software
  4. Appendice Come potrebbe funzionare l’algoritmo di Alex

Le slot ben progettate, che funzionano per mezzo di veri Generatori di Numeri Casuali, sono imbattibili in linea teorica. Ma, in realtà, vi sono molti casi documentati di giocatori che sono stati in grado di ingannare le slot, inducendole a pagar loro somme di gran lunga più elevate rispetto alle aspettative dei proprietari di casinò.

Molti di tali trucchi sono veri e propri furti. Essi normalmente includono attrezzi atti a manomettere l’hardware di una slot machine, segnatamente il suo dispensatore di monete o il ricevitore di banconote. Alcuni casi hanno riguardato un complice interno al casinò, che ha fornito aiuto nel manomettere la slot machine.

In altri casi, i giocatori sono stati semplicemente e insolitamente fortunati. Essi furono in grado di trovare una falla nel software, utilizzandola a proprio favore.

Tuttavia, il caso di gran lunga più interessante è la storia recente (2009-2016) di un russo di San Pietroburgo, che riuscì a predire con successo l’esito degli spin su alcuni modelli di slot machine, utilizzando le sue previsioni a proprio vantaggio e spremendo cifre milionarie da casinò di tutto il mondo.

Questa storia è così stupefacente che ho deciso di dedicarle un po’ di tempo e di approfondirla allo scopo di condurre un’analisi quanto più approfondita delle tecniche utilizzate.

Il merito della pubblicazione dei dettagli di questa storia va a wired.com e a Brendan Koerner [1].

Alex, colui che decifrò il PRNG utilizzato nelle slot e che divenne milionario

Alex lavorava come programmatore freelance e hacker quando un casinò russo lo arruolò per manomettere l’RTP di alcune slot machine Novomatic. A tale scopo, Alex dovette imparare dettagliatamente le modalità operative interne di tali macchine. Prese anche conoscenza dei PRNG ("Pseudo Random Number Generators", o Generatori di Numeri Pseudo Casuali), di come funzionano e di come sono utilizzati nelle slot machine. La svolta si materializzò quando si accorse che le slot machine utilizzavano un algoritmo PRNG non sicuro, che si poteva prevedere.

Il vero RNG utilizza il rumore elettromagnetico per generare valori completamente casuali e assolutamente imprevedibili. Il PRNG funziona in un modo diverso. Inizia con un valore predefinito e poi lo mischia con alcuni altri input, per generare una serie infinita di valori. I valori in output del PRNG sembrano del tutto casuali e impossibili da predire a prima vista. Tuttavia, se il PRNG utilizza un algoritmo debole e si riesce a conoscere esattamente quale esso sia, allora si ha la possibilità di predire il numero casuale successivo.

Se il PRNG utilizza un algoritmo debole e si riesce a conoscere esattamente quale esso sia, allora si ha la possibilità di predire il numero casuale successivo.

Apparentemente, Alex aveva notato che gli algoritmi utilizzati da alcune slot machine erano deboli, e decise di utilizzare questa debolezza a proprio vantaggio.

Negli anni che seguirono, riuscì a porre le basi di quella che sarebbe diventata un’operazione di gran lunga più sofisticata:

  • Applicò l’ingegneria inversa a svariati giochi di slot popolari.
  • Sviluppò un algoritmo in grado di estrarre i correnti parametri del PRNG e di predire l’esito degli spin futuri sulla base di due dozzine di spin su una slot.
  • Sviluppò un’applicazione iPhone che utilizzava gli esiti previsti per comunicare al giocatore il momento esatto in cui premere il pulsante spin per conseguire una vincita.
  • Assunse decine di agenti, messi in campo con il compito di spremere i casinò di tutto il mondo nei successivi 6-7 anni.

Alex sostiene che in quel periodo riuscì con il suo team a guadagnare milioni di dollari.

Alex, il russo che riuscì a trovare un modo intelligente per battere le slot

Il sistema di Alex era legalmente e moralmente accettabile?

La tecnica che sviluppò non contiene alcuna manomissione vietata delle slot machine. Ciò è notevolmente in contrasto con molte tecniche di furto descritte più avanti in questo articolo, che ingannano l’hardware delle slot machine, inducendole a distribuire denaro in quantità superiori a quelle previste. La strategia di Alex è fondata su puri calcoli matematici derivanti dalle sue rilevazioni e, quindi, può essere considerata una valida e onesta strategia sul "come battere le slot".

Molti scommettitori esperti (incluso il sottoscritto) considerano le azioni di Alex del tutto corrette e moralmente accettabili. Lo paragonerei al conteggio delle carte nel blackjack, alla caccia ai bonus o al cosiddetto "advantage betting" (scommesse con vantaggio per il giocatore). I casinò mettono volontariamente a disposizione queste slot machine e, quindi, è un loro problema se qualcuno dotato di cervello è in grado di predire gli esiti e trarne vantaggio.

Questa strategia non era illegale da un punto di vista tecnico in molte giurisdizioni. Quindi, pur se alcuni addetti alla sicurezza dei casinò furono in grado di catturare uno degli agenti di Alex, poterono solo confiscargli le vincite e proibirgli l’ingresso al casinò.

Ma i casinò (soprattutto quelli fisici) sono società di notevoli dimensioni, con fondi finanziari imponenti e solidi legami con le autorità locali. Quando i casinò s’accorsero che vi era un gruppo organizzato che utilizzava le loro slot machine come dei veri e propri ATM, non vi è dubbio che agirono dietro le quinte. Le autorità e gli avvocati dei casinò riuscirono alla fine a trovare un’ipotesi di reato che corrispondesse a ciò che tale gruppo stava facendo. Segnatamente, "cospirazione per commettere truffe". Ne conseguì nel 2015 l’arresto di 4 degli agenti di Alex nel Missouri (i quali furono successivamente indiziati di reato e condannati a 2 anni di detenzione in una prigione federale) [2].

Ciò rappresentò il punto di rottura della storia, e alcuni agenti iniziarono a parlare più apertamente dei particolari del loro sistema di sfruttamento. Il gruppo era verosimilmente diventato ben conosciuto dalla maggior parte dei funzionari dei casinò in tutto il mondo, e un ulteriore arresto fu eseguito a Singapore [3].

Il tentativo di Alex di lavorare con i produttori di slot

Alex, resosi conto che era diventato troppo rischioso per i suoi agenti continuare a utilizzare questo sistema, decise di fare un ultimo tentativo per utilizzare le sue capacità di fare soldi. Contattò Aristocrat - il produttore delle slot machine che era riuscito a ingannare - direttamente. Nella speranza di una ricompensa a 8 cifre, offrì i propri servizi per migliorare gli algoritmi del PRNG e sistemare tutte le falle di sicurezza. Al tempo stesso, minacciò di vendere tali informazioni sensibili ai concorrenti di Aristocrat qualora quest’ultima non avesse accettato la sua offerta. Tuttavia, Aristocrat non stette al gioco, malgrado egli avesse loro fornito tutti i dettagli matematici circa la loro vulnerabilità.

Quando Aristocrat rifiutò l’offerta di Alex, quest’ultimo decise di dar loro un’altra possibilità, spingendosi un po’ oltre con la pubblicazione dei dettagli della sua storia. Contattò Brendan Koerner - un uomo che aveva già trattato fatti noti della sua storia in questo articolo.

Brendan acconsentì a continuare il racconto e pubblicò un altro articolocon molti nuovi dettagli forniti direttamente da Alex. Se ciò non fosse avvenuto, non li staresti leggendo nel mio articolo.

Ad ogni modo, questa rappresenta per me la maggiore storia di scommesse del 21esimo secolo. Resto certamente in attesa del prossimo capitolo - e anche di una sua trasposizione cinematografica. Spero che Hollywood gli renda giustizia. Il popcorn è pronto.

Quanto fu grande e quali sono le conseguenze?

Vi sono molte prove che Alex sia stato in grado di applicare con successo la sua strategia su una obsoleta slot machine Aristocrat MK IV. La stessa Aristocrat adesso consiglia ai propri clienti di sostituire tali macchine. Ciò malgrado, vi sono ancora migliaia di tali macchine in molti casinò di tutto il mondo. Comunque, la maggior parte dei casinò non dovrebbe avere alcun problema nel sostituirle quando necessario.

Alex sostiene (e vi sono alcuni segnali a supporto delle sue argomentazioni [4]) che nel 2009 iniziò a decifrare i PRNG di alcuni modelli Novomatic del passato. Tuttavia, è alquanto verosimile che Novomatic sia riuscita a eliminare tale vulnerabilità nel 2011 con un aggiornamento della sicurezza. Forse, questo brevetto Novomatic per "System and Method of Centralized Random Number Generator Processing" del 2013 aveva anche qualcosa a che fare con tutto ciò.

Alex sostiene inoltre di essere riuscito a fare altrettanto con alcune macchine prodotte da Atronic.

Ma la rivendicazione di gran lunga più convincente di Alex è che abbia trovato una vulnerabilità analoga per la macchina Helix di Aristocrat. Helix è uno dei loro modelli attuali e, quindi, se Alex non stava bluffando, allora Aristocrat potrebbe avere un problema ancora più grande - soprattutto se non fosse possibile risolverlo con un aggiornamento di sicurezza o con una contenuta sostituzione di chip. Ma, d’altro canto, Aristocrat è una società di notevoli dimensioni, con ricavi annui di $2 miliardi e profitti annui di $500 milioni. Quindi, riuscirà molto probabilmente a sopravvivere a tutto ciò (con, nella peggiore delle ipotesi, una consistente sostituzione di hardware interno e un certo danno d’immagine).

Comunque, non aspettarti un gran divertimento. Anche se Alex decidesse di pubblicare ulteriori dettagli sui suoi algoritmi, i casinò spegneranno molto verosimilmente le slot machine interessate prima che la gente comune possa avere la benché minima occasione di utilizzare tutto ciò a proprio vantaggio.

Se vuoi divertirti, procurati il tuo Aristocrat e sottoponilo alla tua personale ingegnerizzazione inversa. Scommetto che, con l’aiuto di uno dei miei amici, specialista in microelettronica, saremmo in grado di riuscirci se solo lo volessimo. ;-)

Una storia vera o una leggenda metropolitana?

Vi sono molte prove indirette che la storia raccontata da Alex sia vera. Le autorità non avrebbero arrestato e condannato i suoi agenti in 2 Paesi se non fosse stata vera. Novomatic non avrebbe condotto indagini sulla manomissione delle slot machine e non avrebbe rilasciato aggiornamenti di sicurezza se non fosse stata vera.

Ma non vi sono appositi specialisti della sicurezza alle dipendenze dei produttori di slot? Come avrebbero tali imponenti società potuto sottovalutare una tale vulnerabilità?

Te lo posso spiegare con molta facilità.

Ho lavorato come sviluppatore software per 10 anni e posso dire che le minacce alla sicurezza possono essere facilmente sottovalutate. Ciò è ancor più verosimile quando si tratta di tipi di attacchi nuovi e sconosciuti, come questo. Anche se ci fosse stato un qualche responsabile della sicurezza in carica a quel tempo, sarebbe stato addestrato per arginare solo le minacce a lui note, appunto, in quel momento (la "zampa di scimmia", ecc.). Se il team di sviluppo non avesse avuto al suo interno un vero esperto capace di predire nuove vulnerabilità e di attirare l’attenzione su di esse, allora questa minaccia nei confronti del PRNG avrebbe potuto facilmente essere sottovalutata.

Le autorità regolatrici richiedevano soltanto che il PRNG producesse una distribuzione uniforme dei numeri generati. Questo è ciò che fanno anche i PRNG elementari. L’imprevedibilità (sicurezza crittografica) non ha alcun bisogno d’essere testata.

Il concetto di PRNG suona come qualcosa d’alieno alla maggior parte degli "addetti al business". Si preoccupano solo di alcune cose. Sono soddisfatti quando una slot machine:

  • non si guasta
  • piace ai giocatori
  • fa soldi.

Inoltre, il software all’interno delle slot machine sopravvive spesso a diverse generazioni di macchine, che vengono implementate solo con aggiornamenti di modesta entità. Ma poi, perché cambiare qualcosa che ha funzionato senza alcun problema nel corso degli ultimi 15 anni, giusto? Pertanto, è ben possibile che anche molte delle macchine moderne utilizzino parti di codici risalenti ai primi anni 90.

La mia analisi tecnica del sistema di Alex

So che molti di voi sono impazienti di conoscere dettagliatamente come abbia funzionato il sistema di Alex.

Ecco perché ho raccolto tutti i dettagli pubblicati e deciso di dimostrare come l’ingegnerizzazione inversa possa essere utilizzata per predire gli esiti futuri di una slot PRNG. Consulta la mia analisi tecnica alla fine dell’articolo.

Truffe alle slot machine, manipolazione dell’hardware e attrezzi speciali

Come ho affermato in precedenza, credo che il sistema di Alex fosse eticamente accettabile e anche legale in alcune giurisdizioni. Tuttavia, non tutti i modi utilizzati in precedenza per "battere" le slot sono così. Vi sono numerosi modi illegali con i quali le slot sono state truffate in passato.

La maggior parte delle truffe alle slot machine di cui abbiamo una documentazione ha qualcosa a che fare con la manipolazione dell’hardware e/o mezzi speciali utilizzati per "ingannare" la slot machine e fare soldi.

È importante sottolineare che le manomissioni dell’hardware e l’utilizzo di un qualunque attrezzo per modificare il modo in cui funzionano le slot machine sono pratiche illegali. Questo significa che potresti anche impugnare un’ascia e distruggere l’armadietto per accedere all’area di conservazione del denaro. Da un punto di vista legale, faresti pressoché la stessa cosa.

Alcune di tali manomissioni avvengono ripetutamente, mentre altre rappresentano operazioni una tantum. Ciò che le accomuna tutte è il fatto che funzionano solo con le slot machine reali che puoi trovare nei casinò fisici. I casinò online sono protetti in quanto i giocatori devono trovarsi fisicamente a contatto con una slot machine per poterla manomettere.

Inoltre, dato che i casinò venivano frodati di continuo, essi cominciarono a implementare ulteriormente le misure di sicurezza e gli aggiornamenti dell’hardware, che hanno reso la maggior parte delle frodi, di cui tratterò, impossibili da portare a termine ai giorni nostri.

Bene, parliamone. Ecco alcune delle maniere in cui le slot machine sono state truffate in passato.

Monete o gettoni falsi

La prima frode alle slot di cui parlerò è molto semplice. Include monete false o qualunque altra cosa che le slot machine registrano come forma di pagamento. Se sei in grado di costruire qualcosa che la macchina "pensa" sia una moneta, puoi usarla per fare soldi.

Ovviamente, devi essere in grado di fabbricare le monete a un costo inferiore al loro valore nominale. Nel caso contrario, non ne trarresti un gran profitto.

Vi è un famoso esempio: quello di un uomo che seppe utilizzare questa tecnica con molto successo. Louis Colavecchio è un falsario di casinò statunitense, noto anche come "The Coin". Con la sua banda, seppe fabbricare quantitativi considerevoli di monete e gettoni falsi per casinò, utilizzandoli per fare soldi nei casinò di Atlantic City e del Connecticut. Fu catturato e diventò piuttosto famoso qualche tempo dopo grazie a History Channel, che gli dedicò un documentario.

Monete appese a un filo (yo-yo)

Se hai giocato a yo-yo, sai che va su e giù quando lo maneggi correttamente. E questo è esattamente ciò che fa una moneta appesa a un filo. Per prima cosa, viene inserita nella slot machine e fatta scivolare abbastanza in profondità da indurre la macchina a registrarla e avviare il gioco. Poi viene tirata fuori e riutilizzata di continuo.

Questa tecnica è simile alle monete false, ma elimina la necessità di una loro produzione su larga scala. Con una moneta appesa a un filo, quasi chiunque potrebbe provare a frodare un casinò. Ovviamente, non tutti ci hanno provato e non tutti quelli che ci hanno provato ci sono riusciti.

Un modo semplice che fu utilizzato in passato per battere le slot: una moneta appesa a un filo

Monete limate

La tecnologia adoperata per giudicare la validità delle monete divenne sempre più sofisticata, rendendo obsoleti trucchi quali le monete false - o, comunque, sempre più difficile il portare tali trucchi a compimento con successo. Le slot machine iniziarono a utilizzare un sensore luminoso per registrare i pagamenti e stabilire l’autenticità o la falsità delle monete.

Una moneta limata veniva registrata come forma di pagamento valida, ma falliva la prova del comparatore fisico utilizzato per misurare le dimensioni delle monete in entrata. La moneta veniva quindi restituita al giocatore, pronta per essere riutilizzata.

Se la slot machine richiedeva che la moneta rispettasse i requisiti delle dimensioni, un altro oggetto, unitamente alla stessa moneta limata, veniva inserito nella macchina. Questo oggetto corrispondeva perfettamente alle dimensioni della moneta e restava nella macchina, mentre la moneta limata "ingannava" il sensore ottico e ricadeva al di fuori di esso.

Appendiabiti

I modi descritti in precedenza per battere le slot avevano qualcosa a che fare col modo in cui il denaro veniva inserito nella macchina. Il successivo imbroglio alle slot, e molti di quelli che lo seguiranno, sono differenti. Essi influenzano i modi in cui le slot erogano il denaro- in particolare, le monete.

Devi pensare al vecchio tipo di slot che, ogniqualvolta un giocatore vinceva qualcosa, erogavano direttamente le monete. Erano dotate di un contatore di monete meccanico, che veniva adoperato per contare le monete in uscita dalla macchina nella quantità direttamente corrispondente alla vincita del giocatore.

In questa truffa, un appendiabiti (o qualcosa di simile per sagoma e forma) veniva inserito nell’area adiacente al contatore di monete, influenzandone la precisione. Ciò significava che la slot continuava a pagare più di quanto dovesse, il che rendeva il gioco più redditizio nel lungo periodo.

Giunto "top-bottom"

Un giunto "top-bottom" era un attrezzo formato da due parti… sì, hai indovinato – una superiore e una inferiore, cioè una barra metallica ricurva, che formava un cerchio (parte superiore), e una lunga corda di chitarra o un qualche altro filo sottile (parte inferiore).

Il giunto "top-bottom" è uno dei più noti attrezzi utilizzati per frodare i casinò. Era molto in voga negli anni Settanta e Ottanta. Portò la locuzione " svuotare una slot machine" a un livello totalmente nuovo.

La parte inferiore veniva inserita sul fondo della macchina, dove entrava in contatto con le componenti elettriche interne della macchina, ricavandone una piccola carica elettrica. La parte superiore veniva quindi inserita nella fessura delle monete, chiudendo in tal modo il circuito elettrico e inducendo la macchina a pagare con tutte le monete contenute all’interno.

Zampa di scimmia

La zampa di scimmia fu creata da una leggenda nell’arte del raggiro delle slot machine e dei casinò – Tommy Glenn Carmichael. Ma, per arrivare alla zampa di scimmia, dobbiamo prima ritornare al giunto "top-bottom". Carmichael era il proprietario di un negozio di riparazioni di televisori che non se la passava molto bene. Quindi, quando il suo amico Ray Ming gli presentò il giunto "top-bottom", decise di provarlo.

Ne ricavò un qualche successo, ma fu successivamente arrestato e condannato a 5 anni di prigione, non solo per le sue truffe ma anche per le sue precedenti condanne. Allora si rese conto the l’attrezzo che aveva utilizzato (il giunto "top-bottom") era già piuttosto conosciuto. Capì che doveva inventarsi qualcosa di nuovo per avere successo nel campo delle frodi ai casinò.

Ecco perché inventò la zampa di scimmia. Si procurò un’apparecchiatura di video poker e iniziò le sue sperimentazioni. Carmichael riuscì a creare un aggeggio molto semplice ma ben funzionante. Attaccò una striscia di metallo a una barra metallica ricurva, che poi inserì nello sfiato di una slot machine, ruotandola fino a quando trovò l’interruttore che gestiva la tramoggia delle monete dell’apparecchiatura. Tirò l’aggeggio e prese tutto quello che si trovava all’interno della macchina.

La bacchetta luminosa

Diventando sempre più tecnologicamente avanzate e sicure, le slot machine non utilizzarono più i sistemi meccanici per contare il denaro. Iniziarono a utilizzare sensori ottici, che resero obsoleta la maggior parte delle truffe summenzionate. Ma Carmichael si adattò al cambiamento e inventò un modo per ingannare i nuovi sistemi.

Costruì un piccolo dispositivo in grado di "accecare" il sensore ottico, rendendolo incapace di rilevare quanto denaro veniva inserito nell’apparecchiatura e quanto ne usciva. Poiché la macchina "pensava" che la somma corretta non fosse ancora stata del tutto pagata, continuava a erogare sempre più denaro e a rendere i truffatori sempre più ricchi.

Corda di pianoforte

Il metodo truffaldino costituito da una corda di pianoforte non ha nulla a che fare con l’inserimento o l’erogazione di denaro. La corda di pianoforte era utilizzata per modificare l’esito del gioco, rendendo tale metodo una forma molto particolare di truffa.

Risale al 1982, quando i rulli delle slot machine erano ancora gestiti meccanicamente. La corda di pianoforte veniva inserita nelle parti rotanti all’interno della slot machine. La corda era utilizzata per inceppare l’orologio che misurava la rotazione della ruota, il che significava che i giocatori potevano manipolare l’esito dello spin.

Il gruppo di persone che tentò di portare a termine questa operazione riuscì a vincere $50.000. Tuttavia, vennero filmate nel corso di tutta l’operazione e furono arrestate più tardi. Il loro successo ebbe vita breve ma riuscirono davvero a modificare l’esito del gioco utilizzando semplicemente una corda di pianoforte.

Sostituzione del chip

Dennis Nikrasch riuscì a fare le cose in modo diverso. Acquistò pure una slot machine per "giocarvi" a casa. Capì che il chip dell’apparecchiatura avrebbe potuto essere riprogrammato in modo da alterare l’esito del gioco. I chip riprogrammati avrebbero quindi potuto essere installati nelle slot machine dei casinò e utilizzati per fare molti soldi.

E non tenne per sé questa informazione. Ordinò molti di questi chip, li riprogrammò, si procurò le chiavi di alcune slot machine e ne sostituì i chip. E, "semplicemente" così, riuscì a portare a termine un’operazione di successo che lo rese ricco. Ovviamente, fu poi arrestato nel 2004; morì nel 2010.

Slot e imperfezioni del software

Sebbene questa metodologia per battere le slot non sia tecnicamente un imbroglio o una truffa, ho deciso di trattarla in questo articolo. Le slot sono programmate da persone. E le persone commettono errori. Un errore di programmazione può determinare una falla nel software, che può in seguito (scientemente o meno) essere sfruttata dai giocatori.

Una falla nel software di una slot machine

Vi sono molti casi documentati di falle nel software che hanno prodotto enormi vincite:

  • Nel 2015, una novantenne dell’Illinois vinse 41 milioni di dollari giocando a una slot machine Miss Kitty. Il casinò rifiutò di pagarla.
  • Un uomo vinse un jackpot di 43 milioni di Euro in Austria. Tuttavia, il casinò insistette nell’affermare che egli avesse conseguito solo 4 dei 5 simboli necessari per azionare il jackpot. Quindi, non venne pagato: gli furono invece offerti 100 dollari e un pasto gratuito.
  • Una donna riuscì a vincere un eccezionale jackpot di 42,9 milioni di dollari nella città di New York. L’apparecchiatura aveva un payout massimo di $6.500 e l’enorme vincita era dovuta solo a un’anomalia. Il casinò insistette affinché le venisse corrisposta solo una vincita di $2,25 a fronte del suo spin.

E gli esempi potrebbero continuare. Il punto è che queste vincite colossali, dovute a imperfezioni del software, non vengono praticamente mai pagate. E, peggio ancora, alcuni loschi casinò potrebbero in effetti usare questo argomento per non pagare le vincite legittime, addebitandole a un’imperfezione.

Comunque, un’imperfezione del software non deve sempre portare a vincere un jackpot. Potrebbe invece fornire al giocatore un flusso di vincite minori, oppure fraintendere, favorendo il giocatore, la quantità di denaro inserita nell’apparecchiatura. I casi di questo tipo possono passare inosservati ed essere sfruttati da giocatori astuti.

Devi essere estremamente fortunato per trovare comunque questo tipo di falla. E, anche se ti dovesse riuscire, non puoi mai essere sicuro che riuscirai in effetti a vedere il denaro.

Ma ricorda, la fortuna aiuta la mente preparata. :)

Appendice: Come potrebbe funzionare l’algoritmo di Alex

Iniziamo col riassumere tutto quello che conosciamo della sua strategia:

  • Alex aveva bisogno dei risultati di circa 24 spin per predire gli esiti futuri.
  • Gli agenti attesero il momento propizio per premere il pulsante spin.
  • Brendan Koerner riuscì a risalire alle origini dell’algoritmo del PRNG (sulla scorta delle prove matematiche fornite da Alex), rinvenendole nel libro "The Art of Computer Programming".

Dichiarazione di non responsabilità: la seguente analisi tecnica rappresenta solo le mie teorie su cosa gli ingegneri di Aristocrat possano avere fatto di sbagliato e su come Alex possa averne tratto vantaggio. Malgrado il fatto che io abbia preso in considerazione tutte le informazioni disponibili in quel momento, il fatti potrebbero essere stati diversi in ragione di minori o maggiori dettagli.

Casino Guru esamina più approfonditamente il caso di Alex

Il PRNG che potrebbe essere stato utilizzato nei moduli Aristocrat

Il più elementare degli algoritmi PRNG descritto nel testo "The Art of Computer Programming", che fornisce risultati soddisfacenti, è in effetti piuttosto semplice:

RNG = (a * PreviousRNG + c) mod m

Questo algoritmo, noto come Generatore Lineare Congruenziale (LCG, dall’inglese "Linear Congruential Generator"), è tuttora utilizzato come algoritmo PRNG di default in molti linguaggi di programmazione (per esempio, in Java).

È possibile che gli sviluppatori delle slot machine Aristocrat abbiano adoperato l’algoritmo PRNG di default fornito dal linguaggio di programmazione che avevano in uso? O potrebbero avere utilizzato quel più elementare PRNG che soddisfacesse il requisito dell’uniformità?

Penso che si tratti di uno scenario possibile. Questo algoritmo di default funziona e soddisfa i criteri d’uniformità dei numeri generati casualmente. Potrebbe avere soddisfatto tutti i criteri ai quali i programmatori stavano lavorando nelle specifiche dei requisiti.

Come craccare un PRNG semplice

Adesso, facciamo un po’ di supposizioni riguardanti il modo in cui l’audace Alex possa avere sfruttato questo algoritmo.

1. Decompilazione

Il primo passo è quello di arrivare a conoscere i parametri esatti dell’algoritmo (parametri a, c ed m). Questa è la parte facile, in quanto questi parametri sono scritti in tutte le slot machine. Alex doveva solo leggere il codice binario dalla memoria interna e decompilarlo. Si tratta di un compito che qualsiasi specialista in microelettronica può svolgere, se dotato degli strumenti adatti.

Ma conoscere solo i parametri a, c ed m non è sufficiente. Per mezzo della decompilazione puoi in realtà leggere i parametri di tutti gli algoritmi del PRNG - anche quelli sicuri sul piano della crittografia. Per potere predire e sfruttare la sequenza RNG di una vera slot machine all’interno di un casinò, avrai anche bisogno di conoscere qualcos’altro – il valore corrente di base dell’RNG.

2. Trovare il valore corrente dell’RNG

L’algoritmo LCG PRNG è in genere ritenuto facilmente prevedibile. Ciò significa che, conoscendo solo 3 numeri a caso, sei in grado di calcolare i parametri a, c ed m, e di predire facilmente il numero successivo della sequenza.

Non lasciare che ciò ti confonda, poiché non era questo l’esatto compito che Alex stava affrontando. Alex già conosceva i parametri a, c ed m dalla fase di decompilazione, ma non lo stato corrente del valore dell’RNG.. Fu in grado d’osservare i numeri generati casualmente in maniera indiretta, esaminando le posizioni in cui i rulli si fermavano nel corso degli spin registrati.

Il punto-chiave è che la logica di un gioco di slot è di tipo deterministico ed è programmata all’interno del computer. Può quindi essere decompilata, subire processi d’ingegnerizzazione inversa ed essere sottoposta a simulazioni da qualche altra parte. La logica del gioco prende normalmente un numero a caso e utilizza alcune operazioni matematiche per stabilire dove ogni rullo dovrebbe fermarsi.

I rulli della slot machine hanno di solito da 50 a 100 simboli, tre dei quali vengono visualizzati sullo schermo. Le combinazioni talvolta possono ripetersi e i rulli possono avere una lunghezza variabile, ma ipotizziamo che vi siano 50 combinazioni uniche su ciascun rullo. Il numero casuale seleziona una di queste 50 combinazioni e, quindi, guardando semplicemente al primo rullo nello spin iniziale, puoi eliminare 49/50 (il 98%) dei potenziali numeri casuali.

ESEMPIO

Se il gioco ha 5 rulli, allora solo uno dei 312 milioni di numeri casuali, in media, dà esattamente lo stesso risultato di quello osservato da un giocatore.

Se conosci l’esito di molti, consecutivi e casuali (*) numeri, allora ti ritroverai molto presto con solo 1 numero casuale iniziale, che fornisce l’esito auspicato per tutti gli spin. In effetti, il numero di spin di cui hai bisogno è proporzionale alla lunghezza del numero casuale iniziale.

Quindi, hai solo bisogno di simulare tutti i possibili numeri casuali e voilà… beh, non così velocemente.

Se una slot machine utilizza numeri casuali che sono lunghi 64 bit, allora la simulazione di tutti tali numeri richiederebbe troppa potenza elaborativa (544 anni sul mio laptop). Alex aveva ancora bisogno di un po’ d’aiuto involontario da parte degli sviluppatori Aristocrat. Ho trovato 2 cose che possono avere fatto per aiutare Alex:

  • L’uso di uno stato RNG troppo corto (32 bit).
  • L’uso del numero casuale in un modo tale che possa essere adoperato come ausilio nella ricerca dello stato RNG corrente.

1. Stato RNG troppo corto (32 bit)

I modelli Aristocrat MK IV erano sviluppati su un processore ARM 250 a 32 bit. Se gli sviluppatori decisero di utilizzare anche un "numero radice" (valore iniziale) casuale a 32 bit, allora vi sono solo 4.294.967.296 possibili stati RNG. Potrebbe sembrare un numero elevato, ma i computer attuali sono velocissimi e una tale quantità di opzioni può essere agevolmente esaminata con una potenza brutale (ci vogliono 4 secondi sul mio laptop).

Comunque, considero questa possibilità meno verosimile. Inoltre, un numero casuale a 32 bit è troppo corto per coprire tutti i possibili risultati in alcuni giochi (5 rulli * 90 simboli).

2. Uso di un numero casuale in un modo "facile da sfruttare"

Ipotizziamo adesso che fosse in uso uno stato RNG a 64 bit. Come utilizzare un numero a 64 bit per fermare in modo deterministico 5 rulli da 50 simboli ciascuno? L’approccio più facile, che preserva l’uniformità, sarebbe il seguente:

Pos1 = RND modulo 50
Pos2 = (RND / 50) modulo 50
Pos3 = (RND / (50*50)) modulo 50
Pos4 = (RND / (50*50*50)) modulo 50
Pos5 = (RND / (50*50*50*50)) modulo 50

Ogni rullo utilizza adesso la propria porzione di un numero casuale e non vi è alcuna correlazione tra i singoli rulli. Posto che i numeri casuali sono uniformi, vi è allora una chance uniforme per ogni possibile esito del gioco (**). Il regolatore approva.

Adesso vediamo l’utilizzo:

Se conosci le posizioni del rullo, puoi calcolare facilmente la parte finale di un numero casuale (RND mod 50^5):

RndEnd = pos1 + pos2*50 + pos3*50*50 + pos4*50*50*50 + pos5*50*50*50*50

Ciò ti aiuterà a indovinare lo stato attuale dell’RNG? In effetti, sì. Ti aiuterà moltissimo.

Non hai bisogno ora di simulare tutti i possibili numeri casuali ma solo quelli che terminano in RndEnd. O, per essere più specifico, tutti i numeri casuali che corrispondono alla matrice RndEnd + X * 50^5:

  • 1 * 312500000 + RndEnd
  • 2 * 312500000 + RndEnd
  • 3 * 312500000 + RndEnd

Ora, dai possibili 2^64 valori (18.466.744.073.709.551.616), avrai bisogno di metterne alla prova solo 59.029.581.035. Sono entrambe quantità enormi di possibili valori ma, mentre sul mio laptop la simulazione della prima richiederebbe 544 anni, quella della seconda verrebbe completata in 60 secondi. Si tratta di una differenza immensa.

Questo è tutto. Adesso conosci il numero casuale e puoi predire gli spin futuri.

Il reale sfruttamento dell’RNG condotto da Alex potrebbe essere diverso, ma scommetto che abbia molto in comune con il procedimento che ho qui descritto.

(*) In realtà, Alex non conosceva gli esiti di numeri casuali consecutivi, ma conosceva gli esiti di numeri casuali alquanto ravvicinati nella sequenza.

Gli agenti di Alex dovevano attendere un determinato momento per spingere il pulsante spin. Ciò indica che la macchina Aristocrat MK IV genera in modo continuativo numeri casuali con una qualche frequenza (in alcune giurisdizioni, si tratta di un requisito normativo). Quando un giocatore preme il pulsante spin, il numero casuale corrente viene utilizzato per determinare l’esito dello spin.

Nota che la frequenza di generazione dei numeri casuali deve anch’essa essere programmata all’interno di una slot machine. Pertanto, può essere facilmente letta e predetta dopo la decompilazione del codice.

Ipotizziamo che i numeri casuali in una slot machine siano generati con una frequenza pari a 100/secondo. Giocare 24 round potrebbe richiedere circa 60 secondi e, pertanto, vi sono circa 6.000 numeri casuali coinvolti, dei quali 24 sono stati utilizzati per calcolare l’esito dello spin. A questo punto, il compito consiste nel calcolare il primo numero causale che fornisce l’esito del primo spin, e anche gli esiti dei rimanenti 23 spin, laddove siano ulteriormente sottoposti a ciclo entro i successivi 6.000 cicli. Anche questa simulazione è semplice da eseguire: richiede solo pochi minuti in più (con le opportune ottimizzazioni).

(**) Per ottenere una perfetta uniformità, dovresti scartare quei numeri che sono maggiori di 2^64 – 2^64 mod (50^5).

Link interessanti per saperne di più su questi argomenti (in inglese):

Potrebbe essere utile a qualcuno?

Condividi questo articolo con i tuoi amici.

flash-message-news
Casino Guru News – Segui notizie quotidiane dall'industria del gioco d'azzardo
Forum_alt
Partecipa alla discussione sul nostro Forum e conosci giocatori da tutto il mondo
Iscriviti alla nostra newsletter per nuovi bonus senza deposito, nuove slot e altre novità.