Vietnē Google I/O mēs uzzinājām par Android Q piedāvātajiem uzlabojumiem. Jaunās drošības un konfidencialitātes funkcijas un uzlabojumi ir pieejami visā jaunajā Android OS.
Katra jaunā Android OS versija nodrošina uzlabojumus gandrīz visos aspektos, sākot ar dizainu, funkcijām, API un citiem. Google I/O šī mēneša sākumā mēs uzzinājām par visu Android Q uzlabojumi gatavojas sniegt, un, protams, konferencē netika atstāti jauni paziņojumi par privātumu un drošību. Platformas drošība ir viens no svarīgākajiem operētājsistēmas aspektiem, jo īpaši operētājsistēmām, kuras mēs visur nēsājam līdzi savās kabatās. Ja Android nebūtu drošs, mēs tam neuzticētu uz pusi mazāk funkciju nekā mēs. NFC maksājumi būtu izslēgti, failu koplietošana labākajā gadījumā būtu apšaubāma, un savienojums ar citām ierīcēm būtu pilnīgs neprāts. Neskatoties uz ilgstošo versiju sadrumstalotības problēmu, Google ir paveicis ļoti labi, lai samazinātu drošības problēmu skaitu līdz minimumam.
Android ir kļuvusi par operētājsistēmu, kas ir gan bagātīga, gan ļoti droša. Bet, protams, vienmēr ir vietas uzlabojumiem. Šo drošību veicina daudzi faktori, un daži no tiem tiek kaut kādā veidā uzlaboti, izmantojot Android Q.
Šifrēšana
Tā kā tā ir viena no visvienkāršākajām drošības metodēm, ir svarīgi, lai katra ierīce atbalstītu spēcīgu šifrēšanu. Mūsdienās daudzi oriģinālo iekārtu ražotāji piegādā savas ierīces ar īpašu šifrēšanas aparatūru. Lai gan tas ir izdevīgi, tas ir arī dārgi. Tādējādi specializētā aparatūra parasti ir ierobežota vidēja un augsta līmeņa ierīcēm. Tas nenozīmē, ka zemas klases ierīces nevar atbalsta šifrēšanu, taču bez aparatūras paātrinātas šifrēšanas vispārējā lietotāja pieredze tiek pasliktināta lēnā lasīšanas/rakstīšanas laika dēļ. Šeit parādās Adiantum.
Adiantum
Februārī Google paziņoja par Adiantum kā alternatīvu šifrēšanas algoritms zemākās klases tālruņiem kas neatbalsta parastās AES instrukciju kopas. Adiantum ir īpaši izstrādāts darbam bez īpašas aparatūras. Tas kalpo kā vieglāka alternatīva Android parastajai AES šifrēšanai. Google etaloni Pastāstiet mums, ka tas faktiski ir 5x ātrāks nekā AES, bet mīnuss ir tāds, ka tas nedaudz apdraud drošību. Tas padara to par ideālu kandidātu zemākas klases tālruņiem, piemēram, tiem, kurus darbina Android Go Edition. Adiantum ir paredzēts arī tādiem produktiem kā viedpulksteņi un dažādas lietiskā interneta ierīces.
Līdz šim Adiantum nebija obligāts; ražotāji to varēja iespējot ierīcēs, kas tiek palaistas ar Android Pie, taču tas nebija noklusējuma šifrēšanas algoritms. Tagad Adiantum ir iekļauts kā daļa no Android Q. Tas nozīmē, ka visām ierīcēm, kas tiek palaistas ar Q, bez izņēmumiem būs jāšifrē lietotāja dati. Tā rezultātā ierīcēm, kas tiek palaistas ar Android Q, tiek garantēta krātuves šifrēšana neatkarīgi no tā, vai tā ir vai nav, izmantojot Adiantum.
Jetpack drošības bibliotēka
Jetpack ir Android atbalsta bibliotēku komplekts un viens no jaunākajiem papildinājumiem ir alfa: Jetpack drošības bibliotēka. Bibliotēka vienkāršo lietojumprogrammas drošības procesu, veicot tādas lietas kā aparatūras nodrošināto atslēgu krātuvju pārvaldība un atslēgu ģenerēšana un apstiprināšana.
TLS 1.3
Tomēr krātuve nav vienīgais apgabals, kurā ir uzlabota šifrēšana. Saziņa ar citām ierīcēm ir ievērojami uzlabota, ieviešot TLS 1.3 atbalsts pēc noklusējuma. TLS 1.3 ir jaunākais tīkla kriptogrāfijas standarts, ko IETF pabeidza 2018. gada augustā. TLS 1.3 nodrošina lielāku datu apmaiņas konfidencialitāti, šifrējot vairāk sarunu rokasspiedienu. Turklāt tas ir ātrāks par TLS 1.2, jo savienojuma izveides rokasspiediena rezultātā tiek noņemts viss ceļojums turp un atpakaļ. Kopā ar efektīvākiem mūsdienu algoritmiem tas ļauj palielināt ātrumu līdz pat 40%.
TLS tagad ir atjaunināms tieši no pakalpojuma Google Play, jo tas ir daļa no komponenta Conscrypt. Jūs varat lasīt vairāk par to un Project Mainline šeit.
Tā kā mēs katru dienu uzticamies tik daudziem sensitīviem darījumiem savās ierīcēs, jauninātais TLS ir svarīgāks nekā jebkad agrāk. Iekāpšanas karšu glabāšana — un pat digitālās autovadītāja apliecības kaut kad nākotnē — operētājsistēmā Android nozīmē, ka visām ierīcēm ir jāšifrē lietotāja dati, cik vien iespējams. Adiantum un piespiedu šifrēšana pavērs ceļu pat visjutīgākajiem datiem, kas tiks glabāti lētākajās ierīcēs. Bet šifrēšana nav vienīgais veids, kā Google palielina Android drošību Q laidienā.
Atļaujas un konfidencialitātes izmaiņas operētājsistēmā Android Q
Aptveramā krātuve
Scoped Storage ir jauns aizsardzības līdzeklis, kas tiek izmantots, lai ierobežotu lietojumprogrammu lasīšanu/rakstīšanu ārējā atmiņā esošiem failiem, kas nav ietverti to pašu smilškastes lietotņu direktorijā. Google mērķis ir trīskāršs: labāka attiecinājuma noteikšana, kuras lietotnes var kontrolēt, kurus failus, lietotņu datu aizsardzība un lietotāju datu aizsardzība.
Google dubulto MediaStore API koplietošanas audio, video un attēlu saturam. Pēc noklusējuma visas lietotnes var ievietot, modificēt vai dzēst savus failus MediaStore. Attēli, MediaStore. Video un MediaStore. Audio kolekcijas bez jebkādām atļaujām. Android Q pievieno arī jaunu MediaStore. Lejupielādes kolekciju, lai saglabātu lietotāja lejupielādēto saturu, ko var veicināt visas lietotnes, kas izmanto MediaStore API. Lai gan faili, kas tiek glabāti smilškastes lietotņu specifiskajos direktorijos, tiek dzēsti pēc atinstalēšanas, visi MediaStore kolekcijās pievienotie faili saglabājas arī pēc atinstalēšanas.
Lai piekļūtu failiem, kas izveidoti ar citu programmu — neatkarīgi no tā, vai fails atrodas kādā no MediaStore kolekcijām vai ārpus tām, lietotnei ir jāizmanto Storage Access Framework. Turklāt attēlu EXIF metadati tiek rediģēti, ja vien jūsu lietotnei nav piešķirta jaunā ACCESS_MEDIA_LOCATION atļauja. Operētājsistēmā Android Q lietotnes var arī kontrolēt, kurā atmiņas ierīcē ievietot multividi, vaicājot tās sējuma nosaukumu, izmantojot getExternalVolume().
Sākotnēji Google noteica aptvēruma ierobežojumus visām Android Q lietotnēm neatkarīgi no to mērķa API līmeņiem, taču pēc atsauksmēm uzņēmums dodot izstrādātājiem vairāk laika lai veiktu korekcijas. Pilnu informāciju par tvēruma krātuves izmaiņām var atrast šajā lapā, un varat uzzināt vairāk par Google ieteikumiem par koplietotās krātuves paraugpraksi, ko sniedz skatoties šo Google I/O runāt.
Brīdinājumi par lietotnēm, kuru API līmenis ir mazāks par 23
Tomēr atļauju ierobežojumi ar to nebeidzas. Instalējot lietotni, kuras mērķis ir API līmenis, kas ir zemāks par 23 (Android Lollipop vai vecāka), OS parādīs brīdinājumu lietotājam, ja šī lietotne instalēšanas laikā pieprasa sensitīvas atļaujas. Pirms instalēšanas lietotājiem būs iespēja manuāli norādīt, kuras atļaujas viņi vēlas piešķirt lietotnei, pirms turpināt. Tādējādi Android Q vairs neļauj lietotnēm apiet izpildlaika atļaujas.
Iespējamā SYSTEM_ALERT_DEPRECATION par labu Bubbles API
Bubbles API darbībā. Avots: Google.
Pārklājuma atļauju (SYSTEM_ALERT_WINDOW) vairs nevar piešķirt lietotnēm, kas darbojas operētājsistēmā Android Q (Go Edition). Ierīcēm, kas nav Go Edition, Google mudina izstrādātājus izmantot jauno Bubbles API. Bubbles API ir funkcija, kas ieviesta Android Q Beta 2 kas nodrošina funkcionalitāti, kas ir līdzīga Facebook Messenger tērzēšanas galvām. Paziņojumi no lietotnēm parādās kā mazi burbuļi ekrāna malās, kas izplešas, kad lietotājs pieskaras. Burbulī lietotne var parādīt darbību.
Šīs izmaiņas bija nepieciešamas, jo atļauja lietotnēm brīvi zīmēt pārklājumus pār citām lietotnēm rada acīmredzamus drošības riskus. Bēdīgi slavenais"Apmetnis un duncis"Exploit plaši izmantoja šo vājumu. Pārklājuma API funkcionalitāte ir ierobežota jau Android Oreo, taču tagad Android Q Go izdevums ir pilnībā atcēlis piekļuvi API ar nākamajam laidienam, lai to pilnībā nolietotu.
Fona darbību palaišanas ierobežojumi
Fonā esošās lietotnes vairs nevar automātiski palaist darbību, kamēr tālrunis ir atbloķēts, neatkarīgi no to mērķa API līmeņa. Ir pieejams viss nosacījumu saraksts, saskaņā ar kuriem lietotnes tagad var sākt darbības, un jūs varat tos izlasīt šeit. Fona lietotnēm, kas neatbilst šiem nosacījumiem un kuras vēlas steidzami uzsākt darbību, par to būs jāinformē lietotājs, izmantojot paziņojumu. Ja paziņojums ir izveidots ar neapstiprinātu pilnekrāna nolūku, nolūks tiek palaists nekavējoties, ja ekrāns ir izslēgts — tas ir noderīgi trauksmes signāliem vai ienākošajiem zvaniem.
Fona starpliktuves piekļuves ierobežojums
Fona starpliktuves piekļuve ir vairs nav iespējams. Jebkura lietojumprogramma, kas nav priekšplānā vai nav iestatīta kā noklusējuma ievades metode, nekādā veidā nevarēs nolasīt jūsu starpliktuvi. Tas īpaši smagi ietekmē tādas lietotnes kā starpliktuves pārvaldnieki. Google saka, ka šīs izmaiņas ietekmē tikai tās lietotnes, kuru mērķauditorija ir tikai Android Q, taču mūsu testēšana liecina, ka ierobežojums nav diskriminējošs; neviena mūsu izmēģinātā lietotne nevarēja redzēt starpliktuvi.
Šīm izmaiņām, protams, ir jēga. Mēs bieži kopējam starpliktuvē sensitīvu informāciju, piemēram, paroles un kredītkaršu informāciju, taču joprojām ir kauns, ja starpliktuvju pārvaldnieki zaudē spēku.
Piekļuve atrašanās vietai tikai tad, kad tiek izmantota lietotne
Jauns lietotāja iespējots iestatījums ļauj lietotnēm sasniegt jūsu atrašanās vietu tikai tad, kad lietotne tiek izmantota. Jaunākajā Android Q beta versijā ir arī pievienots paziņojums, kas atgādina, vai esat piešķīris lietotnei pastāvīgu piekļuvi atrašanās vietai.
Lomas
Ir pievienota jauna "Lomas" API. Lomas būtībā ir grupām ar iepriekš iestatītām atļaujām. Piemēram, lietotnēm ar galerijas lomu var būt piekļuve jūsu multivides mapēm, savukārt lietotnes ar numura sastādītāja lomu var apstrādāt zvanus. Lietotnēm, kurām lietotājs ir piešķīris noteiktu lomu, ir jābūt arī nepieciešamajiem komponentiem. Piemēram, lietotnēm ar galerijas lomu ir jābūt darbības nolūka filtram Android.nolūks.darbība.GALVENĀ un kategorijas nolūka filtrs android.intent.category. APP_GALERIJA lai iestatījumos tiktu rādīta kā galerijas lietotne.
Sensors Off Quick Settings flīze
Ir jauna ātro iestatījumu flīze "Sensori izslēgti", kas izslēdz rādījumus no visi sensori (akselerometrs, žiroskops utt.) ierīcē, lai nodrošinātu patiesu privātumu. Šī ātro iestatījumu flīze pēc noklusējuma ir paslēpta, taču to var iespējot, atverot izstrādātāja opciju sadaļu “Ātro iestatījumu izstrādātāja flīzes”.
/proc/net ierobežojumi
Lietotnes vairs nevar piekļūt proc/net, padarot tādus pakalpojumus kā netstat vairs dzīvotspējīgus. Tas pasargā lietotājus no ļaunprātīgām lietotnēm, kas uzrauga, ar kurām vietnēm un pakalpojumiem tie izveido savienojumu. Lietotnēm, kurām nepieciešama pastāvīga piekļuve, piemēram, VPN, ir jāizmanto NetworkStatsManager un Savienojumu pārvaldnieks klases.
Randomizētas MAC adreses
Jūsu MAC adrese ir unikāls identifikators, ko tīkli izmanto, lai atcerētos, kura ierīce ir kura. Operētājsistēmā Android Q katru reizi, kad izveidojat savienojumu ar jaunu tīklu, ierīce izmantos jaunu, nejauši izvēlētu MAC adresi. Rezultātā, tīkli nevar izsekot jūsu atrašanās vietu saskaņojot tos WiFi tīklus, ar kuriem izveidojat savienojumu, ar sava tālruņa MAC adresi. Ierīces faktisko rūpnīcas MAC adresi joprojām var iegūt lietotnes, izmantojot iegūt WifiMacAddress() komandu.
Platformas sacietēšana operētājsistēmā Android Q
Viena Android kļūda nenozīmē, ka uzbrucējiem tagad ir pilna piekļuve OS vai ka viņi var apiet visas drošības sistēmas. Tas daļēji ir saistīts ar vairākiem aizsardzības pasākumiem, piemēram, procesa izolāciju, uzbrukuma virsmas samazināšanu, arhitektūras sadalīšanos un ekspluatācijas mazināšanu. Šie aizsardzības pasākumi padara ievainojamības grūtāk vai pat neiespējamu izmantot. Tā rezultātā uzbrucējiem parasti ir vajadzīgas daudzas ievainojamības, lai viņi varētu sasniegt savus mērķus. Agrāk mēs esam redzējuši uzbrukumus piemēram, DRAMMER kas darbojas, apvienojot vairākus ekspluatācijas veidus.
Android Q veic tādus aizsardzības pasākumus kā šie un piemēro tos jutīgākām jomām, piemēram, multivides un Bluetooth komponentiem, kā arī kodolam. Tas rada dažus ievērojamus uzlabojumus.
- Ierobežota smilškaste programmatūras kodekiem.
- Plašāka dezinfekcijas līdzekļu izmantošana ražošanā, lai mazinātu visas ievainojamības klases komponentos, kas apstrādā neuzticamu saturu.
- Shadow Call Stack, kas nodrošina aizmugurējās malas kontroles plūsmas integritāti (CFI) un papildina LLVM CFI nodrošināto aizsardzību pret malu.
- Adrešu telpas izkārtojuma nejaušības (ASLR) aizsardzība pret noplūdēm, izmantojot tikai eXecute-Only Memory (XOM).
- Scudo pastiprināta sadalītāja ieviešana, kas padara vairākas ar kaudzi saistītas ievainojamības grūtāk izmantot.
Tas ir daudz programmatūras žargona. Vissvarīgākais ir tas, ka, pirmkārt, programmatūras kodeki tagad darbojas smilšu kastēs, kurām ir mazāk privilēģiju, kas nozīmē, ka mazāka iespējamība, ka ļaunprātīga programmatūra varēs palaist komandas, kas varētu kaitēt jūsu ierīcei, piemēram, korpusā no StageFright tālajā 2015. gadā.
Otrkārt, Android tagad vairākās vietās pārbauda piekļuvi masīvam ārpus robežām, kā arī pārpildes. Pārpildes novēršana un norādījumu, ka procesi droši neizdodas, ievērojami samazina lietotāja telpas ievainojamību procentuālo daļu. Tas nozīmē, ja ļaunprātīga programma mēģina izraisīt kaut ko avāriju, apzināti mēģinot to izdarīt lai piekļūtu datiem, kas neeksistē, Android tagad to atpazīs un izies no programmas avārijā.
Treškārt, Shadow Call Stack aizsargā atgriešanas adreses, saglabājot tās atsevišķā ēnu kaudzē, padarot tās nepieejamas parastajām programmām. Atgriešanas adreses parasti ir norādes uz funkcijām, tāpēc šo adrešu aizsardzība ir svarīga, lai nodrošinātu, ka uzbrucēji nevar piekļūt funkcijām, kurām viņiem nevajadzētu piekļūt.
Ceturtkārt, ASLR ir aizsardzības metode, kas nejauši nosaka, kur programmas tiek saglabātas atmiņā, padarot to grūtāk noskaidrot, kur programmas tiek saglabātas atmiņā, pamatojoties uz citu programmu atrašanās vietu programmas. Tikai eXecute atmiņa to pastiprina, padarot kodu nelasāmu.
Visbeidzot, Scudo ir dinamisks kaudzes sadalītājs, kas proaktīvi pārvalda atmiņu tādā veidā, kas padara uz kaudzes balstītas ievainojamības daudz grūtāk izmantot. Jūs varat lasīt vairāk par to šeit.
Autentifikācija
BiometricPrompt atjauninājumi operētājsistēmā Android Q
Google ieviesa jauno BiometricPrompt API vairāk nekā pirms gada Android P izstrādātāja priekšskatījums 2. Tā bija paredzēta kā vispārīga Android uzvedne biometriskās atbloķēšanas metodēm. Ideja ir tāda, ka ierīces, kas atbalsta vairāk nekā tikai pirkstu nospiedumu skenēšanu, piemēram, varavīksnenes skenēšana Samsung Galaxy S līnijā, varēs izmantot šīs metodes, kad lietotnes pieprasīs verifikāciju.
Android Q pievieno spēcīgu atbalstu sejas un pirkstu nospiedumu pārbaudei, kā arī paplašina API, lai atbalstītu netiešo autentifikāciju. Tiešai autentifikācijai ir nepieciešams, lai lietotājs pirms turpināšanas kaut kādā veidā autentificētos, savukārt netiešai autentifikācijai vairs nav nepieciešama lietotāja mijiedarbība.
Turklāt lietotnes tagad var pārbaudīt, vai ierīce atbalsta biometrisko autentifikāciju, izmantojot vienkāršu funkciju izsaukums, ļaujot viņiem netērēt laiku, izsaucot BiometricPrompt ierīcēs, kurās tā nav atbalstīt to. Ideāls lietojums tam būtu, ja lietotnes vēlas piešķirt iestatījumu “Iespējot biometrisko pierakstīšanos”, pamatojoties uz to, vai ierīce atbalsta biometrisko autentifikāciju.
Elektroniskās ID atbalsta pamatelementi
Šī gada sākumā mēs atklājām pierādījumus, ka Google ir strādā pie atbalsta elektroniskajiem ID operētājsistēmā Android. I/O ietvaros Google mūs informēja par funkcijas progresu. Google saka, ka viņi sadarbojas ar ISO, lai standartizētu mobilo autovadītāju apliecību ieviešanu, un tiek izstrādātas elektroniskās pases. Izstrādātājiem Google nodrošinās Jetpack bibliotēku, lai varētu sākt veidot identitātes lietotnes.
Projekta galvenā līnija operētājsistēmā Android Q
Project Mainline ir nozīmīgs Google uzņēmums, lai samazinātu noteiktu sistēmas moduļu un lietotņu sadrumstalotību. Google kontrolēs aptuveni 12 sistēmas komponentu atjauninājumus, izmantojot Play veikalu. Mēs esam padziļināti runājuši par Project Mainline iepriekšējā rakstā ja jūs interesē lasīt vairāk.
Secinājums
Drošība vienmēr ir bijusi Android izstrādes galvenā sastāvdaļa. Google ir paveikusi iespaidīgu darbu, lai Android ierīcē būtu atjauninātas jaunākās drošības funkcijas, kā arī ieviesti daži jauninājumi. Viņi turpina šo izstrādes procesu ar Android Q, aprīkojot to ar drošības līdzekļiem, kas ir izveidoti, lai nodrošinātu jūsu datu drošību nekā jebkad agrāk.
1. avots: Android Q drošības jaunums [Google]
2. avots: drošība operētājsistēmā Android: kas tālāk [Google]
3. avots: sacietēšanas uzlabojumu ievietošana rindā [Google]
Ar Mišala Rahmana un Ādama Konveja ieguldījumu.