Ti sei mai chiesto come funzionano gli aggiornamenti mensili delle patch di sicurezza Android? Non chiederti altro, dato che abbiamo solo il manuale per farti comprendere l'intero processo.
Google pubblica bollettini mensili sulla sicurezza dall'agosto 2015. Questi bollettini sulla sicurezza contengono un elenco di vulnerabilità di sicurezza divulgate che sono state risolte e che interessano il framework Android, il kernel Linux e altri componenti di fornitori closed-source. Ogni vulnerabilità nei bollettini è stata scoperta da Google o comunicato alla società. Ogni vulnerabilità elencata ha un numero CVE (Common Vulnerabilities and Exposures), insieme ai dati associati riferimenti, il tipo di vulnerabilità, una valutazione della gravità e la versione AOSP interessata (se applicabile). Ma nonostante il processo apparentemente semplicistico alla base del funzionamento delle patch di sicurezza Android, in realtà c'è qualcosa complicato avanti e indietro dietro le quinte che consente al tuo telefono di ricevere mensilmente o (si spera) quasi mensilmente cerotti.
Cosa rende effettivamente necessaria una patch di sicurezza?
Potresti aver notato che ogni mese ce ne sono effettivamente due livelli di patch di sicurezza. Il formato di queste patch è AAAA-MM-01 o AAAA-MM-05. Mentre AAAA e MM rappresentano ovviamente rispettivamente l'anno e il mese, "01" e "05" in modo confuso non indicano effettivamente il giorno del mese in cui è stato rilasciato il livello di patch di sicurezza. Invece, 01 e 05 sono in realtà due diversi livelli di patch di sicurezza rilasciati lo stesso giorno ogni mese: il livello di patch con 01 alla fine contiene correzioni al framework Android ma non patch del fornitore o patch del kernel Linux upstream. Le patch del fornitore, come definito in precedenza, si riferiscono a correzioni di componenti closed source come i driver per Wi-Fi e Bluetooth. Il livello di patch di sicurezza indicato da -05 contiene queste patch del fornitore così come le patch nel kernel Linux. Dai un'occhiata alla tabella qui sotto che può aiutare a capire.
Livello mensile delle patch di sicurezza |
2019-04-01 |
2019-04-05 |
---|---|---|
Contiene le patch del framework di aprile |
SÌ |
SÌ |
Contiene il fornitore di aprile e le patch del kernel |
NO |
SÌ |
Contiene le patch del framework di marzo |
SÌ |
SÌ |
Contiene il fornitore di marzo e le patch del kernel |
SÌ |
SÌ |
Naturalmente, alcuni OEM potrebbero scegliere di inserire le proprie patch e aggiornamenti anche negli aggiornamenti di sicurezza. La maggior parte degli OEM ha la propria opinione su Android, quindi è logico che tu possa avere, ad esempio, una vulnerabilità su un telefono Samsung che non esiste su un Huawei. Molti di questi OEM pubblicano anche i propri bollettini sulla sicurezza.
- GooglePixel
- Huawei
- LG
- Motorola
- HMD globale
- SAMSUNG
La sequenza temporale di una patch di sicurezza di Google sul tuo telefono
Le patch di sicurezza hanno una tempistica che copre circa 30 giorni, anche se non tutti gli OEM possono avvalersi dell'intera durata di tale tempistica. Diamo un'occhiata a Patch di sicurezza di maggio 2019 ad esempio, e possiamo analizzare l'intera sequenza temporale dietro la creazione di questa patch. Alle aziende piace Essenziale riescono a pubblicare gli aggiornamenti di sicurezza lo stesso giorno come Google Pixel, quindi come fanno? La risposta breve e semplice è che sono un Partner Android. Il bollettino sicurezza di maggio 2019 è stato pubblicato il 6 maggio, con aggiornamenti quasi immediati sia per i Pixel di Google che per l'Essential Phone.
Cosa significa essere un partner Android
Non solo qualsiasi azienda può essere un partner Android, anche se è vero che praticamente tutti i principali OEM Android lo sono. I partner Android sono le aziende a cui viene concessa una licenza per utilizzare il marchio Android nel materiale di marketing. Sono inoltre autorizzati a spedire i servizi Google Mobile Services (GMS - si riferisce praticamente a tutti i servizi Google) purché soddisfino i requisiti delineati nelle Compatibility Definition Document (CDD) e superare il Compatibility Test Suite (CTS), il Vendor Test Suite (VTS), il Google Test Suite (GTS) e alcuni altri test. Esistono differenze distinte nel processo di patch di sicurezza per le aziende che non lo sono un partner Android.
- Le patch del framework Android sono disponibili dopo essere state integrate in AOSP 1-2 giorni prima del rilascio del bollettino sulla sicurezza.
- Le patch del kernel Linux upstream possono essere selezionate una volta disponibili.
- Le correzioni dei fornitori di SoC per i componenti closed source sono disponibili a seconda degli accordi con il fornitore di SoC. Tieni presente che se il fornitore ha concesso all'OEM l'accesso al codice sorgente dei componenti closed-source, l'OEM può risolvere i problemi da solo. Se l'OEM non ha accesso al codice sorgente, deve attendere che il fornitore rilasci una correzione.
Se sei un partner Android, tutto sarà subito molto più semplice. I partner Android vengono informati di tutti i problemi relativi al framework Android e al kernel Linux almeno 30 giorni prima che il bollettino venga reso pubblico. Google fornisce patch per tutti i problemi affinché gli OEM possano unirli e testarli, sebbene le patch dei componenti del fornitore dipendano dal fornitore. Le patch per i problemi del framework Android divulgati nel bollettino sulla sicurezza di maggio 2019, ad esempio, sono state fornite ai partner Android almeno già a partire dal 20 marzo 2019*. È un quantità di tempo supplementare.
*Nota: Google può, e spesso lo fa, aggiornare le patch per l'ultimo bollettino sulla sicurezza fino al rilascio pubblico. Questi aggiornamenti possono avvenire se vengono rilevate nuove vulnerabilità e bug, se Google decide di rimuovere alcune patch dal bollettino mensile a causa della rottura di componenti critici, se Google aggiorna una patch per risolvere un bug creato dalla versione precedente della patch e altro motivi.
Perché devo aspettare così tanto tempo per ricevere una patch di sicurezza sul mio telefono?
Anche se è vero che i partner Android (leggi: tutti i principali OEM) hanno ricevuto le patch di sicurezza con largo anticipo rispetto alle loro rilascio, molti sono dolorosamente consapevoli che probabilmente non riceveranno un aggiornamento di sicurezza per mesi dopo il rilascio pubblicazione. Ciò è generalmente dovuto a uno dei quattro motivi.
- Gli OEM potrebbero dover apportare importanti modifiche tecniche per accogliere una patch di sicurezza, poiché potrebbe entrare in conflitto con il codice esistente.
- Il fornitore è lento nel fornire il codice sorgente di aggiornamento per i componenti closed-source.
- La certificazione del vettore potrebbe richiedere del tempo.
- Le aziende potrebbero non essere disposte a rilasciare un aggiornamento di sicurezza senza rilasciare contemporaneamente anche una funzionalità.
Sebbene tutti questi siano validi motivi per cui un'azienda non rilascia una patch di sicurezza, all'utente finale non sempre interessa nessuno di questi. Certo, anche all'utente finale non sempre interessano le patch di sicurezza, anche se dovrebbero. Iniziative come Project Treble, Linux LTS esteso, E Linea principale del progetto stanno aiutando a eliminare le difficoltà tecniche legate all'unione di queste patch di sicurezza, ma non è sufficiente per spingere gli OEM a impegnarsi costantemente per pubblicare gli aggiornamenti. Con un'immagine kernel generica, o GKI, i fornitori di SoC e gli OEM avranno più facilità a unire le patch del kernel Linux upstream, anche se probabilmente non vedremo i primi dispositivi con GKI fino al prossimo anno.
Ma un'informazione interessante che la maggior parte non conosce è che i principali OEM dovere fornire "almeno quattro aggiornamenti di sicurezza" entro un anno dal lancio del dispositivo e 2 anni di aggiornamenti in totale. Google non ha confermato questi termini specifici, ma la società ha confermato di "aver lavorato sulla creazione di patch di sicurezza nei [loro] accordi OEM". Per quanto riguarda i dispositivi Android Enterprise Recommendation (AER), i dispositivi devono ricevere gli aggiornamenti di sicurezza entro 90 giorni dal rilascio per 3 anni. Per ottenere sono necessari dispositivi AER robusti 5 anni degli aggiornamenti di sicurezza. I dispositivi Android One dovrebbero ricevere aggiornamenti di sicurezza ogni mese per 3 anni.
Cosa c'è in una patch di sicurezza?
Una patch di sicurezza è solo un altro aggiornamento, anche se generalmente molto più piccolo con modifiche ai singoli framework e moduli di sistema piuttosto che miglioramenti o modifiche a livello di sistema. Ogni mese, Google fornisce agli OEM dei dispositivi un file zip che contiene le patch per tutte le principali versioni di Android attualmente ancora supportate, insieme a una suite di test di sicurezza. Questa suite di test aiuta gli OEM a individuare le lacune nelle patch di sicurezza, per assicurarsi che non si perdano nulla e che le patch siano state unite in modo appropriato. Con il passare del mese, Google potrebbe apportare piccole revisioni, ad esempio decidere che una patch specifica è facoltativa, in particolare se si verificano problemi nell'implementazione.
E le ROM personalizzate?
Se il tuo smartphone non riceve molti aggiornamenti di sicurezza, ciò non significa necessariamente che sia meglio passare a una ROM personalizzata. Sebbene sia vero che riceverai aggiornamenti di sicurezza che altrimenti non avresti ottenuto, questa è solo metà della storia. Lo sblocco del bootloader ti rende vulnerabile agli attacchi fisici sul tuo dispositivo, anche se dal punto di vista software la sicurezza è rafforzata. Questo non vuol dire che non dovresti usare ROM personalizzate, è solo che ci sono altre preoccupazioni quando si tratta di usarle che non si applicano se il tuo bootloader viene mantenuto bloccato. Se sei più preoccupato per il lato software, allora stai comunque meglio con una ROM personalizzata che riceve frequenti patch di sicurezza.
Ma ricordi che abbiamo parlato della differenza tra le patch AAAA-MM-01 e AAAA-MM-05? Il livello di patch -05 contiene patch del kernel Linux e patch del fornitore, ovvero patch applicate al software closed-source. Ciò significa che gli sviluppatori di ROM personalizzate sono alla mercé dell'OEM per cui stanno sviluppando e se l'OEM rilascia o meno BLOB aggiornati. Questo va bene per i dispositivi che sono ancora aggiornati dal produttore, ma per i dispositivi che non lo sono, le patch applicate possono essere applicate solo al framework Android e al kernel Linux. Ecco perché LineageOS' Interfaccia di fiducia mostra due livelli di patch di sicurezza: uno è la piattaforma, l'altro è il fornitore. Anche se le ROM personalizzate per dispositivi non supportati non possono integrare completamente tutte le patch più recenti, saranno più sicure delle ROM più vecchie e obsolete.