Proteggi un dispositivo Android

Android incorpora funzionalità di sicurezza leader del settore e collabora con sviluppatori e implementatori di dispositivi per mantenere la piattaforma e l'ecosistema Android sicuri. Un solido modello di sicurezza è essenziale per consentire un vigoroso ecosistema di app e dispositivi basati su e attorno alla piattaforma Android e supportati da servizi cloud. Di conseguenza, durante l'intero ciclo di sviluppo, Android è stato soggetto a un rigoroso programma di sicurezza.

Android è progettato per essere aperto. Le app Android utilizzano hardware e software avanzati, nonché dati locali e serviti, esposti attraverso la piattaforma per portare innovazione e valore ai consumatori. Per realizzare questo valore, la piattaforma offre un ambiente app che protegge la riservatezza, l'integrità e la disponibilità di utenti, dati, app, dispositivo e rete.

Garantire una piattaforma aperta richiede una solida architettura di sicurezza e programmi di sicurezza rigorosi. Android è stato progettato con una sicurezza multilivello sufficientemente flessibile da supportare una piattaforma aperta proteggendo allo stesso tempo tutti gli utenti della piattaforma. Per informazioni sulla segnalazione di problemi di sicurezza e sul processo di aggiornamento, vedere Risorse e aggiornamenti di sicurezza .

Android è progettato per gli sviluppatori. I controlli di sicurezza sono stati progettati per ridurre il carico sugli sviluppatori. Gli sviluppatori attenti alla sicurezza possono facilmente lavorare e fare affidamento su controlli di sicurezza flessibili. Gli sviluppatori che hanno meno familiarità con la sicurezza sono protetti da impostazioni predefinite sicure.

Oltre a fornire una piattaforma stabile su cui basarsi, Android offre ulteriore supporto agli sviluppatori in diversi modi. Il team di sicurezza Android cerca potenziali vulnerabilità nelle app e suggerisce modi per risolvere tali problemi. Per i dispositivi con Google Play, Play Services fornisce aggiornamenti di sicurezza per librerie software critiche, come OpenSSL, che viene utilizzato per proteggere le comunicazioni delle app. La sicurezza Android ha rilasciato uno strumento per testare SSL ( nogotofail ) che aiuta gli sviluppatori a individuare potenziali problemi di sicurezza su qualunque piattaforma stiano sviluppando.

Android sfrutta anche il supporto hardware sottostante per la sicurezza. Ad esempio, la tecnologia ARM TrustZone viene utilizzata per fornire archiviazione sicura per chiavi crittografiche e attestazioni di integrità di avvio. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) viene utilizzato per misurare il firmware caricato prima dell'avvio di Android. Ciò consente la verifica remota che il firmware non sia affetto da vulnerabilità note e critiche che potrebbero essere sfruttate per danneggiare sia gli sviluppatori che gli utenti.

Ulteriori informazioni per gli sviluppatori di app Android sono disponibili su Developer.android.com .

Android è progettato per gli utenti. Agli utenti viene fornita visibilità sulle autorizzazioni richieste da ciascuna app e controllo su tali autorizzazioni. Questa progettazione prevede l'aspettativa che gli aggressori tentino di eseguire attacchi comuni, come attacchi di ingegneria sociale per convincere gli utenti dei dispositivi a installare malware e attacchi ad app di terze parti su Android. Android è stato progettato sia per ridurre la probabilità di questi attacchi sia per limitare notevolmente l'impatto dell'attacco nel caso in cui avesse successo. La sicurezza Android continua a progredire dopo che il dispositivo è nelle mani dell'utente. Android collabora con i partner e con il pubblico per fornire patch per qualsiasi dispositivo Android che continua a ricevere aggiornamenti di sicurezza.

Puoi trovare ulteriori informazioni per gli utenti finali nel Centro assistenza Nexus , nel Centro assistenza Pixel o nel Centro assistenza del produttore del dispositivo.

