„Android“ K: visos naujos saugos ir privatumo funkcijos, kurios bus pateiktos „Android 10“.

„Google I/O“ sužinojome apie „Android Q“ teikiamus patobulinimus. Naujos saugos ir privatumo funkcijos bei patobulinimai yra visoje naujoje „Android“ OS.

Kiekviena nauja „Android“ OS versija patobulina beveik visus dizaino, funkcijų, API ir kt. aspektus. Anksčiau šį mėnesį „Google I/O“ sužinojome apie viską „Android Q“ patobulinimai ir, žinoma, konferencijoje nebuvo palikti nauji pranešimai apie privatumą ir saugumą. Platformos saugumas yra vienas iš svarbiausių OS aspektų, ypač OS, kurią visur nešiojamės kišenėse. Jei „Android“ nebūtų saugus, nepatikėtume jai perpus mažiau funkcijų nei mes. NFC mokėjimai būtų iš piršto laužti, dalijimasis failais geriausiu atveju būtų abejotinas, o prisijungimas prie kitų įrenginių būtų tiesiog beprotybė. Nepaisant ilgalaikės versijos suskaidymo problemos, „Google“ padarė labai gerai, kad saugos problemų skaičius būtų kuo mažesnis.

„Android“ tapo OS, kurioje yra daug funkcijų ir labai saugi. Bet, žinoma, visada yra kur tobulėti. Yra daug veiksnių, prisidedančių prie šios saugos, o kai kurie iš jų tam tikru būdu patobulinami naudojant „Android Q“.


Šifravimas

Kadangi tai yra vienas iš pagrindinių saugos metodų, svarbu, kad kiekvienas įrenginys palaikytų tvirtą šifravimą. Šiomis dienomis daugelis originalios įrangos gamintojų pristato savo įrenginius su tam skirta šifravimo įranga. Nors tai naudinga, bet ir brangu. Todėl speciali aparatinė įranga paprastai buvo ribojama vidutinio ir aukšto lygio įrenginiams. Tai nereiškia, kad žemos klasės įrenginiai negali palaiko šifravimą, tačiau be aparatinės įrangos pagreitinto šifravimo bendra vartotojo patirtis pablogėja dėl lėto skaitymo / rašymo laiko. Štai čia ateina Adiantum.

Adiantum

Vasario mėnesį „Google“ paskelbė „Adiantum“ kaip alternatyvą šifravimo algoritmas žemesnės klasės telefonams kurie nepalaiko įprastų AES instrukcijų rinkinių. Adiantum yra specialiai sukurta veikti be jokios specialios aparatinės įrangos. Tai yra lengvesnė alternatyva įprastam „Android“ AES šifravimui. Google etalonus pasakykite mums, kad jis iš tikrųjų yra 5 kartus greitesnis nei AES, o trūkumas yra tas, kad jis šiek tiek kenkia saugumui. Dėl to jis idealiai tinka žemesnės klasės telefonams, pvz., turintiems Android Go Edition. Adiantum taip pat skirta tokiems produktams kaip išmanieji laikrodžiai ir įvairūs daiktų interneto įrenginiai.

Iki šiol Adiantum buvo neprivalomas; gamintojai galėjo jį įjungti įrenginiuose, kurie paleidžiami su „Android Pie“, tačiau tai nebuvo numatytasis šifravimo algoritmas. Dabar „Adiantum“ yra įtraukta kaip „Android Q“ dalis. Tai reiškia, kad visi įrenginiai, paleidžiami su Q, turės šifruoti vartotojo duomenis be jokių išimčių. Todėl garantuojama, kad įrenginiai, paleidžiami naudojant „Android Q“, turi saugyklos šifravimą, nesvarbu, ar tai būtų „Adiantum“, ar ne.

„Jetpack“ saugos biblioteka

„Jetpack“ yra „Android“ palaikymo bibliotekų rinkinys ir vienas iš naujausių papildymų yra alfa versijoje: Jetpack saugos biblioteka. Biblioteka supaprastina programos apsaugos procesą, tvarkydama tokius dalykus kaip aparatinės įrangos palaikomų raktų saugyklų valdymas ir raktų generavimas bei patvirtinimas.

TLS 1.3

