Beheer

Security
security test

Hoe grondig is de vereiste pentest voor coronatestbedrijven?

Lek in Testcoronanu had met pentest gevonden moeten worden, maar dat gebeurde niet.

29 juli 2021

Lek in Testcoronanu had met pentest gevonden moeten worden, maar dat gebeurde niet.

Door een beveiligingsprobleem bij Testcoronanu zijn de privégegevens gelekt van 60.000 mensen die bij dit testbedrijf getest zijn op corona. Het ministerie van Volksgezondheid zei snel dat de kwetsbaarheid in een pentest op had moeten vallen. Toch werd het gat niet blootgelegd. Dus hoe grondig moeten de pentests voor testbedrijven die zich op CoronaCheck willen aansluiten zijn?

Het gat in Testcoronanu werd ontdekt door Daniël Verlaan van RTL Nieuws, die het ‘kinderlijk eenvoudig’ noemde om gegevens in de database van het testbedrijf aan te passen. Het lek zelf ontstond door het gebruik van de database Firestore van Google. Een dergelijke database is na publicatie beschikbaar op het internet. Als de authenticatie en beveiligingsregels niet goed ingesteld zijn, kan iedereen die het project ID raadt data stelen, aanpassen of verwijderen.

Dat is dus ook het geval bij Testcoronanu: de database was voor iedereen met een account op de site bereikbaar, waardoor het mogelijk was om de database te doorzoeken én om zelf een negatief testbewijs toe te voegen. Dat negatieve testbewijs kon vervolgens gebruikt worden om in de CoronaCheck-app een geldige QR-code op te vragen.

Dit soort problemen komen vaker voor: het niet goed configureren van de beveiliging staat zelfs op de zesde plaats in de OWASP-lijst met de tien grootste beveiligingsrisico’s bij webapplicaties. Bovendien heeft Google zelf instructies gemaakt om te voorkomen dat iedereen toegang heeft tot databases. Dat suggereert – zoals het ministerie van Volksgezondheid eerder ook aangaf - dat een fout als deze in een pentest naar voren had moeten komen.

Pentest zelf uitvoeren

Hoewel organisaties verplicht zijn een pentest uit te voeren als zij aangesloten willen worden op CoronaCheck, voert het ministerie van Volksgezondheid die test niet zelf uit. Het ministerie heeft daar ook niet zelf een derde partij voor ingehuurd. Het is dus aan de coronatestbedrijven zelf om een pentest uit te voeren, al dan niet door een derde partij in te schakelen. Toch wordt een pentest niet zomaar geaccepteerd: het ministerie heeft een lange lijst van eisen voor de rapportage die aangeleverd moet worden.

Allereerst moet het onderzoek zo beschreven worden dat het reproduceerbaar is. Daarnaast moeten alle fasen van de pentest uitvoerig beschreven worden, van het verzamelen van informatie en de analyse van kwetsbaarheden tot het maken van de rapportage en de controle. In de beschrijving van het verloop van de test moet precies aangegeven worden wat er getest is, wanneer dat was en hoe dat onderdeel precies getest is.

Mochten er kwetsbaarheden gevonden worden, dan moeten die gerapporteerd worden. Daarbij moet niet alleen de kwetsbaarheid gedetailleerd beschreven worden, maar ook de reproductiestappen, de impact en de oplossingsrichting of 'mitigerende' maatregelen moeten behandeld worden. Verder krijgt iedere kwetsbaarheid een CSSv3-score om de ernst aan te geven en moet er een lijst gemaakt worden van alle getroffen scopeobjecten per kwetsbaarheid.

Als bijlagen verwacht het ministerie tot slot de scanresultaten per uitgevoerde scan, een overzicht van de ontvangen documenten inclusief de hashwaardes, een overzicht van de verstrekte accounts die bij de test gebruikt zijn en een checklist per gebruikte standaard, zoals OWASP of PTES.

Proces fout of de papieren fout?

Het ministerie van Volksgezondheid kijkt op basis van deze rapportage of een testaanbieder voldoet aan diverse beveiligingseisen. Zo mogen er geen openstaande bevindingen zijn met een CVSSv3-score van 4.0 of hoger. Daarnaast valt op dat er specifiek gecontroleerd moet worden op fouten uit de OWASP-lijst: het ministerie verwacht dat coronatestaanbieders daarop testen en aangeven of er een kwetsbaarheid gevonden is of niet. De fout bij Testcoronanu had daarmee dus al gevonden moeten worden.

Dus hoe kan het dan dat dit niet eerder naar voren is gekomen? Dat is ook voor Brenno de Winter, die als privacy- en securityexpert betrokken is bij CoronaCheck, nog een raadsel. Hij benadrukt tegenover AG Connect dat de rapportages streng beoordeeld worden. “We hebben pentesters die naar alle documenten kijken. Dus hier hebben veel mensen naar gekeken.”

Het ministerie gaf in de berichtgeving van RTL Nieuws al aan dat er onderzoek gedaan wordt naar hoe het kan dat Testcoronanu ondanks het gat geaccepteerd is als betrouwbare partner. “We kijken nu naar wat er precies is aangeleverd door hen en hoe het kan dat ze er doorheen zijn gekomen. Of de papieren kloppen niet of het proces klopt niet”, zegt De Winter tegenover AG Connect. Het onderzoek hiernaar loopt nog.

AG Connect heeft Testcoronanu vragen gesteld over de pentest en de resultaten daarvan, maar heeft daar geen reactie op gekregen.

Lees meer over Beheer OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.