NS bleek niet in staat om de gegevens van klanten adequaat te beveiligen. Een klant ontdekte dat iemand die zijn lidnummer en achternaam kende alle opgeslagen gegevens over hem bij de NS kon inzien.
Als oplossingen problemen worden In deze serie worden ict-projecten belicht die bedrijven en/of overheden in een lastig parket hebben gebracht. |
Wie?
NS.
Wanneer?
Eind september 2007.
Wat ging er mis?
Een NS-klant ontdekte dat iedereen die zijn lidnummer en achternaam kende, toegang kon krijgen tot zijn persoonlijke gegevens Op de website was het namelijk mogelijk om je aan te melden voor een nieuw online NS-account, zonder dat werd gecontroleerd of dat account al bestond. Vervolgens kon een kwaadwillende zelf een nieuwe gebruikersnaam invoeren, een nieuw wachtwoord en een nieuw mailadres. Naar dit nieuwe mailadres werd een link gemaild waarop de nepklant kon klikken om zijn nieuwe account te activeren. Het oude account bleef nog steeds in gebruik, maar via deze methode konden ook anderen toegang krijgen tot klantgegevens. Ze konden zien waar iemand woont, wat zijn telefoonnummer is en diensten aanvragen, zoals een OV-chipkaart, een nieuw abonnement of een verhuizing. Hans Van de Looy, principal security consultant bij het beveiligingsadviesbedrijf Madison Ghurka: "Dat is een ernstige zaak: het gaat hier om persoonsgegevens die volgens de wet bescherming persoonsgegevens beschermd moeten worden en op deze manier zonder al te veel moeite toegankelijk blijken voor ongeautoriseerden."
Hoe kwam dat?
Peter Rietveld, senior security consultant bij Traxion, een adviesbedrijf in toegangs- en identiteitsbeheer: "De fout die eind september 2007 aan het licht kwam op de site van de NS is behoorlijk elementair en was er met Tmap (een methodiek voor gestandaardiseerd testen) zo uit gehaald. Dat dit niet is gebeurd, wijst op een slordig proces. Dat maakt de kans klein dat dit de enige fout is. Wanneer dit soort berichten naar buiten komen, kunnen mensen die verstand van zaken hebben bovendien herleiden welke fouten er nog meer in zo’n systeem zitten. Zij kunnen vervolgens ook andere gaten vinden, met mogelijk nog veel ernstigere gevolgen."
Van de Looy: "Het schrijven van software is nog steeds niet eenvoudig, en het schrijven van correcte en veilige software is zelfs erg complex. Zeker als het te maken heeft met systemen waarin meerdere componenten probleemloos met elkaar moeten samenwerken. Verder wordt er bij projecten in veel gevallen onvoldoende aandacht gegeven aan de beveiliging. In sommige gevallen denkt men deze zelfs later nog te kunnen toevoegen. Dit werkt principieel niet. Als je gegevens op een juiste manier wilt beveiligen dan moet je daar – vanaf het opstellen van de functionele specificaties – de juiste aandacht aan geven. Beveiliging kan nooit opgepakt worden als een project. Het is een kwaliteitskenmerk van een systeem."
Rietveld: "Het belangrijkste probleem is nog essentiëler: internetgebruikers hebben geen identiteit. Dat maakt het moeilijk hen te identificeren. Online aanbieders sturen activeringscodes meestal naar een mailadres. Maar een mailadres is niet persoonsgebonden en dus per definitie ongeschikt voor dit doel. Dat is een probleem dat waarschijnlijk pas met Identity 2.0 opgelost kan worden." Identity 2.0 is het idee om gebruikers zich online te laten identificeren via een digitaal identiteitsbewijs, dat wordt uitgegeven door een Identity Provider. Zo kan de gebruiker zelf controleren welke persoonlijke gegevens voor welke aanbieder toegankelijk zijn. Rietveld: "Zolang online identiteitsbewijzen nog niet massaal zijn doorgebroken, is aanmelding via een sms-bericht met een eenmalige toegangscode waarschijnlijk het hoogst haalbare."
Hoe verholpen?
Een woordvoerder van NS: "Na publicatie van een online artikel hierover door Computable hebben we de mogelijkheid om een account aan te maken met alleen het lidnummer en de achternaam van de site verwijderd. Klanten moeten in plaats daarvan nu een formulier invullen met persoonlijke gegevens, die we kunnen matchen met de gegevens die we al hebben." Rietveld: "Zo’n controle alvorens te activeren is veel beter, hoewel het probleem van de ontbrekende identiteit blijft bestaan."
Gebeurt dit vaak?
Rietveld: "Het kan nog veel erger. Vaak is alleen iemands klantnummer al voldoende om zijn gegevens online in te zien. Http is oorspronkelijk niet ontwikkeld voor het opzetten van veilige verbindingen, maar alleen voor het opvragen van een specifieke pagina. Om een klantpagina op te vragen, heb je een unieke string in de applicatie nodig. Het ligt erg voor de hand om het lidnummer daarvoor te gebruiken. Vaak kun je als klant dat lidnummer in de url van je browser zien staan. En omdat lidmaatschapsnummers meestal opvolgend zijn, krijg je door dat nummer met één te verhogen vervolgens het account van een andere klant voor ogen."
Hoe moet het wel?
Rietveld: "Als je klantgegevens goed wilt beschermen, moet je gebruik maken van dynamische cookies in combinatie met ssl. Dat is goed gegaan bij NS. Maar vervolgens moet je niet alleen testen of een applicatie doet wat hij moet doen, maar ook of hij niet doet wat hij niet moet doen."
Er is meer onveilig bij de Nederlandse Spoorwegen. Zie de bijgaande mail die ik in september aan NS Internationaal stuurde. Het antwoord moet nog steeds komen.
Bij een online boeking die ik vandaag uitvoerde was ik zeer verbaasd dat ik alle creditkaart gegevens in moest voeren via een onbeveiligde internetverbinding.
Het kan toch niet waar zijn dat een groot bedrijf als de NS, de beveiliging van haar klantgegevens niet serieus neemt door creditkaartgegevens via een niet veilige internet verbinding te laten verlopen. Ik vind (als ICT consultant en beveiligingsexpert) dat u hiermee een onaanvaardbaar en tevens onnodig risico neemt.
Als bijlage een afdruk van de boekingspagina waar de creditcard gegevens ingevoerd kunnen worden.
http://nl-internet.bene-system.com/selfservice-nsi/fares.do
Aan het website adres (beginnend met http) kan worden gezien dat het hier om een niet veilige verbinding gaat. Een beveiligde verbinding zou beginnen met https.
Wellicht dat u zo goed kunt zijn om mij te berichten hoe u hiermee denkt om te gaan.
Bij het uitblijven van een antwoord zal ik eind oktober deze email met bijlage aanbieden aan de consumentenbond voor nadere uitleg.