Kako delujejo mesečne posodobitve varnostnih popravkov za Android

Ste se kdaj vprašali, kako delujejo mesečne posodobitve varnostnih popravkov za Android? Nič več se ne sprašujte, saj imamo le uvod, da boste razumeli celoten postopek.

Google od avgusta 2015 objavlja mesečne varnostne biltene. Ti varnostni bilteni vsebujejo seznam razkritih varnostnih ranljivosti, ki so bile odpravljene in vplivajo na ogrodje Android, jedro Linuxa in druge zaprtokodne komponente dobavitelja. Vsako ranljivost v biltenih je bodisi odkril Google oz razkriti družbi. Vsaka navedena ranljivost ima številko skupnih ranljivosti in izpostavljenosti (CVE) skupaj s pripadajočimi reference, vrsto ranljivosti, oceno resnosti in prizadeto različico AOSP (če primerno). Toda kljub na videz poenostavljenemu postopku, ki stoji za delovanjem varnostnih popravkov za Android, dejansko obstaja nekoliko zapleteno zakulisje naprej in nazaj, ki vašemu telefonu omogoča, da postane mesečno ali (upajmo) skoraj mesečno obliži.

Kaj pravzaprav naredi varnostni popravek?

Morda ste opazili, da jih dejansko vsak mesec 

dva ravni varnostnih popravkov. Format teh popravkov je LLLL-MM-01 ali LLLL-MM-05. Medtem ko LLLL in MM očitno predstavljata leto oziroma mesec, »01« in »05« na zmedo dejansko ne pomenita dneva v mesecu, v katerem je bila izdana ta raven varnostnega popravka. Namesto tega sta 01 in 05 pravzaprav dve različni stopnji varnostnega popravka, izdani vsak mesec na isti dan – raven popravka z 01 na koncu vsebuje popravke za okvir Android, vendar ne popravke proizvajalca ali popravke jedra Linuxa navzgor. Popravki proizvajalca, kot smo definirali zgoraj, se nanašajo na popravke zaprtokodnih komponent, kot so gonilniki za Wi-Fi in Bluetooth. Raven varnostnega popravka, označena z -05, vsebuje te popravke proizvajalca in tudi popravke v jedru Linuxa. Oglejte si spodnjo tabelo, ki vam lahko pomaga pri razumevanju.

Raven mesečnega varnostnega popravka

2019-04-01

2019-04-05

Vsebuje aprilske popravke ogrodja

ja

ja

Vsebuje popravke aprilskega prodajalca + jedra

št

ja

Vsebuje marčevske popravke ogrodja

ja

ja

Vsebuje marčevske popravke dobavitelja + jedra

ja

ja

Seveda se lahko nekateri proizvajalci originalne opreme odločijo, da svoje popravke in posodobitve vključijo tudi v varnostne posodobitve. Večina proizvajalcev originalne opreme ima svoj pogled na Android, zato je logično, da imate na primer ranljivost na telefonu Samsung, ki ne obstaja na telefonu Huawei. Veliko teh proizvajalcev originalne opreme objavlja tudi lastne varnostne biltene.

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

Časovnica Googlovega varnostnega popravka za vaš telefon

Varnostni popravki imajo časovno premico, ki približno obsega približno 30 dni, vendar ne more vsak OEM izkoristiti celotne dolžine te časovne premice. Oglejmo si Varnostni popravek iz maja 2019 na primer, in razčlenimo lahko celotno časovnico za ustvarjanjem tega popravka. Podjetja kot Bistvenega pomena uspejo pridobiti njihove varnostne posodobitve na isti dan kot Google Pixel, kako jim torej to uspe? Kratek in preprost odgovor je, da so Android partner. Varnostni bilten maj 2019 je bil objavljen 6. maja, pri čemer bosta Google Pixels in Essential Phone skoraj takoj posodobljena.

Kaj pomeni biti Android partner

Partner za Android ne more biti katero koli podjetje, čeprav je v bistvu vsak večji OEM za Android. Partnerji za Android so podjetja, ki dobijo licenco za uporabo blagovne znamke Android v marketinškem gradivu. Prav tako jim je dovoljeno pošiljati Googlove mobilne storitve (GMS – nanaša se na skoraj vse Googlove storitve), če izpolnjujejo zahteve, opisane v Compatibility Definition Document (CDD) in opravite testno zbirko združljivosti (CTS), testno zbirko dobavitelja (VTS), Googlovo testno zbirko (GTS) in nekaj drugih testov. Obstajajo izrazite razlike v postopku varnostnih popravkov za podjetja, ki niso Android partner.

  • Popravki ogrodja Android so jim na voljo po združitvi z AOSP 1-2 dni pred izdajo varnostnega biltena.
  • Ko so na voljo popravki jedra Linuxa, lahko izbirate češnjevo.
  • Popravki prodajalcev SoC za zaprtokodne komponente so na voljo glede na dogovore s prodajalcem SoC. Upoštevajte, da če je prodajalec proizvajalcu originalne opreme dal dostop do izvorne kode zaprtokodnih komponent, lahko proizvajalec originalne opreme sam odpravi težavo. Če OEM nima dostopa do izvorne kode, mora počakati, da prodajalec izda popravek.

Če ste Android partner, vam je takoj veliko lažje. Partnerji za Android so o vseh težavah z ogrodjem Android in težavah z jedrom Linux obveščeni vsaj 30 dni pred objavo biltena. Google zagotavlja popravke za vse težave, ki jih proizvajalci originalne opreme združijo in testirajo, čeprav so popravki komponent proizvajalca odvisni od prodajalca. Popravki za težave z ogrodjem Android, ki so bile na primer razkrite v varnostnem biltenu iz maja 2019, so bili na primer zagotovljeni partnerjem Android že 20. marca 2019*. To je a veliko dodatnega časa.

