Jussi Kouki

Androidin tietoturvallisuuden parantaminen

1. Johdanto

Androidin markkinaosuus on viimeisimpien tietojen mukaan noussut myydyissä älypuhelimissa jopa 75 prosenttin [1]. Tämä on huima saavutus kun huomioidaan käyty keskustelu Android-alustan tietoturvallisuudesta ja sen sisältämistä tietoturva-aukoista. Androidin markkinapaikan Google Playn (ent. Android Market) lähes 700 000 sovellusta on ladattu yli 25 miljardia kertaa [2]. Näillä lukemilla se kilpailee tasavertaisesti suurimman sovellusmarkkinapaikan tittelistä Applen Appstoren kanssa. Näillä kahdella on kuitenkin merkittävä ero. Kun Appstoressa kaikki ladattavissa olevat sovellukset ovat menneet Applen tarkan syynin läpi, Playn sovelluksiin Google pyrkii puuttumaan mahdollisimman vähän [3]. Tämä helpottaa ja nopeuttaa sovellusten markkinoille saamista merkittävästi, mutta aiheuttaa sen että Playssa voi olla hyvinkin huonolaatuisia sovelluksia, joissa on pahoja tietoturvaa vaarantavia virheitä tai jopa sovelluksia jotka tekevät tarkoituksella jotain tietoturvallisesti arveluttavaa tai haitallista.

Tässä työssä on tarkoitus ensin katsastaa lyhyesti teorian mukaan millainen Android on tekniikaltaan tietoturvan näkökulmasta ja tämän jälkeen perehtyä Playn tietoturvasovellusten tarjontaan sekä viimeiseksi tutustua vielä käytännössä mitä yli vuoden normaalissa käytössä olevaan Android-puhelimeen vaikuttaa tietoturvasovellusten asentaminen ja löytyykö puhelimen muistista jotain tietoturvallisesti vaarallista tai arveluttavaa.

2. Androidin tietoturvaperiaatteet

Androidin tietoturvallisuus perustuu pääsynvalvontaan, joka on asetettu järjestelmässä eri ohjelmien ja niiden hallitsemien tietojen välille [3]. Pääsynvalvontaa ja eritasoisten tietojen erittelyä tapahtuu eri tavoin sovelluksissa ja käyttöjärjestelmässä. Androidin tapauksessa ne voidaan luokitella kolmeen kategoriaan Linux-tason mekanismit, ympäristölliset ominaisuudet sekä Android-spesifiset mekanismit.

Koska Android on Linux-peräinen järjestelmä niin siinä on Linuxista peräisin olevia tietoturvaa parantavia ominaisuuksia. Näitä ovat POSIX ja rajoitettu tiedostoihin pääsy. POSIX (Portable Operating System Interface) antaa jokaiselle sovellukselle oman user ID:n (UID). Tämä mahdollistaa ohjelmien ajamisen täysin erillään, jotta ne eivät häiritsisi toisten ohjelmien ajamista. Rajatussa tiedostoihin pääsyssä puolestaan rajataan varsinaisesti se että mitkä ohjelmat pääsevät käsiksi kunkin ohjelman tiedostoon ja estetään muita ohjelmia koskemasta toisten tiedostoja.

Ympäristölliset ominaisuudet ovat muista teknologioista tulevia turvallisuuspiirteitä, jotka hyvin pitkälti on määritelty Android-järjestelmässä. Ympäristöllisiä ominaisuuksia ovat muistinhallinta yksikkö (MMU), vahva tyypitys (type safety) ja matkapuhelinoperaattorin tarjoamat turvallisuusominaisuudet. Muistinhallintayksikkö (memory manadement unit (MMU)) rajaa prosessit omiin muistilohkoihinsa ja estää niitä lukemasta toisten muistilohkoja. Tämä estää ohjelmia häiritsemästä toisia ohjelmia ja estää ohjelmia ajamasta omaa koodiaan toisessa ohjelmassa. Vahva tyypitys (Type Safety) on Java-ohjelmointikielen ominaisuus, jolla Android sovellukset ovat kirjoitettu. Tämän tarkoituksena on estää muistin korruptointi ja puskurin ylivuodot.

