Android Q: Všetky nové funkcie zabezpečenia a ochrany osobných údajov prichádzajúce do systému Android 10

Na Google I/O sme sa dozvedeli o vylepšeniach, ktoré Android Q prináša. Nové funkcie a vylepšenia zabezpečenia a ochrany osobných údajov sú v celom novom operačnom systéme Android.

Každá nová verzia operačného systému Android prináša vylepšenia takmer každého aspektu od dizajnu, funkcií, rozhraní API a ďalších. Na Google I/O začiatkom tohto mesiaca sme sa dozvedeli o všetkom vylepšenia systému Android Q prinesie a z konferencie samozrejme nezostali vynechané nové oznámenia o ochrane súkromia a bezpečnosti. Zabezpečenie platformy je jedným z najdôležitejších aspektov OS, najmä pre OS, ktorý nosíme všade so sebou vo vreckách. Ak by Android nebol bezpečný, nedôverovali by sme mu s polovičným počtom funkcií ako my. NFC platby by neprichádzali do úvahy, zdieľanie súborov by bolo prinajlepšom pochybné a pripojenie k iným zariadeniam by bolo vyslovene šialenstvo. Napriek dlhotrvajúcemu problému fragmentácie verzií sa spoločnosti Google mimoriadne darilo udržať počet bezpečnostných problémov na minime.

Android dozrel na operačný systém, ktorý je bohatý na funkcie a zároveň je vysoko bezpečný. Ale, samozrejme, vždy je čo zlepšovať. K tomuto zabezpečeniu prispieva mnoho faktorov a niektoré z nich sa v systéme Android Q nejakým spôsobom zlepšujú.


Šifrovanie

Keďže ide o jednu z najzákladnejších bezpečnostných metód, je dôležité, aby každé zariadenie podporovalo silné šifrovanie. Mnoho OEM v súčasnosti dodáva svoje zariadenia so špeciálnym šifrovacím hardvérom. Aj keď je to výhodné, je to aj drahé. Vyhradený hardvér ako taký bol zvyčajne obmedzený pre zariadenia strednej až vyššej úrovne. Tým nechcem povedať, že low-end zariadenia nemôže podporuje šifrovanie, ale bez hardvérovo akcelerovaného šifrovania je celková skúsenosť používateľa zhoršená z dôvodu pomalého čítania/zápisu. Tu prichádza na scénu Adiantum.

Adiantum

Vo februári Google oznámil Adiantum ako alternatívu šifrovací algoritmus pre telefóny nižšej kategórie ktoré nepodporujú bežné inštrukčné sady AES. Adiantum je špeciálne navrhnutý tak, aby fungoval bez špeciálneho hardvéru. Slúži ako ľahšia alternatíva k bežnému AES šifrovaniu Androidu. benchmarky Google povedzte nám, že je v skutočnosti 5x rýchlejší ako AES, pričom nevýhodou je, že mierne znižuje bezpečnosť. Vďaka tomu je ideálnym kandidátom pre telefóny nižšej kategórie, ako sú napríklad telefóny so systémom Android Go Edition. Adiantum je tiež pre produkty, ako sú inteligentné hodinky a rôzne zariadenia internetu vecí.

Až doteraz bolo Adiantum voliteľné; výrobcovia ho mohli povoliť na zariadeniach spúšťaných s Android Pie, ale nebol to predvolený šifrovací algoritmus. Teraz je Adiantum natívne zahrnuté ako súčasť systému Android Q. To znamená, že všetky zariadenia spustené pomocou Q budú musieť šifrovať používateľské údaje bez výnimky. Výsledkom je, že zariadenia so systémom Android Q majú zaručené šifrovanie úložiska, či už cez Adiantum alebo nie.

Jetpack bezpečnostná knižnica

Jetpack je súbor podporných knižníc pre Android a jeden z najnovších prírastkov je vo verzii alfa: bezpečnostná knižnica Jetpack. Knižnica zjednodušuje proces zabezpečenia vašej aplikácie tým, že rieši veci, ako je správa hardvérom podporovaných skladov kľúčov a generovanie a overovanie kľúčov.

TLS 1.3

