Security-by-design: de hacker-mentaliteit die de zorg nodig heeft

21 oktober 2021
Security-by-design: de hacker-mentaliteit die de zorg nodig heeft
Security
Premium

Het regent beveiligingsincidenten in de zorg-ICT. De Autoriteit Persoonsgegevens (AP) tikt zorginstellingen op de vingers voor hun lakse beveiligingsbeleid. Het ene na het andere artikel verschijnt over databases die op straat liggen. Kranten berichten over coronatestbedrijven die het niet zo nauw nemen met de privacy van hun klanten en de beveiliging van hun systemen. De maatschappelijke verontwaardiging is elke keer groot: hoe heeft dit kunnen gebeuren? Je zou er haast moedeloos van worden en de conclusie kunnen trekken dat computers gewoon inherent onveilige dingen zijn.

Vraag het een willekeurig bedrijf dat zich specialiseert in digitale beveiliging en je krijgt gegarandeerd het antwoord: goede beveiliging is een mindset. Geen checklist, maar een bedrijfscultuur. Geen certificering of normering maar een manier van doen. Een antwoord dat een beetje voelt als een laffe uitweg uit een veel te complex moeras waarin eigenlijk niemand meer echt de weg kent. Maar dat is niet het geval.

Laten we die mindset eens verkennen. Wat maakt dat een CoronaMelder- of CoronaCheck-app wel middels security-by-design is ontwikkeld, en bijvoorbeeld het systeem van Testcoronanu niet?

Als softwareontwikkelaar moet je er in de eerste plaats voor zorgen dat je een product oplevert waarmee je klant aan het werk kan. Doe je dat niet, dan verlies je je bestaansrecht als leverancier. Dat maakt dat bij veel leveranciers de eerste gedachte is: Hoe zorg ik ervoor dat de gebruiker zijn werk kan doen? Hoewel het belangrijk is, is het tegelijk ook gevaarlijk als dat je enige gedachte is.

Balans nodig

Stel je een dierentuin voor waarvan de leiding zich alleen afvraagt hoe ze haar bezoekers zo dicht mogelijk bij de dieren kan laten komen. Er moet niks in de weg staan voor de ultieme safari-beleving. Als er daarbij niet wordt nagedacht over hoe de leeuwen en tijgers weggehouden worden van de bezoekers, dan ga ik niet graag op bezoek in die dierentuin. Het gaat om de balans tussen enerzijds dingen mogelijk maken en anderzijds de veiligheid borgen.

Balans vanzelfsprekend

In een dierentuin vinden we die balans vanzelfsprekend. Dat komt ongetwijfeld ook door het feit dat het voor iedereen zichtbaar en begrijpelijk is. Bij een dierentuin worden er geen discussies gevoerd over ‘wil je dat het veilig is, of wil je dat bezoekers een goede ervaring hebben?’ Daar is het evident dat veiligheid een vereiste is voor een goede ervaring. Vreemd genoeg is dat bij ICT-projecten niet altijd even duidelijk en wordt er nog wel eens de fout gemaakt te denken dat een goed beveiligd systeem automatisch een onwerkbaar systeem is. Ook hier geldt echter dat we gewoon een goede balans moeten vinden.

Met een security-by-design mindset is de juiste vraag om te stellen: hoe zorg ik ervoor dat de juiste personen bij de juiste gegevens kunnen, maar verder niemand? Als je die mindset meeneemt in elke stap van de ontwikkeling, ga je je automatisch ook afvragen hoe kwaadwillenden misbruik kunnen maken van het systeem, en hoe zeker je eigenlijk weet dat de gebruiker achter de computer ook echt is wie hij zegt dat hij is. Je moet als ontwikkelaar dus eigenlijk een hacker-mentaliteit meenemen in alles wat je doet. Elke regel code moet gepaard gaan met de vraag: hoe kun je dit weer kapot maken of omzeilen?

Simpel voorkomen

Bij de ontwikkeling van eerdergenoemde Testcoronanu-website is keurig nagedacht over de vraag: hoe stellen we onze bezoekers in staat afspraken te maken en testresultaten op te halen? Maar men is vergeten zich af te vragen hoe er misbruik gemaakt kon worden van de website. Blijkbaar is dat ook niet afgevangen in een reviewproces. Waardoor per ongeluk iedereen in staat was om alles in de database te lezen en te schrijven. Dat is een hele pijnlijke fout, die simpel te voorkomen was geweest als iemand had bedacht om de vraag te stellen hoe het systeem misbruikt kon worden.

