Android Oreo atcelšanas aizsardzība ir nepieciešama tālruņiem, kas tiek palaisti ar Android Pie

Visām ierīcēm, kas tiek palaistas ar operētājsistēmu Android Pie (Android 9), ir jāatbalsta Verified Boot (Android Verified Boot 2.0), kas nodrošina atgriešanās aizsardzību.

Android Pie (Android 9) tikko šodien notika tiešraide tālruņiem Google Pixel, Google Pixel 2 un pat Būtisks tālrunis. Mēs mācāmies pēc iespējas vairāk par izlaidumu no intervijām (Google Pixel 3 būs tikai žestu navigācija!), AOSP koda nomešanaun visbeidzot saderības definīcijas dokumentu (CDD). Mēs publicējām informāciju par a jauna funkcija "smagsvara" lietotnēm šodien, bet tagad esam atklājuši, ka Google ir mainījis formulējumu Android Oreo ieviestajai funkcijai: atgriešanas aizsardzība. Funkcija ir iespējama ar Android Verified Boot 2.0 (pazīstams arī vienkārši kā Verified Boot), tomēr oriģinālo iekārtu ražotājiem Oreo laidienā nebija jāievieš AVB 2.0. Tagad Google pieprasa, lai visas ierīces, kas tiek palaistas ar Android Pie, atbalstītu verificēto sāknēšanu un, attiecīgi, atcelšanas aizsardzību.

Atcelšanas aizsardzība operētājsistēmā Android Oreo

Šīs funkcijas būtība ir tāda, ka tā neļaus tālrunim palaist, ja tā konstatēs, ka ierīce ir pazemināta. uz vecāku, tagad neapstiprinātu programmatūras versiju, kas drošības dēļ ir uzskatīta par nedrošu ievainojamība. Nedaudz tehniskāks skaidrojums ir tāds, ka VBMeta datu struktūra, kurā ir sāknēšanas nodalījuma hash un hashtree metadati sistēmas un piegādātāja nodalījumiem, izmanto atcelšanas indeksu, lai noraidītu attēlus, kuriem ir vecāka atcelšana rādītājs.

Atcelšanas aizsardzība operētājsistēmā Android Verified Boot. Avots: Google.

Šī funkcija ir pieejama tādās ierīcēs kā Google Pixel 2, Razer Phone un OnePlus 6, taču tā nav pieejama daudzās citās ierīcēs, piemēram, Samsung Galaxy S9 (lai gan Samsung piedāvā savu apgāšanās aizsardzība Knox.) Tagad Google padara šo funkciju obligātu jebkurai ierīcei, kas tiek palaista ar Android Pie.

Verified Boot Android Pie

Saskaņā ar atjaunināto formulējumu saderības definīcijas dokumenta sadaļā “Ierīces integritāte” ierīcēm, kuras tiek palaistas ar operētājsistēmu Android 9, ir jāatbalsta Verified Boot.

9.10. Ierīces integritāte

Tālāk norādītās prasības nodrošina ierīces integritātes statusa pārskatāmību. Ierīces ieviešana:

  • [C-0-1] OBLIGĀTI ir pareizi jāziņo, izmantojot System API metodi PersistentDataBlockManager.getFlashLockState(), vai to sāknēšanas ielādes stāvoklis pieļauj sistēmas attēla mirgošanu. Stāvoklis FLASH_LOCK_UNKNOWN ir rezervēts ierīču ieviešanai, kas tiek jaunināta no vecākas Android versijas, kurā šī jaunā sistēmas API metode nepastāvēja.
  • [C-0-2] OBLIGĀTI jāatbalsta Verified Boot, lai nodrošinātu ierīces integritāti.

Ja ierīces ieviešana jau ir palaista, neatbalstot Verified Boot iepriekšējā Android versijā un nevar pievienot atbalstu šai funkcijai ar sistēmas programmatūras atjauninājumu, tie VAR tikt atbrīvoti no prasība.