Questa pagina delinea gli obiettivi del programma di sicurezza Android, descrive i fondamenti dell'architettura di sicurezza Android e risponde alle domande più pertinenti per architetti di sistema e analisti della sicurezza. Si concentra sulle funzionalità di sicurezza della piattaforma principale di Android e non tratta i problemi di sicurezza esclusivi di app specifiche, come quelli relativi al browser o all'app SMS.

Sfondo

Android fornisce una piattaforma open source e un ambiente app per dispositivi mobili.

Le sezioni e le pagine seguenti descrivono le funzionalità di sicurezza della piattaforma Android. La Figura 1 illustra i componenti di sicurezza e le considerazioni sui vari livelli dello stack software Android. Ciascun componente presuppone che i componenti seguenti siano adeguatamente fissati. Ad eccezione di una piccola quantità di codice del sistema operativo Android eseguito come root, tutto il codice sopra il kernel Linux è limitato dall'Application Sandbox.

Figura 1: stack software Android

Figura 1. Stack software Android

I principali elementi costitutivi della piattaforma Android sono:

  • Hardware del dispositivo: Android funziona su un'ampia gamma di configurazioni hardware tra cui telefoni cellulari, tablet, orologi, automobili, smart TV, scatole da gioco OTT e set-top box. Android è indipendente dal processore, ma sfrutta alcune funzionalità di sicurezza specifiche dell'hardware come ARM eXecute-Never.
  • Sistema operativo Android: il sistema operativo principale è basato sul kernel Linux. Tutte le risorse del dispositivo, come le funzioni della fotocamera, i dati GPS, le funzioni Bluetooth, le funzioni di telefonia e le connessioni di rete sono accessibili tramite il sistema operativo.
  • Runtime delle applicazioni Android: le app Android sono spesso scritte nel linguaggio di programmazione Java e vengono eseguite nel runtime Android (ART). Tuttavia, molte app, inclusi i servizi e le app Android principali, sono app native o includono librerie native. Sia le app ART che quelle native vengono eseguite nello stesso ambiente di sicurezza, contenuto nell'Application Sandbox. Le app ottengono una parte dedicata del file system in cui possono scrivere dati privati, inclusi database e file non elaborati.

Le app Android estendono il sistema operativo Android principale. Esistono due fonti principali per le app:

  • App preinstallate: Android include una serie di app preinstallate tra cui telefono, e-mail, calendario, browser Web e contatti. Funzionano come app utente e forniscono funzionalità chiave del dispositivo a cui possono accedere altre app. Le app preinstallate possono far parte della piattaforma Android open source oppure possono essere sviluppate da un produttore di dispositivi per un dispositivo specifico.
  • App installate dall'utente: Android fornisce un ambiente di sviluppo aperto che supporta qualsiasi app di terze parti. Google Play offre agli utenti centinaia di migliaia di app.

Servizi di sicurezza di Google

Google fornisce una serie di servizi basati su cloud disponibili per i dispositivi Android compatibili con i servizi mobili Google . Sebbene questi servizi non facciano parte dell'Android Open Source Project (AOSP), sono inclusi in molti dispositivi Android. Per ulteriori informazioni su alcuni di questi servizi, vedere il 2018 Year in Review di Android Security.

I principali servizi di sicurezza di Google sono:

  • Google Play: Google Play è una raccolta di servizi che consente agli utenti di scoprire, installare e acquistare app dal proprio dispositivo Android o dal Web. Google Play consente agli sviluppatori di raggiungere facilmente gli utenti Android e i potenziali clienti. Google Play fornisce inoltre la revisione della community, la verifica della licenza dell'app, la scansione della sicurezza delle app e altri servizi di sicurezza.
  • Aggiornamenti Android: il servizio di aggiornamento Android offre nuove funzionalità e aggiornamenti di sicurezza a dispositivi Android selezionati, inclusi aggiornamenti tramite Web o via etere (OTA).
  • Servizi app: framework che consentono alle app Android di utilizzare funzionalità cloud come ( backup ) dati e impostazioni delle app e messaggistica cloud-to-device ( C2DM ) per la messaggistica push.
  • Verifica app: avvisa o blocca automaticamente l'installazione di app dannose ed esegue la scansione continua delle app sul dispositivo, avvisando o rimuovendo app dannose .
  • SafetyNet: un sistema di rilevamento delle intrusioni che preserva la privacy per assistere Google nel monitoraggio, mitigare le minacce alla sicurezza note e identificare nuove minacce alla sicurezza.
  • Attestato SafetyNet: API di terze parti per determinare se il dispositivo è compatibile con CTS. L'attestazione può anche identificare l'app Android che comunica con il server dell'app.
  • Gestione dispositivi Android: un'app Web e un'app Android per individuare il dispositivo smarrito o rubato.