We zien hetzelfde euvel soms bij zorginstellingen. Personeel dat niet betrokken is bij de behandeling kan toch alle dossiers van de instelling inzien, omdat dat soms wel eens handig is. Of omdat het niet anders geconfigureerd kan worden in het systeem. Of omdat het te veel werk is om dat per persoon te configureren.

Men denkt dan: “Maar onze mensen zijn toch te vertrouwen? Iedereen heeft toch een contract getekend en een VOG ingeleverd? En we moeten zorgen dat mensen hun werk kunnen doen!”Toch blijken keer op keer tientallen medewerkers even in het dossier van die ene BN’er te neuzen. En moet om de haverklap een datalek gemeld worden. De bezoekers zaten duidelijk te dicht op de leeuwen.

Hacker-mentaliteit inzetten

Het wordt tijd dat we in de zorg en de zorg-ICT veel vaker die hacker-mentaliteit inzetten: hoe kan iemand hier misbruik van maken en hoe voorkomen we dat al in het ontwerp? Een mooi voorbeeld is de CoronaMelder-app. Een team van ontwikkelaars en beveiligingsexperts heeft een ontwerp gemaakt waarbij expliciet zo min mogelijk gegevens over de gebruiker van de app worden verzameld en bijgehouden. Er is geen landelijke database waarin staat wie wanneer waar is geweest of met wie hij contact heeft gehad. Onder het motto: gegevens die je niet hebt kun je ook niet lekken. En toch is het, dankzij slimme gedistribueerde algoritmes, mogelijk om een waarschuwing te krijgen dat je in de buurt van een met corona besmet persoon bent geweest.

Het helpt dat de broncode van de app publiek beschikbaar is. Daardoor kan iedereen zien hoe het algoritme werkt en dat er inderdaad geen onnodige gegevens worden verzameld. En is het voor beveiligingsexperts en informaticastudenten in het hele land mogelijk om mee te zoeken naar fouten in de app, en zo te helpen om de app maximaal te beveiligen.

Veilig gegevens uitwisselen

Vanuit Nuts (zie ook kader) willen we ook aan de mindset van security by design bijdragen. Nuts is een community van ICT-leveranciers en andere enthousiaste pioniers in de zorg die actief samenwerken om de zorg digitaal beter op elkaar aan te laten sluiten. Wij geloven dat samenwerken aan open standaarden veel krachtiger is dan concurreren op gegevensuitwisseling en onze systemen gesloten houden.

Bij Nuts hebben we een gedistribueerd netwerk ontwikkeld om veilig gegevens uit te wisselen tussen bronsystemen in de zorg. Security-by-design is daarbij één van onze acht primaire uitgangspunten. En ook bij ons systeem is de broncode publiek beschikbaar. Omdat ons netwerk op internationale schaal moet kunnen werken en we het netwerk heel laagdrempelig toegankelijk willen houden voor alle leveranciers kunnen we onmogelijk uitgaan van vertrouwen. We moeten ons bij elke stap afvragen: hoe kan iemand hier misbruik van maken? Kan iemand zichzelf onterecht toegang tot gegevens verschaffen? Kan één leverancier (per ongeluk of expres) het hele netwerk plat leggen?

Daarbij is die hacker-mentaliteit onmisbaar. Wij denken dat de Nederlandse zorgsector er goed aan zou doen om die mentaliteit ook meer te omarmen, en zich beter te wapenen tegen ongewenste toegang. Op zoek naar een nieuwe balans.

Over NUTS

Als zorgorganisaties medische gegevens met elkaar willen uitwisselen, is eenheid van taal en een gemeenschappelijke standaard voor datacommunicatie essentieel. Daarnaast moet de patiënt in sommige gevallen toestemming geven voor de gegevensoverdracht en mogen alleen geautoriseerde zorgprofessionals toegang krijgen tot de data. En natuurlijk moeten systemen van zorgprofessionals elkaar kunnen vinden.

Om deze laatste twee aspecten digitaal te waarborgen, heeft een collectief van IT-aanbieders in 2018 NUTS opgericht. Zorgorganisaties kunnen zich aansluiten bij de Nuts community. Zij kunnen leveranciers oproepen om met NUTS mee te komen doen, want ook IT-leveranciers mogen zich aansluiten. Maandelijks komen er nieuwe partijen bij in de community. Op deze manier werken er leveranciers uit alle zorgsectoren en diverse domeinen actief samen aan open standaarden om echte problemen van echte zorgprofessionals op te lossen.