Mobil-apper og deres tilganger – hva er risikoen?

android-money-permissionPå mange måter er moderne mobile plattformer mer sikre enn operativsystemer vi vokste opp med i Internetts spede barndom. Der virus og malware en gang kunne gjemme seg både her og der, er det få som virkelig anbefaler antivirus-programvare til mobiltelefonen. Også NSM har vært frampå her tidligere, og sagt at mobile plattformer er mye sikrere enn de fleste PCer – og har nok på mange måter rett i det. Likevel kommer mobilene med et par nye trussel-scenarier, som tilsynelatende går under radaren til svært mange, inkludert bedrifter. Dette innlegget handler derfor om såkalte app-tilganger.

android-xml-permissions
Slik angir utvikleren ønskede tilganger for en Android-app.

App-tilganger er en slags brytere som en utvikler skrur på i app-koden, for å gi appen tilgang til en gitt systemressurs. En kart-app trenger f.eks. ofte tilgang til både Internett-tilkoblingen din samt en lokasjons-ressurs som mobil-operativsystemet din tilbyr, for at den skal kunne posisjonere deg automatisk i kartet. Likevel hender det at utviklere glemmer å skru av slike brytere igjen etter å ha eksperimentert med innovative ideer, eller at tilgangene er satt for å sørge for funksjonalitet på et “valgfritt” avansert nivå.

Eller så kan tilgangen være lagt inn, bryterne skrudd på, for å hente ulike data fra mobilen din – med fullstendig overlegg – kanskje til markedsanalyse, kanskje til videresalg; hvem vet. Hvilke risikoscenarier gjør seg da generelt gjeldende for deg og arbeidsgiveren din, eller kanskje dine ansatte, dersom utgiveren faktisk ikke bare har gode intensjoner på dine vegne?

  • Kontaktlisten kan røpe hvem du kjenner. Familiære forhold er vel typisk-norsk “ikke noe å skjule”, men for bedrifter som ikke skal røpe kundeforhold man har til andre, er dette vanskelig å unngå hvis man får kontaktlister på avveie. Tenk samtidig på verdien av Facebook, med deres relasjonsnettverk av folk som sier at de har møtt hverandre. Et tilsvarende nettverk av folk som faktisk kjenner hverandre, men via helt ekte kontaktlister, kan da muligens være verdifullt også? Og hva når anropsloggen også kobles inn?
  • Kalenderen din avslører ikke bare interne aktiviteter og møter med kunder o.l., men kan plutselig også inneholde vedlegg med innkallinger, saksdokumenter, flybilletter og så videre. Unnlater du å akseptere en møteinnkalling fordi den inneholder potensielt sensitiv informasjon?
  • Mikrofon-tilgang er selvsagt for enhver app som tilbyr f.eks. styring via talekommandoer. Samtidig kan lyd-opptak være reneste sugerøret inn i bedriftens aller innerste samtaler, inkludert på styrerommet. Det er ikke lett å avdekke om lekkasjer skjer på denne måten.
  • Posisjoneringstjenester (GPS o.l.) virker umiddelbart mest som en trussel mot privatlivets fred når bevegelsene dine kartlegges over tid, men slike data kan jo også røpe hvilke kunder du besøker i løpet av arbeidsdagen for noen med denne tilgangen.
  • Kamera kan på samme måte som mikrofonen gi bilder av hva som skjer selv internt i virksomheten din, om enn i bruddstykker. Det er likevel grunn til å tro at bilder sammen med andre data øker totalverdien når den lekkede informasjonen selges på markedet.

win8-privacyDet synes kanskje paranoid å tro at konkurrenter gjøre seg nytte av overvåking på dette nivået. Samtidig er det slik at mange ser verdien av å samle slik informasjon. Helt uvitenskapelig gjetter jeg at du har installert en håndfull apper som har fått tilgang til kontaktlisten din, sikkert et par titalls som registrerer posisjonen din, og alt etter ditt eget samtykke. Sannsynligvis er det noen apper der som du ikkje kjenner utgiveren av, heller.

