Best practice per la sicurezza della rete

Questa sezione contiene consigli per garantire la sicurezza delle comunicazioni di rete provenienti dai dispositivi Android.

Socket di ascolto sicuri

Utilizza le socket di ascolto con cautela. In genere, su un dispositivo non devono essere aperte socket di ascolto, in quanto rappresentano un vettore per consentire a un malintenzionato remoto di accedere al dispositivo.

  • I dispositivi Android devono ridurre al minimo il numero di socket di ascolto internet esposti, soprattutto all'avvio o per impostazione predefinita. Per impostazione predefinita, nessun socket deve essere in ascolto su internet all'avvio.
    • I processi di root e i processi di proprietà dell'identificatore unico (UID) del sistema non devono esporre socket in ascolto.
  • Le socket di ascolto devono essere disattivabili senza un aggiornamento OTA. Questa operazione può essere eseguita utilizzando una modifica della configurazione del server o del dispositivo dell'utente.
  • Per le socket che utilizzano l'IPC locale, le app devono utilizzare una socket di dominio UNIX con accesso limitato a un gruppo. Crea un descrittore di file per l'IPC e impostalo su +RW per un gruppo UNIX specifico. Tutte le app client devono trovarsi all'interno di questo gruppo UNIX.
  • Alcuni dispositivi con più processori (ad esempio un radio/modem distinto dal processore dell'app) utilizzano socket di rete per comunicare tra i processori. In questi casi, la porta di rete utilizzata per la comunicazione tra i processori deve utilizzare un'interfaccia di rete isolata per impedire l'accesso da parte di app non autorizzate sul dispositivo (ad es. utilizzare iptables per impedire l'accesso da parte di altre app sul dispositivo).
  • I demoni che gestiscono le porte di ascolto devono essere resistenti ai dati con formato non corretto. Devi eseguire test di fuzz sulla porta utilizzando un client non autorizzato e, se possibile, un client autorizzato. Segnala i bug per monitorare gli arresti anomali.

La suite di test di compatibilità Android (CTS) include test che verificano la presenza di porte di ascolto aperte.

Disattivare ADB

Android Debug Bridge (adb) è uno strumento prezioso per lo sviluppo e il debug, ma è progettato per essere utilizzato in un ambiente controllato e sicuro e non deve essere attivato per l'uso generale.

  • Assicurati che adb sia disattivato per impostazione predefinita.
  • Assicurati che adb richieda all'utente di attivarlo prima di accettare le connessioni.