위치를 숨기려고 VPN을 켭니다. 그런데 아이폰은 그 사실을 못 들은 척합니다.
iOS는 VPN 연결을 새로 맺을 때, 이미 열려 있던 연결을 끊지 않습니다. 오래 유지되는 세션 — 대표적으로 애플 푸시 알림 서비스(APNs) — 는 VPN 터널 바깥에서 애플과 계속 통신합니다. 짧게는 몇 분, 길게는 몇 시간 동안, VPN 주소가 아니라 기기의 진짜 IP를 그대로 실어 나릅니다.[1]
iOS 14에 추가된 킬 스위치 API도 이 구멍을 완전히 막지 못합니다. 애플 자체 서비스가 보내는 일부 DNS 질의는 여전히 터널을 우회합니다.[2]

애플은 이 동작을 "정상"이라고 부릅니다. 진짜 always-on VPN은 기업 MDM으로 관리되는 감독 기기에만 존재합니다. 일반 사용자의 아이폰에는 없습니다.[1]
VPN은 쓰세요. 다만 남는 위험을 알고 쓰세요. 새는 곳은 당신이 걱정하던 그 앱이 아닙니다. 그 밑에 깔린 운영체제이고, 그건 삭제할 수가 없습니다. 진짜 IP는 GPS 좌표까지는 아니어도 도시 수준의 위치와 네트워크 신원을 넘겨줍니다. 당신을 특정하기엔 충분한 정보입니다. 그리고 폰은 앱을 하나 열기도 전에, 그 정보를 애플에 끊임없이 넘기고 있습니다.
VPN을 켠 다음에는 비행기 모드를 껐다 켜세요. 열려 있던 연결이 터널 안에서 다시 맺어지도록 강제하는 방법입니다.[1]
앱을 열기 전에 폰이 무엇을 흘리는지, 마지막으로 확인해 본 게 언제인가요?
참고 자료
- ProtonVPN, "VPN bypass vulnerability in Apple iOS (disclosure)" — https://protonvpn.com/blog/apple-ios-vulnerability-disclosure
- SecurityWeek, "No Patch for VPN Bypass Flaw Discovered in iOS" — https://www.securityweek.com/no-patch-vpn-bypass-flaw-discovered-ios/