Tačiau saugykla nėra vienintelė sritis, kurioje buvo patobulintas šifravimas. Ryšys su kitais įrenginiais buvo daug patobulintas, įdiegus TLS 1.3 palaikymas pagal nutylėjimą. TLS 1.3 yra naujausias tinklo kriptografijos standartas, kurį IETF užbaigė 2018 m. rugpjūčio mėn. TLS 1.3 suteikia daugiau privatumo keičiantis duomenimis, užšifruodama daugiau derybų rankų paspaudimų. Be to, jis yra greitesnis nei TLS 1.2, nes nuo ryšio užmezgimo rankos paspaudimo atimama visa kelionė pirmyn ir atgal. Kartu su efektyvesniais šiuolaikiniais algoritmais tai leidžia iki 40 % padidinti greitį.

TLS 1.3 „Google Chrome“. Šaltinis: Google.

TLS dabar galima atnaujinti tiesiai iš „Google Play“, nes tai yra „Conscrypt“ komponento dalis. Galite perskaityti daugiau apie tai ir „Project Mainline“. čia.

Atsižvelgiant į tai, kad kasdien pasitikime tiek daug jautrių operacijų savo įrenginiuose, atnaujintas TLS yra svarbesnis nei bet kada. Įlaipinimo bilietų saugojimas – ir net skaitmeniniai vairuotojo pažymėjimai kada nors ateityje – „Android“ reiškia, kad visi įrenginiai turėtų kuo geriau užšifruoti vartotojo duomenis. Adiantum ir priverstinis šifravimas atvers kelią net jautriausiems duomenims, kurie bus saugomi pigiausiuose įrenginiuose. Tačiau šifravimas nėra vienintelis būdas, kaip „Google“ padidina „Android“ saugumą Q leidime.


„Android Q“ leidimai ir privatumo pakeitimai

Apimtas saugojimas

„Scoped Storage“ yra nauja apsaugos priemonė, naudojama apriboti programoms nuskaityti / rašyti failus išorinėje saugykloje, kurie nėra jų pačių smėlio dėžėje esančiame konkrečios programos kataloge. „Google“ tikslas yra trejopas: geresnis priskyrimas, kurios programos gali valdyti, kuriuos failus, programų duomenų apsauga ir naudotojų duomenų apsauga.

„Google“ padvigubina „MediaStore“ API, skirtą bendrinamam garso, vaizdo ir vaizdo turiniui. Pagal numatytuosius nustatymus visos programos gali įterpti, keisti arba ištrinti savo failus į MediaStore. Vaizdai, MediaStore. Video ir MediaStore. Garso rinkiniai be jokių leidimų. „Android Q“ taip pat prideda naują MediaStore. Atsisiuntimai rinkinys, skirtas saugoti vartotojų atsisiųstą turinį, prie kurio gali prisidėti visos programos, naudojančios MediaStore API. Nors failai, saugomi smėlio dėžės konkrečių programų kataloguose, ištrinami pašalinus, visi failai, įtraukti į MediaStore kolekcijas, išlieka ir po pašalinimo.

Kad pasiektų bet kokius failus, sukurtus kitos programos, nesvarbu, ar failas yra vienoje iš MediaStore kolekcijų, ar už jų ribų, programa turi naudoti saugyklos prieigos sistemą. Be to, vaizdų EXIF ​​metaduomenys redaguojami, nebent programai būtų suteiktas naujas ACCESS_MEDIA_LOCATION leidimas. „Android Q“ programos taip pat gali valdyti, į kurį saugojimo įrenginį nukreipti mediją, užklausdamos tomo pavadinimo naudodami getExternalVolume().

„Google“ iš pradžių įvedė „Scoped Storage“ apribojimus visoms „Android Q“ programoms, neatsižvelgiant į jų tikslinius API lygius, tačiau po atsiliepimų bendrovė suteikiant kūrėjams daugiau laiko atlikti korekcijas. Išsamią informaciją apie apimties saugyklos pakeitimus galite rasti šiame puslapyje, ir galite sužinoti daugiau apie „Google“ rekomendacijas dėl geriausios bendros saugyklos praktikos žiūrint šį „Google I/O“. kalbėti.

Įspėjimai dėl programų, taikomų pagal API lygį < 23

Tačiau leidimų apribojimai tuo nesibaigia. Įdiegus programą, kuri taikoma žemesniam nei 23 API lygiui („Android Lollipop“ ar senesnė), OS parodys įspėjimą vartotojui, jei programai diegiant bus prašoma neskelbtinų leidimų. Prieš diegdami vartotojai turės galimybę rankiniu būdu nurodyti, kokius leidimus jie nori suteikti programai prieš tęsdami. Taigi „Android Q“ nebeleidžia programoms apeiti vykdymo laiko leidimų.

