Google I/O-s saime teada Android Q täiustustest. Uues Android OS-is on kõikjal uued turva- ja privaatsusfunktsioonid ja täiustused.
Iga Android OS-i uus versioon toob kaasa täiustusi peaaegu kõikidele aspektidele, alates disainist, funktsioonidest, API-dest ja muust. Selle kuu alguses Google I/O-s saime teada kõigest Android Q täiustused toob ja loomulikult ei jäetud konverentsilt välja ka uued privaatsus- ja turvateated. Platvormi turvalisus on OS-i üks olulisemaid aspekte, eriti OS-i puhul, mida me igal pool taskus kaasas kanname. Kui Android poleks turvaline, ei usaldaks me sellele poole vähem funktsioone kui meil. NFC-maksed ei tuleks kõne alla, failijagamine oleks parimal juhul kahtlane ja teiste seadmetega ühenduse loomine lausa hullumeelsus. Vaatamata pikaajalisele versioonide killustatuse probleemile on Google teinud väga hästi turvaprobleemide arvu vähendamiseks.
Android on arenenud OS-iks, mis on nii funktsioonirikas kui ka väga turvaline. Kuid loomulikult on alati arenguruumi. Seda turvalisust soodustavad paljud tegurid ja mõnda neist täiustatakse Android Q abil mingil moel.
Krüpteerimine
Kuna tegemist on ühe põhilisema turvameetodiga, on oluline, et iga seade toetaks tugevat krüptimist. Paljud originaalseadmete tootjad tarnivad tänapäeval oma seadmeid spetsiaalse krüpteerimisriistvaraga. Kuigi see on kasulik, on see ka kallis. Sellisena on spetsiaalne riistvara tavaliselt piiratud keskmise ja kõrge taseme seadmete jaoks. See ei tähenda, et madala hinnaga seadmed ei saa toetab krüptimist, kuid ilma riistvaralise kiirendatud krüptimiseta halveneb üldine kasutajakogemus aeglaste lugemis-/kirjutusaegade tõttu. Siin tulebki Adiantum sisse.
Adiantum
Veebruaris kuulutas Google välja Adiantumi alternatiivina krüpteerimisalgoritm madalama hinnaga telefonidele mis ei toeta tavalisi AES-i käsukomplekte. Adiantum on spetsiaalselt loodud töötama ilma spetsiaalse riistvarata. See on kergem alternatiiv Androidi tavapärasele AES-krüptimisele. Google'i etalonid öelge meile, et see on tegelikult 5 korda kiirem kui AES, mille negatiivne külg on see, et see seab veidi järeleandmisi turvalisuses. See muudab selle ideaalseks kandidaadiks odavamate telefonide jaoks, näiteks need, mis töötavad Android Go Editioniga. Adiantum on mõeldud ka sellistele toodetele nagu nutikellad ja mitmesugused asjade interneti seadmed.
Seni oli Adiantum vabatahtlik; tootjad said selle lubada seadmetes, mis käivituvad Android Pie-ga, kuid see ei olnud vaikekrüpteerimisalgoritm. Nüüd on Adiantum algselt Android Q osana. See tähendab, et kõik Q-ga käivitatavad seadmed peavad eranditeta kasutajaandmeid krüpteerima. Selle tulemusel on Android Q-ga käivitatavatel seadmetel salvestusruumi krüptimine garanteeritud, olgu Adiantumi kaudu või mitte.
Jetpacki turvaraamatukogu
Jetpack on Androidi tugiteekide komplekt ja üks uusimaid täiendusi on alfas: Jetpacki turvateek. Teek lihtsustab teie rakenduse turvalisuse protsessi, haldades selliseid asju nagu riistvaraga toetatud võtmehoidlate haldamine ning võtmete genereerimine ja valideerimine.
TLS 1.3
Salvestusruum ei ole aga ainus piirkonna krüpteerimist, mida on täiustatud. Suhtlemine teiste seadmetega on oluliselt paranenud, kasutuselevõtuga TLS 1.3 tugi algselt. TLS 1.3 on uusim võrgu krüptostandard, mille IETF koostas 2018. aasta augustis. TLS 1.3 pakub andmevahetusel rohkem privaatsust, krüpteerides suurema osa läbirääkimiste käepigistest. Lisaks on see kiirem kui TLS 1.2, kuna kogu edasi-tagasi reis on ühenduse loomise käepigistusest eemaldatud. Koos tõhusamate kaasaegsete algoritmidega suurendab see kiirust kuni 40%.
TLS-i saab nüüd otse Google Playst värskendada, kuna see on osa "Conscrypt" komponendist. Selle ja Project Mainline'i kohta saate rohkem lugeda siin.
Arvestades, et usaldame oma seadmetes igapäevaselt nii palju tundlikke tehinguid, on täiendatud TLS olulisem kui kunagi varem. Pardakaartide hoiustamine – ja isegi digitaalsed juhiload millalgi tulevikus – Androidis tähendab see, et kõik seadmed peaksid kasutajaandmeid nii hästi kui võimalik krüpteerima. Adiantum ja sundkrüptimine sillutavad teed isegi kõige tundlikumate andmete salvestamiseks odavaimatesse seadmetesse. Kuid krüptimine pole ainus viis, kuidas Google suurendab Q-väljaandes Androidi turvalisust.
Android Q load ja privaatsusmuudatused
Ulatuslik salvestusruum
Ulatuslik salvestusruum on uus kaitsemeede, mida kasutatakse selleks, et piirata rakendustel välismällu failide lugemist/kirjutamist, mis ei asu nende enda liivakastipõhises rakendusepõhises kataloogis. Google'i eesmärk on kolmekordne: parem omistamine, millistel rakendustel on kontroll milliste failide üle, rakenduste andmete kaitse ja kasutajaandmete kaitse.
Google kahekordistab MediaStore API-d jagatud heli-, video- ja pildisisu jaoks. Vaikimisi saavad kõik rakendused MediaStore'i oma faile sisestada, muuta või kustutada. Pildid, MediaStore. Video ja MediaStore. Helikogud ilma lubadeta. Android Q lisab ka uue MediaStore. Allalaadimised kogumine kasutajate allalaaditud sisu salvestamiseks, millele saavad kaasa aidata kõik MediaStore API-d kasutavad rakendused. Kuigi liivakastirakendusepõhistesse kataloogidesse salvestatud failid kustutatakse desinstallimisel, jäävad kõik MediaStore'i kogudesse lisatud failid pärast desinstallimist alles.
Teise rakenduse loodud failidele juurdepääsemiseks – olenemata sellest, kas fail on ühes MediaStore’i kogudest või väljaspool neid – peab rakendus kasutama Storage Access Frameworki. Lisaks redigeeritakse piltide EXIF-metaandmeid, välja arvatud juhul, kui teie rakendusele on antud uut luba ACCESS_MEDIA_LOCATION. Android Q-s saavad rakendused juhtida ka seda, millisele salvestusseadmele meediumid suunatakse, küsides selle helitugevuse nime käsuga getExternalVolume().
Google kehtestas algselt kõigile Android Q rakendustele ulatuse salvestusruumi piirangud, olenemata nende API sihttasemest, kuid pärast tagasisidet on ettevõte andes arendajatele rohkem aega kohandusi teha. Täielikud üksikasjad hõlmatud salvestusruumi muudatuste kohta leiate sellel lehel, ja saate lisateavet Google'i soovituste kohta jagatud salvestusruumi parimate tavade kohta vaadates seda Google I/O-d rääkida.
Hoiatused rakenduste kohta, mis sihivad API taset < 23
Lubade piirangud ei lõpe aga sellega. Kui installite rakenduse, mis sihib API-taset alla 23 (Android Lollipop või vanem), kuvab OS kasutajale hoiatuse, kui rakendus taotleb installimisel tundlikke lube. Enne installimist saavad kasutajad käsitsi määrata, milliseid õigusi nad soovivad rakendusele enne jätkamist anda. Seega ei luba Android Q enam rakendustel käitusaja lubadest mööda pääseda.
Lõplik SYSTEM_ALERT_DEPRECATION Bubbles API kasuks
Bubbles API tegevuses. Allikas: Google.
Ülekatte luba (SYSTEM_ALERT_WINDOW) ei saa enam anda rakendustele, mis töötavad operatsioonisüsteemis Android Q (Go Edition). Muude kui Go Editioni seadmete puhul surub Google arendajaid uue Bubbles API poole. Bubbles API on funktsioon, mida tutvustati Android Q Beta 2 mis võimaldab funktsionaalsust, mis on nagu Facebook Messengeri vestluspead. Rakenduste märguanded kuvatakse ekraani servades väikeste mullidena, mis kasutaja puudutamisel laienevad. Mulli sees saab rakendus kuvada tegevuse.
See muudatus oli vajalik, kuna lubades rakendustel vabalt teistele rakendustele ülekatteid joonistada, on ilmne turvarisk. kurikuulus"Mantel ja pistoda" exploit kasutas seda nõrkust laialdaselt. Ülekatte API funktsionaalsust piirati juba Android Oreo puhul, kuid nüüd on Android Q Go väljaanne täielikult eemaldanud juurdepääsu API-le. tulevane väljalase, et see täielikult aeguda.
Taustategevuse käivitamise piirangud
Taustal olevad rakendused ei saa enam automaatselt tegevust käivitada, kui telefon on lukustamata, olenemata nende API sihttasemest. Seal on terve nimekiri tingimustest, mille korral rakendused saavad nüüd tegevusi käivitada, mida saate lugeda siin. Taustarakendused, mis nendele tingimustele ei vasta ja soovivad kiiresti tegevust käivitada, peavad sellest kasutajale teatise kaudu teatama. Kui märguanne luuakse ootel täisekraani kavatsusega, käivitatakse kavatsus kohe, kui ekraan on välja lülitatud – see on kasulik häirete või sissetulevate kõnede puhul.
Tausta lõikelauale juurdepääsu piirang
Juurdepääs taustal lõikelauale on pole enam võimalik. Ükski rakendus, mis ei ole esiplaanil või ei ole määratud vaikesisestusmeetodiks, ei saa teie lõikepuhvrit mingil viisil lugeda. See mõjutab eriti tugevalt selliseid rakendusi nagu lõikelauahaldurid. Google ütleb, et see muudatus mõjutab ainult rakendusi, mis sihivad ainult Android Q-d, kuid meie testid näitavad, et piirang ei ole diskrimineeriv. ükski rakendus, mida proovisime, ei näinud lõikepuhvrit.
See muudatus on muidugi mõistlik. Kopeerime sageli lõikepuhvrisse tundlikku teavet – näiteks paroole ja krediitkaardiandmeid –, kuid siiski on kahju, kui lõikepuhvri haldurid lähevad tühjaks.
Juurdepääs asukohale ainult siis, kui rakendus on kasutusel
Uus kasutaja lubatud seade võimaldab rakendustel jõuda teie asukohta ainult siis, kui rakendus on kasutusel. Uusim Android Q beetaversioon on lisanud ka märguande, mis tuletab meelde, kas olete andnud rakendusele püsiva juurdepääsu asukohale.
Rollid
Lisatud on uus "Rollide" API. Rollid on sisuliselt eelseadistatud lubadega juurdepääsuga rühmad. Näiteks võib galerii rolliga rakendustel olla juurdepääs teie meediumikaustadele, samas kui helistaja rolliga rakendused võivad kõnesid hallata. Rakendustel, millele kasutaja on andnud teatud rolli, peavad olema ka vajalikud komponendid. Näiteks galeriirolliga rakendustel peab olema toimingu kavatsuse filter android.kavatsus.tegevust.PEAMISED ja kategooria kavatsuste filter android.intent.category. APP_GALERII et kuvada seadetes galeriirakendusena.
Andurid väljas Kiirseadete paan
Seal on uus kiirseadete paan "Andurid välja lülitatud", mis lülitab näidud välja kõik andurid (kiirendusmõõtur, güroskoop jne) teie seadmes tõelise privaatsuse tagamiseks. See kiirsätete paan on vaikimisi peidetud, kuid selle saab lubada, minnes arendaja valikutes jaotisesse "Arendaja kiirseadete paanid".
Piirangud /proc/net
Rakendused ei saa enam juurdepääs proc/netile, mistõttu sellised teenused nagu netstat ei ole enam elujõulised. See kaitseb kasutajaid pahatahtlike rakenduste eest, mis jälgivad, milliste veebisaitide ja teenustega nad ühenduse loovad. Rakendused, mis vajavad pidevat juurdepääsu (nt VPN-id), peavad kasutama NetworkStatsManager ja Ühenduvushaldur klassid.
Juhuslikud MAC-aadressid
Teie MAC-aadress on kordumatu identifikaator, mida võrgud kasutavad, et meeles pidada, milline seade on milline. Android Q-s kasutab seade iga kord, kui loote ühenduse uue võrguga, uut juhuslikult valitud MAC-aadressi. Tulemusena, võrgud ei saa teie asukohta jälgida ühildades WiFi-võrgud, millega ühenduse loote, oma telefoni MAC-aadressiga. Seadme tegeliku tehase MAC-aadressi saavad rakendused siiski hankida rakenduse kaudu hankige WifiMacAddress() käsk.
Platvormi kõvenemine Android Q-s
Üks Androidi viga ei tähenda, et ründajatel on nüüd täielik juurdepääs OS-ile või et nad saavad turvasüsteemidest mööda minna. See on osaliselt tingitud mitmetest kaitsemeetmetest, nagu protsessi isoleerimine, rünnakupinna vähendamine, arhitektuuriline lagunemine ja ärakasutamise leevendamine. Need kaitsemeetmed muudavad turvaaukude ärakasutamise raskemaks või isegi võimatuks. Seetõttu vajavad ründajad enne oma eesmärkide saavutamist tavaliselt palju turvaauke. Varem oleme näinud rünnakuid nagu DRAMMER mis toimivad mitme ärakasutamise aheldamisel.
Android Q võtab selliseid kaitsemeetmeid ja rakendab neid tundlikumates piirkondades, nagu meedia ja Bluetoothi komponendid koos tuumaga. See toob kaasa märkimisväärseid täiustusi.
- Piiratud liivakast tarkvara koodekite jaoks.
- Desinfitseerimisvahendite suurem kasutamine tootmises, et leevendada ebausaldusväärset sisu töötlevate komponentide turvaauke.
- Shadow Call Stack, mis tagab tagumise serva kontrolli voo terviklikkuse (CFI) ja täiendab LLVM-i CFI pakutavat edasi-serva kaitset.
- Aadressiruumi paigutuse juhusliku muutmise (ASLR) kaitsmine lekete eest, kasutades ainult eXecute-Only Memory (XOM)-mälu.
- Scudo tugevdatud jaoturi kasutuselevõtt, mis muudab mitmete kuhjaga seotud turvaaukude ärakasutamise keerulisemaks.
See on palju tarkvara žargooni. Asi on selles, et esiteks töötavad tarkvarakoodekid nüüd liivakastides, millel on vähem õigusi, mis tähendab, et vähem tõenäoline, et pahatahtlik tarkvara suudab käivitada käske, mis võivad teie seadet kahjustada, näiteks korpuses kohta Rambipalavik tagasi aastal 2015.
Teiseks kontrollib Android nüüd rohkemates kohtades juurdepääsu üle piiridest massiividele ja ületäitumisi. Ületäitumiste vältimine ja protsesside ohutuks ebaõnnestumiseks suunamine vähendab oluliselt kasutajaruumi haavatavuste protsenti. See tähendab, et kui pahatahtlik programm üritab tahtlikult üritades midagi krahhi põhjustada saada juurdepääs andmetele, mida pole olemas, tunneb Android selle nüüd ära ja väljub selle asemel programmist krahh.
Kolmandaks kaitseb Shadow Call Stack tagastusaadresse, salvestades need eraldi varjuvirna, muutes need tavaprogrammidele kättesaamatuks. Tagastamisaadressid viitavad tavaliselt funktsioonidele, seega on nende aadresside kaitsmine oluline tagamaks, et ründajad ei pääseks juurde funktsioonidele, mida nad ei peaks saama.
Neljandaks on ASLR kaitsemeetod, mis määrab programmide mällu salvestamise koha, muutes selle teiste programmide asukoha põhjal on raskem aru saada, kuhu programmid mällu salvestatakse programmid. Ainult eXecute-mälu tugevdab seda, muutes koodi loetamatuks.
Lõpuks on Scudo dünaamiline kuhjajaotur, mis haldab ennetavalt mälu viisil, mis muudab hunnikupõhiste turvaaukude ärakasutamise palju raskemaks. Saate selle kohta rohkem lugeda siin.
Autentimine
BiometricPrompti värskendused Android Q-s
Google tutvustas uut BiometricPrompt API-t enam kui aasta tagasi, aastal Android P arendaja eelvaade 2. See pidi olema üldine Androidi viip biomeetriliste avamismeetodite jaoks. Idee seisneb selles, et seadmed, mis toetavad enamat kui lihtsalt sõrmejälgede skannimist, nt. iirise skannimine Samsungi Galaxy S liinil, saab neid meetodeid kasutada, kui rakendused küsivad kinnitust.
Android Q lisab tugeva toe näo ja sõrmejälgede kinnitamiseks ning laiendab API-d, et toetada kaudset autentimist. Selge autentimine eeldab, et kasutaja autentib enne jätkamist mingil viisil, samas kui kaudne autentimine ei vaja enam kasutaja sekkumist.
Lisaks saavad rakendused nüüd lihtsa meetodi abil kontrollida, kas seade toetab biomeetrilist autentimist funktsioonikutse, mis võimaldab neil mitte raisata aega BiometricPrompti kutsumiseks seadmetes, mis seda ei tee seda toetada. Ideaalne kasutusviis oleks see, kui rakendused soovivad anda seade "Luba biomeetriline sisselogimine" selle põhjal, kas seade toetab biomeetrilist autentimist või mitte.
Elektroonilise ID toe ehitusplokid
Selle aasta alguses avastasime tõendeid selle kohta, et Google on töötab elektrooniliste ID-de toe kallal Androidis. I/O-s teavitas Google meid funktsiooni edenemisest. Google ütleb, et nad teevad koostööd ISO-ga, et standardida mobiilsete juhilubade rakendamist, kusjuures töös on elektroonilised passid. Arendajatele pakub Google Jetpacki teeki, et saaks hakata looma identiteedirakendusi.
Project Mainline Android Q-s
Project Mainline on Google'i suur ettevõtmine teatud süsteemimoodulite ja rakenduste killustatuse vähendamiseks. Google juhib Play poe kaudu umbes 12 süsteemikomponendi värskendusi. Oleme projektist Mainline põhjalikult rääkinud eelmises artiklis kui olete huvitatud rohkem lugemisest.
Järeldus
Turvalisus on alati olnud Androidi arenduse põhiosa. Google on teinud muljetavaldavat tööd, et hoida Androidi uusimate turvafunktsioonidega ajakohasena ning teha mõned uuendused. Nad jätkavad seda arendusprotsessi Android Q-ga, pakkudes seda täis turvafunktsioone, mis on loodud tagamaks, et teie andmed on turvalisemad kui kunagi varem.
1. allikas: mis on uut Android Q turvalisuses [Google]
2. allikas: Androidi turvalisus: mis edasi [Google]
3. allikas: karmistamise täiustuste järjekorda seadmine [Google]
Mishaal Rahmani ja Adam Conway panusega.