Cómo inhabilitar 2G

La amenaza más grave para la seguridad y la privacidad de un usuario cuando se usa una red móvil son las conexiones 2G. Si bien las redes celulares 2G legítimas se están eliminando gradualmente en todo el mundo, los dispositivos aún son susceptibles a ataques de estaciones base falsas (FBS). Un adversario con un FBS puede engañar a un dispositivo para que se conecte a él en lugar de a una red celular legítima. Esto se logra con mayor frecuencia cuando se cambia a una versión inferior la conexión de un dispositivo a 2G, y permite que el operador del FBS intercepte o inyecte tráfico en un dispositivo.

Android permite a los usuarios inhabilitar 2G en el nivel de hardware de la radio en cualquier dispositivo que implemente la constante de la función, "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK". Esto evitará que un dispositivo escanee redes 2G o se conecte a ellas.

A partir de Android 14, debes tener MODIFY_PRIVILEGED_PHONE_STATE para inhabilitar 2G con el motivo ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Los privilegios de proveedor no son suficientes.

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);
}

Preguntas frecuentes

¿Los usuarios siguen siendo vulnerables si sus operadores ya no admiten 2G?

Inhabilitar la red 2G es una medida de seguridad importante, incluso si el operador del usuario ya no mantiene la infraestructura de 2G. El dispositivo del usuario aún admite el escaneo y la conexión a estaciones base 2G, por lo que sigue siendo vulnerable a un ataque de degradación a 2G si no inhabilita esta red en su dispositivo.

¿Cómo afecta la inhabilitación de la red 2G al roaming?

Cuando la red 2G está inhabilitada por motivos de seguridad, no se volverá a habilitar, incluso si el dispositivo está en roaming. Ciertas áreas en el mundo dependen de la cobertura 2G, y en algunos acuerdos de roaming se supone que los dispositivos podrán conectarse a 2G. En estas situaciones, el usuario no tendrá conectividad, a menos que vuelva a habilitar la red 2G. No es posible detectar de forma confiable el roaming 2G debido a la falta de autenticación mutua en 2G. Si no se habilita la red 2G a pesar de las señales de roaming, se evita que un FBS falsifique sus identificadores de red para convencer a un dispositivo de que vuelva a habilitar la red 2G.