image

Column: App-explosie is achilleshiel smartphone

vrijdag 22 februari 2013, 11:06 door Peter Volckaert, 9 reacties

De veiligheid van mobiele apparaten wordt steeds vaker ter discussie gesteld. Niet zelden berichten media over de ontdekking van malware op mobiele apparaten die het ontvreemden van gevoelige informatie zoals bankgegevens mogelijk maakt. ENISA waarschuwt zelfs dat smart devices het favoriete doelwit voor hackers vormen.

Met name de beveiliging van apps schiet tekort doordat ontwikkelaars de benodigde kennis missen.

Beveiliging apps op de proef gesteld door exploits
Dezelfde haast waarmee de eerste websites in de jaren ’90 werden gelanceerd is momenteel zichtbaar in het aantal aanvragen waarmee app-ontwikkelaars worden overspoeld. Een ontwikkeling die niet uit de lucht komt vallen: in 2016 overstijgt het aantal smartphones en tablets de totale wereldpopulatie. Bovendien blijkt uit eerder onderzoek dat consumenten van smart devices maar liefst 95% van hun tijd aan apps besteden.

De enorme vlucht van de app gaat echter gepaard met risico’s op het gebied van beveiliging. Zeker sinds vertrouwelijke toepassingen zoals internetbankieren hun weg naar de smartphone vinden, wordt de beveiliging van apps op de proef gesteld door exploits die vaak pas achteraf herkend en hersteld kunnen worden.

Verouderd beveiligingsbeleid
Hoewel de discussie anders doet vermoeden, zijn smartphones vanuit beveiligingsperspectief erg goed ontworpen. Dankzij het sandboxing model is het besturingssysteem minder vatbaar voor virussen, mits gevrijwaard van bijvoorbeeld jailbreaks. Marc van Zadelhoff, VP Strategy bij IBM Security Systems, verwacht zelfs dat mobiele apparaten eind 2014 veiliger zijn dan laptops dankzij technologie die zich toelegt op het veiligstellen van de data in applicaties.

Er moet nog wel een lange weg bewandeld worden. De huidige benadering van beveiligen is namelijk te defensief: nu worden er maatregelen genomen tegen elk risico dat zich voordoet. Dat is onhoudbaar nu zowel het volume als de intelligentie van mobiele aanvallen zich in razend tempo ontwikkelen. Controlemechanismes zijn nodig om zowel het mobiele apparaat, het netwerk als het applicatieplatform te beveiligen.

Kwaadaardige code maakt van onschuldige app beveiligingsrisico
De achilleshiel van smartphones is de app. Deze is het doelwit bij uitstek om toegang te krijgen tot een smartphone. Om mobiele apps te voorzien van native functies, denk bijvoorbeeld aan het activeren van de camera op je smartphone, zijn API’s geïntroduceerd. Veel API’s zijn nog in ontwikkeling en bevatten kwetsbaarheden die zich prima lenen voor misbruik.

App-ontwikkelaars beschikken vaak niet over voldoende beveiligingskennis om dergelijke lekken te voorzien tijdens het programmeren. Dit in tegenstelling tot traditionele systeemontwikkelaars. Kwaadaardige code of data injecties kunnen een op het oog onschuldige app omtoveren tot een groot beveiligingsrisico.

Een simpele QR-code kan soms al genoeg zijn om je smartphone blijvend te beschadigen indien de toegangsrechten van de QR-app niet voldoende afgebakend zijn. Ook de klassieke man-in-the middle aanval is een bekend verschijnsel, waar communicatie tussen de app en de backend API’s onderschept wordt om vertrouwelijke informatie te stelen, of zelfs de controle over de smartphone te bemachtigen.

Momenteel wordt geprobeerd de risico’s te beperken door één distributiekanaal te hanteren. Kwaadaardige apps kunnen zo van de onschuldige gescheiden worden. Heikel punt is dat de distributiesnelheid van updates beperkt is. Intermediairs zoals een applicatieplatform moeten updates eerst verifiëren, wat de responsetijd verhoogt en apps langer blootstelt aan risico’s dan nodig is.

Start bij het programmeren
Goede analysetools wijzen ontwikkelaars al tijdens het programmeren op verhoogde risico’s en hebben daarmee tegelijkertijd een onderwijzende en risicobeperkende rol. Dit scheelt organisaties veel ontwikkelkosten voor updates die later plaatsvinden in de app-lifecycle. Minstens zo belangrijk is dat deze tools een schat aan kennis opbouwen die toegepast kan worden op toekomstige API’s.
Een volgende stap is het inbouwen van controlemechanismes in het applicatieplatform om te valideren of apps tussentijds gewijzigd of geïnfecteerd zijn.