*Opomba: Google lahko posodobi popravke za najnovejši varnostni bilten, kar pogosto tudi počne, vse do javne objave. Te posodobitve se lahko zgodijo, če so odkrite nove ranljivosti in hrošči, če se Google odloči odstraniti določene popravke iz mesečnega biltena zaradi zloma kritičnih komponent, če Google posodobi popravek, da odpravi napako, ki jo je povzročila prejšnja različica popravka, in drugo razlogov.

Zakaj moram čakati tako dolgo, da prejmem varnostni popravek na svoj telefon?

Čeprav je res, da so Android Partnerji (beri: vsi glavni proizvajalci originalne opreme) prejeli varnostne popravke precej pred izdaje, se mnogi boleče zavedajo, da morda ne bodo prejeli varnostne posodobitve še nekaj mesecev po njej sprostitev. To je na splošno odvisno od enega od štirih razlogov.

  • Proizvajalci originalne opreme bodo morda morali narediti velike tehnične spremembe, da bodo lahko prilagodili varnostni popravek, saj je lahko v nasprotju z obstoječo kodo.
  • Prodajalec je počasen pri zagotavljanju posodobitve izvorne kode za zaprtokodne komponente.
  • Certificiranje operaterja lahko traja nekaj časa.
  • Podjetja morda niso pripravljena izdati varnostne posodobitve, ne da bi hkrati izdala tudi funkcijo.

Čeprav so vse to utemeljeni razlogi, da podjetje ne izda varnostnega popravka, končnega uporabnika ni vedno mar za katerega koli od njih. Priznati je treba, da tudi končni uporabnik ne skrbi vedno za varnostne popravke, čeprav bi morali. Pobude, kot je Project Treble, razširjeni Linux LTS, in Projekt Mainline pomagajo odpraviti tehnične težave pri združevanju teh varnostnih popravkov, vendar to ni dovolj, da si proizvajalci originalne opreme dosledno prizadevajo izdajati posodobitve. Z generično sliko jedra ali GKI bodo prodajalci SoC in proizvajalci originalne opreme lažje združili popravke jedra Linuxa navzgor, čeprav verjetno ne bomo videli prvih naprav z GKI do naslednjega leta.

Toda zanimiva informacija, ki je večina ne ve, je, da glavni proizvajalci originalne opreme mora zagotoviti "vsaj štiri varnostne posodobitve" v enem letu po lansiranju naprave in skupno 2 leti posodobitev. Google ni potrdil teh posebnih pogojev, vendar je podjetje potrdilo, da so "delali na vgradnji varnostnih popravkov v [svoje] pogodbe OEM". Kar zadeva naprave Android Enterprise Recommended (AER), morajo naprave prejeti varnostne posodobitve v 90 dneh po izdaji za 3 leta. Za pridobitev so potrebne robustne naprave AER 5 let varnostnih posodobitev. Naprave Android One naj bi prejemale varnostne posodobitve vsak mesec 3 leta.

Kaj je v varnostnem popravku?

Varnostni popravek je samo še ena posodobitev, čeprav je na splošno veliko manjša s spremembami posameznih okvirov in sistemskih modulov, ne pa sistemskih izboljšav ali sprememb. Google proizvajalcem originalne opreme vsak mesec zagotovi datoteko zip, ki vsebuje popravke za vse glavne različice Androida, ki so trenutno še podprte, skupaj z zbirko varnostnih testov. Ta testna zbirka pomaga proizvajalcem originalne opreme odkriti vrzeli v varnostnih popravkih, da ne bodo ničesar zamudili in da so bili popravki ustrezno združeni. V mesecu bo Google morda naredil manjše popravke, kot je odločitev, da je določen popravek neobvezen, zlasti če obstajajo težave pri njegovem izvajanju.

Kaj pa ROM-i po meri?

Če vaš pametni telefon ne dobi veliko varnostnih posodobitev, to ne pomeni nujno, da je bolje, da preklopite na ROM po meri. Čeprav je res, da boste prejeli varnostne posodobitve, ki jih sicer ne bi dobili, je to le polovica zgodbe. Če odklenete zagonski nalagalnik, postanete dovzetni za fizične napade na vašo napravo, tudi če je na strani programske opreme varnost okrepljena. To ne pomeni, da ne bi smeli uporabljati ROM-ov po meri, le da obstajajo drugi pomisleki, ko gre za njihovo uporabo, ki ne veljajo, če je vaš zagonski nalagalnik zaklenjen. Če vas bolj skrbi programska stran stvari, potem je še vedno bolje, če imate ROM po meri, ki pogosto dobiva varnostne popravke.

Toda spomnite se, da smo govorili o razliki med obliži LLLL-MM-01 in LLLL-MM-05? Raven popravka -05 vsebuje popravke jedra Linuxa in popravke prodajalca – popravke, ki se uporabljajo za zaprtokodno programsko opremo. To pomeni, da so razvijalci ROM-a po meri prepuščeni na milost in nemilost kateremu koli proizvajalcu originalne opreme, za katerega razvijajo, in če proizvajalec originalne opreme izda posodobljene blob-ove ali ne. To je v redu za naprave, ki jih proizvajalec še posodablja, toda za naprave, ki jih ne, je mogoče uporabljene popravke uporabiti samo za ogrodje Android in jedro Linuxa. Zato je LineageOS Vmesnik zaupanja prikazuje dve ravni varnostnega popravka - ena je platforma, druga pa prodajalec. Čeprav ROM-i po meri za nepodprte naprave ne morejo v celoti integrirati vseh najnovejših popravkov, bodo varnejši od starejših, zastarelih ROM-ov.