Úložisko však nie je jedinou oblasťou, v ktorej sa zlepšilo šifrovanie. Komunikácia s inými zariadeniami sa výrazne zlepšila zavedením Podpora TLS 1.3 predvolene. TLS 1.3 je najnovší sieťový kryptografický štandard, dokončený IETF v auguste 2018. TLS 1.3 poskytuje väčšie súkromie pri výmene údajov šifrovaním väčšieho počtu vyjednávacích handshake. Okrem toho je rýchlejšia ako TLS 1.2, pretože celá spiatočná cesta je odstránená z nadviazania spojenia. V spojení s efektívnejšími modernými algoritmami to vedie k zvýšeniu rýchlosti až o 40 %.

TLS 1.3 v prehliadači Google Chrome. Zdroj: Google.

TLS je teraz možné aktualizovať priamo zo služby Google Play, pretože je súčasťou komponentu „Conscrypt“. Môžete si prečítať viac o tom a Project Mainline tu.

Vzhľadom na to, že denne dôverujeme toľkým citlivým transakciám na našich zariadeniach, je inovovaný protokol TLS dôležitejší ako kedykoľvek predtým. Ukladanie rád palubných lístkov - a dokonca digitálne vodičské preukazy niekedy v budúcnosti – v systéme Android znamená, že všetky zariadenia by mali šifrovať používateľské údaje čo najlepšie. Adiantum a vynútené šifrovanie vydláždi cestu aj tým najcitlivejším údajom, ktoré budú uložené na najlacnejších zariadeniach. Šifrovanie však nie je jediným spôsobom, ako spoločnosť Google vo vydaní Q zvyšuje bezpečnosť systému Android.


Zmeny povolení a ochrany osobných údajov v systéme Android Q

Scoped Storage

Scoped Storage je nová ochrana, ktorá sa používa na obmedzenie aplikácií čítať/zapisovať súbory v externom úložisku, ktoré nie sú obsiahnuté v ich vlastnom izolovanom adresári aplikácie. Cieľ Google je trojaký: lepšie priraďovanie toho, ktoré aplikácie majú kontrolu nad tými súbormi, ochrana údajov aplikácií a ochrana údajov používateľov.

Google zdvojnásobuje rozhranie MediaStore API pre zdieľaný audio, video a obrázkový obsah. V predvolenom nastavení môžu všetky aplikácie vkladať, upravovať alebo odstraňovať svoje vlastné súbory do MediaStore. Obrázky, MediaStore. Video a MediaStore. Zvukové zbierky bez potreby akýchkoľvek povolení. Android Q tiež pridáva novinku MediaStore. K stiahnutiu kolekcia na ukladanie obsahu prevzatého používateľom, do ktorého môžu prispievať všetky aplikácie využívajúce rozhranie MediaStore API. Zatiaľ čo súbory uložené v karanténnych adresároch špecifických pre aplikáciu sa po odinštalovaní vymažú, všetky súbory pridané do kolekcií MediaStore pretrvávajú aj po odinštalovaní.

Na prístup k súborom vytvoreným inou aplikáciou – či už sa súbor nachádza v jednej z kolekcií MediaStore alebo mimo nich – musí aplikácia používať Storage Access Framework. Okrem toho sú metadáta EXIF ​​obrázkov redigované, pokiaľ vaša aplikácia nemá udelené nové povolenie ACCESS_MEDIA_LOCATION. V systéme Android Q môžu aplikácie tiež ovládať, na ktorom úložnom zariadení sa majú priložiť médiá, a to tak, že sa spýtajú na názov zväzku pomocou funkcie getExternalVolume().

Google pôvodne uvalil obmedzenia Scoped Storage na všetky aplikácie v systéme Android Q bez ohľadu na ich cieľové úrovne API, ale po spätnej väzbe spoločnosť dať vývojárom viac času vykonať úpravy. Úplné podrobnosti o zmenách Scoped Storage nájdete na tejto stránkea ďalšie informácie o odporúčaniach spoločnosti Google týkajúcich sa osvedčených postupov pre zdieľaný ukladací priestor nájdete na sledovanie tohto Google I/O hovoriť.

Upozornenia pre aplikácie zacielené na úroveň rozhrania API < 23

Tým sa však obmedzenia povolení nekončia. Inštalácia aplikácie, ktorá je zacielená na úroveň API nižšiu ako 23 (Android Lollipop alebo staršia), spôsobí, že operačný systém zobrazí používateľovi varovanie, ak si táto aplikácia pri inštalácii vyžiada citlivé povolenia. Pred inštaláciou budú mať používatelia možnosť manuálne určiť, ktoré povolenia chcú aplikácii udeliť, než budú pokračovať. Android Q teda už neumožňuje aplikáciám obchádzať povolenia pri spustení.