Panoramica del programma di sicurezza

I componenti chiave del programma di sicurezza Android includono:

  • Revisione del progetto: il processo di sicurezza di Android inizia nelle prime fasi del ciclo di vita dello sviluppo con la creazione di un modello e di un design di sicurezza ricchi e configurabili. Ogni caratteristica principale della piattaforma viene esaminata da risorse ingegneristiche e di sicurezza, con adeguati controlli di sicurezza integrati nell'architettura del sistema.
  • Test di penetrazione e revisione del codice: durante lo sviluppo della piattaforma, i componenti open source e creati da Android sono soggetti a rigorosi controlli di sicurezza. Queste revisioni vengono eseguite dal team di sicurezza di Android, dal team di ingegneria della sicurezza delle informazioni di Google e da consulenti di sicurezza indipendenti. L'obiettivo di queste revisioni è identificare i punti deboli e le possibili vulnerabilità ben prima dei rilasci principali e simulare i tipi di analisi eseguiti da esperti di sicurezza esterni al momento del rilascio.
  • Open source e revisione della community: AOSP consente un'ampia revisione della sicurezza da parte di qualsiasi parte interessata. Android utilizza anche tecnologie open source che sono state sottoposte a significative revisioni della sicurezza esterna, come il kernel Linux. Google Play fornisce un forum in cui utenti e aziende possono fornire informazioni su app specifiche direttamente agli utenti.
  • Risposta agli incidenti: anche con queste precauzioni, dopo la spedizione potrebbero verificarsi problemi di sicurezza, motivo per cui il progetto Android ha creato un processo completo di risposta alla sicurezza. I membri a tempo pieno del team di sicurezza Android monitorano la community di sicurezza specifica di Android e quella generale per discutere di potenziali vulnerabilità ed esaminare i bug di sicurezza archiviati nel database dei bug di Android. Una volta scoperti problemi legittimi, il team Android dispone di un processo di risposta che consente la rapida mitigazione delle vulnerabilità per garantire che il rischio potenziale per tutti gli utenti Android sia ridotto al minimo. Queste risposte supportate dal cloud possono includere l'aggiornamento della piattaforma Android (aggiornamenti AOSP), la rimozione di app da Google Play e la rimozione di app dai dispositivi sul campo.
  • Aggiornamenti mensili sulla sicurezza: il team di sicurezza Android fornisce aggiornamenti mensili ai dispositivi Google Android e a tutti i nostri partner produttori di dispositivi.

Architettura di sicurezza della piattaforma

Android mira a diventare il sistema operativo più sicuro e utilizzabile per le piattaforme mobili riproponendo i tradizionali controlli di sicurezza del sistema operativo per:

  • Proteggi i dati dell'app e dell'utente
  • Proteggi le risorse di sistema (inclusa la rete)
  • Fornire l'isolamento delle app dal sistema, da altre app e dall'utente

Per raggiungere questi obiettivi, Android fornisce queste funzionalità di sicurezza chiave:

  • Sicurezza solida a livello del sistema operativo tramite il kernel Linux
  • Sandbox dell'app obbligatorio per tutte le app
  • Comunicazione interprocesso sicura
  • Firma dell'app
  • Autorizzazioni definite dall'app e concesse dall'utente
