2 điểm bởi GN⁺ 2025-05-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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-Info củ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-3gpp trong Cellular-Network-Info thà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 IMSI
    • P-Mav-Extension-IMEI: 2 IMEI
    • Cellular-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-3gpp tiế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ó LAC 0x1003, Cell ID 0x7a60773, 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-Info chỉ đượ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
  • 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

 
GN⁺ 2025-05-18
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

    • Đây thực ra là lỗi từ phía chúng tôi
      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
    • Trong chính sách quyền riêng tư có nhiều địa chỉ email do yêu cầu của GDPR
      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

    • Tôi biết đội liên quan bên trong O2 thực sự đã được thông báo, nhưng kết quả là dường như không có hành động nào, hoặc hành động chưa đủ
  • Đ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=true và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ó

    • Dù vậy đây vẫn là rò rỉ dữ liệu, và nếu chịu quy định tại Vương quốc Anh thì phải báo cáo ngay cho cơ quan giám sát; nếu không báo cáo sẽ đối mặt với tiền phạt, v.v.
    • Có vẻ bạn chưa rõ Computer Misuse Act của Vương quốc Anh được áp dụng rộng đến mức nào
  • Đ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ỏ

    • Có khả năng họ đang hoảng loạn chờ các cơ quan an ninh từng sử dụng thứ này chỉ đạo phải làm gì
  • 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

    • Tôi là biên tập viên của bài viết
      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ôi đang dùng điện thoại Android đã root và một ứng dụng tên Network Signal Guru: https://play.google.com/store/apps/details?id=com.qtrun.Quic...
      Í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
    • Nhiều nhà mạng cấu hình để tín hiệu SIP cho VoLTE dùng truyền tải IPsec kết thúc tại P-CSCF, nhưng hầu hết hoặc tất cả chỉ cấu hình IPsec để bảo vệ tính toàn vẹn
    • Có lẽ ý bạn muốn nói không phải GRE mà là đường hầm GTP
      Đườ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
    • Sửa: là GTP
  • 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...

    • Bài được gửi đã được cập nhật sáng nay
      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ý”
    • Trong tuyên bố, họ nói “đội ngũ kỹ thuật đã làm việc và thử nghiệm bản sửa lỗi trong vài tuần”
      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 bắt đầu nghĩ rằng lý do họ không thu phí roaming EU thực ra có thể là vì họ không có hệ thống để tính phí
  • 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

    • Nếu truy cập được mạng 5G Standalone thì tốt hơn nhiều
      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ả

    • Telefónica đã sở hữu từ lâu rồi
      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 đã thử trên mạng giffgaff, và thực sự có bị ảnh hưởng
      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 đó

    • Có đoạn nói rằng “tắt 4G Calling cũng không ngăn header này bị lộ, và khi thiết bị ở trạng thái không thể kết nối, header nội bộ vẫn tiếp tục tiết lộ cell đã kết nối cuối cùng và đã bao lâu kể từ thời điểm đó”
      Vì vậy có vẻ sẽ không có tác dụng
    • Một trong những điểm khó chịu của O2 UK là họ không hỗ trợ VoLTE cho khách hàng trả trước lâu năm mà chỉ hỗ trợ cho khách hàng thuê bao tháng, nhưng giờ điều đó lại phần nào trở thành may mắn