Rovnako ako CopperheadOS, aj Android Q teraz umožňuje používateľovi deaktivovať všetky požadované nebezpečné povolenia pred prvým spustením aplikácie. Týka sa to iba aplikácií zacielených na úroveň API 22 alebo nižšiu, čo je pred zavedením povolení pre spustenie (v Android Marshmallow.)

Prípadná SYSTEM_ALERT_DEPRECATION v prospech rozhrania Bubbles API

Bubbles API v akcii. Zdroj: Google.

Povolenie na prekrytie (SYSTEM_ALERT_WINDOW) už nie je možné udeliť aplikáciám so systémom Android Q (Go Edition). Pre zariadenia, ktoré nie sú vo verzii Go, Google tlačí vývojárov k novému Bubbles API. Bubbles API je funkcia zavedená v Android Q Beta 2 čo umožňuje funkcie, ktoré sú ako chatovacie hlavy Facebook Messenger. Upozornenia z aplikácií sa zobrazujú ako malé bubliny na okrajoch obrazovky, ktoré sa roztiahnu, keď na ne používateľ klepne. V rámci bubliny môže aplikácia zobraziť aktivitu.

Táto zmena bola potrebná, pretože umožnenie aplikáciám voľne kresliť prekrytia cez iné aplikácie predstavuje zjavné bezpečnostné riziká. Neslávne známy "Plášť a dýka“ exploit túto slabinu vo veľkej miere využíval. Funkcionalita prekryvného API bola obmedzená už v systéme Android Oreo, ale teraz verzia Go Android Q úplne odstránila prístup k API pomocou budúce vydanie, aby ste ho úplne zavrhli.

Obmedzenia spustenia aktivity na pozadí

Aplikácie na pozadí už nemôžu automaticky spúšťať aktivitu, keď je telefón odomknutý, bez ohľadu na ich cieľovú úroveň API. Existuje celý zoznam podmienok, za ktorých môžu aplikácie spúšťať aktivity, ktoré si môžete prečítať tu. Aplikácie na pozadí, ktoré nespĺňajú tieto podmienky a chcú urýchlene spustiť aktivitu, budú teraz musieť oznámiť používateľovi prostredníctvom upozornenia. Ak je upozornenie vytvorené s čakajúcim zámerom na celú obrazovku, potom sa zámer spustí okamžite, ak je obrazovka vypnutá – čo je užitočné pri budíkoch alebo prichádzajúcich hovoroch.

Obmedzenie prístupu do schránky na pozadí

Prístup do schránky na pozadí je už nie je možné. Žiadna aplikácia, ktorá nie je v popredí alebo nie je nastavená ako predvolená metóda vstupu, nebude môcť čítať schránku žiadnym spôsobom. Obzvlášť tvrdo to zasiahne aplikácie, ako sú správcovia schránky. Google hovorí, že táto zmena sa týka iba aplikácií, ktoré sú zacielené výlučne na Android Q, ale naše testovanie naznačuje, že obmedzenie nediskriminuje; žiadna aplikácia, ktorú sme skúšali, nevidela schránku.

Táto zmena má, samozrejme, zmysel. Do schránky často kopírujeme citlivé informácie – veci ako heslá a podrobnosti o kreditných kartách – no stále je škoda vidieť, ako správcovia schránok idú dole vodou.

Prístup k polohe iba počas používania aplikácie

Nové možnosti povolenia polohy

Nové používateľské nastavenie umožňuje aplikáciám dosiahnuť vašu polohu iba vtedy, keď sa aplikácia používa. Najnovšia beta verzia systému Android Q tiež pridala upozornenie, ktoré vám pripomenie, či ste aplikácii udelili trvalý prístup k polohe.

Roly

Roly

Bolo pridané nové „Roles“ API. Roly sú v podstate skupiny s prednastavenými oprávneniami prístupu. Napríklad aplikácie s rolou galérie môžu mať prístup k vašim mediálnym priečinkom, zatiaľ čo aplikácie s rolou vytáčania môžu zvládať hovory. Aplikácie, ktorým používateľ pridelí určitú rolu, musia mať aj požadované súčasti. Aplikácie s rolou galérie musia mať napríklad filter zámeru akcie Android.zámer.akcie.HLAVNÁ a filter zámerov kategórie android.intent.category. APP_GALLERY sa v nastaveniach zobrazí ako aplikácia galérie.

