O2 VoLTE: 통화 한 번으로 모든 고객의 위치 추적 가능
(mastdatabase.co.uk)- O2 UK의 VoLTE(4G Calling) 서비스에서 통화 상대방의 위치 정보와 단말 식별자가 송신되는 현상 발견
- IMS 신호 메시지에 IMSI, IMEI, Cell ID 등 민감 정보가 포함되어 외부에서 쉽게 수신 가능함
- 공개 크라우드소싱 데이터(cellmapper.net 등)를 통해 이러한 정보로 정확한 위치 파악 가능함
- 이 취약점은 모든 O2 고객에 적용되어 누구나 공격 대상으로 노출됨
- 사용자나 일반 고객이 별도의 방법으로 이 정보 노출을 방지할 수 없음
소개
- Voice over LTE(VoLTE) 는 모바일 네트워크에서 인터넷 기반 프로토콜을 사용해 음성 통화를 가능하게 하는 기술임
- VoLTE에 사용되는 IP Multimedia Subsystem(IMS) 는 복잡성과 기기 간 상호작용 문제로 보안 위험이 발생할 수 있음
- 각 통신사는 IMS 서버 구성 및 서비스 구현 방식을 고유하게 선택할 수 있기 때문에 설정 오류 시 데이터 유출 위험이 있음
- 본 문서에서는 O2 UK가 이와 같은 보안 우려를 실질적으로 야기한 사례를 분석함
O2 UK의 IMS/VoLTE 서비스 현황
- 2017년 3월 27일, O2 UK는 4G Calling이라는 IMS 기반 첫 서비스를 시작해 통화 중 더 좋은 음성 품질과 데이터 이용 환경을 제공함
- 저자는 통화 품질을 측정하기 위해 Network Signal Guru(NSG) 앱을 루팅된 Google Pixel 8에서 활용
- 앱의 한계로 인해, 직접 원시 IMS 신호 메시지를 분석하며 통화 시 교환되는 상세 정보를 확인함
신호 메시지의 문제점
- O2 UK의 IMS 신호 응답에는 다른 통신사와 달리 매우 상세하고 긴 정보가 담겨 있음
- IMS/SIP 서버 정보, 버전, 에러, 디버그 로그와 함께 아래와 같은 민감한 헤더가 포함되어 있음
- 두 쌍의 IMSI, 두 쌍의 IMEI
- Cellular-Network-Info: 수신자 네트워크, 위치 코드, 셀 ID 등
- 메시지 내 IMSI, IMEI 및 Cell ID를 비교한 결과, 통화 상대방(수신자)의 정보가 함께 포함된 것을 확인함
Cell ID를 통한 위치 추적
-
Cellular-Network-Info
헤더를 해독하면 수신자 통신사, 위치 영역 코드(LAC), 셀 ID가 드러남 - 해당 Cell ID는 cellmapper.net 등의 서비스에 입력하여 기지국 위치를 정확하게 파악 가능함
- 도시 등 밀집 지역에서는 기지국 커버리지가 100m² 이내로 좁기 때문에 상대적으로 매우 정밀한 위치 확인이 가능함
- 실제로 O2 고객이 해외 로밍 중에도 이 방식이 작동하여 도시 중심부까지 위치 확인이 이루어짐
- 이러한 정보는 특별한 장비나 절차 없이 IMS 통화가 가능한 모든 O2 단말에서 노출됨
개선 요구사항
- O2는 IMS/SIP 메시지에서 민감한 헤더(위치 및 단말 정보) 를 제거해야 고객의 개인 정보와 안전을 보호할 수 있음
- 디버그 용도의 헤더 역시 불필요한 정보 유출로 이어질 수 있어 비활성화가 필요함
- 네트워크 코어 외부 단말에 이런 헤더가 보이는 것은 불합리함
- O2의 내부 보안 문제 신고 루트 부재는 다른 통신사(예: EE) 대비 심각한 문제임
결론
- O2 고객은 누구나 기본적인 모바일 네트워크 지식만 있으면 정밀한 위치 정보까지 추적당할 위험이 있음
- 사용자가 4G Calling을 끄더라도 민감 정보 노출이 막히지 않아 자체적으로 방지 불가함
- 기기가 네트워크에 연결되지 않아도 마지막 접속 셀 및 접속 시점 정보가 여전히 IMS 메시지에 남아 있음
- 2025년 3월 26~27일, O2 관련 보안 책임자와 CEO에게 이메일로 해당 사실과 위험성을 여러 차례 알렸으나 별다른 대응이나 개선 사항이 없음
참고
수정 기록
- 2025년 5월 18일 23:40 기준, 최초 기사 내 O2 보안 신고메일 주소 오기재(virginmedia.co.uk→virginmediao2.co.uk) 수정 반영
Hacker News 의견
- 2025년 3월 26일과 27일에 O2에 이메일로 이 행동과 개인정보 위험을 알렸지만 아직 답장이나 행동 변화가 없는 상황임, 정말 아쉬운 대응임, Virgin Media 주소가 가장 가까운 연락처라는 점도 의문임, https://www.o2.co.uk/.well-known/security.txt가 200 응답을 주어야 하는데 404인 점이 문제임, 이런 상황에서는 공개하는 것도 이해하겠지만, 과연 NCSC 같은 기관에서 이 문제를 더 잘 전달할 수 있을지 궁금증이 생기는 상황임
- 실제로 이메일 주소를 잘못 기재했음, Virgin Media O2의 @virginmediao2.co.uk를 써야 했는데, @virginmedia.co.uk로 쓴 오타임, 이 부분을 기사에서 정정할 예정임
- 개인정보 보호 정책(GDPR 필수사항)에 여러 이메일 주소가 있음, 예를 들어 DPO@o2.com 등, 아마 그쪽에서는 누군가 확인하고 있을 가능성 있음, https://www.o2.co.uk/termsandconditions/privacy-policy 참고
- 예전에 O2는 책임감 있는 정보 공개용 이메일 주소가 있었지만, 몇 년 전에 없어졌음, 예전에는 보안팀이 정말 뛰어났는데 작년에 이슈로 메일했더니 다 사라진 상태였음
- O2 내 해당 팀이 사실은 이미 통보를 받았지만, 아무런 조치가 없었거나, 조치가 미흡했음
- 이번 버그는 단순한 이론적 버그가 아니고, 실행 측면에서 게으름 때문에 생긴 문제임, 다른 영국 통신사들은 이미 해결한 문제임, LTE 도입 초창기부터 ECI 유출 문제는 이미 논의되었고, 오픈 마스트 DB 덕분에 자동 위치 매핑도 아주 쉬운 상황임, 관련 논문(https://arxiv.org/abs/2106.05007) 참고
- 정말 흥미로운 점은, 대부분의 법적 관점에서 이것이 해킹으로 분류되지 않는다는 것임, 해당 데이터가 네트워크에서 정상적으로 자발적으로 나가는 정보임, 불법적으로 데이터를 얻으려고 시스템을 속인 게 아니기 때문임, 예를 들어 URL에 "&reveal_privat_data=true"를 추가하는 건 명백한 의도가 있어서 불법이겠지만, 이번 건은 그런 게 없는 상황임
- 하지만 이것도 데이터 유출에 해당하는 상황임, 영국처럼 관련 규정이 있으면 바로 규제 기관에 보고해야 하거나 벌금을 맞게 되는 계기가 될 수 있음
- Computer Misuse Act 범위가 매우 광범위하다는 점을 고려할 때, 생각보다 간단히 넘어갈 문제가 아닌 상황임
- 통화 시작자가 어떻게 호출 제어 메시지(예: SIP)를 볼 수 있었는지 정말 궁금함, 이런 메시지들은 핸드셋과 기지국(MME) 사이에 암호화된 GRE 터널 안에 있다고 생각했음, 만약 누군가 GRE 터널 암호화를 풀었다면 엄청난 보안 취약점임, 아마 OP가 자기 디바이스에서 분석 중이라 가능한 걸 수도 있는데, 그럼에도 암호화 이전 페이로드를 볼 수 있다니 놀라운 부분임
- 기사 에디터임, Qualcomm 칩 내장 안드로이드 기기들은 대부분 USB로 모뎀 진단 포트를 노출할 수 있는 옵션이 있어서 루팅도 필요없음, NSG를 루팅해서 쓰는 게 노트북 들고 다니는 것보다 훨씬 편해서 선호함, Scat(https://github.com/fgsect/scat)을 모뎀 진단 포트 활성화와 함께 쓰면 모든 신호 트래픽을 볼 수 있음
- 루팅된 안드로이드 폰과 Network Signal Guru(https://play.google.com/store/apps/details?id=com.qtrun.QuickTest) 앱을 쓰는 중임, 무료 버전에서는 실제로 '복호화'하지 않지만, 루트 권한과 모뎀 접근으로 이런 로그를 읽을 수 있음, 특정 밴드를 끄거나 특정 기지국에만 연결되게 시킬 수 있어, 데이터 전용으로 사용할 때 편리함
- 많은 통신사들이 VoLTE용 SIP 신호를 P-CSCF에서 끝나는 IPsec 전송으로 설정은 하는데, 대부분(혹은 전부)은 IPsec을 무결성만 보장하도록 설정함
- 수정: GRE가 아니라 GTP임
- GTP 터널을 의미한 것 같음, GTP 터널은 enodeb와 코어 네트워크 사이에서 작동하는데, IPSEC 내에서만 보안이 됨
- O2가 아직도 비즈니스를 유지하는 게 신기함, 다른 네트워크보다 훨씬 별로임, 심지어 백홀 이슈가 심한 Three보다도 떨어짐, 내가 O2 SIM을 갖고 있는 유일한 이유는 Priority 티켓과 그들의 공연장에서 쓸 신호 때문임
- 5G Standalone 네트워크에 접속할 수 있다면 훨씬 더 좋아짐, 다만 새 SIM 카드와 호환 가능한 핸드폰이 필요함, 체감이 확연히 다름
- 꽤 심각한 문제라고 생각함, 폰 루팅하고 NSG 설치해서 이런 정보를 보는 게 그리 어렵지 않음, O2는 영국 최대 이동통신사이기도 하며, 정부와도 계약이 있음, 답장을 안 주는 게 실망스럽긴 하지만, 예상했던 일이기도 함, O2는 내부적으로 혼란스러운 상태임, 매장에서 해결할 수 없는 건 고치는 데 정말 오래 걸림(예: 번호 포팅 문제), 시스템도 낡아 있고, 일부 고객들은 아직 VoLTE를 못 쓰고, 5G SA는 음성 통화를 지원 안 하고 n28에 과도하게 의존해서 느린 경우가 많음, CTO는 "허영심 수치 버리고 본질에 집중하자"는 취지로 블로그를 쓰지만 정작 데이터 품질은 늘 꼴찌임, 관련 블로그(https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-behind-and…) 참고
- EU 로밍 요금을 안 받는 이유가 요금 시스템이 없어서 그런 건 아닌가 하는 생각이 들기 시작함
- VoLTE를 꺼서 이 문제를 막을 수 있는지 궁금함, iPhone 11은 오프 방법을 찾았는데 iPhone 15에는 그 옵션이 없음
- 4G Calling(VoLTE) 비활성화해도 이런 헤더는 노출됨, 그리고 기기가 꺼져 있어도 마지막 연결된 셀 위치와 시간은 여전히 노출됨, 그러므로 효과가 없음
- O2 UK는 VoLTE를 기존 선불(PAYG) 고객에게 지원하지 않음, 요금제 고객만 지원함, 지금은 오히려 다행이라고 생각하게 되는 상황임
- IMS에 아는 건 없지만, 디버그 헤더가 전송될 만큼은 통화를 오래 유지해야 하는 것 아닐까 싶은 의문임, 마치 스파이 영화의 통화 추적처럼, 만약 그렇다면 미지의 번호는 그냥 안 받는 걸로 피해볼 수 있는지 궁금증, 물론 이것도 아는 사람이 번호로 연락하면 똑같이 노출될 수 있음
- 이런 정보는 통화 연결이 되기도 전에 네트워크에서 이미 알고 있는 정보임, 아마 디버깅용 헤더여서, 연결이 안 되는 상황에서도 디버깅을 위해 필요함, 이해가 맞다면, 기기가 꺼져 있어도 마지막 사용 셀 정보를 제공함
- IMS는 그냥 SIP 코어+ 여러 게이트웨이+기본 LTE 인프라(예: eNodeB, PCRF 등)로 구성된 구조임, 여기서 신호 메시지는 그냥 SIP 메시지임, 만약 이런 헤더가 SIP 180 Ringing 등에도 들어 있다면, 아예 전화를 받지 않아도 정보가 노출될 수 있음, 통신사에서 실제 IMS 구축했던 경험 기반 설명임
- O2 NZ에도 이 문제가 있는지 궁금함, 오스트레일리아에서 무제한 로밍과 VoLTE 통화 때문에 지난주에 옮겼음
- 아마도 해당 이슈는 O2 UK에만 해당하는 문제일 가능성이 높음