Отключить 2G

Самой серьезной угрозой безопасности и конфиденциальности пользователя при использовании мобильной сети являются соединения 2G. Хотя законные сотовые сети 2G постепенно выводятся из эксплуатации по всему миру, устройства по-прежнему подвержены атакам со стороны ложных базовых станций (FBS). Злоумышленник с FBS может обманом заставить устройство подключиться к нему вместо законной сотовой сети. Чаще всего это достигается путем понижения уровня соединения устройства до 2G, что позволяет оператору FBS перехватывать или направлять трафик на устройство.

Android позволяет пользователям отключать 2G на уровне радиооборудования на любом устройстве, которое реализует константу возможности «CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK». Это не позволяет устройству сканировать или подключаться к сетям 2G.

Начиная с Android 14, у вас должен быть MODIFY_PRIVILEGED_PHONE_STATE, чтобы отключить 2G по причине ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Привилегий перевозчика недостаточно.

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

Часто задаваемые вопросы

Будут ли пользователи по-прежнему уязвимы, если их операторы связи больше не поддерживают 2G?

Отключение 2G является важной мерой безопасности, даже если оператор связи пользователя больше не поддерживает инфраструктуру 2G. Устройство пользователя по-прежнему поддерживает сканирование и подключение к базовым станциям 2G, поэтому они по-прежнему уязвимы для атаки на понижение версии 2G, если не отключат 2G на своем устройстве.

Как отключение 2G повлияет на роуминг?

Если 2G отключен в целях безопасности, он не будет повторно включен, даже если устройство находится в роуминге. Некоторые регионы мира зависят от покрытия 2G, а некоторые соглашения о роуминге предполагают, что устройства смогут подключаться к 2G. В таких ситуациях у пользователя не будет подключения, пока он повторно не включит 2G. Невозможно надежно обнаружить роуминг 2G из-за отсутствия взаимной аутентификации в 2G. Отключение 2G, несмотря на сигналы роуминга, не позволяет FBS подделать свои сетевые идентификаторы, чтобы убедить устройство повторно включить 2G.