,

Android incorpora funzionalità di sicurezza leader del settore e collabora con sviluppatori e implementatori di dispositivi per mantenere la piattaforma e l'ecosistema Android sicuri. Un solido modello di sicurezza è essenziale per consentire un vigoroso ecosistema di app e dispositivi basati su e attorno alla piattaforma Android e supportati da servizi cloud. Di conseguenza, durante l'intero ciclo di sviluppo, Android è stato soggetto a un rigoroso programma di sicurezza.

Android è progettato per essere aperto. Le app Android utilizzano hardware e software avanzati, nonché dati locali e serviti, esposti attraverso la piattaforma per portare innovazione e valore ai consumatori. Per realizzare questo valore, la piattaforma offre un ambiente app che protegge la riservatezza, l'integrità e la disponibilità di utenti, dati, app, dispositivo e rete.

Garantire una piattaforma aperta richiede una solida architettura di sicurezza e programmi di sicurezza rigorosi. Android è stato progettato con una sicurezza multilivello sufficientemente flessibile da supportare una piattaforma aperta proteggendo allo stesso tempo tutti gli utenti della piattaforma. Per informazioni sulla segnalazione di problemi di sicurezza e sul processo di aggiornamento, vedere Risorse e aggiornamenti di sicurezza .

Android è progettato per gli sviluppatori. I controlli di sicurezza sono stati progettati per ridurre il carico sugli sviluppatori. Gli sviluppatori attenti alla sicurezza possono facilmente lavorare e fare affidamento su controlli di sicurezza flessibili. Gli sviluppatori che hanno meno familiarità con la sicurezza sono protetti da impostazioni predefinite sicure.

Oltre a fornire una piattaforma stabile su cui basarsi, Android offre ulteriore supporto agli sviluppatori in diversi modi. Il team di sicurezza Android cerca potenziali vulnerabilità nelle app e suggerisce modi per risolvere tali problemi. Per i dispositivi con Google Play, Play Services fornisce aggiornamenti di sicurezza per librerie software critiche, come OpenSSL, che viene utilizzato per proteggere le comunicazioni delle app. La sicurezza Android ha rilasciato uno strumento per testare SSL ( nogotofail ) che aiuta gli sviluppatori a individuare potenziali problemi di sicurezza su qualunque piattaforma stiano sviluppando.

Android sfrutta anche il supporto hardware sottostante per la sicurezza. Ad esempio, la tecnologia ARM TrustZone viene utilizzata per fornire archiviazione sicura per chiavi crittografiche e attestazioni di integrità di avvio. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) viene utilizzato per misurare il firmware caricato prima dell'avvio di Android. Ciò consente la verifica remota che il firmware non sia affetto da vulnerabilità note e critiche che potrebbero essere sfruttate per danneggiare sia gli sviluppatori che gli utenti.

Ulteriori informazioni per gli sviluppatori di app Android sono disponibili su Developer.android.com .

Android è progettato per gli utenti. Agli utenti viene fornita visibilità sulle autorizzazioni richieste da ciascuna app e controllo su tali autorizzazioni. Questa progettazione prevede l'aspettativa che gli aggressori tentino di eseguire attacchi comuni, come attacchi di ingegneria sociale per convincere gli utenti dei dispositivi a installare malware e attacchi ad app di terze parti su Android. Android è stato progettato sia per ridurre la probabilità di questi attacchi sia per limitare notevolmente l'impatto dell'attacco nel caso in cui avesse successo. La sicurezza Android continua a progredire dopo che il dispositivo è nelle mani dell'utente. Android collabora con i partner e con il pubblico per fornire patch per qualsiasi dispositivo Android che continua a ricevere aggiornamenti di sicurezza.

Puoi trovare ulteriori informazioni per gli utenti finali nel Centro assistenza Nexus , nel Centro assistenza Pixel o nel Centro assistenza del produttore del dispositivo.

