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 al sicuro. Un solido modello di sicurezza è essenziale per abilitare un vigoroso ecosistema di app e dispositivi basati su e attorno alla piattaforma Android e supportati dai servizi cloud. Di conseguenza, durante il suo intero ciclo di vita 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 apportare innovazione e valore ai consumatori. Per realizzare tale valore, la piattaforma offre un ambiente app che protegge la riservatezza, l'integrità e la disponibilità di utenti, dati, app, dispositivo e rete.

La protezione di una piattaforma aperta richiede una solida architettura di sicurezza e programmi di sicurezza rigorosi. Android è stato progettato con una sicurezza multistrato sufficientemente flessibile da supportare una piattaforma aperta proteggendo al contempo tutti gli utenti della piattaforma. Per informazioni sulla segnalazione di problemi di sicurezza e sul processo di aggiornamento, vedere Aggiornamenti e risorse di sicurezza .

Android è progettato per gli sviluppatori. I controlli di sicurezza sono stati progettati per ridurre l'onere per gli sviluppatori. Gli sviluppatori esperti di 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 costruire, Android offre supporto aggiuntivo agli sviluppatori in diversi modi. Il team di sicurezza di 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 di Android ha rilasciato uno strumento per testare SSL ( nogotofail ) che aiuta gli sviluppatori a trovare potenziali problemi di sicurezza su qualunque piattaforma stiano sviluppando.

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 il controllo su tali autorizzazioni. Questo design include l'aspettativa che gli aggressori tentino di eseguire attacchi comuni, come attacchi di ingegneria sociale per convincere gli utenti del dispositivo 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 abbia avuto successo. La sicurezza di Android continua a progredire dopo che il dispositivo è nelle mani dell'utente. Android collabora con i partner e il pubblico per fornire patch per qualsiasi dispositivo Android che continua a ricevere aggiornamenti di sicurezza.

Ulteriori informazioni per gli utenti finali sono disponibili nel Centro assistenza Nexus , nel Centro assistenza Pixel o nel Centro assistenza del produttore del tuo 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 discute problemi di sicurezza esclusivi di app specifiche, come quelle relative 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 dei vari livelli dello stack software Android. Ciascun componente presuppone che i componenti seguenti siano adeguatamente protetti. Con l'eccezione di una piccola quantità di codice del sistema operativo Android in esecuzione come root, tutto il codice al di sopra del kernel Linux è limitato dall'Application Sandbox.

Figura 1: stack di software Android

Figura 1. Stack di software Android

I principali elementi costitutivi della piattaforma Android sono:

  • Hardware del dispositivo: Android funziona su un'ampia gamma di configurazioni hardware, inclusi 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 ed eseguite nel runtime Android (ART). Tuttavia, molte app, inclusi i servizi e le app Android di base, sono app native o includono librerie native. Sia ART che le app native vengono eseguite all'interno dello stesso ambiente di sicurezza, contenuto all'interno dell'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 di base. Esistono due fonti principali per le app:

  • App preinstallate: Android include un set 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 è possibile accedere da 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 Google Mobile Services . 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, consulta la revisione dell'anno 2018 di Android Security .

I principali servizi di sicurezza di Google sono:

  • Google Play: Google Play è una raccolta di servizi che consentono agli utenti di scoprire, installare e acquistare app dal proprio dispositivo Android o dal Web. Google Play consente agli sviluppatori di raggiungere facilmente utenti Android e potenziali clienti. Google Play fornisce anche la revisione della community, la verifica della licenza dell'app, la scansione della sicurezza dell'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 gli aggiornamenti tramite il Web o via etere (OTA).
  • Servizi app: Framework che consentono alle app Android di utilizzare funzionalità cloud come ( backup ) dei dati e delle impostazioni delle app e messaggistica da cloud a dispositivo ( C2DM ) per la messaggistica push.
  • Verifica app: avvisa o blocca automaticamente l'installazione di app dannose e scansiona continuamente le app sul dispositivo, avvertendo o rimuovendo app dannose .
  • SafetyNet: un sistema di rilevamento delle intrusioni che preserva la privacy per assistere il monitoraggio di Google, 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 design: il processo di sicurezza di Android inizia all'inizio 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 rivista da risorse di ingegneria e 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 rigorose revisioni della sicurezza. Queste revisioni vengono eseguite dall'Android Security Team, dal team Information Security Engineering 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 che vengono eseguiti da esperti di sicurezza esterni al momento del rilascio.
  • Revisione open source e 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 un'importante revisione della sicurezza esterna, come il kernel Linux. Google Play fornisce un forum per utenti e aziende per fornire informazioni su app specifiche direttamente agli utenti.
  • Risposta agli incidenti: anche con queste precauzioni, possono verificarsi problemi di sicurezza dopo la spedizione, motivo per cui il progetto Android ha creato un processo di risposta di sicurezza completo. I membri del team di sicurezza Android a tempo pieno monitorano la comunità di sicurezza specifica e generale di Android per discutere di potenziali vulnerabilità e rivedere i bug di sicurezza archiviati nel database dei bug di Android. Alla scoperta di 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 di sicurezza: il team di sicurezza Android fornisce aggiornamenti mensili ai dispositivi Google Android e a tutti i nostri partner di produzione di dispositivi.

Architettura di sicurezza della piattaforma

Android cerca di essere il sistema operativo più sicuro e utilizzabile per piattaforme mobili riproponendo i tradizionali controlli di sicurezza del sistema operativo per:

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

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

  • Sicurezza robusta a livello di sistema operativo tramite il kernel Linux
  • Sandbox delle app obbligatoria per tutte le app
  • Comunicazione sicura tra processi
  • Firma dell'app
  • Autorizzazioni definite dall'app e concesse dall'utente