...

  • [C-1-10] OBLIGĀTI jāievieš atcelšanas aizsardzība starpsienām, kuras izmanto Android (piemēram, sāknēšana, sistēmas nodalījumi) un izmantojiet viltotu krātuvi, lai saglabātu metadatus, ko izmanto minimālās pieļaujamās OS noteikšanai versija.
  • BŪTU jāievieš atgriešanas aizsardzība jebkuram komponentam ar pastāvīgu programmaparatūru (piem., modems, kamera) un OBLIGĀTI JĀizmanto neatļauta krātuve, lai uzglabātu metadatus, ko izmanto, lai noteiktu minimālo pieļaujamo versija.

Kā redzat pēdējos divos aizzīmju punktu komplektos, ir jāņem vērā viens brīdinājums. Atgriešanas aizsardzība ir nepieciešama starpsienām, ko izmanto Android (sāknēšana, sistēma, piegādātājs utt.), bet ne nodalījumiem ar pastāvīgu programmaparatūru (modems, kamera utt.). Iepriekšējā nodalījumu kopa ir vieta, kur lielākā daļa drošības ievainojamību tiek atklātas un izlabotas, tāpēc ir patīkami redzēt, ka šo nodalījumu aizsardzība ir obligāta. Tomēr ir bijuši arī ekspluatācijas veidi, kuru mērķis ir arī nodalījumi ar pastāvīgu programmaparatūru, tāpēc mēs neesam pārliecināti, kāpēc Google tiem nepieprasa atcelšanas aizsardzību.

XDA vecākais loceklis npjohnsons, LineageOS komandas loceklis, uzskata, ka atcelšanas aizsardzības pieprasīšana starpsienām ar pastāvīgu programmaparatūru nepieciešama sekundārā sāknēšanas ielādētāja (SBL) un eXtensible Bootloader (XBL) savienošana, jo šie nodalījumi sāknēšanas laikā ir uzstādīti agrāk process. Mazākiem oriģinālo iekārtu ražotājiem būtu dārgi ieviest pielāgotus XBL, lai tie atbilstu pielāgotajiem modemiem un citiem pastāvīgiem nodalījumiem, tāpēc, iespējams, Google neizvirza šo prasību, lai ierīču ražotājiem būtu vieglāk izpildīt jaunākās CDD prasības.

Kā pārbaudīt, vai jūsu tālrunis atbalsta AVB 2.0

Ir divas ADB čaulas komandas, kuras varat izmantot, lai pārbaudītu, vai tālrunis atbalsta AVB 2.0.

adb shell
dumpsys package | grep "verified_boot"

VAI

adb shell
getprop | grep "avb"

Ja pirmās komandas izvade ir "android.software.verified_boot", tiek atbalstīta AVB 2.0. Ja otrās komandas izvadē tiek rādīts “[ro.boot.avb_version]” un “[ro.boot.vbmeta.avb_version]” un katrai komandai ir norādīts versijas numurs, tā tiek atbalstīta.

Pārbaudīta sāknēšana un pielāgota izstrāde

Android verificētā sāknēšana faktiski neietekmē lielāko daļu pielāgoto ROM lietotāju, lai gan tas pievieno papildu drošības līmeni, kas dažos gadījumos ir jārisina. Piemēram, mirgo vispārējās sistēmas attēls nepieciešama AVB atspējošana. Lai modificētu noteiktus nodalījumus, piemēram, pārdevēju OnePlus 6, ir jāatspējo arī AVB, kā nesen uzzināju. Saskaņā ar npjohnsons, pareizi ieviesta AVB 2.0 ļauj pielāgotiem sāknēšanas attēliem darboties ar bloķētu sāknēšanas ielādētāju. Mēs redzēsim, kā AVB 2.0 iekļaušana ierīcēs, kas tiek piegādātas ar Android Pie, ietekmēs ainavu, taču mēs ceram, ka tas neizraisīs tādas situācijas kā nesenais ķieģeļu pārbiedēšana Xiaomi Redmi Note 5 Pro kopienā. Obligātā AVB 2.0 ir tikai vēl viens veids, kā Google var to darīt uzlabot Android platformas drošību, bet lielākās izmaiņas, mūsuprāt, ir OEM līgumu pārstrādāšana, lai nodrošinātu regulārus drošības ielāpus.