Questa pagina delinea gli obiettivi del programma di sicurezza Android, descrive i fondamenti dell'architettura di sicurezza Android e risponde alle domande più pertinenti per architetti di sistema e analisti della sicurezza. Si concentra sulle funzionalità di sicurezza della piattaforma principale di Android e non tratta i problemi di sicurezza esclusivi di app specifiche, come quelli relativi al browser o all'app SMS.

Sfondo

Android fornisce una piattaforma open source e un ambiente app per dispositivi mobili.

Le sezioni e le pagine seguenti descrivono le funzionalità di sicurezza della piattaforma Android. La Figura 1 illustra i componenti di sicurezza e le considerazioni sui vari livelli dello stack software Android. Ciascun componente presuppone che i componenti seguenti siano adeguatamente fissati. Ad eccezione di una piccola quantità di codice del sistema operativo Android eseguito come root, tutto il codice sopra il kernel Linux è limitato dall'Application Sandbox.

Figura 1: stack software Android

Figura 1. Stack software Android

I principali elementi costitutivi della piattaforma Android sono:

  • Hardware del dispositivo: Android funziona su un'ampia gamma di configurazioni hardware tra cui telefoni cellulari, tablet, orologi, automobili, smart TV, scatole da gioco OTT e set-top box. Android è indipendente dal processore, ma sfrutta alcune funzionalità di sicurezza specifiche dell'hardware come ARM eXecute-Never.
  • Sistema operativo Android: il sistema operativo principale è basato sul kernel Linux. Tutte le risorse del dispositivo, come le funzioni della fotocamera, i dati GPS, le funzioni Bluetooth, le funzioni di telefonia e le connessioni di rete sono accessibili tramite il sistema operativo.
  • Runtime delle applicazioni Android: le app Android sono spesso scritte nel linguaggio di programmazione Java e vengono eseguite nel runtime Android (ART). Tuttavia, molte app, inclusi i servizi e le app Android principali, sono app native o includono librerie native. Sia le app ART che quelle native vengono eseguite nello stesso ambiente di sicurezza, contenuto nell'Application Sandbox. Le app ottengono una parte dedicata del file system in cui possono scrivere dati privati, inclusi database e file non elaborati.

Le app Android estendono il sistema operativo Android principale. Esistono due fonti principali per le app:

  • App preinstallate: Android include una serie di app preinstallate tra cui telefono, e-mail, calendario, browser Web e contatti. Funzionano come app utente e forniscono funzionalità chiave del dispositivo a cui possono accedere altre app. Le app preinstallate possono far parte della piattaforma Android open source oppure possono essere sviluppate da un produttore di dispositivi per un dispositivo specifico.
  • App installate dall'utente: Android fornisce un ambiente di sviluppo aperto che supporta qualsiasi app di terze parti. Google Play offre agli utenti centinaia di migliaia di app.

Servizi di sicurezza di Google

Google fornisce una serie di servizi basati su cloud disponibili per i dispositivi Android compatibili con i servizi mobili Google . Sebbene questi servizi non facciano parte dell'Android Open Source Project (AOSP), sono inclusi in molti dispositivi Android. Per ulteriori informazioni su alcuni di questi servizi, vedere il 2018 Year in Review di Android Security.

I principali servizi di sicurezza di Google sono:

  • Google Play: Google Play è una raccolta di servizi che consente agli utenti di scoprire, installare e acquistare app dal proprio dispositivo Android o dal Web. Google Play consente agli sviluppatori di raggiungere facilmente gli utenti Android e i potenziali clienti. Google Play fornisce inoltre la revisione della community, la verifica della licenza dell'app, la scansione della sicurezza delle app e altri servizi di sicurezza.
  • Aggiornamenti Android: il servizio di aggiornamento Android offre nuove funzionalità e aggiornamenti di sicurezza a dispositivi Android selezionati, inclusi aggiornamenti tramite Web o via etere (OTA).
  • Servizi app: framework che consentono alle app Android di utilizzare funzionalità cloud come ( backup ) dati e impostazioni delle app e messaggistica cloud-to-device ( C2DM ) per la messaggistica push.
  • Verifica app: avvisa o blocca automaticamente l'installazione di app dannose ed esegue la scansione continua delle app sul dispositivo, avvisando o rimuovendo app dannose .
  • SafetyNet: un sistema di rilevamento delle intrusioni che preserva la privacy per assistere Google nel monitoraggio, mitigare le minacce alla sicurezza note e identificare nuove minacce alla sicurezza.
  • Attestato SafetyNet: API di terze parti per determinare se il dispositivo è compatibile con CTS. L'attestazione può anche identificare l'app Android che comunica con il server dell'app.
  • Gestione dispositivi Android: un'app Web e un'app Android per individuare il dispositivo smarrito o rubato.

