停用 2G

使用行動網路時,2G 連線對使用者的安全和隱私權造成的威脅最嚴重。雖然全球正逐步淘汰合法的 2G 行動網路,但裝置仍可能遭到假基地台 (FBS) 攻擊。擁有 FBS 的攻擊者可以誘騙裝置連線至 FBS,而非合法的行動網路。這通常是透過將裝置的連線降級至 2G 來達成,這可讓 FBS 的操作員攔截或將流量注入裝置。

Android 允許使用者在任何實作能力常數「CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK」的裝置上,在無線電硬體層級停用 2G。這會停止裝置掃描或連線至 2G 網路。

自 Android 14 起,您必須具備 MODIFY_PRIVILEGED_PHONE_STATE 權限,才能以 ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G 為理由停用 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 假冒網路 ID,讓裝置重新啟用 2G。