Afbeelding-raket-stijgt-op-uit-hand

Hoeveel impact kan een software bug hebben?

Eén typfoutje kan desastreuze gevolgen hebben voor software en daarmee op de dagelijkse gang van zaken.

Denk aan ontploffende raketten, verwijderde Bitcoins en test-features die bedrijven veel meer aandelen laten kopen dan wenselijk is. Ga mee terug in de tijd naar een paar impactvolle en dure software bugs, en ontdek hoe ze voorkomen hadden kunnen worden. 

Zie ook deze blog over de 11 duurste software fouten ooit en de USS Yorktown wikipedia-pagina.

Eén streepje kan een raket laten neerstorten

1962 Mariner 1 Spacecraft

Eén typfoutje kan een gigantische impact hebben. Het gebrek aan een streepje in de code heeft er namelijk voor gezorgd dat een ruimteschip van NASA lanceerde en meteen terug naar aarde kwam. De onbemensde Mariner 1 moest langs Venus vliegen, maar dat is er helaas niet van gekomen. Slechts 290 seconden na de lancering werd de self-destruct optie in werking gesteld.

Tip: maak altijd gebruik van het vierogenprincipe en diverse tests voordat de code live gaat. Gelukkig hebben we in 60 jaar geavanceerde geautomatiseerde tests ontwikkeld die dit soort scenario’s kunnen helpen voorkomen.

Achtergebleven oude code laat een raket ontploffen

1996 ESA Ariane 5 Flight V88

Omdat de software voor de Ariane 4 raket zo goed werkte, is veel van de code ook gebruikt voor de snellere Ariane 5 raket. Oude code van Ariane 4 die niets deed, is achtergebleven totdat ESA erachter kwam dat het helaas toch wel iets deed. Toen de Ariane 5 gelanceerd werd, bleek namelijk dat de oude code de hogere snelheid van de nieuwere raket niet aan kon. Dit veroorzaakte een overflow die de Ariane 5 na een vlucht van 37 seconden liet ontploffen. Dit was lang de meest dure bug ooit met $370 miljoen. 

Tip: ruim oude code op!

Eén nul crasht een heel besturingssysteem

1997 United States Military Industrial Complex ‘Smart schepen’

Toen het US leger slimmere schepen wilde gaan testen in 1997, was dat geen succes. Om een schaalbaar besturingssysteem te ontwikkelen, is er gebruik gemaakt van aangepaste Windows software en een lokale database. Toen heeft een van de medewerkers per ongeluk een 0 op de verkeerde plek gezet. Dit heeft het hele systeem laten crashen. Helaas was er op het testschip alleen legerpersoneel aanwezig, zonder verstand van besturingssystemen. Medewerkers hebben uren moeten wachten totdat ze telefonische hulp kregen om dit op te lossen. 

Tip: zorg dat je alle medewerkers de juiste rechten geeft, zodat niet iedereen zomaar alles kan aanpassen. Ook kan het geen kwaad om intern de benodigde kennis te hebben om dergelijke problemen op te lossen. Maak bijvoorbeeld gebruik van het train-de-trainer principe.

Een glitch die 500 vluchten laat cancelen

2008 Heathrow vliegveld opent een nieuwe terminal

Toen Heathrow in 2008 een nieuwe terminal wilde openen, gooide de software die de bagage managede roet in het eten. Deze software doorstond alle tests, maar faalde toen het in de praktijk gebruikt werd. Hierdoor raakten 42.000 koffers zoek, werden meer dan 500 vluchten geannuleerd en kostte het British Airways meer dan £16 miljoen. De glitch werd veroorzaakt door problemen met het draadloze netwerk. 

Tip: probeer ook aan de invloed van externe tooling te denken bij het testen van nieuwe software.

Eén nul kan enorme hoeveelheden geld laten verdwijnen

2011 Mount Gox Bitcoin Bug

Het bedrijf Mount Gox kreeg in 2011 te maken met een software fout die 850.000 bitcoins heeft laten verdwijnen. In de code was namelijk per ongeluk een 0 gezet op een plek die eigenlijk alles behalve een 0 moest bevatten. Dit typfoutje zorgde er namelijk voor dat de code toch gebruikt kon worden, in plaats van dat het een foutmelding gaf, en daarmee een leeg veld als output had.

Tip: ook hier kunnen het vier-ogenprincipe en geautomatiseerde tests veel impact hebben.

Slechte test-features laten bedrijven failliet gaan

2012 Knight Capital Group trading software

Door een aantal fouten in de software heeft Knight per ongeluk $7 miljard uitgegeven aan 150 verschillende aandelen. Dit fiasco kostte ze uiteindelijk $440 miljoen, waardoor ze failliet gingen. Een van de software fouten die dit veroorzaakt heeft, is het hergebruiken van een oude ‘feature toggle’. Een digitaal knopje dat aangeeft of een bepaalde functionaliteit aan staat of niet. Deze feature toggle was gemaakt voor het testen van een bepaalde functionaliteit, niet voor gebruik in de praktijk. Na een grote update van een van hun servers is daardoor een slechte test-feature in gebruik genomen en heeft deze veel aankopen van aandelen voltooid. 

Tip: hergebruik oude feature toggles nooit!

Een mismatch tussen het aantal invulvelden kan wereldwijd Windows-systemen laten crashen

2024 CrowdStrike Falcon incident

Volgens Techtarget is de CrowdStrike bug misschien wel de grootste IT-storing ooit. Door een slechte software update van CrowdStrike, lagen wereldwijd miljoenen Windows-systemen plat en lieten een blauw scherm zien. Dit heeft diverse bedrijven bij elkaar opgeteld wel $5.4 miljard gekost. De oorzaak was een fout in de logica van de CrowdStrike Falcon, die na de update het Windows- besturingssysteem liet crashen. De integriteit van de update was niet goed genoeg gevalideerd, waardoor er een foutieve versie van een file in de update werd meegenomen. 

Tip: goed testen voor de release van nieuwe software is cruciaal. Daarnaast is het natuurlijk altijd belangrijk om de prestatie van software nauw in de gaten te houden na een update.

Wil je meer informatie over cybersecurity?

Benieuwd naar onze visie en andere maatregelen? Bekijk dan onze cybersecurity-pagina en de Visma Trust Center. Op onze cybersecurity-pagina kun je ook de beveiligingsfactsheet downloaden met nóg meer diepgaande informatie.

Afbeelding-medewerker-cyber-security-achter-laptop

Benieuwd naar Spend Cloud cybersecurity-maatregelen?

Lees meer over onze cybersecurity-visie en alle veilige functionaliteiten van de Spend Cloud op onze cybersecuritypagina. 

Benieuwd wat de Spend Cloud voor jouw organisatie kan betekenen? 

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *