Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Un bug di 55 anni è stato scoperto nel mitico gioco Lunar Lander

Redazione RHC : 17 Giugno 2024 06:45

L’ingegnere informatico in pensione Martin K. Martin ha recentemente scoperto un bug nel codice di elaborazione del leggendario gioco per computer “Lunar Lander”, creato nel 1969.

Il gioco consiste nel far atterrare un modulo lunare sulla superficie della Luna. La scoperta è stata fatta mentre studiava la strategia ottimale per l’atterraggio del modulo con il massimo risparmio di carburante.

La prima versione del gioco “Lunar Lander” (dall’inglese “Lunar Module”) è stata scritta dal diciassettenne Jim Storer su un minicomputer PDP-8 utilizzando il linguaggio di programmazione FOCAL. Il testo del gioco mostrava solo gli aggiornamenti di stato relativi alla posizione del modulo lunare durante l’atterraggio sulla superficie lunare. I giocatori dovevano gestire attentamente il consumo di carburante per garantire un atterraggio morbido, prendendo decisioni critiche ogni 10 secondi sulla quantità di carburante bruciato.

Vuoi diventare un Ethical Hacker?
Non perdere i nostri corsi e scrivi subito su WhatsApp al numero
375 593 1011 per richiedere informazioni dicendo che hai trovato il numero sulle pagine di Red Hot Cyber

Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo

Questo gioco primitivo ha aperto la strada alle versioni future. Una versione grafica apparve nel 1974 e un gioco arcade di Atari nel 1979, grazie al quale “Lunar Lander” divenne ampiamente noto. Per il 40° anniversario del primo sbarco dell’uomo sulla Luna nel 2009, un appassionato ha trovato l’autore del gioco originale, Jim Storer, lo ha intervistato e ha raccontato la storia della creazione di Lunar Lander. Storer ha successivamente pubblicato il codice sorgente del gioco sul suo sito web.

Dopo aver analizzato il codice nel 2024, l’esperto di intelligenza artificiale ed ex ricercatore del MIT Martin K. Martin ha identificato un bug nell’implementazione dei calcoli fisici. Il bug è stato attivato quando si tentava di atterrare nel modo più efficiente possibile utilizzando la tecnica della “frenata suicida”, nota tra i fan del gioco Kerbal Space Program. Questa strategia prevede la caduta libera per aumentare la velocità e quindi l’accensione dei motori all’ultimo momento per frenare in sicurezza.

“Recentemente ho studiato il consumo ottimale di carburante per l’atterraggio più morbido con un’elevata spinta residua”, ha scritto Martin sul suo blog. – Inaspettatamente, si è scoperto che la strategia teoricamente migliore non ha funzionato. Il gioco pensava erroneamente che il modulo non toccasse la superficie, quando in realtà ciò accadeva. Mentre approfondivo, sono rimasto stupito dalla complessità della fisica e dei calcoli numerici del gioco. Alla fine ho trovato un bug: l’operazione di divisione per due mancante, che a quanto pare era passata inosservata per quasi 55 anni”.

È una questione di divisione

Nonostante l’utilizzo di una strategia di atterraggio apparentemente perfetta, il gioco riportava in modo incoerente che il modulo mancava completamente la superficie lunare. Incuriosito da questa anomalia, Martin esaminò il codice sorgente e scoprì che l’algoritmo di atterraggio era basato sulla fisica avanzata per l’epoca, inclusa l’equazione di Tsiolkovsky della propulsione a razzo e la serie di Taylor.

Come menzionato nella citazione sopra, la radice del problema risiede in un banale errore di calcolo: l’assenza di divisione per due nella formula per calcolare la traiettoria del modulo lunare. Questa omissione apparentemente insignificante ebbe gravi conseguenze, portando ad un calcolo errato del tempo prima dell’atterraggio e dell’atterraggio stesso. Nonostante l’errore, Martin rimase colpito dal fatto che Storer, da studente delle superiori, fosse in grado di incorporare concetti matematici avanzati nel suo gioco, un risultato significativo ancora oggi.

Contattando lo stesso Storer, Martin apprese che il padre dell’autore di “Lunar Lander” era un fisico e aiutò suo figlio a ricavare le equazioni per la simulazione del gioco.

Sebbene le persone giochino da anni al gioco di Storer con il bug, ciò dimostra che il realismo non è sempre la parte più importante di un’esperienza interattiva coinvolgente. E, fortunatamente per Aldrin e Armstrong, l’effettiva missione lunare Apollo non ha subito un simile errore.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.