Cette section contient des recommandations pour garantir la sécurité des communications réseau à partir des appareils Android.
Sécuriser les prises d'écoute
Utilisez les prises d’écoute avec prudence. Il ne doit généralement pas y avoir de socket d'écoute ouverte sur les appareils, car ceux-ci fournissent un vecteur permettant à un attaquant distant d'accéder à l'appareil.
- Les appareils Android doivent minimiser le nombre de sockets d’écoute Internet qu’ils exposent, notamment au démarrage ou par défaut. Aucune socket ne devrait être en écoute sur Internet au démarrage par défaut.
- Les processus racine et les processus appartenant à l'identifiant unique du système (UID) ne doivent exposer aucun socket d'écoute.
- Les sockets d’écoute doivent pouvoir être désactivées sans mise à jour OTA. Cela peut être effectué en modifiant la configuration du serveur ou de l'appareil utilisateur.
- Pour les sockets locaux utilisant IPC, les applications doivent utiliser un socket de domaine UNIX avec un accès limité à un groupe. Créez un descripteur de fichier pour l'IPC et définissez-le +RW pour un groupe UNIX spécifique. Toutes les applications clientes doivent appartenir à ce groupe UNIX.
- Certains appareils dotés de plusieurs processeurs (par exemple, une radio/un modem séparé du processeur de l'application) utilisent des sockets réseau pour communiquer entre les processeurs. Dans de tels cas, le socket réseau utilisé pour la communication entre processeurs doit utiliser une interface réseau isolée pour empêcher l'accès des applications non autorisées sur l'appareil (c'est-à-dire utiliser iptables pour empêcher l'accès d'autres applications sur l'appareil).
- Les démons qui gèrent les ports d'écoute doivent être robustes contre les données mal formées. Vous devez effectuer des tests fuzz sur le port en utilisant un client non autorisé et, si possible, un client autorisé. Fichier de bugs pour suivre les crashs.
La suite de tests de compatibilité Android (CTS) comprend des tests qui vérifient la présence de ports d'écoute ouverts.
Désactiver la BAD
Android Debug Bridge (ADB) est un outil de développement et de débogage précieux, mais il est conçu pour être utilisé dans un environnement contrôlé et sécurisé et ne doit pas être activé pour un usage général.
- Assurez-vous qu'ADB est désactivé par défaut.
- Assurez-vous qu'ADB demande à l'utilisateur de l'activer avant d'accepter les connexions.