Joitakin tietoturvaominaisuuksia, joita ei muissa Linux-järjestelmissä ole, on tehty erityisesti Androidia varten. Tällaisia ovat muun muassa sovellusten oikeudet, komponenttien kapselointi ja ohjelmien allekirjoitus. Erilaisia oikeuksia sovelluksille on Androidissa määritelty noin sata [3]. Ohjelmien pyytämistä oikeuksista kerrotaan Play-kaupassa jo tiedostoja ladattaessa. Oikeuksilla on neljä eri tasoa, jotka kuvaavat niiden vaarallisuutta ja oikeuksien suuruutta. Kun Androidille on kerran annettu oikeudet asennuksen yhteydessä ei sille voida enää niitä myöntää enempää [5]. Suuri ongelma kuitenkin on että 78 prosenttia ohjelmista pyytää enemmän oikeuksia, kuin niiden toiminnan kannalta olisi välttämätöntä [3].

Komponenttien kapselointi tarkoittaa POSIX:in antamien user ID:iden hallintaa siten, että muut ohjelmat eivät pääse toisten ohjelmien tietoihin käsiksi mikäli näin halutaan. Androidissa sovelluksia ajetaan omilla Dalvikin virtuaalikoneilla ja on mahdollista asettaa sovellukseen oma parametrinsa sille pääseekö siihen käsiksi muut sovellukset, joilla on eri user ID.

Sovellusten allekirjoitus on puolestaan varmistaa sen kuka on ohjelmiston tehnyt. Tätä voidaan käyttää eri tekijätahojen todentamiseen. Eli jos taho A on tehnyt sovelluksen X ja väittää tehneensä myös sovelluksen Y niin tämä voidaan todentaa mikäli sovelluksilla on sama allekirjoitus [9].
Mekanismi Kuvaus Tietoturva-ominaisuus
1. Linux-peräiset mekanismit
1.1 POSIXAntaa jokaiselle sovellukselle oman User ID:n Estää sovelluksia häiritsemästä toisiaan.
1.2 Tiedostoihin pääsySovelluksen tiedostohakemisto on avoin vain sovellukselle itselleen. Estää muita sovelluksia pääsemästä tiedostoihin käsiksi.
2. Ympäristölliset ominaisuudet
2.1 Muistinhallintayksikkö (MMU)Jokaista sovellusta ajetaan omassa osoiteavaruudessaan. Estää palvelunestohyökkäykset ja tietoihin käsiksi pääsyn muilta.
2.2 Vahva TyypitysValvotaan tiedon olevan tietyssä formaatissa käännön ja ajon aikana.Estää puskurinylivuoto-tyyppiset hyökkäykset.
3. Android spesifiset mekanismit
3.1 Sovellusten oikeudet Jokainen sovellus pyytää oikeuksia asennettaessa eikä näitä oikeuksia muuteta myöhemmin. Rajoittaa sovellusten vaarallista toimintaa.
3.2 Komponenttien kapselointi

Sovelluksen eri komponentit voidaan kapseloida siten että niihin pääsyä muilta sovelluksilta voidaan rajoittaa.
Estää sovellusta häiritsemästä toisen sovelluksen suorittamista tai pääsyä joihinkin tietoihin tai rajapintoihin.
Sovellusten allekirjoitusKehittäjä allekirjottaa .apk tiedostot.

Voidaan varmistaa että kaksi eri sovellusta ovat saman tahon tekemiä.

Taulukko mukailtu lähteestä [5].

