Desativar 2G

A ameaça mais grave à segurança e à privacidade de um usuário ao usar uma rede móvel são as conexões 2G. Embora as redes celulares legítimas de 2G estejam sendo descontinuadas em todo o mundo, os dispositivos ainda são suscetíveis a ataques de estações base falsas (FBS, na sigla em inglês). Um invasor com um FBS pode fazer com que um dispositivo se conecte a ele em vez de uma rede celular legítima. Na maioria das vezes, isso é feito com o downgrade da conexão de um dispositivo para 2G e permite que o operador do FBS intercepte ou injete tráfego em um dispositivo.

O Android permite que os usuários desativem o 2G no nível de hardware de rádio em qualquer dispositivo que implemente a constante de recurso "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK". Isso impede que o dispositivo faça a varredura ou se conecte a redes 2G.

A partir do Android 14, é necessário ter MODIFY_PRIVILEGED_PHONE_STATE para desativar o 2G com o motivo ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Os privilégios da operadora não são 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);
}

Perguntas frequentes

Os usuários ainda estão vulneráveis se as operadoras não oferecem mais suporte para 2G?

A desativação do 2G é uma medida de segurança importante, mesmo que a operadora do usuário não mantenha mais a infraestrutura 2G. O dispositivo do usuário ainda oferece suporte à verificação e conexão com estações-base 2G. Portanto, ele ainda está vulnerável a um ataque de downgrade de 2G se não desativar o 2G no dispositivo.

Como a desativação do 2G afeta o roaming?

Quando o 2G é desativado por motivos de segurança, ele não é reativado, mesmo que o dispositivo esteja em roaming. Algumas áreas do mundo dependem da cobertura 2G, e alguns acordos de roaming presumem que os dispositivos poderão se conectar a ela. Nessas situações, o usuário não terá conectividade, a menos que reative o 2G. Não é possível detectar com confiabilidade o roaming 2G devido à falta de autenticação mútua no 2G. Deixar o 2G desativado apesar dos sinais de roaming impede que um FBS falsifique os identificadores de rede para convencer um dispositivo a reativar o 2G.