Een dergelijk platform moet een proces bevatten dat ontwikkelaars toestaat om direct apps te blokkeren en updates te distribueren wanneer zij dit nodig achten. Ook dient dit platform tools te leveren die beveiligingsmaatregelen vlekkeloos integreren tijdens het ontwikkelproces, zoals bijvoorbeeld bij data-encryptie.

Een goede beveiliging vereist daarnaast een gelaagde, contextbewuste aanpak die in staat is om gebruikers en interacties te herkennen en te autoriseren. Het moet standaard beleid worden om toegangsrechten tot een app te bepalen aan de hand van een nauwkeurige risicobeoordeling van de context. Denk hierbij aan variabelen zoals de locatie, de staat van de smartphone, andere apps, het gebruikte netwerk en zelfs het tijdstip.

Wanneer dit beveiligingselement opgenomen wordt in een bovenliggend applicatieplatform in plaats van de app zelf, kunnen ze simpeler en gebruiksvriendelijker ontwikkeld worden. Daarnaast bieden deze controlemechanismes een duurzaam instrument om cybercriminaliteit tegen te gaan.

Een deel van de app-beveiliging wordt immers overgeheveld, waardoor het risico dat ontwikkelaars kwetsbare coderegels inbouwen sterk afneemt. Ontwikkelaars worden niet meer gedwongen om het wiel telkens opnieuw uit te vinden, zodat het volume en de intelligentie van mobiele aanvallen beheersbaar gehouden kan worden.

Bovenstaande stappen vormen de basis om het huidige defensieve beveiligingsbeleid te vervangen door een getrapte benadering die over de hele linie beveiliging biedt. Organisaties en consumenten worden in mindere mate afhankelijk van de kennis en kunde van een ontwikkelaar, die zijn aandacht weer kan richten op het ontwerp van de app zelf.

Peter Volckaert is werkzaam als Security Consultant voor IBM Security Systems. Deze column is geschreven op persoonlijke titel van de auteur en reflecteert niet noodzakelijk de zienswijze van Security.NL.

Reacties (9)
22-02-2013, 11:32 door Anoniem
"Bovendien blijkt uit eerder onderzoek dat consumenten van smart devices maar liefst 95% van hun tijd aan apps besteden"

Da's interessant. Wat doe je de andere 5%, door menu's navigeren naar andere apps, of naar je homescreen staren ofzo? Alles is een app, dus het is soortvan knap om niet 99% van je tijd in apps te spenderen.

"Hoewel de discussie anders doet vermoeden, zijn smartphones vanuit beveiligingsperspectief erg goed ontworpen"

Valt tegen. Je kan wel zien welke permissies mainstream applicaties nodig hebben, maar vervolgens wordt je eigenlijk gechanteerd: Wil je nou met iedereen kunnen praten op Whatsapp en Facebook, en je actuele locatie, volledige telefoonboek, enz. delen met de bedrijven erachter, ongeacht de dubieuze algemene voorwaarden en privacybeleid? Maar ik ben het wel eens met het punt wat hier bedoeld wordt, het permissies en sandboxing systeem zelf werkt best goed.

"App-ontwikkelaars beschikken vaak niet over voldoende beveiligingskennis om dergelijke lekken te voorzien tijdens het programmeren. Dit in tegenstelling tot traditionele systeemontwikkelaars."

*kuch*Adobe,Java,Microsoft,andere grote bedrijven waar geen domme mensen werken.*kuch*
22-02-2013, 13:20 door Anoniem

Met name de beveiliging van apps schiet tekort doordat ontwikkelaars de benodigde kennis missen.
[/quote]

Start bij het programmeren
[/quote]
Start met het kiezen van veilige developer-software , een veilig systeem en pas als ontwikkelaar je gebruikersgedrag daarop aan.

Zie reactie bij artikel : https://www.security.nl/artikel/45265/1/%27Facebook_en_Apple_geen_doelwit_gerichte_aanval%27.html