Kaip ir „CopperheadOS“, „Android Q“ dabar leidžia vartotojui išjungti visus prašomus pavojingus leidimus prieš paleidžiant programą pirmą kartą. Tai taikoma tik programoms, taikomoms 22 arba žemesniam API lygiui, t. y. prieš įvedant vykdymo laiko leidimus („Android Marshmallow“).

Galutinė SYSTEM_ALERT_DEPRECATION „Bubbles“ API naudai

Bubbles API veikia. Šaltinis: Google.

Perdangos leidimas (SYSTEM_ALERT_WINDOW) nebegali būti suteiktas programoms, veikiančioms „Android Q“ („Go Edition“). Ne „Go Edition“ įrenginiuose „Google“ stumia kūrėjus prie naujos „Bubbles“ API. Bubbles API yra įdiegta funkcija Android Q Beta 2 kuri leidžia naudotis funkcijomis, panašiomis į „Facebook Messenger“ pokalbių galvutes. Pranešimai iš programų rodomi kaip maži burbuliukai ekrano kraštuose, kurie išplečiami, kai vartotojas juos paliečia. Burbule programa gali rodyti veiklą.

Šis pakeitimas buvo būtinas, nes leidžiant programoms laisvai nubrėžti kitų programų perdangas, kyla akivaizdi saugumo rizika. Liūdnai pagarsėjęs"Apsiaustas ir durklas"Exploit plačiai naudojo šią silpnybę. Perdangos API funkcionalumas buvo apribotas jau „Android Oreo“, tačiau dabar „Android Q“ leidimas „Go“ visiškai pašalino prieigą prie API su būsimą leidimą, kad jis būtų visiškai pasenęs.

Foninės veiklos paleidimo apribojimai

Fone veikiančios programos nebegali automatiškai paleisti veiklos, kai telefonas atrakintas, nepaisant tikslinio API lygio. Yra visas sąrašas sąlygų, kuriomis dabar programos gali pradėti veiklą, kurias galite perskaityti čia. Foninės programos, kurios neatitinka šių sąlygų ir nori skubiai pradėti veiklą, dabar turės informuoti vartotoją pranešimu. Jei pranešimas sukuriamas su laukiančiu viso ekrano režimu, jis iš karto paleidžiamas, jei ekranas išjungtas. Tai naudinga signalams arba įeinantiems skambučiams.

Prieigos prie iškarpinės fono apribojimas

Prieiga prie iškarpinės fone yra nebeįmanoma. Bet kuri programa, kuri nėra pirmame plane arba nustatyta kaip numatytasis įvesties metodas, niekaip negalės nuskaityti jūsų mainų srities. Tai ypač stipriai veikia tokias programas kaip iškarpinės tvarkyklės. „Google“ teigia, kad šis pakeitimas turi įtakos tik programoms, kurios taikomos išskirtinai „Android Q“, tačiau mūsų bandymai rodo, kad apribojimas nediskriminuoja; bet kuri programa, kurią bandėme, negalėjo matyti iškarpinės.

Šis pakeitimas, žinoma, yra prasmingas. Dažnai į mainų sritį kopijuojame neskelbtiną informaciją, pvz., slaptažodžius ir kredito kortelių informaciją, bet vis tiek gaila matyti, kad iškarpinės tvarkytojai nusileidžia.

Prieiga prie vietos tik tada, kai programa naudojama

Naujos vietos leidimo parinktys

Naujas naudotojo įgalintas nustatymas leidžia programoms pasiekti jūsų vietą tik tada, kai programa naudojama. Naujausia Android Q beta versija taip pat pridėjo pranešimą, primenantį, ar suteikėte programai nuolatinę prieigą prie vietos.

Vaidmenys

Vaidmenys

Pridėta nauja „Vaidmenų“ API. Vaidmenys iš esmės yra grupės su iš anksto nustatytais leidimais. Pavyzdžiui, programos, turinčios galerijos vaidmenį, gali turėti prieigą prie jūsų medijos aplankų, o programos, turinčios rinkiklio vaidmenį, gali tvarkyti skambučius. Programos, kurioms vartotojas suteikia tam tikrą vaidmenį, taip pat turi turėti reikiamus komponentus. Pavyzdžiui, programose, turinčiose galerijos vaidmenį, turi būti veiksmo tikslo filtras Android.tikslas.veiksmas.PAGRINDINĖ ir kategorijos tikslo filtras android.intent.category. APP_GALERIJA kad nustatymuose būtų rodoma kaip galerijos programa.

