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 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 tale valore, la piattaforma offre un ambiente di app che protegge la riservatezza, l'integrità e la disponibilità di utenti, dati, app, dispositivo e rete.

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

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 basarsi, Android offre ulteriore supporto 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 Android rilasciato uno strumento per testare SSL ( nogotofail ) che aiuta gli sviluppatori a trovare potenziali problemi di sicurezza su qualsiasi piattaforma che stanno sviluppando.

Maggiori informazioni per gli sviluppatori di applicazioni Android sono disponibili sul 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 tenti di eseguire attacchi comuni, come attacchi di ingegneria sociale per convincere gli utenti del dispositivo a installare malware e attacchi su app di terze parti su Android. Android è stato progettato per ridurre la probabilità di questi attacchi e limitare notevolmente l'impatto dell'attacco in caso di successo. La sicurezza di Android continua a progredire dopo che il dispositivo è nelle mani dell'utente. Opere Android con i partner e il pubblico per fornire patch per qualsiasi dispositivo Android che sta continuando a ricevere gli aggiornamenti di sicurezza.

Maggiori informazioni per gli utenti finali si trovano nel centro di assistenza per i Nexus , centro assistenza Pixel , o il 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 discute i 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 di 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 sottostanti siano adeguatamente fissati. Ad eccezione di una piccola quantità di codice del sistema operativo Android in esecuzione come root, tutto il codice sopra il kernel Linux è limitato dall'Application Sandbox.

Figura 1: stack del software Android

Stack software Figura 1. Android

I principali elementi costitutivi della piattaforma Android sono:

  • Hardware del dispositivo: corre Android su una vasta gamma di configurazioni hardware compresi i telefoni cellulari, tablet, orologi, automobili, televisori intelligenti, 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 di base è costruito sulla base del 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.
  • Android Application Runtime: le applicazioni Android sono più spesso scritto nel linguaggio di programmazione Java e correre 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:

  • Applicazioni preinstallate: Android include una serie di applicazioni preinstallate, tra cui telefono, email, 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 o possono essere sviluppate da un produttore di dispositivi per un dispositivo specifico.
  • Applicazioni installate dall'utente: Android fornisce un ambiente di sviluppo aperto che supporta qualsiasi applicazione di terze parti. Google Play offre agli utenti centinaia di migliaia di app.

Servizi di sicurezza di Google

Google fornisce un insieme di servizi cloud-based che sono disponibili per i dispositivi Android compatibili con Google Mobile Services . Sebbene questi servizi non facciano parte dell'Android Open Source Project (AOSP), sono inclusi su molti dispositivi Android. Per ulteriori informazioni su alcuni di questi servizi, vedere di Android Security 2018 Year in Review .

I principali servizi di sicurezza di Google sono:

  • Google Play: Google Play è un insieme di servizi che permettono agli utenti di scoprire, installare e applicazioni di acquisto dal proprio dispositivo Android o sul web. Google Play consente agli sviluppatori di raggiungere facilmente utenti Android e potenziali clienti. Google Play offre anche recensione comunità, app verifica della licenza , scansione di sicurezza app, e di altri servizi di sicurezza.
  • Aggiornamenti Android: Il servizio di aggiornamento di Android offre nuove funzionalità e aggiornamenti di sicurezza per i dispositivi Android selezionati, tra cui gli aggiornamenti attraverso il web o via etere (OTA).
  • Servizi App: Strutture che permettono applicazioni Android per funzionalità di utilizzare il cloud come ad esempio ( backup ) dei dati delle applicazioni e le impostazioni e cloud-to-dispositivo di messaggistica ( C2DM ) per la messaggistica Push.
  • Verifica Apps: Warn o bloccare automaticamente l'installazione di applicazioni dannose, e le applicazioni di scansione continuamente sul dispositivo, che avvertono circa o rimozione di applicazioni dannose .
  • SafetyNet: un sistema di rilevamento delle intrusioni privacy conservando per assistere monitoraggio di Google, a mitigare le minacce alla sicurezza note e identificare nuove minacce alla sicurezza.
  • SafetyNet Attestazione: terze parti API per determinare se il dispositivo è compatibile con CTS. Attestazione può anche identificare l'applicazione Android comunicazione con il server app.
  • Gestione dispositivi Android: una web app e Android per individuare persi o dispositivo rubato.

Panoramica del programma di sicurezza

I componenti chiave dell'Android Security Program includono:

  • Revisione del progetto: Il processo di sicurezza di Android inizia nelle prime fasi del ciclo di sviluppo con la creazione di un modello di sicurezza ricca e configurabile e design. Ogni caratteristica principale della piattaforma è rivista da risorse ingegneristiche e di sicurezza, con opportuni controlli di sicurezza integrati nell'architettura del sistema.
  • Penetration Testing e il codice di revisione: Durante lo sviluppo della piattaforma, Android-creato e componenti open source sono soggetti a revisioni vigorosi di sicurezza. Queste revisioni vengono eseguite dall'Android Security Team, dal team di Information Security Engineering di Google e da consulenti di sicurezza indipendenti. L'obiettivo di queste revisioni è identificare i punti deboli e le possibili vulnerabilità molto prima dei rilasci principali e simulare i tipi di analisi che vengono eseguiti da esperti di sicurezza esterni al momento del rilascio.
  • Open source e la revisione della comunità: AOSP consente un'ampia rassegna di sicurezza da qualsiasi parte interessata. Android utilizza anche tecnologie open source che sono state sottoposte a una significativa 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, problemi di sicurezza possono verificarsi dopo la spedizione, che è il motivo per cui il progetto Android ha creato un processo di risposta di sicurezza completa. A tempo pieno i membri del team di sicurezza di Android monitorare l'Android-specifica e la comunità di sicurezza generale per la discussione di potenziali vulnerabilità e la revisione bug di sicurezza depositati sul database dei bug di Android. Alla scoperta di problemi legittimi, il team di 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 di sicurezza mensili: Il team di sicurezza di Android fornisce aggiornamenti mensili per i dispositivi Google Android e tutti i partner del nostro dispositivo di produzione.

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)
  • Fornire l'isolamento delle app dal sistema, da altre app e dall'utente

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

  • Robusta sicurezza a livello di sistema operativo tramite il kernel Linux
  • Sandbox dell'app obbligatoria per tutte le app
  • Comunicazione interprocesso sicura
  • Firma dell'app
  • Autorizzazioni definite dall'app e concesse dall'utente