Panoramica del programma di sicurezza

I componenti chiave del programma di sicurezza Android includono:

  • Revisione del progetto: il processo di sicurezza di Android inizia nelle prime fasi del ciclo di vita dello sviluppo con la creazione di un modello e di un design di sicurezza ricchi e configurabili. Ogni caratteristica principale della piattaforma viene esaminata da risorse ingegneristiche e di sicurezza, con adeguati controlli di sicurezza integrati nell'architettura del sistema.
  • Test di penetrazione e revisione del codice: durante lo sviluppo della piattaforma, i componenti open source e creati da Android sono soggetti a rigorosi controlli di sicurezza. Queste revisioni vengono eseguite dal team di sicurezza di Android, dal team di ingegneria della sicurezza delle informazioni di Google e da consulenti di sicurezza indipendenti. L'obiettivo di queste revisioni è identificare i punti deboli e le possibili vulnerabilità ben prima dei rilasci principali e simulare i tipi di analisi eseguiti da esperti di sicurezza esterni al momento del rilascio.
  • Open source e revisione della community: AOSP consente un'ampia revisione della sicurezza da parte di qualsiasi parte interessata. Android utilizza anche tecnologie open source che sono state sottoposte a significative revisioni della sicurezza esterna, come il kernel Linux. Google Play fornisce un forum in cui utenti e aziende possono fornire informazioni su app specifiche direttamente agli utenti.
  • Risposta agli incidenti: anche con queste precauzioni, dopo la spedizione potrebbero verificarsi problemi di sicurezza, motivo per cui il progetto Android ha creato un processo completo di risposta alla sicurezza. I membri a tempo pieno del team di sicurezza Android monitorano la community di sicurezza specifica di Android e quella generale per discutere di potenziali vulnerabilità ed esaminare i bug di sicurezza archiviati nel database dei bug di Android. Una volta scoperti problemi legittimi, il team Android dispone di un processo di risposta che consente la rapida mitigazione delle vulnerabilità per garantire che il rischio potenziale per tutti gli utenti Android sia ridotto al minimo. Queste risposte supportate dal cloud possono includere l'aggiornamento della piattaforma Android (aggiornamenti AOSP), la rimozione di app da Google Play e la rimozione di app dai dispositivi sul campo.
  • Aggiornamenti mensili sulla sicurezza: il team di sicurezza Android fornisce aggiornamenti mensili ai dispositivi Google Android e a tutti i nostri partner produttori di dispositivi.

Architettura di sicurezza della piattaforma

Android mira a diventare il sistema operativo più sicuro e utilizzabile per le piattaforme mobili riproponendo i tradizionali controlli di sicurezza del sistema operativo per:

  • Proteggi i dati dell'app e dell'utente
  • Proteggi le risorse di sistema (inclusa la rete)
  • Fornire l'isolamento delle app dal sistema, da altre app e dall'utente

Per raggiungere questi obiettivi, Android fornisce queste funzionalità di sicurezza chiave:

  • Sicurezza solida a livello del sistema operativo tramite il kernel Linux
  • Sandbox dell'app obbligatorio per tutte le app
  • Comunicazione interprocesso sicura
  • Firma dell'app
  • Autorizzazioni definite dall'app e concesse dall'utente