
Apollo 14 – De langste-afstand hack
Hacken
Hacken is een vorm van programmeren. Een slimme, creatieve, magische vorm van programmeren. Een hacker doet dingen die vooraf niet zo bedacht zijn, kiest wegen die nog niet bestonden.
Tenminste, dat is de oorspronkelijke definitie van hacken. Hacken als kwaadwillend inbreken in computernetwerken heeft hier meestal weinig mee te maken. De meeste black hat hackers gebruiken tools en een brute force aanpak.
Wij gaan het hier hebben over de oorspronkelijke betekenis van hacken. Een lange afstandshack die een missie van 400 miljoen dollar (2,6 miljard in huidige dollars) redde.
Apollo 14
Op 5 februari 1971 zaten astronauten Alan Shepard en Edgar Mitchell in de Antares, de maanlander van de Apollo 14. Een laatste routinecheck en dan zouden ze afdalen naar het maanoppervlak. Maar er was een probleem. De ABORT switch, de knop waarmee de astronauten de landing op elk moment konden afbreken, had af en toe kortsluiting. Als zo’n kortsluiting zou optreden tijdens de afdaling, dan zou de boordcomputer het abort programma starten en zou de maanlander direct opstijgen.
De knop repareren was geen optie: het paneel zat stevig vast. De oplossing moest worden gezocht in de software. En ook hier was niet veel speelruimte: de computer was grotendeels voorgeprogrammeerd, met slechts 2000 woorden programmeerbare opslag. Hier konden de astronauten met de hand commando’s aan toevoegen.
Don Eyles
Op aarde werd programmeur en wizz kid Don Eyles uit bed getrommeld. Hij had 3 tot 4 uur om een fix te vinden, op aarde te testen en door te sturen naar de astronauten. Als dat niet lukte was het missie over.

Don Eyles
Het eerste idee was simpel. De computer had twee vlaggetjes, ABORT (die onder andere aangezet kon worden door de ABORT switch) en LETABORT: mag er op dit moment wel afgebroken worden. Als je LETABORT uitzet, negeert de computer de ABORT vlag. Klaar.
Maar dat was niet hoe de computer geprogrammeerd was. De afdaling begon met het aanzetten van de motoren van de maanlander, en de LETABORT werd automatisch weer aangezet direct na dit starten. En zouden de astronauten ‘m weer met de hand moeten uitzetten. Terwijl er ondertussen elk moment kortsluiting kon ontstaan. En o ja, de astronauten hadden het nogal druk op dat moment.
Een vieze truc
Terwijl de astronauten aan de andere kant van de maan verdwenen en het radiocontact 50 minuten verbroken was begon de zoektocht naar een andere oplossing. Die bestond eruit de “major mode”, de operatiemodus, van de maanlander te veranderen. De maanlander was geprogrammeerd om programma 63 draaien, het afdalingsprogramma. Mitchell kreeg de opdracht om in te typen:
VERB 21 NOUN 1 ENTER; 10 10 ENTER; 107 ENTER
Dit commando zette de major mode op 71 (107 octaal). Programma 71 was een van de twee abort routines. Het gevolg was, dat als de ABORT switch kortsluiting zou hebben en de ABORT vlag aan zou zetten, de computer zou denken: “Maar ik zit al in ABORT modus. Dus die hoef ik niet meer op te starten.”
Okee, er waren een paar bij-effecten. In routine 71 konden de motoren niet op volle kracht aangezet worden, dus dat moest na 26 seconden met de hand gedaan worden. Het geheel vergde wat extra werk en nog een paar commando’s, maar het risico op een onverwachte ABORT was zo tot 0 teruggebracht. En omdat de maanlander nog een tweede, kleinere computer had specifiek voor het afbreken van de missie waren ook de astronauten niet in gevaar.
Met 384.000 kilometer geldt dit als de verste hack. De hack die een maanlanding mogelijk maakte.
Is dit echt de verste hack? Vertel het me als je een verdere weet. De verste debug-actie die ik gevonden heb was de NASA Deep Space 1 die na een half jaar in de ruimte en op een afstand van meer dan 100 miljoen kilometer van aarde een Lisp probleem bleek te hebben. Maar ook een ingebouwde debugger. En daarmee kon het probleem op afstand opgelost worden.
No Comments :