Dlaždica Rýchle nastavenia – senzory vypnuté

Dlaždica Rýchle nastavenia snímačov

K dispozícii je nová dlaždica rýchlych nastavení „Snímače vypnuté“, ktorá vypína čítania z všetky senzory (akcelerometer, gyroskop atď.) na vašom zariadení pre skutočné súkromie. Táto dlaždica Rýchle nastavenia je v predvolenom nastavení skrytá, ale možno ju povoliť tak, že prejdete na dlaždice pre vývojárov rýchlych nastavení v Možnostiach vývojára.

Obmedzenia na /proc/net

Aplikácie už nemôžu prístup proc/net, vďaka čomu už služby ako netstat nie sú životaschopné. To chráni používateľov pred škodlivými aplikáciami, ktoré sledujú, ku ktorým webovým stránkam a službám sa pripájajú. Aplikácie, ktoré potrebujú nepretržitý prístup, ako napríklad siete VPN, musia používať NetworkStatsManagerConnectivityManager triedy.

Randomizované MAC adresy

Vaša MAC adresa je jedinečný identifikátor, ktorý siete používajú na zapamätanie si, ktoré zariadenie je ktoré. V systéme Android Q vždy, keď sa pripojíte k novej sieti, vaše zariadenie použije novú náhodnú MAC adresu. Ako výsledok, siete nedokážu sledovať vašu polohu porovnaním sietí WiFi, ku ktorým sa pripájate, s MAC adresou vášho telefónu. Skutočnú továrenskú MAC adresu zariadenia môžu aplikácie stále získať prostredníctvom getWifiMacAddress() príkaz.


Spevnenie platformy v systéme Android Q

Jediná chyba v systéme Android neznamená, že útočníci majú teraz úplný prístup k OS alebo že môžu obísť akékoľvek bezpečnostné systémy. Čiastočne je to kvôli množstvu záruk, ako je izolácia procesov, redukcia povrchu útoku, rozklad architektúry a zmiernenie zneužitia. Tieto záruky sťažujú alebo dokonca znemožňujú zneužitie zraniteľnosti. Výsledkom je, že útočníci zvyčajne potrebujú množstvo zraniteľností, aby mohli dosiahnuť svoje ciele. V minulosti sme boli svedkami útokov ako napríklad DRAMMER ktoré fungujú reťazením viacerých exploitov dohromady.

Android Q používa takéto bezpečnostné opatrenia a aplikuje ich na citlivejšie oblasti, ako sú médiá a komponenty Bluetooth spolu s jadrom. To prináša určité výrazné zlepšenia.

  • Obmedzený sandbox pre softvérové ​​kodeky.
  • Zvýšené výrobné používanie dezinfekčných prostriedkov na zmiernenie celých tried zraniteľností v komponentoch, ktoré spracúvajú nedôveryhodný obsah.
  • Shadow Call Stack, ktorý poskytuje integritu spätného toku riadenia (CFI) a dopĺňa ochranu predného okraja, ktorú poskytuje LLVM CFI.
  • Ochrana pred netesnosťou rozloženia adresného priestoru (ASLR) pomocou eXecute-Only Memory (XOM).
  • Zavedenie spevneného alokátora Scudo, ktorý sťažuje využitie množstva zraniteľností súvisiacich s haldou.

Toto je veľa softvérového žargónu. Základom je, že softvérové ​​kodeky teraz bežia v karanténe, ktorá má menej privilégií, čo znamená, že menej pravdepodobné, že škodlivý softvér bude môcť spustiť príkazy, ktoré by mohli poškodiť vaše zariadenie, ako napríklad v prípade z Tréma ešte v roku 2015.

Obmedzený sandbox pre softvérové ​​kodeky. Zdroj: Google.

Po druhé, Android teraz kontroluje prístup k poliam mimo hraníc na viacerých miestach, ako aj pretečenia. Zabránenie pretečeniu a inštruovanie procesov, aby bezpečne zlyhali, výrazne znižuje percento zraniteľností používateľského priestoru. To znamená, že ak sa škodlivý program pokúsi úmyselne spôsobiť zlyhanie získať prístup k údajom, ktoré neexistujú, Android to teraz rozpozná a namiesto toho ukončí program zrútenie.

