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 2G legítimas estejam sendo eliminadas em todo o mundo, os dispositivos ainda são suscetíveis a ataques de falsas estações base (FBS). Um adversário com um FBS pode enganar um dispositivo para que ele se conecte a ele em vez de a uma rede celular legítima. Na maioria das vezes, isso é conseguido através do downgrade da conexão de um dispositivo para 2G e permite que a operadora do FBS intercepte ou injete tráfego em um dispositivo.

O Android permite que os usuários desabilitem 2G no nível de hardware de rádio em qualquer dispositivo que implemente a constante de capacidade, "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK". Isso impede que um dispositivo verifique ou se conecte a redes 2G.

A partir do Android 14, você deve ter MODIFY_PRIVILEGED_PHONE_STATE para desativar 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 estarão vulneráveis ​​se suas operadoras não oferecerem mais suporte a 2G?

Desativar o 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 suporta varredura e conexão com estações base 2G, portanto, ele ainda estará vulnerável a um ataque de downgrade de 2G se não desativar o 2G em seu dispositivo.

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

Quando o 2G for desativado por motivos de segurança, ele não será reativado, mesmo se o dispositivo estiver em roaming. Certas áreas do mundo dependem da cobertura 2G e alguns acordos de roaming pressupõem que os dispositivos serão capazes de se conectar a 2G. Nessas situações, o usuário não terá conectividade a menos que reative o 2G. Não é possível detectar de forma confiável o roaming 2G devido à falta de autenticação mútua em 2G. Deixar o 2G desligado apesar dos sinais de roaming evita que um FBS falsifique seus identificadores de rede para convencer um dispositivo a reativar o 2G.