使用行動網路時,使用者安全與隱私最嚴重的威脅就是 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。