A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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
desativadas 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. Isso geralmente é feito
reduzindo a conexão de um dispositivo para 2G, o que 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 do hardware de rádio em qualquer dispositivo
que implemente a constante de capability,
"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 à varredura
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 assumem que os dispositivos podem 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 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
faça spoofing dos identificadores de rede para convencer um dispositivo a reativar o 2G.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Disable 2G\n\nThe most severe threat to a user's security and privacy when using a mobile\nnetwork is 2G connections. While legitimate 2G cellular networks are being\nphased out across the world, devices are still susceptible to attacks from false\nbase stations (FBS). An adversary with a FBS can trick a device into connecting\nto it instead of a legitimate cellular network. This is most often accomplished\nby downgrading a device's connection to 2G, and it allows the operator of the\nFBS to intercept or inject traffic to a device.\n\nAndroid allows users to disable 2G at the radio hardware level on any device\nthat implements the capability constant,\n\"CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK\". This stops a device from\nscanning or connecting to 2G networks.\n| **Note:** Emergency calling is never impacted. A device still scans and connects to 2G networks for emergency services.\n\nStarting in Android 14, you must have MODIFY_PRIVILEGED_PHONE_STATE to disable\n2G with reason ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Carrier privileges don't\nsuffice. \n\n TelephonyManager tm = getSystemService(TelephonyManager.class);\n\n if (tm != null && tm.isRadioInterfaceCapabilitySupported(\"CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK\")) {\n long disable2gBitMask = 0xFFFF &~ TelephonyManager.NETWORK_CLASS_BITMASK_2G;\n tm.setAllowedNetworkTypesForReason(TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G, disable2gBitMask);\n }\n\nFAQs\n----\n\n### Are users still vulnerable if their carriers no longer support 2G?\n\nDisabling 2G is an important security measure even if the user's carrier no\nlonger maintains 2G infrastructure. The user's device still supports scanning\nand connecting to 2G base stations, so they are still vulnerable to a 2G\ndowngrade attack if they do not disable 2G on their device.\n\n### How does disabling 2G impact roaming?\n\nWhen 2G is disabled for security purposes it will not be re-enabled, even if the\ndevice is roaming. Certain areas in the world depend on 2G coverage and some\nroaming agreements assume devices will be able to connect to 2G. In these\nsituations, the user will not have connectivity unless they re-enable 2G.\nIt's not possible to reliably detect 2G roaming because of the lack of mutual\nauthentication in 2G. Leaving 2G off despite roaming signals, prevents a FBS\nfrom spoofing its network identifiers to convince a device to re-enable 2G."]]