O2 VoLTE: có thể theo dõi vị trí của mọi khách hàng chỉ bằng một cuộc gọi
(mastdatabase.co.uk)- Việc triển khai 4G Calling/WiFi Calling của O2 UK từng gặp vấn đề trong đó người gọi nhận được các header IMS/SIP có thể dùng để ước tính vị trí của người nhận; sự rò rỉ này đã ảnh hưởng đến toàn bộ khách hàng O2 trong nhiều tháng
- Thông điệp tín hiệu IMS chứa IMSI, IMEI của người gọi và người nhận, cùng
Cellular-Network-Infocủa người nhận, bên cạnh Mavenir UAG — máy chủ IMS/SIP của O2 — phiên bản, thông tin debug và thông báo lỗi - Nếu tách giá trị
utran-cell-id-3gpptrongCellular-Network-Infothành PLMN, Location Area Code và Cell ID rồi đối chiếu với dữ liệu trạm gốc công khai như Cellmapper, có thể tìm ra vị trí xấp xỉ của người nhận - Ở đô thị, small cell lắp trên cột đèn đường và các vị trí tương tự phụ trách những khu vực hẹp, làm tăng đáng kể độ chính xác của việc ước tính vị trí; ngay cả khách hàng O2 đang roaming ở nước ngoài cũng có thể bị xác định đến trung tâm Copenhagen
- Tắt cả 4G Calling và WiFi Calling có thể ngăn rò rỉ vị trí, nhưng rò rỉ IMEI và IMSI vẫn tồn tại bất kể trạng thái đăng ký IMS, vì vậy O2 cần loại bỏ các header liên quan khỏi thông điệp IMS/SIP
Manh mối vị trí rò rỉ từ cuộc gọi IMS
- Voice over LTE (VoLTE) dùng chuẩn IP Multimedia Subsystem (IMS) để xử lý cuộc gọi thoại trên mạng di động bằng các giao thức dựa trên Internet
- Việc triển khai IMS phức tạp và phụ thuộc nhiều vào thiết bị; trước đây, một số thiết bị thậm chí cần firmware cụ thể để dùng VoLTE và WiFi Calling
- Nhà mạng di động lựa chọn cách triển khai dịch vụ IMS và cấu hình sẽ dùng, còn điện thoại giao tiếp trực tiếp với các máy chủ đó
- Trong cấu trúc này, nhà mạng di động có trách nhiệm duy trì máy chủ ở trạng thái cập nhật và quản lý cấu hình để không dẫn đến việc lộ dữ liệu không cần thiết
Quá trình kiểm tra O2 UK 4G Calling
- O2 UK ra mắt dịch vụ IMS đầu tiên của mình, 4G Calling, vào ngày 27/3/2017
- Đây là dịch vụ nhằm cải thiện chất lượng cuộc gọi và cải thiện trải nghiệm dữ liệu bằng cách không hạ xuống 3G trong khi gọi
- Sau khi chuyển sang O2, người điều tra muốn kiểm tra các codec thoại nào được hỗ trợ trong 4G/WiFi Calling
- Trên Google Pixel 8 đã root, họ dùng Network Signal Guru (NSG) để gọi đến một thiết bị của khách hàng O2 khác tương thích 4G VoLTE
- Do có lỗi NSG trên modem Samsung của các Google Pixel đời mới, phần VoLTE không tự động hiển thị codec cuộc gọi hiện tại; thay vào đó, họ kiểm tra các thông điệp tín hiệu IMS thô giữa thiết bị và mạng
Các header nhạy cảm có trong thông điệp IMS/SIP
- Phản hồi từ mạng chi tiết và dài hơn nhiều so với những gì từng thấy ở các mạng khác
- Thông điệp chứa Mavenir UAG, máy chủ IMS/SIP mà O2 sử dụng, cùng số phiên bản
- Nó cũng để lộ thông báo lỗi khi dịch vụ C++ xử lý thông tin cuộc gọi gặp vấn đề, cùng các thông tin debug khác
- Đặc biệt, gần cuối thông điệp có các loại header sau
P-Mav-Extension-IMSI: 2 IMSIP-Mav-Extension-IMEI: 2 IMEICellular-Network-Info: thông tin cell của người nhận
- Khi so sánh IMSI và IMEI với thông tin thiết bị của người điều tra, chúng không chỉ bao gồm IMSI và IMEI của người gọi mà còn cả của người nhận cuộc gọi
Cách tính vị trí bằng Cellular-Network-Info
- Phần đầu của giá trị
Cellular-Network-Info,3GPP-E-UTRAN-FDD, cho biết dữ liệu cell thuộc 4G, tên chính thức là E-UTRAN FDD - Giá trị
utran-cell-id-3gpptiếp theo được chia thành 3 phần- 5–6 ký tự đầu là PLMN mạng của người nhận
- 4 ký tự tiếp theo là Location Area Code (LAC) của người nhận, ở dạng thập lục phân
- 7 ký tự cuối là Cell ID của người nhận, ở dạng thập lục phân
- Phần cuối cùng biểu thị độ tuổi của dữ liệu tính bằng giây
- Nó xuất hiện khi thiết bị hiện không kết nối vào mạng, không có tín hiệu hoặc đang dựa vào WiFi Calling
- Trong thông điệp ví dụ, có thể tính được rằng người nhận đang kết nối với mạng O2
234-10, có LAC0x1003, Cell ID0x7a60773, và đang dùng Google Pixel 9 cùng SIM O2
Ước tính vị trí khi kết hợp với dữ liệu trạm gốc công khai
- Có thể nhập Cell ID vào cell ID calculator của Cellmapper để tính site ID tương ứng
- Sau đó có thể tìm site đó trên bản đồ Cellmapper để xác định macro cell tại thời điểm cuộc gọi
- Macro cell có vùng phủ tương đối rộng, nhưng các khu đô thị đông đúc dùng nhiều cell nhỏ
- small cell đôi khi được lắp trực tiếp trên cột đèn đường
- Mỗi site có thể phủ một khu vực nhỏ chỉ 100 m²
- Họ cũng thử cùng kiểu tấn công với một khách hàng O2 khác đang roaming ở nước ngoài và có thể xác định đến trung tâm Copenhagen, Đan Mạch
- Thiết bị của người điều tra không thực hiện hành vi đặc biệt nào với mạng; nó chỉ cho phép xem thông tin đã được gửi tới thiết bị
- Một thiết bị O2 gọi điện qua IMS, tức 4G Calling hoặc WiFi Calling, có thể nhận được thông tin dùng để ước tính vị trí địa lý của người nhận cuộc gọi
Các header O2 cần loại bỏ và biện pháp giảm thiểu cho người dùng
- Để bảo vệ quyền riêng tư và an toàn của khách hàng, O2 cần loại bỏ các header được nhấn mạnh khỏi mọi thông điệp IMS/SIP
- Việc vô hiệu hóa các header debug cũng là hợp lý
- Không thiết bị nào bên ngoài core mạng có lý do để thấy các header như vậy
- Header debug có khả năng vô tình rò rỉ thêm thông tin
- Đối thủ EE cung cấp kênh BT responsible disclosure, nhưng O2 thiếu một đường leo thang rõ ràng để báo cáo vector tấn công tiềm tàng như thế này
- Vào ngày 26 và 27/3/2025, email đã được gửi tới CEO O2 Lutz Schüler và
securityincidents@virginmediao2.co.ukđể thông báo về hành vi này cùng rủi ro quyền riêng tư, nhưng không có phản hồi hay thay đổi hành vi nào - Tắt cả 4G Calling và WiFi Calling có thể chặn hiệu quả phần rò rỉ vị trí
- Header
Cellular-Network-Infochỉ được gửi khi thiết bị của người nhận phản hồi - Việc rò rỉ IMEI và IMSI vẫn tiếp tục xảy ra bất kể trạng thái đăng ký IMS
- Header
- Trong bản chỉnh sửa ngày 27/5/2025, nội dung ban đầu nói rằng không có cách giảm thiểu rò rỉ vị trí, nhưng sau khi kiểm tra thêm tín hiệu IMS và cách thiết bị gửi header, bài viết đã đính chính rằng tắt cả 4G Calling và WiFi Calling sẽ giảm thiểu được phần rò rỉ vị trí
1 bình luận
Các ý kiến trên Hacker News
Việc họ được thông báo về hành vi này và rủi ro quyền riêng tư qua CEO của O2 và địa chỉ email sự cố bảo mật vào ngày 26–27 tháng 3 năm 2025 mà vẫn không có phản hồi hay thay đổi nào thật sự quá tệ
Tôi cũng không hiểu vì sao địa chỉ Virgin Media lại gần như là kênh liên hệ tốt nhất, và https://www.o2.co.uk/.well-known/security.txt lẽ ra phải trả về 200 chứ không phải 404
Trong tình huống này, tôi nghĩ việc công khai là không có vấn đề, nhưng có lẽ NCSC có thể xử lý các vụ như thế này trong một số điều kiện nhất định và giao tiếp với tổ chức tốt hơn chăng
Email đã liên hệ không phải @virginmedia.co.uk mà là @virginmediao2.co.uk, và trong bài có lỗi gõ sai
Chúng tôi sẽ cập nhật để đính chính
Ví dụ như DPO@o2.com có thể có người theo dõi
https://www.o2.co.uk/termsandconditions/privacy-policy
Trước đây O2 từng có địa chỉ dành cho công bố có trách nhiệm, nhưng đã bỏ vài năm trước
Khi tôi làm ở đó từ lâu, đội bảo mật rất giỏi, nhưng năm ngoái khi tôi gửi email về một vấn đề thì những người đó đều đã biến mất
Điểm thật sự thú vị trong vụ này là ở hầu hết các khu vực pháp lý, có lẽ nó thậm chí không được phân loại là hack
Dữ liệu đang được tự nguyện truyền đi trong quá trình sử dụng mạng bình thường
Không có hệ thống nào bị lừa để lộ thông tin cá nhân, trong khi những hành vi như vậy thường là bất hợp pháp dù việc hack có nhỏ đến đâu
Chỉ riêng việc thêm thứ gì đó như
&reveal_privat_data=truevào URL cũng có thể bị xem là bất hợp pháp vì thể hiện ý định rõ ràng nhằm truy cập dữ liệu không có quyền truy cập, nhưng trong trường hợp này thì ngay cả điều đó cũng không cóĐiều đáng sợ là đây không phải một lỗi mang tính lý thuyết
Như bài viết đã nêu, đây là sự lười biếng trong triển khai mà các nhà mạng Anh khác đã xử lý, và việc rò rỉ ECI đã được chỉ ra từ khi LTE được triển khai
Cũng có các bài báo như https://arxiv.org/abs/2106.05007—and, và nếu có cơ sở dữ liệu trạm gốc công khai thì việc tự động lập bản đồ vị trí là chuyện nhỏ
Tôi cũng rất tò mò làm sao người gọi có thể xem được các thông điệp điều khiển cuộc gọi, tức SIP
Chẳng phải các thông điệp này nằm trong một đường hầm GRE được mã hóa giữa thiết bị, trạm gốc và MME sao? Nếu có thể giải mã đường hầm GRE thì đó sẽ là một lỗ hổng khổng lồ, nhưng có lẽ tác giả bài gốc làm được vì chạy phân tích trên chính thiết bị của mình
Dù vậy, việc thấy được payload trước khi mã hóa vẫn rất đáng ngạc nhiên
Nhiều thiết bị Android dùng chip Qualcomm có thể để lộ cổng chẩn đoán modem qua USB, nên thậm chí không cần thiết bị đã root
Tuy nhiên dùng NSG đã root ngay trên thiết bị dễ hơn nhiều so với mang laptop đi khắp nơi
Sau khi bật cổng chẩn đoán modem, chỉ cần dùng Scat(https://github.com/fgsect/scat) là có thể xem toàn bộ lưu lượng tín hiệu trao đổi với mạng, đơn giản đến mức đó
Ít nhất phiên bản miễn phí của ứng dụng có vẻ không “giải mã” gì cả, nhưng vì có quyền root và quyền truy cập modem nên nó đọc được các log như thế này
Nó cũng có thể tắt băng tần hoặc thử khóa vào một trạm gốc cụ thể, nên khá hữu ích nếu bạn muốn dùng dữ liệu di động làm đường truyền Internet chính, giống như một router 4G/5G chuyên dụng
Đường hầm GTP nằm giữa eNodeB và mạng lõi, và chỉ được bảo vệ khi chạy bên trong IPsec
O2 hiện tuyên bố vấn đề đã được khắc phục: https://www.ispreview.co.uk/index.php/2025/05/o2-uk-fixes-vo...
Nội dung là: “O2 đã liên hệ qua email để xác nhận vấn đề này đã được khắc phục. Chúng tôi đã tự xác minh, và có vẻ lỗ hổng đã được xử lý”
Hãy thử tưởng tượng một cơ sở dữ liệu chứa dữ liệu nhạy cảm như vậy bị cố ý để không được bảo vệ trong suốt khoảng thời gian đó, và dường như không thông báo cho bất kỳ ai
Sẽ rất thú vị xem ICO xử lý việc này ra sao
Có vẻ là một vấn đề khá nghiêm trọng
Việc root điện thoại rồi cài NSG để xem thông tin này không khó
O2 cũng là mạng di động lớn nhất ở Anh và còn có hợp đồng với chính phủ
Việc họ không trả lời thì đáng thất vọng, nhưng không đáng ngạc nhiên
Có vẻ nội bộ O2 rất lộn xộn, và những việc mà nhân viên cửa hàng không thể sửa ngay tại chỗ thường mất rất lâu mới được giải quyết
Ví dụ như các lỗi chuyển số chẳng hạn
Hệ thống trông đã cũ kỹ, một số nhóm người dùng vẫn chưa dùng được VoLTE, còn 5G SA mới thì không hỗ trợ thoại và có vẻ phụ thuộc quá nhiều vào n28 nên trong nhiều trường hợp rất chậm
CTO đã viết trên blog rằng hãy “thoát khỏi các chỉ số phù phiếm”, dù đây thường là mạng tệ nhất về hiệu năng dữ liệu
[0] https://news.virginmediao2.co.uk/leaving-the-vanity-metrics-...
Tôi không hiểu O2 vẫn còn kinh doanh được như thế nào
Đây là mạng tệ nhất một cách áp đảo, ngay cả Three với tình trạng backhaul thảm hại còn tốt hơn
Lý do duy nhất tôi có SIM O2 cùng với SIM EE là vì vé Priority và tín hiệu trong các địa điểm tổ chức sự kiện của O2
Tuy nhiên cần SIM mới và điện thoại tương thích, và khác biệt cảm nhận được là hoàn toàn khác
giffgaff, dùng mạng O2, tuyên bố họ không bị ảnh hưởng vì dùng triển khai dịch vụ riêng trên hạ tầng vật lý của O2
Điều đó có thể đúng, nhưng vì tôi biết hiện họ thuộc cùng một công ty nên khả năng tích hợp có vẻ cao, khiến tôi hơi nghi ngờ
Nếu có ai thử tái hiện việc này bằng SIM giffgaff thì tôi muốn biết kết quả
Theo tôi nhớ thì Telefónica mua O2 vào năm 2006 và ra mắt Giffgaff như một thương hiệu mới vào năm 2009
Tôi không biết họ đã đi đến kết luận khác bằng cách nào
Tắt VoLTE có thể giảm thiểu được không? Tôi thấy tài liệu trên mạng hướng dẫn tắt trên iPhone 11, nhưng iPhone 15 của tôi không có tùy chọn đó
Vì vậy có vẻ sẽ không có tác dụng