- 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) アプリをroot化したGoogle Pixel 8で活用した
- アプリの限界により、直接 生のIMSシグナリングメッセージ を分析し、通話時にやり取りされる詳細情報を確認した
シグナリングメッセージの問題点
- O2 UKのIMSシグナリング応答には、他の通信事業者と異なり 非常に詳細で長い情報 が含まれている
- IMS/SIPサーバー情報、バージョン、エラー、デバッグログとともに、以下のような機微なヘッダーが含まれている
- 2組の IMSI、2組の 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)を修正反映
1件のコメント
Hacker Newsの意見
@virginmediao2.co.ukを使うべきところを、@virginmedia.co.ukと書いてしまった単純なタイプミスだ。この点は記事で訂正する予定DPO@o2.comなどがあるので、おそらくそちらでは誰かが確認している可能性がある。https://www.o2.co.uk/termsandconditions/privacy-policy を参照"&reveal_privat_data=true"を追加するような行為なら明白な意図があり違法だろうが、今回はそうではない