Erilaisista tietoturvaominaisuuskista johtuen Android-laite on normaalisti tietoturvallinen laite. Siinä on useita hyviä ominaisuuksia, jotka järjestelmän puolelta parantavat tietoturvallisuutta. Suurin huolenaihe kohdistuukin ladattaviin sovelluksiin, joille annetaan liian suuria oikeuksia [3]. Mikäli käyttäjä ei tarkista asentamiensa sovellusten oikeuksia, hän asettaa omat tietonsa alttiiksi mahdolliselle hyökkäykselle. Varsinkin harvinaisemmat sovellukset, jopa Play-kaupasta löytyvät, voivat lähettää käyttäjän tietoja jollekin ei-toivotulle taholle, mikäli niille annetaan oikeudet lähettää dataa ja tutkia käyttäjän tietoja. Käyttäjän tulisikin tarkastaa ladattujen ohjelmien oikeudet ja olla varuillaan harvinaisempia ohjelmia ladattaessa. Lisäksi muistikortilla oleviin tietoihin pääsee melko helposti käsiksi, joten käyttäjän ei pidä luulla että tiedot olisivat siellä paremmassa tallessa [5].

3. Tietoturvaa parantavat sovellukset

Koska Androidille on tarjolla sovelluksia yli 700 000 kappaletta, on myös tietoturvasovelluksia tarjolla kymmeniä tuhansia [2]. Poimin tähän kuitenkin muutamia erityyppisiä sovelluksia, joita kokeilen seuraavassa luvussa. Tarjottavia sovelluksia ovat muun muassa erilaiset antivirusohjelmistot, palomuurit, tunkeutumisen estämiseen ja huomaamiseen tehdyt sovellukset, puhelimen etähallinta- ja paikannussovellukset, sovellukset datan ja salasanojen säilytykseen ja salaamiseen sekä roskapostien, puheluiden tai tekstiviestien suodatukseen tehdyt sovellukset. Tässä luvussa esitellyt sovellukset eivät millään tapaa anna kattavaa kuvaa sovellusten tarjonnasta vaan tarjoavat ainoastaan esimerkkejä siitä millaisia sovelluksia on tarjolla yleisimpiin tietoturvatoimiin.

3.1 Antivirus ja antimalware

Antivirus-ja antimalware ohjelmistojen tavoite on järjestelmää tutkimalla löytää mahdolliset vaaralliset sovellukset joko erillisen rekisterin avulla tai ohjelmien toimintaa tutkailemalla [3]. Tämä on suosituin kategoria myös Androidin tietoturvasovelluksissa. Pelkän järjestelmässä olevien vaarallisten ohjelmien lisäksi useat ohjelmat kuten Lookout Security & Antivirus tarkastaa myös ladattavat sovellukset. Erillisiä ladattavien sovelluksen tarkastusohjelmistoja on myös olemassa. Yksi tällainen on AppScan? Beta. Osa virussovelluksista kuten NetQin? Anti-virus osaa itse päivittää virustietokantaansa ja pitää itsensä ajan tasalla. Jotkin sovellukset kuten AVG Antivirus Free tarjoavat täydellisempää suojaa puhelimelle mahdollistamalla puhelimesta varmuuskopion tekemisen ja etälukitsemaan puhelimen ja tyhjentämään puhelimen muistin. Muita edellämainittujen lisäksi suosittuja antivirusohjelmistoja ovat mm. Avast! Mobile Security ja NQ Mobile Security. Erilaisia antivirusohjelmia on tarjolla satoja.

3.2 Palomuurit (Firewalls)

Androidin palomuureilla käsitetään yleisesti sovelluksia, jotka vahtivat mitä tietoja lähetetään puhelimesta. Näiden tarkoituksena on estää tietojen vuotaminen sellaisten sovellusten toimesta, jotka ovat jo asennettuina. Tällaisia sovelluksia ovat esimerkiksi DroidWall? ja Root Firewall. Nämä rajoittavat puhelimen dataliikennettä ja siten säästävät myös akkua. Näissä valitaan yleisesti mitkä ohjelmat ovat sallittujen (white list) tai kiellettyjen (black list) sovellusten joukossa. Nämä eivät siis sinällään kykene tarkkailemaan mitä tietoja lähetetään vaan ne ilmoittavat jos jokin ohjelma on tiedetty vaaralliseksi sekä auttaa rajoittamaan ohjelmien toimintaa, vaikka se olisikin turvallista toimintaa.

3.3 Tunkeutumisentorjunta ja-huomaaminen (intrusion detection / prevention)

