Jelle Ursem is een Nederlandse IT’er die in zijn vrije tijd onderzoekt hoe goed organisaties persoonlijke gegevens van hun klanten of patiënten beschermen. Samen met een Amerikaanse collega-onderzoeker publiceerde hij deze maand een rapport dat veel aandacht kreeg in een aantal internationale cybersecurity publicaties. Hij beschrijft daarin de vaak kinderlijk eenvoudige manier waarop hij toegang wist te krijgen tot medische gegevens van honderdduizenden Amerikaanse burgers. In Nederland lijken zorgorganisaties hun zaken beter voor elkaar te hebben, maar de boodschap van het rapport is voor hen niet minder belangrijk.
Ursem gebruikte geen geavanceerde hacking-technieken om direct in de websites van de betrokken organisaties zelf in te breken. Hij richtte zijn aandacht op GitHub. Dat is een cloud-platform dat door tientallen miljoenen programmeurs over de hele wereld wordt gebruikt als hulpmiddel voor softwareontwikkeling. GitHub biedt versiebeheer, gereedschappen om in teams aan dezelfde code te werken en snelle toegang tot een groot aantal kant-en-klare modules die programmeurs in hun eigen software kunnen gebruiken of aanpassen. De Nederlandse CoronaMelder-app is ook op het GitHub platform ontwikkeld.
Open deur
Ursem ging uit van een triviale veronderstelling. Zou het kunnen dat programmeurs zo slordig zijn dat ze de deur naar vertrouwelijke informatie van hun werkgevers of klanten wagenwijd open zetten? “Ik vroeg me af wat er zou gebeuren wanneer ik met de zoekfunctie van GitHub gewoon eens zou zoeken op termen als “wachtwoord organisatienaam” of “medicaid wachtwoord FTP", aldus Ursem. Medicaid is een collectieve Amerikaanse zorgverzekering; FTP is een manier om gegevens tussen organisaties uit te wisselen.
Het kostte hem minder dan tien minuten om te ontdekken dat GitHub gebruikers inderdaad inlognamen en wachtwoorden voor iedereen leesbaar in de code van hun software hebben verwerkt, of op een andere manier zichtbaar waren in GitHub. Het komt vaak voor dat de software van een zorgorganisaties verbinding moet maken met systemen van ziekenhuizen, verzekeraars of andere organisaties, bijvoorbeeld om declaratiegegevens uit te wisselen. Daarvoor moet die software kunnen inloggen op dat andere systeem. Het is echter een doodzonde om die inloggegevens open en bloot in je programmacode op te nemen, helemaal wanneer je die programma’s ook nog eens onvoldoende beveiligt tegen inzage door andere GitHub gebruikers.
Inloggen via de voordeur
Met de gevonden inloggegevens kon Ursem gewoon via de voordeur inloggen in systemen met vertrouwelijke medische gegevens. In sommige gevallen was dat een database waarmee hij verbinding kon maken, een Gmail account of een opslag van data in de cloud. Vooral e-mail accounts waren een rijke bron voor verder speurwerk, omdat Ursem daarmee alles kon zien wat een medewerker zag: contracten, gebruikersgegevens, interne agenda's, interne documenten, e-mails, adresboeken, team-chats en veel meer.
Zijn zoektocht leidde hem bijvoorbeeld naar Xybion, een Amerikaans softwarebedrijf dat is gespecialiseerd in gezondheidsproblemen op de werkplek. In februari 2020 ontdekte Ursem dat een van hun ontwikkelaars wat code in een openbare opslagplaats had achtergelaten die de gebruikersnaam en het wachtwoord van een systeemgebruiker opleverde. Die code, in combinatie met andere blootgestelde code, gaf Ursem volledige toegang tot het facturering-systeem van Xybion, inclusief gegevens van bijna 7.000 patiënten en meer dan 11.000 claims voor ziektekostenverzekeringen. In het systeem van Shields Health Care Group, een MRI-aanbieder, kreeg Ursem via dezelfde methode toegang tot gedetailleerde PDF-bestanden met de complete ziektegeschiedenis van patiënten. En bij MaineCare, een door de staat gefinancierde zorgaanbieder, bleken vertrouwelijke gegevens van 75.000 burgers uit Maine eenvoudig in te zien te zijn.
Straal genegeerd ondanks bewijzen van lekken
Het gemak waarmee Ursem de ‘inbraken’ kon plegen is niet eens het meest verbazingwekkende onderdeel van het rapport. Minstens zo bizar is de moeite die de Nederlandse hacker moest doen om door te dringen tot de juiste personen bij de getroffen organisaties. “Ik heb alles geprobeerd: mailen, bellen, boodschappen achterlaten, en zelfs klanten van organisaties bellen, maar bij sommige organisaties lukte het me domweg niet om contact te krijgen. Sterker nog: ik werd als verdacht persoon beschouwd, of men dacht dat mijn e-mail een slimme phishing-aanval was."
Vooral grotere organisaties kennen tegenwoordig een zogeheten responsible disclosure beleid. Ontdekkers van een kwetsbaarheid kunnen dan een melding doen bij een bedrijf, overheidsinstantie of andere organisatie. De organisatie heeft dan de kans om de kwetsbaarheid op te lossen. Een organisatie die beleid voor responsible disclosure opstelt, kan zich bijvoorbeeld binden aan het principe dat ze geen aangifte doet als de organisatie en de melder voldoen aan de volgens het beleid geldende spelregels. Sommige organisaties loven ook een beloning uit voor gevonden lekken. Bij de organisaties waar Ursem mee te maken kreeg was het omgekeerde aan de hand: hij slaagde er niet eens in om een persoon te vinden die ervoor kon zorgen dat het lek werd gedicht. Daardoor konden de door hem gesignaleerde kwetsbaarheden maandenlang open blijven staan.
Rapport heeft nu wel impact
Pas toen Ursem contact zocht met een Amerikaanse psycholoog die een blog over cybersecurity schrijft kwam er beweging bij een aantal van de getroffen organisaties. De Amerikaan, die onder de schuilnaam ‘Dissent Doe” het blog DataBreaches.Net publiceert, slaagde er gemakkelijker in om toegang te krijgen tot de verantwoordelijke personen en de lekken te dichten.
Omdat Ursem zijn onderzoek goed had gedocumenteerd en het om een grote groep burgers ging, besloten DataBreaches.Net en Ursem zijn bevindingen in rapportvorm te publiceren. “Je merkt dat een aantrekkelijk ontworpen rapport met goed geschreven informatie meer impact heeft dan een blog op een relatief onbekende hackers-site, zegt Ursem. Toch is hij verrast over het aantal internationale publicaties dat het rapport heeft opgepikt en de reacties in zijn e-mail box. Het rapport geeft een groot aantal aangerichte aanbevelingen om het lekken van vertrouwelijke informatie op GitHub te voorkomen. “De meeste van die aanbevelingen zijn helemaal niet nieuw voor serieuze programmeurs”, zegt Ursem. “Het probleem is niet dat er geen goede beveiliging is op GitHub en andere platforms, het probleem is het gebrek aan discipline bij programmeurs die met vertrouwelijke informatie werken.”
Kan dit ook in Nederland?
Heeft Ursem eigenlijk ook gericht gezocht naar inloginformatie van Nederlandse zorgorganisaties? Hij wist eerder al wel in te loggen in een vertrouwelijk systeem van een Nederlandse hypotheekverstrekker, en kon bijvoorbeeld meekijken in de mailbox van een Belgische advocate. “Ik heb niet extra veel moeite gedaan om ook Nederlandse zorgdata te vinden. Ons zorgsysteem zit anders in elkaar dan in de Verenigde Staten. Toch ben ik er zeker van dat je binnenkort meer zult horen over hoe het gesteld is met de zorgvuldigheid van Nederlandse programmeurs.”
Hij raadt zorgaanbieders wel dringend aan om in ieder geval een e-mail adres en een procedure te hebben wanneer een goedwillende hacker een datalek of kwetsbaarheid wil melden. “Honderd procent zekerheid dat je niet het slachtoffer wordt van een ethische of kwaadwillende hacker zul je nooit hebben. Maar je kop in het zand steken is feitelijk net zo kwalijk als een ontoereikende cybersecurity. Zorg ervoor dat je bereikbaar bent en dat er een plan is”, zegt Ursem.
Plaats een Reactie
Meepraten?Draag gerust bij!