Sicurezza mobile: sistema operativo Android

Come molti di noi sanno, il software è sviluppato da Google per dispositivi mobili con capacità di elaborazione per smartphone e tablet. Il suo kernel è basato su Linux. Le sue applicazioni installate vengono eseguite in una sandbox. Tuttavia, molti produttori hanno rilasciato i suoi antivirus per tali sistemi operativi, come Kasperky, MCAfee e AVG Technologies. Anche se l'applicazione antivirus viene eseguita in sandbox, ha un limite per la scansione dell'ambiente.

Alcune funzionalità del sistema operativo Android sono le seguenti:

  • Macchina virtuale Dalvik ottimizzata per dispositivi mobili
  • Database SQLite per dati strutturati
  • Browser integrato basato sul motore WebKit
  • Supporto di diversi formati multimediali come audio, immagini, video
  • Ambiente di sviluppo ricco come emulatori (Bluestack), strumenti di debug

Architettura del sistema operativo Android

L'immagine seguente mostra l'architettura complessiva del sistema operativo Android:

  • The first layer is Application, include applicazioni come SMS, calendari e altre applicazioni di terze parti.

  • The second layer is Application Framework, che include -

    • Sistema di visualizzazione, che consente agli sviluppatori di creare scatole, linee, griglie, ecc.

    • I fornitori di contenuti consentono alle applicazioni di accedere e utilizzare dati da applicazioni di terze parti.

    • Activity Manager controlla il ciclo di vita di un'applicazione.

    • Il gestore delle risorse alloca le risorse a un'applicazione.

    • Il gestore delle notifiche aiuta a mostrare le notifiche delle applicazioni.

  • The third layer is libraries,che è la parte più importante. Utilizza la funzione dell'applicazione, ad esempio, per memorizzare la data in un database. È SQLite che utilizza questa funzione.

  • The fourth layer is the Linux Kernel. Contiene tutti i driver dei componenti hardware, come fotocamera, wireless, archiviazione, ecc.

API di amministrazione del dispositivo Android

L'API di amministrazione del dispositivo introdotta in Android 2.2 fornisce funzionalità di amministrazione del dispositivo a livello di sistema. Queste API consentono agli sviluppatori di creare applicazioni sensibili alla sicurezza utili in contesti aziendali, in cui i professionisti IT richiedono un controllo completo sui dispositivi dei dipendenti.

Le applicazioni di amministrazione del dispositivo vengono scritte utilizzando l'API di amministrazione del dispositivo. Queste applicazioni di amministrazione del dispositivo applicano i criteri desiderati quando l'utente installa queste applicazioni sul proprio dispositivo. Le applicazioni integrate possono sfruttare le nuove API per migliorare il supporto di scambio.

Di seguito sono riportati alcuni esempi dei tipi di applicazioni che potrebbero utilizzare l'API di amministrazione del dispositivo:

  • Client di posta elettronica
  • Applicazioni di sicurezza che eseguono la cancellazione remota
  • Servizi e applicazioni di gestione dei dispositivi

Gli esempi utilizzati in questo tutorial si basano sull'esempio dell'API di amministrazione del dispositivo, incluso negli esempi dell'SDK (disponibile tramite Android SDK Manager) e che si trova nel sistema come

<sdk_root>/ApiDemos/app/src/main/java/com/example/android/apis/app/ DeviceAdminSample.java.

Applicazione di esempio

Questa applicazione di esempio offre una demo delle funzionalità di amministrazione del dispositivo. Presenta agli utenti un'interfaccia utente che consente loro di abilitare l'applicazione di amministrazione del dispositivo.

Una volta che gli utenti hanno abilitato l'applicazione, possono utilizzare i pulsanti nell'interfaccia utente per eseguire le seguenti operazioni:

  • Imposta la qualità della password.

  • Specificare i requisiti per la password dell'utente, come la lunghezza minima, il numero minimo di caratteri numerici che deve contenere e così via.

  • Imposta la password. Se la password non è conforme ai criteri specificati, il sistema restituisce un errore.

  • Imposta il numero di tentativi di password non riusciti che possono verificarsi prima che il dispositivo venga cancellato (ovvero, ripristinato alle impostazioni di fabbrica).

  • Imposta per quanto tempo scadrà la password.

  • Impostare la lunghezza della cronologia delle password (la lunghezza si riferisce al numero di vecchie password memorizzate nella cronologia). Ciò impedisce agli utenti di riutilizzare una delle ultime password utilizzate in precedenza.

  • Specificare che l'area di archiviazione deve essere crittografata, se il dispositivo la supporta.

  • Imposta la quantità massima di tempo di inattività che può trascorrere prima che il dispositivo si blocchi.

  • Blocca immediatamente il dispositivo.

  • Cancella i dati del dispositivo (ovvero ripristina le impostazioni di fabbrica).

  • Disabilita la fotocamera.