Profpraat | Kleine bug blijkt vaak groter softwareprobleem

Waarom je TU/e-pasje ook de vuilnisbak opent

De ondergrondse containers van afvalbeheerder Cure blijken niet goed beveiligd te zijn. Niet alleen de milieupas opent de containers, ook onder meer je TU/e-campuskaart, Fontys-kaart, de OV-chipkaart, NS passagepas, Holland Casino-pas en Gamestate-kaart verlenen toegang. Dit is slechts één voorbeeld van een bug in software die vooraf niet ver genoeg doordacht is. Hoogleraar Formal Systems Analysis Jan Friso Groote onderstreept dat dit voorval niet op zich staat. “Er moeten hogere eisen aan software en programmeurs worden gesteld om te zorgen dat we onze software de baas blijven.”

Op de TU/e-campus staan op meerdere plekken ondergrondse vuilcontainers voor de inwoners van de woontorens. Die gaan open met een pasje dat je krijgt van de gemeente: de milieupas. Maar niet alleen met die pas, ook met onder andere je TU/e-pas en Fontys-kaart. Die hebben - samen met de eerder genoemde pasjes - gemeen dat ze allemaal een RFID-chip in zich hebben zitten. De Cure-container checkt daarop om toegang te krijgen, maar eist verder geen andere data en gaat dus open, ook als het een ander pasje met RFID-chip betreft. En dat is eigenlijk niet hoe het zou moeten, weet ook hoogleraar Groote die verderop uitlegt hoe dit een symptoom is van een groter probleem.

Cure reageert op de fout: “De paslezers die in de containers zaten pikten alle signalen op van RFID-chips. Er is vanuit Cure en de gemeente geïnvesteerd in nieuwe paslezers waardoor dit signaal in de toekomst kan worden afgesteld op de specifieke RFID-chips van de Cure milieupas.” De afvalverwerker zegt al langer bekend te zijn met het lek en eerder dit jaar ook het ED van weerwoord te hebben gediend nadat die krant ook vragen had gesteld.

Overigens blijkt uit dat commentaar dat vuilnisverwerker Cure het niet heel erg vindt dat de vuilnisbakken met allerlei pasjes opengaan. “We hebben liever dat afval in de container belandt, dan ernaast”, aldus Dennis Hendriks van Cure in het ED. ‘Het ‘scanprobleem’ van de afvalcontainers in Eindhoven bestaat al meer dan tien jaar.

Cure geeft aan dat het probleem van de paslezers in de containers ondertussen wel is opgelost, maar dat er nu een gefaseerd plan wordt opgesteld om de nieuwe techniek uit te rollen. De issues met de pasjes zouden betalen per zak kunnen omzeilen, maar Eindhoven is geen diftar-gemeente: je betaalt hier een tarief per huishouden en niet per zak. Of ditzelfde trucje ook in diftar-gemeenten werkt is Cursor onbekend.

Meer zorgvuldigheid nodig

De fout bij Cure was aanleiding om eens dieper te duiken in toegangscontrole middels pasjes. Wat gebeurt er nou als je toegang probeert te krijgen en komen fouten als deze vaker voor? Hoogleraar Formal Systems Analysis Jan Friso Groote zegt van wel. “Ja, fouten in software komen veel vaker voor dan je denkt, ook bij toegangspasjes. We moeten veel zorgvuldiger omgaan met software en de regels die eraan vasthangen.”

Volgens Groote is het niet zo dat we alleen bij AI niet precies weten wat er onder de motorkap gebeurt, ook bij ‘gewone’ software hebben de engineers soms geen idee waarom een fout precies optreedt. “Je moet software eigenlijk zien als een recept of protocol om alle mogelijke situaties af te handelen. En als dat recept niet volledig is uitgedacht, kunnen er dingen misgaan.”

Een gesimplificeerde (en komische) weergave van wat er misgaat als je software niet specifiek genoeg schrijft.

Exact Instructions Challenge - THIS is why my kids hate me. | Josh Darnit

Een gesimplificeerde (en komische) weergave van wat er misgaat als je software niet specifiek genoeg schrijft.

Risico’s

Groote heeft zich in zijn carrière met zijn onderzoeksgroep veel beziggehouden met het doortesten van de juistheid van software bij grote externe organisaties middels wiskundige modellen. Van banken tot vervoerders en industriële bouwers. “En geloof me, we vonden altijd fouten. Dan gingen we in gesprek met de expert van de organisatie en die wist dan meestal ook niet hoe het zo gebeurd kon zijn.” Om privacyredenen kan hij geen namen noemen, maar dat de impact van softwarefouten groot kunnen zijn, bleek onlangs nog tijdens een update voor Windows-computers: de halve wereld had daar last van. De boosdoener bleek een miniem stukje software met de naam Falcon Sensor van beveiligingsbedrijf CrowdStrike. Professionele systemen bij banken, ziekenhuizen, mediabedrijven of vliegvelden ondervonden hinder of functioneerden compleet niet meer. Sommige ziekenhuizen moesten operaties afzeggen, mensen konden niet meer betalen in winkels en luchtvaartmaatschappijen moesten vluchten annuleren. Natuurlijk heeft niet elke softwarefout zoveel impact, maar het gaat erom dat we veel kritischer en zorgvuldiger moeten omgaan met software als uitgangspunt, vindt Groote. Ook wel 'secure-by-design' genoemd.

Hoe blijven we dan de baas over onze software, is een belangrijk vraag hierbij. Groote: “We moeten echt eisen dat software nooit zelf iets doet wat wij mensen onwenselijk vinden. Software mag de pc niet platleggen, data die niet weg moet, mag nooit zomaar worden weggegooid, geheime data mag nooit verklapt worden en een vuilniscontainer mag niet opengaan met pasje dat niet geautoriseerd is daarvoor.”

“Ik denk dat de gemiddelde mens zich onvoldoende bewust is hoeveel schade kapotte software kan aanrichten. We moeten software echt doodserieus nemen en heel hoge eisen stellen aan mensen die software maken”, vindt Groote. “Nu zijn dit ‘maar’ vuilcontainers, maar het gaat om het idee. Als je een product koopt in de EU kun je aan het CE-keurmerk zien dat het goed getest en veilig is. Zoiets zie ik ook wel zitten voor software. Want daar is maar heel weinig voor geregeld nu.”

Wat gebeurt er als je een pasje aanbiedt?

“Er zit een chip en een antenne in een pasje” weet Groote. “Als je een pasje bij een paslezer aanbiedt, vindt er razendsnel communicatie plaats. ‘Welk type kaart ben jij? Een match? Geef me je nummer.’ En dan kan er gecheckt worden of een pasje is wie het zegt te zijn. Vervolgens komt er een conclusie: de bak of deur gaat open of blijft dicht. Dit alles in – meestal – minder dan 1 of 2 seconden.”

Deel dit artikel