Ako fungujú mesačné aktualizácie bezpečnostných opráv systému Android

Zaujímalo vás niekedy, ako fungujú mesačné aktualizácie bezpečnostných opráv systému Android? Už sa nečudujte, pretože máme len základný náter, aby ste pochopili celý proces.

Spoločnosť Google vydáva mesačné bezpečnostné bulletiny od augusta 2015. Tieto bezpečnostné bulletiny obsahujú zoznam odhalených bezpečnostných chýb, ktoré boli opravené a ktoré ovplyvňujú rámec Androidu, jadro Linuxu a ďalšie komponenty dodávateľov s uzavretým zdrojom. Každú zraniteľnosť v bulletinoch buď objavil Google, resp zverejnené spoločnosti. Každá uvedená zraniteľnosť má spoločné číslo zraniteľnosti a vystavenia (CVE) spolu s priradenými referencie, typ zraniteľnosti, posúdenie závažnosti a ovplyvnenú verziu AOSP (ak uplatniteľné). Ale aj napriek zdanlivo zjednodušenému procesu fungovania bezpečnostných záplat pre Android v skutočnosti niečo je komplikované prepínanie tam a späť v zákulisí, ktoré vášmu telefónu umožňuje získať mesačné alebo (dúfajme) takmer mesačné náplasti.

Čo vlastne tvorí bezpečnostnú záplatu?

Možno ste si všimli, že každý mesiac existuje dva úrovne bezpečnostných záplat. Formát týchto záplat je buď YYYY-MM-01 alebo YYYY-MM-05. Zatiaľ čo RRRR a MM zjavne predstavujú rok a mesiac, „01“ a „05“ v skutočnosti neznamenajú deň v mesiaci, v ktorom bola úroveň bezpečnostnej opravy vydaná. Namiesto toho sú 01 a 05 v skutočnosti dve rôzne úrovne bezpečnostnej opravy vydané v rovnaký deň každý mesiac – úroveň opravy s 01 na konci obsahuje opravy rámca Android, ale nie záplaty dodávateľa alebo upstream záplaty jadra Linuxu. Záplaty dodávateľov, ako sme definovali vyššie, sa týkajú opráv komponentov s uzavretým zdrojom, ako sú ovládače pre Wi-Fi a Bluetooth. Úroveň bezpečnostnej záplaty označená ako -05 obsahuje tieto záplaty dodávateľov, ako aj záplaty v jadre Linuxu. Pozrite si tabuľku nižšie, ktorá vám môže pomôcť pochopiť.

Úroveň mesačnej bezpečnostnej opravy

2019-04-01

2019-04-05

Obsahuje aprílové rámcové opravy

Áno

Áno

Obsahuje opravy April Vendor + Kernel

Nie

Áno

Obsahuje March Framework Patchs

Áno

Áno

Obsahuje March Vendor + Kernel Patches

Áno

Áno

Samozrejme, niektorí výrobcovia OEM sa môžu rozhodnúť zahrnúť svoje vlastné opravy a aktualizácie aj do aktualizácií zabezpečenia. Väčšina OEM má svoj vlastný pohľad na Android, takže dáva zmysel len to, že môžete mať napríklad zraniteľnosť na telefóne Samsung, ktorá neexistuje na Huawei. Mnoho z týchto výrobcov OEM publikuje aj svoje vlastné bezpečnostné bulletiny.

  • Google Pixel
  • Huawei
  • LG
  • Motorola
  • HMD Global
  • Samsung

Časová os bezpečnostnej opravy od spoločnosti Google do vášho telefónu

Opravy zabezpečenia majú časovú os približne 30 dní, hoci nie každý OEM môže využiť celú dĺžku tejto časovej osi. Poďme sa pozrieť na Oprava zabezpečenia z mája 2019 napríklad a môžeme rozobrať celú časovú os za vytvorením tohto patchu. Spoločnosti ako Nevyhnutné podarí získať aktualizácie zabezpečenia v rovnaký deň ako Google Pixel, tak ako to robia? Krátka a jednoduchá odpoveď je, že sú Partner pre Android. Bezpečnostný bulletin z mája 2019 bola zverejnená 6. mája, pričom Google Pixels aj Essential Phone dostávajú takmer okamžité aktualizácie.

