Welke risico’s kleven er aan het gebruik van bedrijfsapplicaties op mobieltjes en tablets? En hoe kunnen deze risico’s worden ingeperkt? Mobile devices worden overal mee naartoe genomen met nieuwe risico’s als gevolg. Je vergeet ze in de trein of laat ze in de haast liggen op de toonbank na het afrekenen van een patatje. Bekende gevaren die de bedrijfsvoering bedreigen en niet genoeg benadrukt kunnen worden. Of valt het allemaal wel mee?
Er zijn grofweg twee typen mobile apps. Het eerste type is de native app, gebouwd met platformspecifieke code en vaak geïnstalleerd via een app store. De tweede soort is de mobile web app. Dit zijn apps die gebruik maken van dezelfde technieken als reguliere websites, maar met een geoptimaliseerde weergave voor kleine schermen en aangepast aan de mogelijkheden van een touchscreen. Web apps hoeven vaak niet geïnstalleerd te worden via een app store; als dit toch moet dan bestaat de installatie enkel uit het laden van een schil om de webbrowser. Een keus voor één van beide opties zou rekening moeten houden met de veiligheidsaspecten.
Native Apps
Native apps lijken een meerderheid te vormen. Dat is niet vreemd. Oorspronkelijk bestonden voor mobieltjes alleen native apps. Voordat 3G gemeengoed werd moesten applicaties en data lokaal opgeslagen worden. Hoewel dit toen de enige en dus beste optie was, heeft deze mogelijkheid verschillende nadelen. Afgezien van het gegeven dat het ontwikkelproces van native apps duur is omdat voor elk platform platformspecifieke aanpassingen gemaakt moet worden, zijn er veiligheidsrisico’s verbonden met het bouwen van dit type applicatie. Ik benoem er hier drie.
Een belangrijk voordeel van native apps is de eenvoudige toegang tot het lokale bestandssysteem. Dit is ook een potentieel risico; data wordt bij de grote mobiele besturingssystemen niet versleuteld opgeslagen en kan dus eenvoudig gekopieerd en gestolen worden. Er is nauwelijks controle mogelijk op versnipperde bedrijfsinformatie die over honderden devices verspreid staat opgeslagen. Sommige voorgeïnstalleerde apps – zoals een e-mail client – bewaren alleen een beperkt aantal dagen e-mails. Oude e-mail kan met een internetverbinding opgevraagd worden. Deze slimme oplossing beperkt de schade die veroorzaakt wordt door het verlies van een device. Helaas wordt deze werkwijze niet door alle native apps toegepast.
Om data in de centrale bedrijfssystemen op te slaan is een connectie met het internet nodig. Daarvoor worden vaak speciale communicatie-interfaces gebouwd bedoeld voor specifieke apps, aangesproken met bijvoorbeeld soap-requests. Server-side access controls moeten opnieuw worden geïmplementeerd of aangepast aan deze nieuwe communicatiemogelijkheid. Daar kunnen fouten gemaakt worden.
Verder bestaat het risico op onveilige datatransmissie. Hoewel ssl-connecties standaard zijn bij veel web applicaties, moet de beveiliging van de transportlaag handmatig geprogrammeerd worden in native apps. Verder zijn er gevallen bekend waarin ssl-beveiliging wel in de programmacode aanwezig is, maar dat deze omwille van testdoeleinden uitgeschakeld was door de ontwikkelaars. Bij het lanceren van deze apps wordt vervolgens vergeten deze beveiliging weer in te schakelen.
Deze drie risico’s worden door het toonaangevende OWASP genoemd in de mobile security top 10; drie risico’s die respectievelijk van toepassing zijn op data security, application security en network security. Om deze risico’s in te perken is een duur en tijdrovend ontwikkel- en testproces nodig. Voor elk platform moet deze procedure doorlopen worden wat de onderhoudbaarheid van de applicatie niet ten goede komt. Het is veiliger en eenvoudiger om mobile web apps te gebruiken voor bedrijfstoepassingen.
Mobile web apps
Een mobile web app is vaak niets meer dan een nieuwe interface die wordt gemaakt door het aanpassen van een stylesheet. Web apps nemen snel toe in populariteit. Er bestaat sinds kort zelfs een mobiel besturingssysteem speciaal bedoeld voor web apps: Firefox OS. Deze ontwikkelingen zijn mede te danken aan de evolutie die mobiele webbrowsers doormaken. Functies die eerder alleen voor native apps beschikbaar waren – zoals het bedienen van een webcam of hardware acceleratie – zijn ook beschikbaar in moderne mobiele webbrowsers. Een web app doet qua functionaliteit en gebruikersvriendelijkheid niet langer onder voor native apps. Dat heeft veel voordelen.
Om te beginnen kan door gebruik te maken van mobile web apps geput worden uit tientallen jaren ervaring in web security. Door de opmars van web apps wordt een nieuw probleem – het probleem van mobile security – verholpen met oplossingen voor bestaande web security problemen. Verder hebben al ontwikkelde websites de ’test of time’ doorstaan en zijn de belangrijke bugs en kwetsbaarheden verholpen. Een mobile web app kan van deze voordelen profiteren. Ook is de winst dat de test procedures van mobile web apps zich alleen hoeven te richten op functionaliteit en gebruikersvriendelijkheid. De security van de mobile web app wordt met dezelfde security testing procedures onderworpen als de eigenlijke web applicatie. Er is niet langer een aparte teststrategie nodig voor mobile devices.
Problemen met onveilige opslag van data, onveilige toegang tot de server of onveilige datatransmissie, zijn nauwelijks van toepassing bij mobile web apps. De eerste kan worden opgelost door de tijdelijke opslag van gegevens te minimaliseren door slim gebruik van http cache-control mechanismen, de tweede door gebruik van ssl-verbindingen die ook op de originele website aanwezig zouden moeten zijn, en het probleem van onveilige server-side access controls is beperkt omdat dezelfde controls in gebruik zijn op zowel de gewone web applicatie als de mobile web app. Door een mobile app te zien als een traditionele website in een nieuw jasje wordt de beveiligingsproblematiek inzichtelijk.
Mobile security wordt web security
Door bestaande web applicaties een nieuwe gebruikersinterface te geven wordt niet alleen op ontwikkelkosten bespaard, maar wordt ook voorkomen dat nieuwe veiligheidsproblemen geïntroduceerd worden. Door voort te borduren op de ruime kennis die voorhanden is met betrekking tot web security kunnen oude oplossingen ook in een nieuwe toepassing relevant blijken.
Afgezien van de mogelijkheden om bedrijfsapplicatie veilig toegankelijk te maken met mobile web apps, moeten we niet vergeten dat de eigenlijke risico’s beperkt zijn. Veel mobiele apparaten vragen om een pincode voordat toegang wordt verleend wat beschermt tegen het gros van de aanvallers. Verder zijn de meeste criminelen niet geïnteresseerd in de minieme hoeveelheid data die op een mobiel apparaat aanwezig is. Deze gegevens zijn vaak alleen interessant voor een niche markt en de dure smartphone waar deze data is opgeslagen is eenvoudiger verkoopbaar. Ook kunnen veel problemen voorkomen worden met gedegen beleid en awareness trainingen.
Groot investeren in oplossingen specifiek voor mobile security lijkt dus onverstandig. Denk niet dat een nieuw probleem altijd een nieuwe oplossing eist. Vaak kan een nieuw probleem gereduceerd worden tot een oud probleem in een nieuw jasje. Het probleem van mobile security kan grotendeels teruggebracht worden tot het bekende probleem van web security. Mobile security vereist geen radicaal andere aanpak maar een integrerende benadering met visie op toekomstige ontwikkelingen.
Arie,
Oud probleem in een nieuw jasje is dat veel (legacy) applicaties nimmer ontworpen zijn met meerlaagse beveiliging. Bij het ‘web enablen’ hiervan werd dan misschien wel communicatiebeveiliging toegevoegd maar dat geeft nog weleens schijnveiligheid zoals we konden leren met valse SSL certificaten van DigiNotar en anderen. En vergeet ook niet dat met Pobelka/Dorifel wachtwoorden en pincodes soms heel makkelijk te verkrijgen zijn. En dat kan natuurlijk ook wat commerciëler gedaan worden met bijvoorbeeld Finfisher om nog eens wat te noemen.Mobile security wordt web security klinkt dan toch een beetje alsof je de sleutel in de achterdeur laat zitten.
@Ewout
Het gaat niet meteen om het beschikbaar maken van legacy applicaties via het web. Waar het om gaat is dat nieuwe applicaties ingericht worden als web applicaties zodat beide beveiligd kunnen worden met principes van web security.
Door virussen liggen wachtwoorden soms snel op straat, maar dat neemt niet weg dat een integrerende benadering naar security helpt om security probleem centraal aan te pakken. Zo wordt two-factor authenticatie aangeboden door veel web applicaties. Deze principes kunnen ook voor mobile web applicaties toegepast worden.
Je laat de sleutel dus niet in de achterdeur zitten. Je zorgt er juist voor dat bezoekers (potentiële aanvallers) van gewone web applicaties en mobile apps allemaal via dezelfde beveiligde toegangsdeur binnenkomen. Dit maakt het security probleem overzichtelijk en vormt de basis voor een veiliger IT systeem.