Nutiseadmete turvalisus iOS ja Androidi näitel
Ründamise motiivid ja statistika
Mobiilseadmete ründamine muutub iga aastaga järjest atraktiivsemaks. Põhjuseks on mobiilseadmete levik maailmas ning nende tähtsuse kasv. Lauaarvutite ning sülearvutite kasutus on vähenenud, kuna nutitelefonide ning tahvelarvutite abil saab samuti suhelda, oste sooritada ning töötada. Seetõttu ühendavad inimesed oma nutiseadmetega järjest rohkem erinevaid rakendusi ning kuna seadmed muutuvad targemaks, siis koguvad nad ka ise järjest rohkem andmeid seadme kasutaja kohta.
Võib eeldada, et keskmise nutiseadme kasutajal on seadmega ühendatud meilikontod, erinevad suhtlusrakendused, sotsiaalmeediarakendused, pilveteenused, pangakonto haldamise rakendused. Selleks, et oleks võimalik paigaldada tasulisi rakendusi, on vaja seadmesse sisestada krediitkaardi number. Lisaks sellele on seadmes suure tõenäosusega ka selle sama seadmega tehtud fotod ning videod. Kui seadme omanik või mõni rakendus kasutab sisseehitatud positsioneerimisfunktsionaalsust, siis võib seadmes (või teenusepakkujal) olla ka info selle kohta kus seadme omanik on viibinud.
Miks rünnata nutiseadmeid?
- juurdepääs andmetele - isikuandmed, paroolid, krediitkaardi number, fotod, emailid, jne.
- identiteedivargus (sisselogitud teenuste kaudu), sõnumite saatmine ja kõnede tegemine.
- kasutaja juurdepääsu piiramine tema enda telefonile, lunaraha nõudmine.
Järgnevast artiklist pärinev statistika on küll veidi vananenud, kuna pärineb 2012 aastast, aga annab siiski ülevaate kahjuravara olemusest: “Dissecting Android Malware: Characterization and Evolution”. Artikkel kirjeldab 1260 erinevat pahavaralist Androidi rakendust, mis leiti 2010 aasta augustist kuni 2011 aasta oktoobrini.
- 86% pahavaralistest rakendustest jäljendasid juba olemasolevaid rakendusi (repackaging)
- 36.7% pahavaralistest rakendustest said endale administratiivsed õigused
- 90% muutsid telefonid osaks botnetist
- 45.3% saatsid sõnumeid või helistasid tasulistele numbritele
- 51.1% korjasid kasutaja kohta infot
- parim antiviirus tuvastas 79.6% pahavaralistest rakendustest
- viletsaim antiviirus tuvastas ainult 20.2% pahavaralistest rakendustest
Mobiilseadmeid mõjutavate ohtude raportid
Populaarse antiviiruse tarkvara tootja F-Secure avaldab perioodiliselt aruandeid nutiseadmetelt leitud pahavara kohta. F-Secure 2013. aasta teise poole raportis (pdf) seisab, et selle perioodi vältel tuvastatud uutest pahalastest 97% olid Android platvormil ning ülejäänud 3% Symbianil. See tähendab, et iOS, Windows Phone ja Blackberry platvormidel ei tuvastatud ühtegi uut pahavara.
2013. aasta teises pooles kogus F-Secure üles 180 000 võimaliku pahavara näidise. Alloleval joonisel on välja toodud nende jaotus erinevate Android rakendusi pakkuvate keskkondade vahel ning lisaks see, kui suur osa neist raporteeritud näidistest tegelikult ka pahavaraks osutus. Nagu näha, siis Google Play keskkonnast pärit näidistest osutus vaid 0,1% tegelikuks pahavaraks.
2014. aasta teise poolaasta raportist (pdf) selgub, et leidub ka iOS jaoks loodud pahavaralisi rakendusi, kuid iOS pahavara on siiski palju vähem kui Androidil:
Kuna Apple rakenduste poodi on väga raske pahavaralisi rakendusi saata, siis on ründajad pidanud leidma pahavara levitamiseks teisi alternatiive. Näiteks 2014 aastal üritas üks pahavara perekond enda levitamiseks kasutada nakatunud arvutitega ühendatud telefone, mis tähendas seda, et pahavaral õnnestus telefoni pääseda läbi USB kaabli.
Vastavalt F-Secure 2015 aasta raportile on olnud ka juhtumeid, kus pahavara levitamiseks nakatatakse hoopis tarkvaraarendaja arvuti. Rakenduste looja arvuti nakatamisega võib ründaja saavutada olukorra kus arendaja teadmata nakatatakse tema poolt loodud rakendused pahavaraga.
2016 aasta kohta käivat infot näete järgnevatest Symentec ja F-Secure raportitest:
2018/2019 aasta kohta käivat infot näete viidatud raportitest:
- 2018 Mobile Threat Landscape
- McAfee Mobile Threat Report
- Nokia's Threat Intelligence Infographic (2019)
Nutiseadmete turvapoliitikad
Nutiseademte turvapoliitika peaks kirjeldama kuidas seadet võib kasutada. Ühe nutiseadmete turvapoliitika näite leiate järgneva lingi abil: Sample Mobile Device Security Policy.
Nutiseadmete kasutamise poliitika
Üldlevinud nutiseadmete kasutamise poliitikateks on Bring Your Own Device (BYOD), Choose Your Own Device (CYOD) ja Corporate Owned, Personally Enabled (COPE). Rohkem infot nende poliitikate kohta saate järgnevatest artiklitest: How to formulate an effective smartphone security policy, BYOD vs CYOD: Bring or choose your own device?
- BYOD lubab töötajatel kasutada nende enda nutiseadmeid ja seega see lahendus sobib asutustele, mis ei rakenda rangeid turvameetmeid. BYOD kasutamine ei ole kulukas ja sobib väikeettevõtetele. BYOD probleemiks on see, et töötajate üle pole kontrolli ja töötajad saavad kasutada väga erinevaid seadmeid, ning seetõttu pole turvaülemal ülevaadet töötajate seadmete turvalisusest.
- CYOD lubab töötajatel kasutada enda nutiseadet juhul kui nutiseade on asutuse poolt heaks kiidetud. Seega saab asutus lubada ainult kõike turvalisemate nutiseadmete kasutamist ja lubada näiteks ainult paari erineva seadme kasutamist. Näiteks võib turvaülem otsustada, et lubatakse kasutada uuemaid iOS seadmeid ja Google Pixel (varasemalt Nexus) seeria tooteid, sest iOS seadmed on keskmisest kõrgema turvatasemega ja Google Pixel seadmed saavad kõige esimesena turvauuendusi. Selle poliitika kasutamine on firma jaoks kallim, aga võimaldab tõsta turvataset ilma töötajate vabadust oluliselt piiramata.
- COPE lubab töötajatel kasutada ainult asutuse poolt antud nutiseadet, mis on vastava asutuse kontrolli all. Seega saab asutus valida, mis tarkvara antud seadmele paigaldatakse ja mida töötaja antud seadmega teha saab. Selle poliitika kasutamine on kallis ja seetõttu tuleks seda kasutada siis kui asutus vajab kõrgemat turvataset või rohkem kontrolli töötajate üle.
Nutiseadmete füüsiline turvalisus
Mis võib juhtuda kui nutiseade satub ajutiselt ründaja kätte? Mida saab ründaja selle abil teha? Nutiseadme ajutise valdamise korral võib ründaja:
- lugeda / kopeerida / kustutada privaatset infot, enamasti on nutiseadmetel juurdepääs kirjakastile
- esineda nutiseadme omanikuna - saata nutiseadme omaniku nime alt kirju / sõnumeid / fotosid
- saada automaatne juurdepääs erinevatele kasutaja poolt salvestatud kontodele
- kasutada kasutaja kontoga seotud krediitkaarti (kulutada seadme omaniku raha)
- paigaldada seadmesse pahavara
- kasutada seadet kahefaktorilise autentimise jaoks
- saada juurdepääs omaniku poolt kasutavatele pilveteenustele
Seega on väga oluline, et ründaja ei saaks vaba juurdepääsu nutiseadmele. Selle vältimiseks tuleb nutiseadmel aktiveerida ekraanilukk ja kasutada koodiks mittetriviaalset mustrit / PIN koodi / parooli. Ka lühiajaline kokkupuude seadmega võib anda ründajale piisavalt aega, et olukorda enda huvides ära kasutada. Seetõttu peaks nutiseadme ekraan olema alati lukus, et kaitsta ennast olukorras kus võõras või ebausaldusväärne inimene jääb seadmega üksi.
Ekraanilukk
Mustril põhinev lukk
Android kasutab mustril põhinevat ekraanilukku. Selleks, et ekraanilukku eemaldada tuleb sisestada muster 3x3 (või üldisemalt NxN) väljal. Selle meetodi kasutamisel võib ründaja mustri ära arvata juhul kui muster on lihtne või kui see on näpujälgede tõttu ekraanilt välja loetav. Ründajal on 20 võimalust, et mustrit ära arvata, pärast seda saab telefoni avada Google konto abil. Näpujälgede põhist rünnet on uuritud artiklis Smudge Attacks on Smartphone Touch Screens.
Mustril põhinev lukk Androidil (vasakul) ja sellest tulenev probleem (paremal).
PIN koodil põhinev lukk
Nii Android kui ka iOS pakuvad PIN koodi põhist ekraani lukku. Androidis peab PIN kood koosnema neljast kuni 16 numbrist. Erinevalt Androidist nõuab iOS alates versioonist 9 vaikimisi kuuekohalist PIN koodi (simple passcode) või siis parooli.
Kui Androidi seadmel on PIN kood viis korda valesti sisestatud, siis tuleb oodata 30 sekundit enne kui on võimalik uuesti proovida, kuid muid takistusi PIN sisestamisel ei ole. Oletame, et viie neljakohalise PIN koodi sisestamiseks kulub 10 sekundit, siis tegelikult koos viitega kulub viie PIN koodi sisestamiseks 40 sekundit. Tunnis on 3600 sekundit, seega saab ühes tunnis proovida umbes 90 PIN koodi. Sellises tempos kuluks neljakohalise PIN arvamiseks maksimaalselt 111 tundi ja keskmiselt 55.5 tundi.
PIN-koodil põhinev lukk Androidil (vasakul) ja iOS (paremal, allikas).
Paroolil põhinev lukk
Nii Android kui ka iOS pakuvad parooli põhist ekraani lukku. Androidil peab ekraaniluku parool koosnema vähemalt neljast sümbolist, iOS ekraaniluku parool vähemalt kuuest sümbolist. Android lubab kuni 16 sümbolist koosnevat parooli ja iOS kuni 37 sümbolist koosnevad parooli.
Kui Androidi seadmel on parool kood viis korda valesti sisestatud, siis tuleb oodata 30 sekundit enne kui on võimalik uuesti proovida, kuid muid takistusi parooli sisestamisel ei ole.
Sõrmejäljel põhinev lukk
Uuemad võimaldavad ekraanilukku eemaldada sõrmejälje abil. Sõrmejälje tuvastamise funktsionaalsus kannab iOS seadmetel (alates iPhone 5S, iPad Air 2, iPad mini 3 või uuem seade) nime Touch ID. Nii iOS kui uuematel Android seadmetel hoitakse salvestatud sõrmejägede infot lokaalselt turvalises riistvara elemendis ja seda ei saadeta seadmest välja. Siiski on võimalik sõrmejälje lugejat ära petta kui ründaja leiab hea kvaliteediga sõrmejälje, mis kuulub seadme omanikule. Sellest kirjutatakse artiklis: Hackers claim to have defeated Apple's Touch ID print sensor.
Ka mitmed Androidi uuemad seadmed saanud endale sõrmejälje lugeja (näiteks Samsung Galaxy S5, OnePlus 2, Nexus 5X, Nexus 6P, jt).
Oluline on teada, et nii sõrmejälje põhine lukk kui ka näotuvastusel põhinev lukk on vaid mugavusvalikud ning nõuavad kas PIN või parooli olemasolu. Kui sõrmejäljega või näotuvastusega ekraaniluku avamine ebaõnnestub, siis küsib telefon vastavalt PIn koodi või parooli.
Näotuvastusel põhinev lukk
Alates Android 4.0 on võimalik kasutada näotuvastusel põhinevat ekraanilukku. Juhul kui näotuvastus ebaõnnestub, siis pakub seade võimalust ekraanilukk kas mustri või PIN koodi abil eemaldada. Kui näotuvastus on kolm korda järjest ebaõnnestunud, siis saab ekraanilukku eemaldada ainult kas mustriga või PIN koodiga.
Näotuvastuse põhist ekraanilukku on lihtne fotoga avada ja seega on see pigem mugavusfunktsionaalsus. Selleks, et näotuvastust oleks veidi raskem ära petta lisati Androidi võimalus nimega "Liveness check", mis kontrollib näotuvastuse ajal silmapilgutust. Kui "Liveness check" on sisse lülitatud ja seadme omanik silmi ei pilguta, siis seadet näotuvastusega avada ei saa. Silmapiglutamise tuvastamiseks saab kasutada videot või fotost tehtud animatsiooni kus seadme omaniku silmad pilguvad.
Seadme krüpteerimine
Ekraanilukk ilma andmete krüpteerimiseta ei kaitse seadmele salvestatud andmeid. Seetõttu tuleks nutiseadmel aktiveerida krüpteerimine, sest see kaitseb nutiseadmel olevaid andmeid juhul kui seade varastatakse või kui ründajal on piisavalt aega, et seadmel olevad andmed kopeerida. Lisaks sellele tuleks teha võimalikuks andmete kaugkustutamine, seda võib vaja minna kui seade varastatakse ja on kahtlus, et ründaja võib ekraaniluku avada või kui seadmel olevad andmed on krüpteerimata.
Android seadmes olevate andmete krüpteerimine
Androidi seade peaks toetama krüpteerimist alates Androidi versioonist 2.3.4. Alates Androidi versioonist 7 on krüpteerimine vaikimisi sisse lülitatud. Seadmes olevate andmete krüpteerimiseks tuleks valida: Settings -> Security -> Encrypt...
Oluline on tähele panna:
- Pärast seadme krüpteerimist on iga kord ekraaniluku eemaldamiseks vaja sisestada PIN kood või parool, et seadmel olevaid andmeid kasutada (dekrüpteerida) saaks.
- Parooli või PIN koodi kadumisel pole võimalik andmeid taastada.
- Krüpteerimise poolt pakutav turvalisus sõltub kasutatava PIN või parooli turvalisusest, seega ei tohiks kasutada lihtsat PIN/parooli.
- Terve seadme krüpteerimine võib võtta mitu tundi, selle aja jooksul peab seade olema vooluvõrgus ja laetuna. Telefoni väljalülitumisel tühja aku tõttu keset krüpteerimist võib osa andmeid või kõik andmed kaduma minna.
- Juhul kui seadmes on ka SD-kaart, siis tuleks kindlaks teha, et ka see krüpteeriti, sest mõni seade nõuab SD-kaardi eraldi krüpteerimist.
Androidis kasutatavast krüpteeringust saab täpsemalt lugeda siit: Revisiting Android disk encryption ja The limitations of Android N Encryption.
iOS seadmes olevate andmete krüpteerimine
Alates iPhone 3GS, iPod Touch 3 gen. versioonidest lülitab ekraaniluku kasutamine automaatselt sisse ka andmete krüpteerimise. Samuti toimib see kõikidel iPad mudelitel. Alatest iOS versioonist 8 ei saa ka Apple ise enam krüpteeritud seadmeid dekrüpteerida, st neil pole tagavaravõtit.
Seadme asukoha tuvastamine
Android seadmete asukoha tuvastamine
Google pakub Androidi jooksutava seadme jägmise võimalust läbi Android Device Manageri. Selleks, et seadet jälgida peab see omama internetiühendust (mobiilne internet / wifi) ja lubama oma asukohta määrata.
Jälgimise käivitamiseks:
- Minge lehele https://www.google.com/android/devicemanager
- Nõustuge tingimusega, et teie asukoha andmed saadetakse Googlele
- Vaadake kaardilt, kus jälgitav seade paikneb
- kui see ei tööta, siis kontrollige, kas jälgitaval seadmel on internetiühendus
- kui see ei tööta, siis kontrollige, kas asukoha määramine on seadetes lubatud
- Settings -> Location access -> Access to my location
- Settings -> Location access -> GPS satellites
- Settings -> Location access -> Wi-Fi & mobile network location
iOS seadmete asukoha tuvastamine
iOS alates versioonist 5 sisaldab funktsionaalsust Find My iPhone. See võimaldab kuvada vastavat seadet kaardil, saata seadmele sõnumeid, kaugjuhtimise teel seadet lukustada või seadmel olevad andmed kustutada.
Vastava funktsionaalsuse aktiveerimiseks minge: Settings -> Location Services (On) -> Find My iPhone (On). Samuti peab teil olemas olema iCloud konto.
Oma seadme jälgimiseks minge veebilehele https://www.icloud.com/ ja logige sisse kasutades oma Apple ID-d ja pärast seda vajutage ikoonile "Find My iPhone". Nüüd peate te uuesti oma Apple ID parooli sisestama ja siis kuvatakse kaardil vastava kasutaja seadmete asukohad. Vajutades seadet tähistavale täpile ilmub informatsiooni nupp, mille abil on võimalik seadet lukustada, seadmele sõnumeid saata või seadmel olevaid andmeid kustutada.
Apple ülevaade vastavast rakendusest: http://support.apple.com/kb/PH2696.
Youtube’is olev mitteametlik juhend: https://www.youtube.com/watch?v=XvvIyhgMnLI
Aktiveerimislukk iOS seadmetel
Alates iOS 7 on lisaks olemas veel ka seadme aktiveerimislukk (activation lock), mis sisuliselt seob seadme konkreetse Apple ID kontoga ning varastatud seadet ei saa kustutada ega uuesti kasutusele võtta ilma vastava konto parooli teadmata. Selle eesmärk on muuta iOS seadmete varastamine mõttetuks. Aktiveerimislukk on Find My iPhone üks osa.
Android
Põhjaliku ülevaate Androidi turvamudelist saab artiklist "Android Security, Pitfalls, Lessons Learned and BYOD". Lisaks tavalisele tavalisele Androidile on Nexus seeria telefonidel võimalik kasutada ka tugevdatud Androidi, mille nimeks on Copperhead. Copperhead kohta leiate infot selle kodulehelt.
Rakenduste õigused
Android nõudis varasemalt, et rakendused sisaldaksid nimekirja õigustest, mida nad võivad kasutada. Neid õigusi kuvatakse Google Play poes, juba paigaldatud rakendustes ja rakendusi paigaldades. Väga oluline on lugeda, mis õigusi paigaldatav rakendus tahab kasutada. Näiteks ei tohiks olla suvalisel mängul õigust saata SMS või teha telefonikõnesid. Olulised on nii õigused kui ka õiguste kombinatsioonid! Kui rakendus tahab kasutada liigseid õigusi, siis võib olla tegu pahavaraga. NB! Paljud rakendused kasutavad õigust Internetile reklaamide tõttu, kuna reklaamide allalaadimiseks on vaja võrguühendust.
Kahjuks ei olnud Androidi varasemate versioonidega (enne Android 6) võimalik paigaldada rakendusi nii, et lubatud oleks olnud ainult osa soovitud õigustest. Rakendust paigaldades tuli pakutavate õiguste nimekirjaga kas nõustuda või rakenduse paigaldamisest loobuda. Androidi põhjal arendatud CyanogenMod lubas anda rakendusele pagaldamisel ka alamosa nõutud õigustest.
Nimekiri kõikvõimalikest Androidi rakenduste õigustest on olemas siin: https://developer.android.com/reference/android/Manifest.permission.html
XDA foorumi teema androidi õigustest koos selgitustega: http://forum.xda-developers.com/showthread.php?t=2341839
Tavakasutaja saab vaadata iga programmi õigusi eraldi või siis kasutada mõnda rakendust, mis kuvab kasutatavad õigused. Üks niisugune rakendus on PermissionDog: https://play.google.com/store/apps/details?id=com.PermissioDog
Harjutus: Vaatame, Google Play abil erinevate rakenduste õiguseid. Vaatame, mida rakenduste paigaldamisel kontrollida.
Alates versioonist 6 (Marshmallow) lubab Android juba paigaldatud rakendustelt eemaldada üksikuid privaatsuskriitilisi õigusi, näiteks kontaktide lugemine, asukoha küsimine, kaamera kasutamine jm. Kui rakendus püüab mõnda keelatud funktsionaalsust kasutada, siis küsitakse kasutajalt kinnitust.
Granulaarsemad rakenduste õigused alates Android versioonist 6 (allikas).
Ohud ja probleemid
Androidi ründevektorid
- olemasolevate rakenduste ümberpakkimine / jäljendamine ja levitamine teistes marketites
- rakendustele uuendusfunktsionaalsuse lisamine - pahavaraline osa võidakse laadida alles siis kui rakendus töötab ja seega muutub vastava pahavaralise rakenduse tuvastamine keerukamaks
- pime allalaadimine (drive-by download, loe lähemalt)
Piraaditud rakendused
Piraaditud rakenduste paigaldamisel pole garantiid, et vastav rakendus oleks testitud ja ei sisaldaks pahavara. Vastupidi, piraaditud rakendused on üks parimaid viise pahavara levitamiseks. Kuna kasutajad tahavad saada tasuta funktsionaalsust, siis nad ei hooli väga palju turvariskidest Samuti võib olla keeruline tuvastada, kas piraaditud rakendus sisaldab pahavara või on seda modifitseeritud ainult selleks, et see tasuta töötaks. Samuti ei ole alati piraaditud rakenduste puhul kogukonda, kes annaks rakendustele hinnanguid.
Androidi uuendamine on problemaatiline
Kuna Androidi lähtekood on avalik ja samuti on avalikud mõningad tarkvara vigu haldavad keskkonnad (bug trackers), siis saavad ründajad piisavalt infot, et tarkvaras olevaid vigu rünneteks kasutada. Seega tuleks ohtlikud vead kiiresti paigata, aga reaalsuses võib uuenduste loomiseks kuluda mitmeid kuid. Probleem seisneb selles, et uuenduste levitamine on seadmete tootjate jaoks kallis tegevus ja Androidi seadmete tootjaid on palju. Püsivara (firmware) uuendamiseks tuleb seda väga põhjalikult testida ning uuendatud püsivaraga seadmed mobiilioperaatorite jaoks uuesti sertifitseerida. Uuendatud püsivaraga seadmete sertifitseerimisele võib kuluda mitmeid kuid. Seetõttu paljude kasutajateni Android operatsioonisüsteemi uuemad versioonid ei jõuagi, kuigi riistvara sobiks küll. Seda illustreerib ja järgnev graafik Androidi versioonide levikust (Android versioonid käivad tähestikulises järjekorras: 4.1-4.3 Jelly Bean, 4.4 KitKat, 5 Lollipop, ...):
Android versioonide levik, pilt tehtud mais 2019: (allikas).
Praktikas tähendab see kasutaja jaoks kahjuks seda, et uus seade saab toojalt vaid 1-2 tarkvarauuendust ning hiljem seadmele rohkem uuendusi, sh turvaaukude parandusi ei tule. Seda illustreerib praeguseks veidi vananenud, aga siiski relevantne Android 5 (Lollipop) ja iOS 8 kasutusse jõudmise võrdlus:
Cambridge ülikoolis uuriti 20400 Androidi seadmelt kogutud andmeid ning selle põhjal leiti, et enamik seadmetest kasutab vananenud tarkvara, millel on turvaaugud. Rohkem infot vastava uuring kohta leiate järgnevast artiklist: Security Metrics for the Android Ecosystem. Sarnast infot üritab endasi anda ka järgnev joonis, mis näitab, et suur osa Androidi seadmetest kasutab turvaauke sisaldavat tarkvara.
Olukord on siiski muutunud oluliselt paremaks seoses 2018 aasta veebruaris käivitunud programmiga Android Enterprise Recommended. Selle raames peavad seadmete tootjad täitma teatud tingimused, et saada vastavat märget. Näiteks selleks, et tingimustele vastata tuleb Google turvauuendused teha kättesaadavaks 90 päeva jooksul ning turvauuendusi pakkuda kuni kolm aastat pärast seadme esitlust. Enterprise solutions directory kuvab nimekirja seadmetest, mis on täitnud Android Enterprise Recommended nõuded. 27. veebruaril 2020 kandis vastavat silti 146 seadet 7833-st loetletust.
Tootja poolt modifitseeritud Android
Androidi seadmete tootjad sageli modifitseerivad tarkvara, näiteks kasutajaliidese komponente. See omakorda võib nõrgestada Androidi turvamudelit ja luua ründajate jaoks võimalusi seadme ründamiseks. Mõningaid näiteid tootjate poolt nõrgestatud turvamudelist leiab artiklist: "Android Security, Pitfalls, Lessons Learned and BYOD"
Projekt Treble (allikas)
Google proovib neid probleeme lahendada projektiga Treble. Selle projekti raames eraldatakse tootjapoolsed Androidi modifikatsioonid operatsioonisüsteemi kesksetest funktsionaalsustest. Seetõttu saavad tootjad saata Androidi uuendusi (näiteks turvauuendusi) lõppkasutajatele ilma, et oleks vaja endapoolseid muudatusi lisada. Projekt Treble toimib kõigil uutel Android seadmetel, mis omavad Android O (Oreo) versiooni. Rohkem infot vastava projekti kohta leiab siit: Android Developer's blog.
Soovitused Android seadme turvaliseks kasutamiseks:
- lukustage ekraan (muster, PIN kood, parool, näotuvastus)
- PIN kood või parool on antud juhul kõige turvalisemad. Miks?
- paigaldage rakendusi ainult ametlikest allikatest
- Google Play
- Amazon Appstore
- vaadake enne rakenduste paigaldamist tema populaarsust, hinnet ja kommentaare
- rakendustel peaksid olema ainult need õigused, mida neil vaja läheb
- ärge jagage rakendustele infot enda kohta
- ärge hoidke privaatseid andmeid mälukaardil - mälukaardil ei kehti rakendusspetsiifilised piirangud ja seega saavad kõik rakendused mälukaardil kõigele ligi.
- piraaditud rakendused võivad sisaldada pahavara, mida on raske tavakasutajal tuvastada
- kui vajate suuremat turvataset, siis kasutage seadme krüpteerimist
- märkige seadetes ära: disable USB debugging
- kui te ei kasuta Bluetoothi, siis lülitage see välja
- ärge rootige oma seadet, kui selleks pole otsest vajadust
Lisamaterjalid
Androidi turvalisuse kohta saab hea ülevaate MIT kursuse 6.858 Computer Systems Security poolt pakutava video kaudu, mis on tasuta kättesaadav läbi MIT OpenCourseWare programmi. Viidatud video on lisamaterjal, mis on mõeldud tudengitele, kes tahaksid teada rohkem Androidi ehituse ja turvalisuse kohta. Paralleelselt videoga tasub lugeda artiklit, mille põhjal vastav loeng on kokku pandud: Understanding Android Security.
iOS
Rakenduste õigused
Erinevalt Androidist ei näidata kasutajale rakenduse paigaldamise ajal õigusi, mida see võib kasutada. See tuleneb iOS ja Androidi turvaarhitektuuri erinevast ülesehitusest. Android jätab turvalisuse tagamiseks vajaminevate otsuste tegemise kasutajale. iOS rakendused on põhjalikumalt testitud ja seega on neile antud ka suuremad õigused. Siiski küsitakse iga rakenduse kohta kasutajalt kinnitust kui vastav rakendus soovib (esmakordselt) ligi pääseda teatud isiklike andmetele, näiteks seadme asukoht, kasutaja kalender, pildid ja kontaktid, Bluetooth seaded, sotsiaalvõrgustikud, jne.
Piraaditud rakendustega seotud ohud
Jailbreak muudab võimalikuks piraaditud rakenduste paigaldamise. Piraaditud rakenduste paigaldamisel pole garantiid, et vastav rakendus oleks testitud ja ei sisaldaks pahavara. Vastupidi, piraaditud rakendused on üks parimaid viise pahavara levitamiseks. Kuna kasutajad tahavad saada tasuta funktsionaalsust, siis nad ei hooli väga palju turvariskidest. Samuti võib olla keeruline tuvastada, kas piraaditud rakendus sisaldab pahavara või on seda modifitseeritud ainult selleks, et see tasuta töötaks.
Soovitused
- lukustage ekraan (pin kood, parool), kusjuures parool võiks olla vähemalt 6 sümbolit pikk
- ärge rootige (jailbreak) oma seadet
- piraaditud rakendused võivad sisaldada pahavara, mida on raske tavakasutajal tuvastada
Lisamaterjalid
Kui keegi tahab saada rohkem infot iOS turvalisuse kohta, siis leiate informatsiooni Apple poolt loodud dokumendist: Apple Platform Security.
iOS vs Android - avatud või suletud süsteem?
Miks leitakse rohkem pahavaralisi Androidi rakendusi kui iOS (iPhone, iPadi) rakendusi? Põhjus seisneb selles, et Android ja iOS kasutavad erinevat loogikat rakenduste levitamiseks. Apple kasutab suletud süsteemi, kus kasutajatel on võimalik rakendusi allalaadida ainult Apple enda poest App Store. Google kasutab avatud süsteemi, mille kohaselt saavad kasutajad rakendusi alla laadida ja paigaldada erinevatest allikatest.
Apple iOS suletud süsteem
- Üks allikas rakenduste paigaldamiseks - App Store
- jailbreak annab võimaluse teiste rakenduste paigaldamiseks
- kõik vastuvõetud rakendused signeeritakse digitaalselt Apple poolt
- App Store seab piirangud vastuvõetavatele rakendustele
- piirangute kirjeldused - https://developer.apple.com/app-store/review/
- App Store vaatamiseks tuleb kasutada vastavat seadet või programmi iTunes
- mõningaid rakendusi on võimalik näha ka veebipoe kaudu: App Store
- App Store saadetud rakendusi kontrollitakse lähtuvalt piirangutest ning testitakse pahavara suhtes
- siiski on võimalik kontrollsüsteemist mööda pääseda - http://www.theguardian.com/technology/appsblog/2013/aug/19/ios-malware-apple-iphone-ipad-jekyll
- pahavaralisi rakendusi on leitud iOS-seadmetel tunduvalt vähem kui Android-seadmetel
- Appid käivitatakse aedikutes (sandbox)
- Kasutaja ei näe, mis õiguseid rakendus kasutada võib
- iOS lähtekood on suletud
Google Android avatud süsteem
- Võimalik paigaldada erinevaid rakenduste allikaid
- näiteks Amazon Appstore http://www.amazon.com/mobile-apps/b?ie=UTF8&node=2350149011
- Install Amazon Appstore http://www.amazon.com/gp/mas/get/android
- Rakenduste avaldamine Google Play poes on lihtsam võrreldes Apple App Store-ga
- Developer Distribution Agreement https://play.google.com/about/developer-distribution-agreement.html
- Google Play https://play.google.com/store?hl=en
- Rakendustel on kindlaks määratud õigused, iga rakendus käivitatakse eraldi aedikus (sandbox)
- Rakendused signeeritakse arendajate poolt
- Google Play poest ja sealt alla laetud rakendusi kontrollib pahavara suhtes Google Play Protect süsteem. Paljud pahavaralised rakendused avastatakse kogukonna poolt, eriti teistes rakenduste poodides.
- Androidi lähtekood on avatud
Seega, Apple iOS pakub oma suletuse tõttu mõnevõrra suuremat turvalisust. Nii iOS kui Androidi seadmeid on võimalik rootida (iOS puhul kasutatakse sisuliselt sama asja kohta mõistet jailbreak). See võimaldab kasutajal tootja piirangutest mööda minna (näiteks pääseda ligi operatsioonisüsteemi failidele), aga samas võib rootimine muuta ka seadme ründamise lihtsamaks.
Rootimisega saab:
- Android
- paigaldada modifitseeritud operatsioonisüsteemi, näiteks GrapheneOS
- eemaldada seadme või operaatori rakendusi
- muuta mõningaid rakendusi kiiremaks
- lubada seadme kasutamist teise operaatori võrgus
- iOS
- paigaldada rakendusi alternatiivsetest allikatest
- pääseda juurde seadmel olevatele failidele
- lubada seadme kasutamist teise operaatori võrgus
Privaatset suhtlemist võimaldavad rakendused
Enamasti krüpteerivad traditsioonilised suhtlusprogrammid ühendust klientide ja keskserveri vahel (sarnaselt toimivad näiteks Skype ja Google Hangouts). Seetõttu saavad teenusepakkujad edastatavaid sõnumeid lugeda ning vajadusel neid ka muuta. Seega võib vastavate programmide kasutamisel tekkida oht nii sõnumite konfidentsiaalsusele kui ka terviklikkusele. Antud probleemi lahendamiseks saab kasutada otspunktkrüpteerimist (end-to-end encryption), mis võimaldab luua krüpteeritud ühenduse suhtlevate osapoolte vahel nii, et keskserver ei saa sõnumeid lugeda ega muuta. Siiski on väga keeruline luua suhtlusprotokolle ja suhtlusrakendusi, mis toimiksid turvaliselt igas olukorras. Nende probleemide kohta leiate rohkem infot siit: Secure Messaging? More Like A Secure Mess.
Open Whisper Systems arendab avatud lähtekoodiga privaatsust tagavat suhtlemisrakendust Signal, mis põhinev otspunktkrüpteerimisel. Siganl võimaldab teha krüpteeritud kõnesid ning krüpteeritud tekstisuhtlust. Signal on tasuta, avatud lähtekoodiga ja saadaval GPLv3 litsentsi alusel. Hiljuti hakkasid Signali protokolli kasutama ka tuntud suhtlusrakendused WhatsApp, Facebook Messenger, Google Allo, Skype. Siiski on Signali protokoll koos otspunktkrüpteerimisega vaikimisi aktiveeritud ainult WhatsApp poolt. Seega tavapäraselt Skype kasutades Signali protokolli ja otspunktkrüpteeringut ei kasutata.
The Guardian Project arendab muuhulgas rakendust ChatSecure, mis krüpteerib osapoolte vahelist tekstisuhtlust. Rakendus on tasuta ja avatud lähtekoodiga. Lisaks kasutab ChatSecure tuntud XMPP protokolli ning turvalisuse jaoks OTR protokolli, nii et see ühildub ka teiste XMPP/OTR rakendustega.
Lisaks eelnevatele pakub otspunktkrüpteerimist ka Apple iMessage protkoll, mida kasutatakse programmis Messages (sisse ehitatud macOS ja iOS). Erinevalt eelneval kirjeldatud protokollidest ei ole Apple iMessage protkoll avalik ning võtmete haldusega tegeleb Apple keskserver. 2016 aastal leiti iMessage protokollist mõningaid probleeme, nende kohta saate lugeda järgnevast blogipostitusest: Attack of the Week: Apple iMessage.
Kasulikud lingid
- Raportid
- Nutiseadmete kahjurvara ja ründed
- Smudge Attacks on Smartphone Touch Screens (2010)
- A Survey of Mobile Malware in the Wild (2011)
- Dissecting Android Malware: Characterization and Evolution (2012)
- Hackers claim to have defeated Apple's Touch ID print sensor (2013)
- AndroidVulnerabilities.org (2015)
- 234 Android Applications Are Currently Using Ultrasonic Beacons to Track Users (2017)
- Report Finds Rate of iOS Malware Increasing Faster than Android Malware at iPhone Ten Year Anniversary (2017)
- Yet Another Android Malware Infects Over 4.2 Million Google Play Store Users (2017)
- So You Think You Can Secure Your Mobile Phone With a Fingerprint? (2017)
- Erinevad artiklid
- Managing smart phone security risks (2010)
- Permission Re-Delegation: Attacks and Defenses (2011)
- The iPhone Has Passed a Key Security Threshold (2012)
- Is Apple Picking a Fight With the U.S. Government? (2014)
- The FBI spent $1.3M to crack the iPhone — this hacker spent just $100 (2016)
- The bumpy road towards iPhone 5c NAND mirroring (2016)
- MAC randomization: A massive failure that leaves iPhones, Android mobes open to tracking (2017)
- Secret chips in replacement parts can completely hijack your phone’s security (2017)
- Androidi turvamudel
- "Android Security, Pitfalls, Lessons Learned and BYOD" (2013)
- ABS: Android security underpinnings
- Forum topic: Android permissions explained, security tips, and avoiding malware
- Revisiting Android disk encryption (2014)
- Security Metrics for the Android Ecosystem (2015)
- The limitations of Android N Encryption (2016)