Čo to znamená byť partnerom Androidu

Partnerom pre Android nemôže byť hocijaká spoločnosť, aj keď je pravda, že v podstate je ním každý hlavný výrobca OEM Android. Android Partners sú spoločnosti, ktorým je udelená licencia na používanie značky Android v marketingových materiáloch. Môžu tiež dodávať mobilné služby Google (GMS – označuje takmer všetky služby Google), pokiaľ spĺňajú požiadavky uvedené v Compatibility Definition Document (CDD) a zložiť Compatibility Test Suite (CTS), Vendor Test Suite (VTS), Google Test Suite (GTS) a niekoľko ďalších testov. Existujú výrazné rozdiely v procese bezpečnostnej opravy pre spoločnosti, ktoré nie sú Android Partner.

  • Opravy rámca Android sú im k dispozícii po zlúčení s AOSP 1-2 dni pred vydaním bezpečnostného bulletinu.
  • Upstream záplaty linuxového jadra je možné vybrať hneď, ako budú k dispozícii.
  • Opravy od dodávateľov SoC pre komponenty s uzavretým zdrojom sú dostupné v závislosti od dohôd s dodávateľom SoC. Všimnite si, že ak dodávateľ poskytol OEM prístup k zdrojovému kódu komponentu (komponentov) s uzavretým zdrojovým kódom, potom OEM môže problém(y) vyriešiť sám. Ak OEM nemá prístup k zdrojovému kódu, musí počkať, kým predajca vydá opravu.

Ak ste Android Partner, máte to hneď oveľa jednoduchšie. Partneri systému Android sú informovaní o všetkých problémoch s rámcom systému Android a problémoch s jadrom systému Linux najmenej 30 dní pred zverejnením bulletinu. Google poskytuje opravy pre všetky problémy, ktoré môžu výrobcovia OEM zlúčiť a otestovať, hoci opravy komponentov dodávateľa závisia od dodávateľa. Opravy pre problémy s rámcom Android zverejnené napríklad v bezpečnostnom bulletine z mája 2019 boli partnerom Androidu poskytnuté minimálne už 20. marca 2019*. To je a veľa času navyše.

*Poznámka: Google môže, a často aj robí, aktualizovať záplaty pre najnovší bezpečnostný bulletin až do verejného vydania. K týmto aktualizáciám môže dôjsť, ak sa nájdu nové zraniteľnosti a chyby, ak sa Google rozhodne odstrániť určité opravy z mesačného bulletinu v dôsledku porušenia kritických komponentov, ak spoločnosť Google aktualizuje opravu, aby vyriešila chybu vytvorenú predchádzajúcou verziou opravy a iné dôvodov.

Prečo musím tak dlho čakať, kým dostanem bezpečnostnú opravu na môj telefón?

Aj keď je pravda, že Android Partneri (čítaj: všetci hlavní výrobcovia OEM) dostali bezpečnostné záplaty v dostatočnom predstihu Mnohí sú si bolestne vedomí toho, že pravdepodobne nedostanú bezpečnostnú aktualizáciu niekoľko mesiacov po jej vydaní uvoľniť. Vo všeobecnosti je to spôsobené jedným zo štyroch dôvodov.

  • Výrobcovia OEM možno budú musieť vykonať veľké technické zmeny, aby mohli prispôsobiť bezpečnostnú opravu, pretože môže byť v konflikte s existujúcim kódom.
  • Dodávateľ je pomalý pri poskytovaní zdrojového kódu aktualizácie pre komponenty s uzavretým zdrojom.
  • Certifikácia operátora môže chvíľu trvať.
  • Spoločnosti nemusia byť ochotné vydať aktualizáciu zabezpečenia bez toho, aby súčasne vydali funkciu.

