ebook img

Tietoturvauhat ja niiden ehkäiseminen Android-sovelluksissa PDF

20 Pages·2017·0.19 MB·Estonian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Tietoturvauhat ja niiden ehkäiseminen Android-sovelluksissa

JanitaSallanko Tietoturvauhat ja niiden ehkäiseminen Android-sovelluksissa Tietotekniikankandidaatintutkielma 28.huhtikuuta2017 Jyväskylänyliopisto Tietotekniikka Tekijä:JanitaSallanko Yhteystiedot:[email protected] Työnnimi:TietoturvauhatjaniidenehkäiseminenAndroid-sovelluksissa TitleinEnglish:SecuritythreatsandtheirpreventioninAndroidapplications Työ:Kandidaatintutkielma Sivumäärä:20+0 Tiivistelmä: Kandidaatintutkielma käsittelee Android-sovellusten tietoturvauhkia ja näiden ehkäisemistä. Tutkielma rajautuu älypuhelimien tarkasteluun kaikkien Android-laitteiden sijasta. Kyberrikollisuuden lisääntymisen myötä on sovellusten turvallisuuden varmistamisen merkitys noussut. Kandidaatintutkielma käsittelee tietoturvaaensisijaisestisovelluksenohjelmoitsijannäkökulmasta. Avainsanat:android,sovellus,tietoturva Abstract: This study investigates security threats and their prevention in Android applications. The study concentrates especially on Android mobile devices instead ofallAndroiddevices.Securityisanessentialpriorityinapplicationssincethecyber criminal acitivity is on the increase. The study focuses primarily on the software developer’spointofview. Keywords:android,application,security i Kuviot Kuvio1.Androidinrakenne(Rai,2013) .................................................. 4 Kuvio2.Sovelluksenrakenne(Rai,2013)................................................. 6 Kuvio3.Komponentinsuojaaminen(Scott,2013).......................................12 ii Sisältö 1 JOHDANTO ............................................................................ 1 2 ANDROID-SOVELLUS............................................................... 3 2.1 Arkkitehtuuri .................................................................... 3 2.2 Sovelluksenrakenne............................................................ 5 3 TIETOTURVAUHAT .................................................................. 8 3.1 Käyttöoikeudet .................................................................. 8 3.2 RemoteAccessTrojan........................................................... 9 3.3 Viestit..............................................................................10 3.4 SQL-injectionattack.............................................................10 4 TIETOTURVAUHKIENEHKÄISY..................................................11 4.1 Kehittäjännäkökulma ..........................................................11 4.2 Käyttäjännäkökulma...........................................................12 5 YHTEENVETO.........................................................................13 KIRJALLISUUTTA ...........................................................................15 iii 1 Johdanto Android-mobiilikäyttöjärjestelmän käyttö on muuttunut yhä suositummaksi vuosi vuodelta ja sitä käytetään jo yli 190 maassa. Googlen luomat mobiilikäyttöjärjestel- mät ovat pääasiassa suunniteltu älypuhelimille ja tableteille, mutta sitä on integroi- tujopaälykelloihinjaautoihin.(AndroidDevelopers,2017.)Androidonsaanutmil- joonia uusia käyttäjiä vime vuosien aikana ja luvut ovat kasvaneet tasaisesti viime vuosina(Statista,2017). Androidin yleistyessä sovellusten tarjonta on lähtenyt jyrkästi nousuun (Statista, 2016). Google Play Storen latausten lukumäärä on ylittänyt jo miljoonan joka kuu- kausi. Viimeisen viiden vuoden aikana on julkaistu Androidin eri versioita vuosit- tain nopeassa tahdissa. Useat älypuhelimien valmistajat kuten Huawei, LG, Sam- sungsekäSonyEricssonkäyttävätandroidiamobiilikäyttöjärjestelmänään. MobilikäyttöjärjestelmämarkkinoillaGooglensuurinkilpailijaAppleonluonutiOS- käyttöjärjestelmän jota he soveltavat puhelimien valmistuksessa. Toistaiseksi iOS ei ole onnistunut tavoittamaan yhtä suurta käyttäjämäärää kuin Android (Nielsen, 2015). Androidin suuresta suosiosta huolimatta käyttäjistä jopa 20 prosenttia on huolissaanälypuhelimensaturvallisuudesta,kuntaasApplenpuhelimiakäyttävis- tävastaavalukuonviisiprosenttia(Obiri-Yeboah&Qi,2016). Androidinjasensovellustenturvallisuuttaontärkeätutkiamonestakinsyystä.Vaik- ka uudemmissa versioissa on parannettu aikaisempien versioiden vikoja, on ole- massa edelleen heikkouksia jotka altistavat käyttäjän tietoturvamurroille. Yhteisiä tietoturvauhkia eri versioiden kesken on olemassa vielä nykypäivänäkin (Benítez- Mejía&Sánchez-Pérez&Toscano-Medina,2016).Järjestelmienlisäksitietomurrois- saonmahdollistapäästäkäyttäjäntietoihinkäsiksisovellustenavulla(Benítez-Mejía ym.,2016). Riskialttiitsovelluksetpuhelimessavoivattehdäpaljontuhoariippumattasiitä,on- ko käyttöjärjestelmä itsessään turvallinen vaiko ei. Sovelluksen kehittäjän kannal- ta on olennaista ohjelmoida sovelluksia, jotka eivät vaaranna käyttäjän yksityisyyt- 1 tä. Erilaisten palveluiden kuten verkkopankin mobilisoituessa on käyttäjän kannal- ta hyödyllistä tiedostaa mitä uhkia ladattavat sovellukset voivat sisältää (Haapala, 2016). KäsittelenkandidaatintutkielmassaniAndroid-sovellustenaiheuttamaatietoturvauh- kaaälypuhelimillesekäkuinkavoidaanehkäistänäitä.Tutkielmassanivastaanseu- raaviintutkimukselleasetettuihinkysymyksiin:Mitävaarojasovellukseenvoikoh- distua? Mitkä asiat tekevät sovelluksesta vaarallisen ja kuinka näitä voidaan ottaa jo huomioon sovelluksen kehitysvaiheessa? Miten käyttäjä voi suojautua tietotur- vahyökkäyksiltä?Kandidaatintutkielmanitoteutuusystemaattisenakirjallisuuskat- sauksena.Lähteistönolenrajannutaihepiirinperusteella. AluksitutustutaanAndroid-käyttöjärjestelmänarkkitehtuuriinjaAndroid-sovelluksen rakenteeseen, jonka jälkeen tarkastellaan muutamia tyypillisiä tietoturvauhkia so- velluksissa. Tietoturvauhkia käsitellään sekä käyttäjän että sovelluksen kehittäjän näkökulmia ajatellen. Viimeiseksi esitetään tapoja, joilla sekä sovelluksen ohjelmoi- jaettäkäyttäjävoisuojautuatietoturvamurroilta. 2 2 Android-sovellus Android-älypuhelimissa sovellukset ovat keskeinen osa käyttäjän toimintaa. Sovel- lukset ovat yleensä ladattavissa Googlen Play Storesta, joka löytyy automaattisesti puhelimen oletussovelluksista. Play Storen lisäksi on myös mahdollista ladata so- velluksiainternetistä.Sovellustentarjontaonlaajajavaihteleemaksullistenjamak- suttomienvälillä.JavaonyleisinohjelmointikieliAndroid-sovelluksissa. Käsittelen aluksi Androidin arkkitehtuuria, sillä mobiilikäyttöjärjestemän hahmoit- taminen auttaa myös ymmärtämään sovelluksen toimintaa. Tämän jälkeen tarkas- telensovelluksenrakennetta. 2.1 Arkkitehtuuri PystyäkseenymmärtämäänsovelluksentoimintaaontärkeääymmärtääAndroidin arkkitehtuuria.Androidinrakennevoidaanhahmottaanelitasoisena.Allaolevaku- vio (kuvio 1) on Rain (2013) teoksesta Android Application Security Essentials ja auttaahahmottamaantämänselkeämmin. 3 Kuvio1.Androidinrakenne(Rai,2013) Arkkitehtuurin alin taso on Linux kernel eli vapaasti suomennettuna Linuxin ydin huolehtii puhelimen laitteistosta. Tällöin pohjatason vastuulla ovat akun ja muistin hoitaminen, laiteohjaimet, verkoittuminen ja turvallisuus. Sovellusta asennettaessa Androidille sovellus saa omat UID ja GID-tunnuksensa. UID on lyhenne sanasta UserIdentification.Seontunnus,jollavoidaantunnistaasovellusmuidenjoukosta. GID sen sijaan on viittaa Group Indetificationiin, ja sekä UID ja GID ovat olemas- sa niin kauan kunnes sovelluksen asennus poistetaan. Jotta Androidin käyttöjärjes- telmä suostuu ajamaan sovelluksen pitää GID ja UID olla olemassa. (Gunasekera, 2012.) Alimman tason jälkeen on kirjastotaso, joka myös sisältää ajoympäristön sovelluk- sille.Kirjastotasonimensämukaisestisisältääkirjastotkoodinsuorittamiseen.Ydin- kirjastotovatluotuCtaiC++kielillä(Gunasekera,2012).AjoympäristösisältääDal- vikin virtuaalikoneen joka on vuorovaikutuksessa sovellusten kanssa. Virtuaaliko- neen kehitti Dan Bornstein ja se pohjautuu Apache Harmony-nimiseen kirjastoon. 4 Jokainensovellusajetaanomallavirtuaalikoneellaan.Dalvikontoiminnaltaansahy- vinriippuvainenLinuxalustastaan.Esimerkiksivirtuaalikoneenmuistinhallintaon suoraanLinuxistasaatutoimivaominaisuus.PoikkeuksenaonDalvikinroskienke- rääjäjokaisellevirtuaalikoneelle.(Rai,2013.) Sekäsovelluksenkehityskerrosettäsovelluskerrosovataikaisemmistatasoistapoik- keavasti toteutettu Javalla. Sovelluksen kehityskerros tunnetaan paremmin toiselta nimeltään API, joka tulee sanoista Application Programming Interface. Kehitysker- ros tarjoaa erilaisia palveluita ja systeemejä sovellusten kehittäjälle, kuten käyttö- liittymän komponentteja kuten nappeja tai tekstikenttiä. Näiden lisäksi kehitysker- rokseenkuuluuyleisetsisällöntuottajat,ilmoitusmanagerisekäaktiviteettienmana- geri. (Gunasekera, 2012.) Sovelluskerrokseen kuuluvat nimensä mukaisesti kaikki Androidin sovellukset, sekä oletussovellukset että käyttäjän lataamat. Mobiilikäyt- töjärjestelmän oletussovelluksia ei ole käyttäjän tarkoitus poistaa, mutta käyttäjän itselataamiensovelluksienasennuksetovatpoistettavissa.(Rai,2013.) 2.2 Sovelluksen rakenne Sovelluksenrakenteenymmärtäminenontärkeääsentakia,ettäsehelpottaaturval- lisuusnäkökulman hahmottamista Androidin sovelluskerroksella. Kuten oheisesta kuviosta (kuvio 2) pystyy huomaamaan, sovelluksen rakenne periaatteessa muo- dostuuuseistakomponenteistajotkakerätäänpinoon. 5 Kuvio2.Sovelluksenrakenne(Rai,2013) Sovelluksen komponenteista muodostuminen mahdollistaa sen, että komponentit ovatitsenäisiäosiajoitajopamuutkinsovelluksetpystyvätkutsumaanhalutessaan. On olemassa neljä eri komponenttia, joita Android tukee: toiminnallisuus, palvelu, radiovastaanotinjasisällöntuottaja(kuvio2).Kaikkinämäneljäkomponenttiaalus- tetaan tyypillisesti AndroidManifest.xml-tiedostossa. Toiminnallisuuskomponentti on tyypillisesti sovelluksen osa, joka vastaa käyttöliittymästä sovelluksessa. Toisin sanoen kaikki käyttäjän tuottama toiminnallisuus kuuluu tähän osaan. Tästä hyvä- nä esimerkkinä on kirjautuminen sisään sovellukseen. Palveluosa hoitaa taustalla toimivat prosessit, kuten esimerkiksi videon toistaminen. Radiovastaanotin kom- ponenttia käytetään enimmäkseen sovelluksissa, joissa vastaanotetaan dataa kuten viestejä. Tyypillisesti tätä komponenttia hyödynnetään sähköpostisovelluksissa. Si- sällöntuottajakomponentti toimii sovelluksen datavarastona, joka pystyy jakamaan dataamyösmuidensovellustenkanssa.(Rai,2013.) Kaikki neljä edellä mainitut komponentit pystyvät kommunikoimaan keskenään 6

Description:
The study concentrates especially on Android mobile devices instead of all Android .. TIR1407009. JETIR, s. 635–637. Gunasekera, S. 2012. Android Apps Security. Apress. Android Security Cookbook : Practical Recipes to Del-.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.