Et av problemene er at selv erfarne IT-folk ikke alltid bedømmer risiko godt når en app blir installert. Selv om app-tilgangene listes opp ved installering fra AppStore, Windows Store eller Play, er det som nevnt f.eks. ikke enkelt å si om mikrofon-tilgangen er en potensiell risiko eller bare til stede for talestyring, diktering eller hva det måtte være. Angivelse av tilgang kommer dessverre ikke sammen med angivelse av formål.

Et annet problem er at svært mange lar barna både få laste ned og bruke apper uten at man har kontroll på hvilke tilganger som aktiveres. Vi har hørt mange dyrekjøpte historier om slike apper som får barna til å trigge kredittgrensen på bankkortet. Men ikke glem at det finnes flere måter å tjene penger på, enten det er annonser eller, ja, salg av personopplysninger. Og der barna får bestemme, er det kanskje ikke så rart med noe som blir installert uansett. Men sånt blir en risiko når telefonen inneholder jobb-relatert informasjon.

android-app-permissionsI tillegg stoler vi gjerne mer på SMS vi mottar enn f.eks. e-post. Men også SMS kan enkelt manipuleres, avsendernavn inkludert (kanskje fra en i kontaktlisten din?). Og hvis man lures til å trykke på en link i en SMS som sørger for installering av en app, kan det hende man stoler litt for mye på det man får installert på hånden (for eksempel en falsk utgave av Flappy Bird). Tilliten er også generelt større til nedlastinger fra de offisielle app-butikkene, uten at disse gir noe særskilt vern mot tilganger du selv aksepterer eksplisitt.

Dessuten kan det hende at appen er sårbar for angrep i seg selv, f.eks. via ukryptert kommunikasjon som kan avlyttes og dermed manipuleres. Slik vil en angriper kunne oppnå samme tilganger på telefonen som den sårbare appen hadde fått til sitt gode formål. Dette kan inkludere tilgang til å lese minnekort og ukrypterte data fra andre applikasjoner. Det kan potensielt også inkludere tilgang til VPN mot arbeidsplassen, og dermed ressurser bak brannmuren.

Kan da også to-faktor-autentisering med SMS regnes som helt sikkert dersom en app har tilgang til å lese dine innkommende SMSer, og samtidig kan sende disse ubemerket av gårde til en web-server? Facebook bruker tilnærmingen til å verifisere brukerens telefonnummer, uten at dette er gjort særlig forståelig for folk flest.

Og så blir jo så veldig mange av oss voksne som barn når vi får en gratis-app i hendene i bytte mot “sånne snåle tilganger, hva nå enn det måtte være”. Dette har Forbrukerrådet nylig publisert en rapport om. Samtidig er det ikke nødvendigvis slik at man slipper unna dersom man betaler for en app.

Det kreves altså ingen sårbarheter i operativsystemet for å utnytte tilganger som brukeren selv har gitt samtykke til. Dette er altså risiko som ikke normalt kategoriseres under “angrep”, men like fullt kan være det. Selv om NSA ikke har apps under eget navn, kan det jo hende de likevel har det under andre navn. Og du trenger ikke akkurat være NSA for å lage en app, eller hva?

For de spesielt interesserte, har jeg til slutt tatt en titt på de ulike operativsystemene og hvordan de legger til rette for informasjonsuthenting med samtykke.

Android gir utviklere tilgang til desidert mest funksjonalitet på mobiltelefonen. Over 140 app-tilganger er det per i dag mulig å sette på en app (riktignok inndelt i 31 grupper), og et utvalg gir et bilde hva en utvikler kan tillate seg å be brukeren om lov til:

  • ADD_VOICEMAIL Allows an application to add voicemails into the system.
  • BRICK Required to be able to disable the device (very dangerous!).
  • CALL_PHONE Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.
  • CALL_PRIVILEGED (call any phone number, including emergency numbers, without going through the Dialer user interface)
  • CAMERA Required to be able to access the camera device.
  • CAPTURE_AUDIO_OUTPUT Allows an application to capture audio output.
  • GET_ACCOUNTS Allows access to the list of accounts in the Accounts Service.
  • INSTALL_PACKAGES Allows an application to install packages.
  • MANAGE_ACCOUNTS Allows an application to manage the list of accounts in the AccountManager.
  • READ_CALENDAR Allows an application to read the user’s calendar data.
  • READ_CALL_LOG Allows an application to read the user’s call log.
  • READ_CONTACTS Allows an application to read the user’s contacts data.
  • READ_EXTERNAL_STORAGE Allows an application to read from external storage.
  • READ_SMS Allows an application to read SMS messages.
  • READ_SYNC_SETTINGS Allows applications to read the sync settings.
  • RECEIVE_SMS Allows an application to monitor incoming SMS messages, to record or perform processing on them.
  • RECORD_AUDIO Allows an application to record audio
  • SEND_SMS Allows an application to send SMS messages.
  • WRITE_SECURE_SETTINGS Allows an application to read or write the secure system settings.
  • WRITE_SYNC_SETTINGS Allows applications to write the sync settings