Jutikliai išjungti greitųjų nustatymų plytelė

Jutiklių greitųjų nustatymų plytelė

Yra nauja greitųjų nustatymų plytelė „Jutikliai išjungti“, kuri išjungia rodmenis visi jutikliai (akcelerometras, giroskopas ir kt.) jūsų įrenginyje, kad užtikrintumėte tikrą privatumą. Pagal numatytuosius nustatymus ši sparčiųjų nustatymų plytelė yra paslėpta, tačiau ją galima įjungti, Kūrėjo parinktyse nuėjus į „greiųjų nustatymų kūrėjo plyteles“.

/proc/net apribojimai

Programos nebegali prieiga prie proc/net, todėl tokios paslaugos kaip „netstat“ nebegalioja. Tai apsaugo vartotojus nuo kenkėjiškų programų, stebinčių, prie kokių svetainių ir paslaugų jie prisijungia. Programoms, kurioms reikia nuolatinės prieigos, pvz., VPN, reikia naudoti NetworkStatsManager ir ConnectivityManager klases.

Atsitiktiniai MAC adresai

Jūsų MAC adresas yra unikalus identifikatorius, kurį tinklai naudoja prisimindami, kuris įrenginys yra kuris. Naudodami „Android Q“ kiekvieną kartą, kai prisijungiate prie naujo tinklo, įrenginys naudos naują atsitiktinai parinktą MAC adresą. Kaip rezultatas, tinklai negali sekti jūsų buvimo vietos suderindami, prie kurių „WiFi“ tinklų prisijungiate, su savo telefono MAC adresu. Faktinį įrenginio gamyklinį MAC adresą vis tiek gali gauti programos per gauti WifiMacAddress() komandą.


Platformos grūdinimas „Android Q“.

Viena „Android“ klaida nereiškia, kad užpuolikai dabar turi visišką prieigą prie OS arba kad jie gali apeiti visas saugos sistemas. Taip yra iš dalies dėl daugybės apsaugos priemonių, tokių kaip proceso izoliavimas, atakos paviršiaus mažinimas, architektūros irimas ir išnaudojimo mažinimas. Dėl šių apsaugos priemonių pažeidžiamumą sunkiau arba net neįmanoma išnaudoti. Todėl užpuolikams paprastai reikia daugybės pažeidžiamumų, kad jie galėtų pasiekti savo tikslus. Praeityje matėme išpuolių pavyzdžiui, DRAMMER kurie veikia sujungiant kelis išnaudojimus.

„Android Q“ imasi tokių apsaugos priemonių ir taiko jas jautresnėms sritims, pvz., laikmenai ir „Bluetooth“ komponentams, taip pat branduoliui. Tai atneša keletą ryškių patobulinimų.

  • Apribota smėlio dėžė programinės įrangos kodekams.
  • Padidėjęs dezinfekavimo priemonių naudojimas gamyboje, siekiant sumažinti visų klasių komponentų, apdorojančių nepatikimą turinį, pažeidžiamumą.
  • „Shadow Call Stack“, kuri užtikrina atgalinio krašto valdymo srauto vientisumą (CFI) ir papildo priekinio krašto apsaugą, kurią teikia LLVM CFI.
  • Adresų erdvės išdėstymo atsitiktinio nustatymo (ASLR) apsauga nuo nutekėjimo naudojant „eXecute-Only“ atmintį (XOM).
  • Įdiegtas „Scudo“ sustiprintas skirstytuvas, dėl kurio sunkiau išnaudoti daugybę su krūva susijusių pažeidžiamumų.

Tai yra daug programinės įrangos žargono. Visų pirma, programinės įrangos kodekai dabar veikia smėlio dėžėse, kurios turi mažiau privilegijų, tai reiškia, kad mažiau tikėtina, kad kenkėjiška programinė įranga galės vykdyti komandas, kurios gali pakenkti jūsų įrenginiui, pvz., korpuse apie Scenos baimė dar 2015 m.

Apribota smėlio dėžė programinės įrangos kodekams. Šaltinis: Google.

Antra, „Android“ dabar tikrina, ar daugiau vietų nėra prieigos prie masyvo ribų, taip pat perpildymus. Perpildymo prevencija ir procesų nurodymas saugiai sugesti žymiai sumažina vartotojų erdvės spragų procentą. Tai reiškia, kad jei kenkėjiška programa tyčia bando sukelti kažkokį gedimą gauti prieigą prie duomenų, kurių nėra, „Android“ dabar tai atpažins ir išeis iš programos griūva.