Tunkeutumisen torjuntaan on Androidilla huomattavasti vähemmän sovellustarjontaa. Varsinaisia suosittuja ohjelmia, jotka tutkisivat eri ohjelmien toimintaa ja päättelisivät tästä mitkä ovat haitallisia, ei ole ainuttakaan. Tämä on sinänsä erikoista, sillä Burguera et al. [12] osoitti että tällainen on mahdollista toteuttaa ja olisi erittäin tehokas. Näitä ei kuitenkaan ole käytössä, sillä ne veisivät paljon muistia ja suoritintehoa ja siten myös akkua [12]. Savant Protection kuitenkin loi ensimmäisen tällaisen Androidille [13]. Sen saatavuus oli kuitenkin niin huono etten saanut sitä testattavaksi.

3.4 Datan salaaminen (data encryption)

Koska useimmat Android-puhelimet eivät tue salausta rautatasolla, joudutaan turvautumaan kolmannen osapuolen tarjoamiin salaussovelluksiin [7]. Sovellus on mahdollista tehdä muun muassa sovelluksilla WhisperCore?, Droid Crypt ja AnDisk? Encryption. Näistä kaksi viimeistä käyttävät 128 bittistä AES-koodausta. Suurta osaa sovelluksista käytetään kuitenkin ensisijaisesti suojaamaan salasanoja, pankkitunnuksia tai muita erittäin tärkeitä numerosarjoja joita puhelimeen halutaan tallettaa. Tällaiseen toimintaan soveltuvia sovelluksia ovat esimerkiksi mSecure Password Manager, Wallet, MindWallet? ja Keeper.

3.5 Roskapostin suodatus (spam filter)

Puhelimiin tulee roskapostia pääosin samoja kanavia pitkin kuin tietokoneisiinkin eli e-mail osoitteisiin. Kuitenkin tulee myös tekstiviesteillä roskapostia. Tämä eroaa siten tietokoneiden roskapostista, että sen lähettäminen maksaa. Kaikilla puhelinoperaattoreilla ei kuitenkaan ole roskapostinsuodatusta tekstiviesteissä, joten puhelimessa tapahtuva roskapostin suodatus voi olla tarpeen [10]. Myös sähköpostiin tulevat roskapostit ovat kiusallisempia, sillä ne syövät verkkoa ja virtaa suuremmissa määrin kuin varsinaisissa tietokoneissa etenkin jos puhelin on asetettu jatkuvasti päivittämään ja hakemaan uudet sähköpostit. Tekstiviestejä voi suodattaa muun muassa Postman nimisellä sovelluksella. Sähköpostille voi käyttää esimerkiksi SpamDrain? nimistä sovellusta. SpamDrainin? on tarkoitus poistaa roskaposti jo ennen kuin se ladataan puhelimeen. Täten se ehkäisee turhaa mailien latailua ja säästää verkon kuormaa sekä akkua [11].

3.6 Etähallinta

Puhelimen etähallintaohjelmistot tulevat tarpeen etenkin silloin, jos puhelin on kadonnut tai se varastetaan. Tällöin voi etähallintaohjelmistolla paikantaa, lukita tai tyhjentää puhelimen muistin. Tähän soveltuvia ohjelmistoja ovat muun muassa McAfee? Wave Secure, GadgetTrak? Mobile Security ja Seek Droid.

3.7 Käytönrajoitus

Puhelimen käytönrajoitus ohjelmistot voivat tulla kysymykseen mikäli puhelimesta halutaan rajoittaa tiettyihin sovelluksiin ja tietoihin käsiksipääsyä, mutta mahdollistaa puhelimen käyttö ilman salasanaa. Tähän toimintaan soveltuu muun muassa Seal App Locker.

4. Testi: Sovellukset käytännössä

Testipuhelimena toimi Motorola Defy -puhelin, jossa oli Androidin versio 2.2.2. Puhelin on 1,5 vuotta vanha ja ollut vaihtelevassa käytössä ja siihen oli ladattu useita kymmeniä sovelluksia sen käyttöiän aikana. Tarkoituksena oli kartoittaa mitä vaarallista muutama ilmainen tietoturvasovellus löytää puhelimesta. Onko viruksia tai vaarallisia ohjelmia? Jos on niin voiko niitä korjata tai käyttöä rajoittaa vai pitääkö ne poistaa kokonaan?