Windows Phone 8 gir til sammenligning 36 app-tilganger (samtidig som Windows 8.1 har også en tilnærming som ligner mer på IOS7), selv om noen tilsvarer såkalte tilgangs-grupper hos Android (altså mindre finkornet tilgangsstyring), blant annet:

  • ID_CAP_MICROPHONE Provides access to the phone’s microphone. An app with this capability can record without a visual indication that the microphone is recording.
  • ID_CAP_IDENTITY_USER Gives an app the ability to use an anonymous Microsoft account to identify the user.
  • ID_CAP_IDENTITY_DEVICE Provides access to device-specific information such as a unique device ID, or the manufacturer or model name.
  • ID_CAP_APPOINTMENTS Provides access to appointment data.
  • ID_CAP_CONTACTS Provides access to contacts data.
  • ID_CAP_LOCATION Provides access to location services.
  • ID_CAP_MEDIALIB_PHOTO Provides read-only access to photos in the media library, and photo properties, such as category. It also gives an app the ability to save photos in the Camera Roll and Saved Pictures folders.
  • ID_CAP_REMOVABLE_STORAGE Provides access to data storage on an external storage component, such as an SD card.
  • ID_CAP_ISV_CAMERA Provides access to the rear (primary) camera or front-facing camera.

Flere av tilgangene gir kun tilgang til å bruke ressursene via operativsystemets eget brukergrensesnitt (kontra usynlig i bakgrunnen) og vil i så måte begrense tilgang til det brukeren kan se at foregår. I tillegg kan utvikleren bruke funksjoner som vil be brukeren om å godkjenne tilgang til f.eks. kalenderdata når slik tilgang eventuelt skal gis, eller åpne en innebygd kontakt-velger som lar deg legge til/velge/redigere en kontakt fra kontaktlisten.

IOS7 kan på sin side tilby 21 ulike tilganger (capabilities), mer på linje med Windows, mens f.eks. kontaktinfo går via en felles hub som ikke tilgangsjusteres med capabilities, men nå via PrivacyPrompts (se illustrasjon under). Blant tilgangene finner vi:

  • ios-reminders-access-requestgps
  • location-services
  • microphone
  • sms
  • still-camera
  • telephony
  • video-camera
  • wifi

ios-7-location-servicesHvorvidt appen bruker internett-tilgangen din er dessverre aldri angitt, i motsetning til de to andre plattformene. Dette er i utgangspunktet ikke så bra, fordi en app som kun har tilgang til f.eks. mikrofon men eksplisitt ikke Internett vil kunne betraktes som trygg. Samtidig må man passe på hva som skjer med tilgangene når appen oppdateres, for plutselig ber appen om nye tilganger og du innvilger den tilgang til personlige data likevel.

Likevel er nok IOS, sammen med Windows 8.1, operativsystemene som per i dag gir best kontroll over tilgangene som er gitt, etter at en appen har blitt installert. I tillegg til kontrollene for å skru av og på enkelt-tilganger for enkelt-apper, gir IOS7 forholdsvis god synlighet av operasjoner som krever tilgang til sensitive ressurser. På den annen side er det gjort undersøkelser som viser at 95% av topp 200 gratis-apper utviser potensiell “risikabel” atferd mht. informasjonslekkasjer (mange av dem er spill). Samtidig kategoriseres likevel ikke disse appene som malware, i andre undersøkelser. Men de fleste av disse har nok tilgang til virksomhetens data, om de finnes på telefonen.