Trečia, „Shadow Call Stack“ apsaugo grįžtamuosius adresus, saugodama juos atskiroje šešėlinėje krūvoje, todėl įprastoms programoms jie tampa nepasiekiami. Grąžinimo adresai paprastai yra rodyklės į funkcijas, todėl svarbu apsaugoti šiuos adresus, siekiant užtikrinti, kad užpuolikai negalėtų pasiekti funkcijų, kurių jie neturėtų turėti.

Ketvirta, ASLR yra apsaugos metodas, kuris atsitiktinai nustato, kur programos yra saugomos atmintyje, todėl ją sukuria sunkiau išsiaiškinti, kur programos yra saugomos atmintyje, atsižvelgiant į kitų programų vietą programas. Tik „eXecute“ atmintis tai sustiprina, nes kodas tampa neįskaitomas.

Galiausiai, „Scudo“ yra dinaminis krūvos skirstytuvas, kuris aktyviai valdo atmintį taip, kad būtų daug sunkiau išnaudoti krūvos pažeidžiamumą. Daugiau apie tai galite paskaityti čia.


Autentifikavimas

BiometricPrompt atnaujinimai sistemoje „Android Q“.

„Google“ pristatė naują „BiometricPrompt“ API daugiau nei prieš metus „Android P“ kūrėjo peržiūra 2. Tai buvo bendras „Android“ raginimas biometriniams atrakinimo metodams. Idėja ta, kad įrenginiai, kurie palaiko ne tik pirštų atspaudų nuskaitymą, pvz. rainelės nuskaitymas „Samsung Galaxy S“ linijoje, galės naudoti šiuos metodus, kai programos paprašys patvirtinimo.

„Android Q“ prideda tvirtą veido ir pirštų atspaudų patvirtinimo palaikymą, taip pat išplečia API, kad būtų palaikomas numanomas autentifikavimas. Aiškus autentifikavimas reikalauja, kad vartotojas tam tikru būdu autentifikuotųsi prieš tęsdamas, o numanomai nereikia daugiau vartotojo sąveikos.

BiometricPrompt API numanomas ir aiškus srautas. Šaltinis: Google.

Be to, dabar programos gali patikrinti, ar įrenginys palaiko biometrinį autentifikavimą naudodami paprastą funkcijos iškvietimas, leidžiantis jiems nešvaistyti laiko iškviesti BiometricPrompt įrenginiuose, kurie to nedaro palaikyti jį. Idealus naudojimas būtų, jei programos norėtų suteikti nustatymą „Įgalinti biometrinį prisijungimą“, atsižvelgdami į tai, ar įrenginys palaiko biometrinį autentifikavimą, ar ne.

Elektroninio ID palaikymo blokai

Anksčiau šiais metais aptikome įrodymų, kad „Google“ yra dirba su elektroninių ID palaikymu „Android“. „I/O“ metu „Google“ informavo mus apie šios funkcijos eigą. „Google“ teigia, kad bendradarbiauja su ISO, kad standartizuotų mobiliųjų vairuotojų pažymėjimų diegimą, o kuriami elektroniniai pasai. Kūrėjams „Google“ suteiks „Jetpack“ biblioteką, kad būtų galima pradėti kurti tapatybės programas.


„Project Mainline“ sistemoje „Android Q“.

„Project Mainline“ yra pagrindinis „Google“ įsipareigojimas sumažinti tam tikrų sistemos modulių ir programų susiskaidymą. „Google“ valdys maždaug 12 sistemos komponentų atnaujinimus per „Play“ parduotuvę. Mes išsamiai kalbėjome apie „Project Mainline“. ankstesniame straipsnyje jei domina paskaityti daugiau.


Išvada

Saugumas visada buvo pagrindinė „Android“ kūrimo dalis. „Google“ atliko įspūdingą darbą, kad „Android“ atnaujintų naujausias saugos funkcijas, taip pat įdiegė keletą savo naujovių. Jie tęsia šį kūrimo procesą naudodami „Android Q“, aprūpindami jį daugybe saugos funkcijų, skirtų užtikrinti, kad jūsų duomenys būtų saugesni nei bet kada anksčiau.


1 šaltinis: „Android Q Security“ naujienos [Google]

2 šaltinis: sauga „Android“: kas toliau [Google]

3 šaltinis: eilėje į grūdinimo patobulinimus [Google]

Su Mishaalo Rahmano ir Adamo Conway indėliu.