In het regeerakkoord van 2012 is afgesproken dat burgers en bedrijven uiterlijk in 2017 zaken die ze met de overheid doen, digitaal kunnen afhandelen. Voor sommige zaken kon dat natuurlijk al; denk aan belastingaangifte. In de afgelopen jaren is dit soort dienstverlening echter flink uitgebreid. Tegenwoordig kunnen allerlei vergunningen en subsidies bij gemeenten, provincies, waterschappen en de Rijksoverheid via internet worden geregeld. Dat gebeurt doorgaans via webapplicaties, maar er kan ook aan mobiele apps worden gedacht. In hoeverre zijn mobiele apparaten geschikt om aan deze informatiestromen deel te nemen?
De bedoelde informatiestromen voeden processen die per definitie raken aan burgers en bedrijven. Bij het beschermen van vertrouwelijkheid, integriteit en beschikbaarheid van die informatie gaat de aandacht in eerste instantie uit naar de datacenters (c.q. ‘rijkscloud’-infrastructuur), waar databases van overheidsorganisaties staan. De veiligheid van computers van burgers en bedrijven is de verantwoordelijkheid van hen zelf.
Wel kan een aanbieder van een mobiele app die veiligheid bevorderen door zélf goed gebruik te maken van beschikbare beveiligingsmechanismen en door bepaalde minimumeisen aan mobiele apparaten te hanteren. Denk daarbij aan jailbreak-detectie en controle op de actualiteit van het besturingssysteem: mits een dienst óók via een alternatief kanaal kan worden afgenomen, is het niet onredelijk om bij mobiele apps bepaalde minimumeisen aan mobiele apparaten te hanteren. Mensen die een te oud apparaat hebben, of een jailbroken apparaat, kunnen dan gebruikmaken van een ander kanaal.
Bij het gebruik van mobiele apparaten kunnen zwakke schakels bestaan:
Werking mobiele besturingssysteem
Zie voor informatie over deze zwakke schakels bijvoorbeeld de OWASP Mobile Top 10 (die niet feilloos is, maar wel nuttig). Blijven er restjes achter op een mobiel apparaat wanneer gegevens worden verwerkt door een app, zoals de browser-app waarmee een webapplicatie wordt gebruikt, of in het logboek dat een mobiele app bijhoudt? Wat zijn valkuilen en kwetsbaarheden op verschillende mobiele platforms, en verschilt dat nog per versie van een mobiel besturingssysteem?
Bij de ontwikkeling van apps is het van belang enig inzicht te hebben in de werking van mobiele besturingssystemen, en welke bijzonderheden per besturingssysteem van toepassing zijn. In het algemeen kan worden gesteld dat het beveiligingsmodel van moderne versies van de meestgebruikte mobiele besturingssystemen, iOS en Android, sterker is dan dat van de meestgebruikte besturingssystemen voor desktops en laptops. Dat bewijst zich onder meer in sandboxing c.q. isolatie van processen en de (standaard) vereiste cryptografische ondertekening van applicaties. Ook zie je dit terug in de fijnkorrelige en applicatiespecifieke toegangsrechten op bestanden en hardware die relatief ‘secure by default’ zijn.
Kwetsbaarheden in veilig OS
Maar óók in die veiligere mobiele besturingssystemen, of in het geval van Android soms in specifieke varianten, zitten natuurlijk kwetsbaarheden. Denk bijvoorbeeld aan Stagefright, waarmee via een kwaadaardig binnenkomend sms- of mms-berichtje commando’s aan de simkaart konden worden onderschept en geïnjecteerd. Of denk aan de op Android gedemonstreerde ‘UI state inference’-aanval waarbij een ongepriviligeerde malicieuze app via gedeeld geheugen kan afleiden op welk scherm de gebruiker zich op dat moment bevindt (inlogscherm?). Dit alles om vervolgens de gebruiker een vals scherm voor te leggen en inloggegevens te onderscheppen.
Patch management
Het dichten van kwetsbaarheden is (ook) op mobiele apparaten niet altijd een gegeven. Zo maakt de diversiteit van het Android-landschap dat niet één organisatie, maar een rééks van organisaties een update beschikbaar moet stellen, wil de kwetsbaarheid worden gedicht op alle in gebruik zijnde Android-apparaten. Dan blijft het nog de vraag welk percentage van de gebruikers de beveiligingsupdate binnen welke termijn installeert en welk deel van de mensen een mobiel Android-apparaat bezit waar géén update voor beschikbaar is. In mei 2015, na Stagefright, rapporteerde Google cijfers waaruit bleek dat 99,3 procent van de apparaten een Android-versie ouder dan 5.1 bevatte, en negen op de tien apparaten Android-versie 4.4 of ouder.
Software veilig bouwen
Ook als een mobiel apparaat naar de huidige stand van kennis veilig is geconfigureerd, is het van belang dat de software die erop wordt gebruikt, is gemaakt met veiligheid in gedachten. Neem bijvoorbeeld interfaces die een app aanbiedt om andere apps toegang te bieden tot gegevens, zoals een werkstroom-app die de kalender of contactenlijst gebruikt via ContentProvider-interfaces die deze aanbieden. Een Android-app kan een database beter niet via een geëxporteerde ContentProvider-interface toegankelijk maken voor andere apps indien die database gevoelige gegevens bevat. Tot en met Android 4.1 (API-level 16) was voor ContentProviders ’true’ de standaardwaarde van de parameter ‘exported’, en was élke ContentProvider dus standaard geëxporteerd.
Andere apps hadden dus standaard toegang tot de gegevens die via ContentProviders toegankelijk waren, tenzij de parameter ‘exported’ voor een ContentProvider expliciet op ‘false’ was gezet. Kennis van de juiste content://-url volstond. Indien een app ook beschikbaar moeten zijn voor oudere mobiele apparaten en dus (ook) wordt gecompileerd tegen oudere api-levels, zijn dat details om op te letten. En zo zijn er meer.
Privacy en veiligheid
Voor gevoeligere vormen van e-dienstverlening, bijvoorbeeld de aanvraag van werkvergunningen of het uitbetalen van aow-pensioen, zijn privacy en veiligheid van evident belang. De Mijn Aangifte-app van de Belastingdienst, in 2013 geïntroduceerd, is wellicht de eerste stap naar e-dienstverlening via mobiele apps. Vooralsnog kunnen daarmee alleen vooraf ingevulde aangiften worden verstuurd, en geen gegevens worden gewijzigd of aangevuld. Dat is wellicht een voorbeeld van een zorgvuldige balans tussen veiligheid en functionaliteit, gegeven de stand van techniek, kwetsbaarheden en dreigingen.
Rijpheid technologie
Is de technologie al rijp voor verdergaande vormen van e-dienstverlening via mobiele apparaten? Hierboven zijn enkele zorgen en aandachtspunten uiteengezet. Mobiele apparaten zijn en worden op bepaalde aspecten veiliger, maar nieuwe functionaliteit en nieuwe toepassing van bestaande functionaliteit brengt vaak nieuwe kwetsbaarheden met zich mee.
Hoewel het aantal openbaar gemaakte ernstige kwetsbaarheden in iOS en Android relatief is beperkt, heeft de status quo mijns inziens vooralsnog toch wat weg van, een beetje gechargeerd, Russische roulette, waarbij je één stap bent verwijderd van een inbreuk op vertrouwelijkheid, integriteit of beschikbaarheid. Je weet immers niet welke kwetsbaarheden niet bekend zijn, of in elk geval niet openbaar bekend. Dat probleem is algemeen bekend en er zijn mitigerende maatregelen. Denk hierbij aan het Nationaal Response Netwerk, waarin ook de Informatiebeveiligingsdienst (IBD) voor gemeenten participeert, en de jaarlijkse Alert Online-campagne, om bewustzijn te bevorderen.
Maar dat blijven doekjes voor het bloeden; het is dus belangrijk te (blijven) investeren in veilige en privacyvriendelijke technologie, ook waar het mobiele apparaten betreft.
Goed stuk. Met terechte waarschuwing om al te enthousiast technologie in te zetten waarbij eigenlijk niet voldoende duidelijk is hoe veilig het eigenlijk is. In meer algemene zin geldt dit natuurlijk niet alleen voor mobiel, maar bij technologie in zijn algemeenheid. Het zal balanceren blijven vermoed ik, waarbij de hoop is dat specialisten vaak genoeg gehoord zullen worden.