Aj keď sú všetky tieto dôvody pre firmu opodstatnené, aby nevydali bezpečnostnú opravu, koncovému používateľovi nie vždy záleží na žiadnom z nich. Je pravda, že koncový používateľ sa tiež vždy nezaujíma o bezpečnostné záplaty, hoci by mal. Iniciatívy ako Project Treble, rozšírený Linux LTS, a Hlavná línia projektu pomáhajú odstraňovať technické ťažkosti spojené so zlučovaním týchto bezpečnostných opráv, ale nestačí to na to, aby sa výrobcovia OEM neustále snažili vydávať aktualizácie. S Generic Kernel Image alebo GKI budú mať predajcovia SoC a OEM jednoduchší čas zlučovať upstream záplaty jadra Linuxu, aj keď prvé zariadenia s GKI pravdepodobne neuvidíme až do budúceho roka.

Zaujímavou informáciou, ktorú však väčšina nevie, sú hlavní výrobcovia OEM musieť poskytnúť „aspoň štyri aktualizácie zabezpečenia“ do jedného roka od spustenia zariadenia a celkovo 2 roky aktualizácií. Google nepotvrdil tieto konkrétne podmienky, ale spoločnosť potvrdila, že „pracovali na zapracovaní bezpečnostných záplat do [ich] zmlúv OEM“. Pokiaľ ide o zariadenia Android Enterprise Recommended (AER), zariadenia musia získať aktualizácie zabezpečenia do 90 dní od vydania po dobu 3 rokov. Na získanie sú potrebné odolné zariadenia AER 5 rokov bezpečnostných aktualizácií. Zariadenia Android One by mali dostávať bezpečnostné aktualizácie každý mesiac po dobu 3 rokov.

Čo obsahuje bezpečnostná záplata?

Oprava zabezpečenia je len ďalšou aktualizáciou, aj keď vo všeobecnosti je oveľa menšia so zmenami v jednotlivých rámcoch a systémových moduloch, a nie so systémovými vylepšeniami alebo zmenami. Spoločnosť Google poskytuje výrobcom OEM zariadení každý mesiac súbor zip, ktorý obsahuje opravy pre všetky hlavné verzie systému Android, ktoré sú v súčasnosti stále podporované, spolu so súpravou testov zabezpečenia. Tento testovací balík pomáha výrobcom OEM zachytiť medzery v bezpečnostných záplatách, aby im nič neuniklo a že záplaty boli správne zlúčené. Ako mesiac plynie, Google môže vykonať menšie revízie, ako je rozhodnutie, že jedna konkrétna oprava je voliteľná, najmä ak sa vyskytnú problémy s jej implementáciou.

A čo vlastné ROM?

Ak váš smartfón nedostáva veľa bezpečnostných aktualizácií, nemusí to nevyhnutne znamenať, že je lepšie prejsť na vlastnú ROM. Aj keď je pravda, že získate aktualizácie zabezpečenia, ktoré by ste inak nezískali, je to len polovica príbehu. Odomknutím vášho bootloadera budete náchylní na fyzické útoky na vaše zariadenie, aj keď na strane softvéru je bezpečnosť posilnená. To neznamená, že by ste nemali používať vlastné ROM, ide len o to, že existujú ďalšie obavy, pokiaľ ide o ich používanie, ktoré sa neuplatňujú, ak je váš bootloader uzamknutý. Ak sa viac obávate o softvérovú stránku vecí, potom je pre vás stále lepšia vlastná ROM, ktorá dostáva časté bezpečnostné záplaty.

Pamätáte si však, že sme hovorili o rozdiele medzi záplatami RRRR-MM-01 a RRRR-MM-05? Úroveň záplaty -05 obsahuje záplaty jadra Linuxu, ako aj záplaty dodávateľov - záplaty aplikované na softvér s uzavretým zdrojom. To znamená, že vývojári vlastných ROM sú vydaní na milosť a nemilosť každému OEM, pre ktorý vyvíjajú, a či OEM vydá aktualizované blob alebo nie. To je v poriadku pre zariadenia, ktoré sú stále aktualizované výrobcom, ale pre zariadenia, ktoré nie sú aktualizované, je možné aplikované záplaty použiť iba na platformu Android a jadro Linuxu. To je dôvod, prečo LineageOS' Rozhranie dôvery zobrazuje dve úrovne bezpečnostnej opravy - jedna je platforma a druhá je dodávateľ. Aj keď vlastné ROM pre nepodporované zariadenia nedokážu plne integrovať všetky najnovšie opravy, budú bezpečnejšie ako staršie, zastarané ROM.