Po tretie, Shadow Call Stack chráni návratové adresy tým, že ich ukladá do samostatného tieňového zásobníka, čím sú nedostupné pre bežné programy. Návratové adresy sú zvyčajne ukazovatele na funkcie, takže ochrana týchto adries je dôležitá, aby sa zabezpečilo, že útočníci nebudú mať prístup k funkciám, ku ktorým by nemali mať.

Po štvrté, ASLR je metóda ochrany, ktorá náhodne ukladá programy do pamäte, čím sa stáva ťažšie zistiť, kde sú programy uložené v pamäti na základe umiestnenia iných programov programy. Pamäť typu eXecute to posilňuje tým, že kód je nečitateľný.

Nakoniec, Scudo je dynamický alokátor haldy, ktorý proaktívne spravuje pamäť takým spôsobom, že je oveľa ťažšie zneužiť zraniteľnosti založené na halde. Môžete si o tom prečítať viac tu.


Overenie

Aktualizácie BiometricPrompt v systéme Android Q

Google predstavil nové API BiometricPrompt pred viac ako rokom, v r Ukážka vývojára systému Android P 2. Malo ísť o všeobecnú výzvu systému Android na biometrické metódy odomykania. Ide o to, že zariadenia, ktoré podporujú viac ako len skenovanie odtlačkov prstov, napr. skenovanie dúhovky na Samsung Galaxy S line, bude môcť použiť tieto metódy, keď aplikácie požiadajú o overenie.

Android Q pridáva robustnú podporu pre overenie tváre a odtlačkov prstov, ako aj rozšírenie API na podporu implicitnej autentifikácie. Explicitná autentifikácia vyžaduje, aby sa používateľ pred pokračovaním nejakým spôsobom overil, zatiaľ čo implicitná nevyžaduje žiadnu ďalšiu interakciu používateľa.

BiometricPrompt API implicitný a explicitný tok. Zdroj: Google.

Okrem toho môžu aplikácie teraz skontrolovať, či zariadenie podporuje biometrické overenie prostredníctvom jednoduchého volanie funkcie, čo im umožňuje nestrácať čas vyvolaním BiometricPrompt na zariadeniach, ktoré tak nerobia podporte to. Ideálnym využitím by bolo, ak by aplikácie chceli poskytnúť nastavenie „Povoliť biometrické prihlásenie“ na základe toho, či zariadenie podporuje biometrické overenie alebo nie.

Stavebné bloky pre podporu elektronickej identifikácie

Začiatkom tohto roka sme objavili dôkazy, že Google áno pracuje na podpore elektronických preukazov totožnosti v systéme Android. Na I/O nás spoločnosť Google informovala o pokroku tejto funkcie. Google hovorí, že spolupracujú s ISO na štandardizácii implementácie mobilných vodičských preukazov s elektronickými pasmi. Pre vývojárov Google poskytne knižnicu Jetpack, aby sa mohli začať vytvárať aplikácie identity.


Project Mainline v systéme Android Q

Project Mainline je hlavným záväzkom spoločnosti Google znížiť fragmentáciu určitých systémových modulov a aplikácií. Google bude cez Obchod Play kontrolovať aktualizácie pre približne 12 systémových komponentov. Hovorili sme o Project Mainline do hĺbky v predchádzajúcom článku ak máte záujem prečítať si viac.


Záver

Bezpečnosť bola vždy kľúčovou súčasťou vývoja Androidu. Google odviedol pôsobivú prácu pri udržiavaní Androidu v aktuálnom stave s najnovšími bezpečnostnými funkciami, ako aj pri vytváraní niektorých vlastných inovácií. Pokračujú v tomto vývojovom procese so systémom Android Q, ktorý obsahuje množstvo bezpečnostných funkcií, ktoré zaisťujú bezpečnosť vašich údajov ako kedykoľvek predtým.


Zdroj 1: Čo je nové v zabezpečení Android Q [Google]

Zdroj 2: Zabezpečenie v systéme Android: Čo ďalej [Google]

Zdroj 3: Queue the Hardening Enhancements [Google]

S príspevkami od Mishaala Rahmana a Adama Conwaya.