Désactiver la 2G

La menace la plus grave pour la sécurité et la confidentialité d'un utilisateur lors de l'utilisation d'un réseau mobile concerne les connexions 2G. Alors que les réseaux cellulaires 2G légitimes sont progressivement supprimés à travers le monde, les appareils restent sensibles aux attaques de fausses stations de base (FBS). Un adversaire doté d'un FBS peut tromper un appareil pour qu'il s'y connecte au lieu d'un réseau cellulaire légitime. Cela se fait le plus souvent en rétrogradant la connexion d'un appareil en 2G, et cela permet à l'opérateur du FBS d'intercepter ou d'injecter du trafic vers un appareil.

Android permet aux utilisateurs de désactiver la 2G au niveau matériel radio sur tout appareil qui implémente la constante de capacité "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK". Cela empêche un appareil de scanner ou de se connecter aux réseaux 2G.

À partir d'Android 14, vous devez disposer de MODIFY_PRIVILEGED_PHONE_STATE pour désactiver la 2G avec le motif ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Les privilèges du transporteur ne suffisent pas.

TelephonyManager tm = getSystemService(TelephonyManager.class);

if (tm != null && tm.isRadioInterfaceCapabilitySupported("CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK")) {
    long disable2gBitMask = 0xFFFF &~ TelephonyManager.NETWORK_CLASS_BITMASK_2G;
    tm.setAllowedNetworkTypesForReason(TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G, disable2gBitMask);
}

FAQ

Les utilisateurs sont-ils toujours vulnérables si leurs opérateurs ne prennent plus en charge la 2G ?

La désactivation de la 2G est une mesure de sécurité importante même si l'opérateur de l'utilisateur ne maintient plus l'infrastructure 2G. L'appareil de l'utilisateur prend toujours en charge la numérisation et la connexion aux stations de base 2G, il est donc toujours vulnérable à une attaque de rétrogradation 2G s'il ne désactive pas la 2G sur son appareil.

Quel est l'impact de la désactivation de la 2G sur le roaming ?

Lorsque la 2G est désactivée pour des raisons de sécurité, elle ne sera pas réactivée, même si l'appareil est en itinérance. Certaines régions du monde dépendent de la couverture 2G et certains accords d'itinérance supposent que les appareils pourront se connecter à la 2G. Dans ces situations, l'utilisateur n'aura pas de connectivité à moins de réactiver la 2G. Il n'est pas possible de détecter de manière fiable le roaming 2G en raison du manque d'authentification mutuelle en 2G. Laisser la 2G désactivée malgré les signaux d'itinérance empêche un FBS d'usurper ses identifiants de réseau pour convaincre un appareil de réactiver la 2G.