Kwaadaardige code of data injecties kunnen een op het oog onschuldige App omtoveren tot een groot beveiligingsrisico.
[/quote]
Een App ontwikkeld op een besmet developer systeem kan wellicht ook leiden tot gecompromitteerde apps (?).
Dan heb je het drinkplaats principe tot in de basis te pakken.
22-02-2013, 16:27 door Anoniem
apps heb je alleen maar nodig als je geen goede OS+browser hebt op je smartphone.
22-02-2013, 16:44 door Earl Grey
Wat ik persoonlijk gebruik als een extra laag beveiliging is een speciale app die elk andere app op mijn telefoon in de gaten houdt. Enkel dan heb ik het gevoel dat ik de touwtjes in handen heb. Ik gebruik hiervoor LBE.

Voorbeeld: Ik installeer een willekeurige file explorer. Gelijk daarna scant LBE de app en wat voor toestemmingen/rechten deze vraagt. Je kan dan simpel per recht A. toestaan. B. prompten. C. verbieden. Een file explorer die om mijn locatie vraagt? Not on my watch. Een spelletje die om mijn IMEI wil hebben? Echt niet. Blokkeren! Elke app werkt daarna natuurlijk gewoon door mits deze een specifieke actie nodig heeft.

Voor toestellen tot Android 4.0:
https://play.google.com/store/apps/details?id=com.lbe.security.lite&hl=nl

Voor toestellen met Android 4.0 en hoger. Deze is officieel nog alleen in het Chinees, maar de handige lui bij XDA hebben een vertaalde versie in het Engels gecompileerd:

http://forum.xda-developers.com/showthread.php?t=1422479


Je hebt wel roottoegang nodig. Dat is security wise natuurlijk niet handig, maar goed. Voor wat hoort wat.
23-02-2013, 22:45 door Anoniem
@Gisteren

Je schrijft: Wat ik persoonlijk gebruik als extra laag beveiliging is een speciale app die elk andere app op mijn telefoon in de gaten houdt.

Zou daar niet al een belletje moeten gaan rinkelen? Een andere app houd dus die app ook weer in de gaten of doet er wat mee :-)
24-02-2013, 12:34 door Anoniem
Door Anoniem: Wat doe je de andere 5%?

Bellen misschien?
24-02-2013, 18:10 door gogonal
Door Anoniem: @Gisteren

Je schrijft: Wat ik persoonlijk gebruik als extra laag beveiliging is een speciale app die elk andere app op mijn telefoon in de gaten houdt.

Zou daar niet al een belletje moeten gaan rinkelen? Een andere app houd dus die app ook weer in de gaten of doet er wat mee :-)


Twijfel je nou aan applicaties die het gedrag van andere applicaties beheren/beperken, etc?. Dan gebruik je zeker ook geen firewall?

back on topic:

Jammer dat LBE de enige app is waarmee je permissies kan beheren. Pdroid werkt geloof ik alleen op android 2.3.
Het kunnen beheren van permissies is helaas niet in het belang van de meeste developers. Wellicht dat het daarom nog zo ontbreekt aan apps die de permissies controleren?
28-02-2013, 14:20 door Peter Volckaert
Door Anoniem: "Bovendien blijkt uit eerder onderzoek dat consumenten van smart devices maar liefst 95% van hun tijd aan apps besteden"

Da's interessant. Wat doe je de andere 5%, door menu's navigeren naar andere apps, of naar je homescreen staren ofzo? Alles is een app, dus het is soortvan knap om niet 99% van je tijd in apps te spenderen.

Volgens het rapport dat ik citeer zou die overige 5% gaan naar mobiel browsen. Apps genieten sinds lang al de voorkeur op mobiel browsen dankzij hun betere gebruikerservaring: snel en toegang tot de smartphone's goodies zoals gps, gyroscoop e.d. Mobiele browsers worden veelal gebruikt om ... naar de appstores te gaan ;-)
06-08-2013, 15:54 door Anoniem
Door Peter Volckaert:Volgens het rapport dat ik citeer zou die overige 5% gaan naar mobiel browsen. Apps genieten sinds lang al de voorkeur op mobiel browsen dankzij hun betere gebruikerservaring: snel en toegang tot de smartphone's goodies zoals gps, gyroscoop e.d. Mobiele browsers worden veelal gebruikt om ... naar de appstores te gaan ;-)
En ik maar denken dat "app" een afkorting van "applicatie" is en dat een webbrowser een applicatie is...

Misschien begrijp ik iets te goed hoe computers en software werken om het onderscheid te snappen. ;-)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.