Trust your software, but verify

29-07-2014 10:32

Zoals de voormalig president Ronald Reagan al stelde: “Trust, but verify” Ook voor de software die we gebruiken speelt dat. Sinds de onthullingen van Edward Snowden is er reden om te twijfelen aan de integriteit van hard- en software en zullen we harder moeten controleren. Dat onderstreepte een beveiliger al te pijnlijk toen hij een aantal gaten in Apple’s iOS had gevonden. Hij denkt dat de gaten er bewust in zijn gemaakt, maar zeker is dat niet. Het kunnen ook gewoon fouten zijn net als dat het onder druk van een overheid bewuste achterdeurtjes kan betreffen.

Gebrek aan inzage

De verhalen van achterdeurtjes zijn niet nieuw. Microsoft wordt er al jaren van beschuldigd, maar het bewijs is alleen nooit echt geleverd. In 2013 werd duidelijk dat Apple in staat is versleutelde informatie op de iPhone en iPad te decoderen. De wachtlijst voor het ontsleutelen van iPhones is zo lang dat de FBI moet wachten en zich over de wachttijd beklaagt. Dus dat er problemen zijn is wel helder. Daarmee helpt Apple niet met het opbouwen van vertrouwen.

Vertrouwen in iets hebben is iets persoonlijks, maar zoals Reagan al duidelijk maakte moet je dan wel controleren. Bij programmatuur gaat dat op basis van technische beschrijvingen of de broncode van de programmatuur. Een check kan door jezelf worden uitgevoerd of door partijen waar je vertrouwen in hebt. Apple is voor iOS oncontroleerbaar en dat helpt bij mij niet bij het vertrouwen.

Overtuiging geen harde garantie

Sommige commerciële software biedt wel de mogelijkheid om de broncode te checken. Op sommige punten doet Microsoft dat. Voor open source software is de toegang zelfs de crux. Het uitvoeren van audits op basis van de broncode behoort dan tot de mogelijkheden.

Door zo’n audit werd duidelijk dat in belangrijke internetversleuteling een heel ernstig lek zat. Het gevolg was dat de versleutelde informatie tussen gebruiker en websites alsnog te achterhalen bleek. Het probleem kreeg de naam Heartbleed. Door het brede gebruik was het lek ook meteen wereldnieuws.

De harde les is dan ook dat open source het wel mogelijk maakt eenvoudiger lekken bloot te leggen, maar dan moet je de controles wel uitvoeren. Bij ‘trust but verify’ hoor je dan ook gebiedend te interpreteren. Je zult ook daadwerkelijk energie in het controleren moeten steken. Dat kan of via auditrapporten die je vertrouwt of op basis van kennis die je vertrouwt.

Twijfel

De beveiligingsonderzoeker die nu de problemen in iOS 7 blootlegt, laat in ieder zien dat er reden voor twijfel is. Maar of er bewust achterdeurtjes in de programmatuur zijn geplaatst weet ik niet. Bij Heartbleed bleek het ook om een ongelukkige fout te gaan. Maar door het niet kunnen checken van de code heeft Apple de schijn tegen. Of dat terecht is, kan ik niet beoordelen. We hebben in het licht van deze discussie geen mogelijkheid tot een “Trust, but verify”.