禁用2G

使用行動網路時對使用者安全和隱私最嚴重的威脅是 2G 連線。儘管合法的 2G 蜂窩網路正在全球範圍內逐步淘汰,但設備仍然容易受到虛假基地台 (FBS) 的攻擊。擁有 FBS 的對手可以誘騙設備連接到它而不是合法的蜂窩網路。這通常是透過將設備的連接降級到 2G 來實現的,它允許 FBS 運營商攔截或向設備注入流量。

Android 允許使用者在任何實現功能常數「CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK」的任何裝置上在無線電硬體層級停用 2G。這會阻止裝置掃描或連接到 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 漫遊。儘管存在漫遊訊號但仍關閉 2G,可防止 FBS 欺騙其網路識別碼以說服裝置重新啟用 2G。