Ensimmäinen testiin joutunut sovellus oli Lookout Security & Antivirus. Lookout on yksi sovelluksista jonka tarkoituksena on kattaa kaikki peruskäyttäjän tarpeet Androidin tietoturvallisuudessa. Lookout Security & Antivirus skannaa laitteen virusten, malwaren ja spywaren varalta, tarjoaa mahdollisuuden laitteen varmuuskopiointiin, mahdollistaa varastetun laitteen paikannuksen, tarjoaa perus selaimeen turvallisemman "Safe Browsing" -moodin ja mahdollistaa eri sovellusten oikeuksien tarkkailun. Samankaltaisia ohjelmia on kymmenittäin Play-sovelluskaupassa ilmaisena. Kokeilin Lookoutin lisäksi myös Avast:in Mobile Security sovellusta sekä AVG:n Antivirus Free:tä. Näiden ominaisuudet ovat samankaltaisia kuin Lookoutin, joten käsittelen niitä samalla. Avast tarjoaa lisäksi mahdollisuuden tekstiviestien ja puheluiden suodatukseen sekä eräänlaisen "palomuurin", jolla voi määritellä mitkä ohjelmat saavat käyttää 2G, 3G ja wlan-verkkoja.

Ensimmäisenä ohjelmien asennuksen jälkeen suoritin kaikilla virusskannauksen. Ohjelmat ilmoittivat hyvin eri määriä siitä kuinka monta kohdetta ne ovat tarkastaneet. Mikään niistä ei kuitenkaan löytänyt yhtään vaarallista sovellusta tai mahdollista riskiä testipuhelimesta, mikä sinänsä on hyvä asia. Kaikki ohjelmat vaikuttivat lisäksi helppokäyttöisiltä eivätkä vaadi käyttäjältä suurta panostusta tietoturvallisuuteen. Erityisen positiivista niissä oli että ne tarkastavat ladatut sovellukset että ovat ne vaarallisia jo ennenkuin niitä on kertaakaan käytetty.

Vaikka paljon oli kokeilluissa sovelluksissa hyvää, niin oli myös ihmetyksiä aiheuttavia seikkoja. Kaikissa sovelluksissa saa katsottua mitkä puhelimen sovellukset ovat saaneet mitäkin oikeuksia. Täältä muun muassa näki että Rovion Amazing Alex sovellus saa paikkatietoja. Näistä ei kuitenkaan näe kuinka paljon mikäkin sovellus on käyttänyt kyseisiä tietoja. Datan käyttö sen sijaan näkyy ja sitä voi näillä rajoittaa tai kieltää yksittäisiä sovelluksia lähettämästä dataa..

5. Yhteenveto

Vaikka Android tekniikaltaan on hyvinkin tietoturvallinen järjestelmä, mahdollistaa sen erittäin avoin sovelluskauppa hyvinkin haitallisten sovellusten kulkeutumisen puhelimeen. Play-sovelluskaupassahan saattaa olla haitallisia sovelluksia mikälil Google ei niitä ole vielä ehtinyt poistaa. Lisäksi liian anteliaat oikeudet saattavat aiheuttaa paljon haittaa vaikka sovelluksen pitäisi olla ns. turvallinen mikäli sovelluksessa on jokin aukko, jota jokin haittasovellus pääsee hyödyntämään. Erilaiset tietoturvasovellukset ovat Androidille ilmaisia ja helppokäyttöisiä ja eivät vaadi erityistä huolenpitoa ollenkaan. Tällaisen hankinta onkin hyvin perusteltua ja suositeltavaa.

Lähteet

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Uhkat
Mitä Luottamuksellisuus
Miltä Ihmisetön uhka
Missä Organisaatio
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r4 < r3 < r2 < r1 | 
Topic revision: r4 - 29 Nov 2012 - 23:49:40 - JussiKouki?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback