はじめに
FFRIセキュリティ エンジニアの村上・木下です。
近年、5G ネットワークの普及が進んでいます。5G ネットワークでは、セキュリティ向上のための新機能が導入されています。それらの機能はどのようなものなのでしょうか。また、セキュリティが強化された 5G ネットワークに対しても攻撃は可能なのでしょうか。
本記事では、Black Hat USA 2021 にて発表された、「5G IMSI Catchers Mirage」の内容について紹介します。発表スライドは、リンク先のウェブサイトでダウンロード可能です。
IMSI キャッチャーとは
まず初めに、IMSI1 とは携帯電話の加入者を一意に識別するための国際的な加入者番号のことです。IMSI キャッチャーとは、携帯電話の無線トラフィックを傍受し、IMSI によってユーザーを追跡するための偽装デバイスです。IMSI キャッチャーは、その機能から犯罪捜査への活用が議論されることもありますが、一方で悪意のある攻撃者によって一般ユーザーの行動を追跡するために使用される可能性もあり、これはセキュリティ上大きな問題です。IMSI キャッチャーは、無線トラフィックの傍受以外にも、攻撃者によって以下のようなことに悪用される可能性があります。
- 標的の端末のバッテリー消耗
- 標的やその他の端末への DoS 攻撃
- 標的の端末のより古い世代のネットワークへのダウングレード攻撃
IMSI キャッチャーは、単に無線トラフィックを傍受するのみの受動型 (Passive) と能動型 (Active) の 2 つに分類でき、それぞれ以下のような特徴を持っています。
受動型
- 携帯電話やネットワークと相互作用はしておらず、性能は低い。
- 携帯電話やネットワークのユーザーから見つかりづらい。
能動型
- 性能が高い。
- 携帯電話の端末をコントロールできる。
- 技術的には、発見されることがある (とはいえ、商業用デバイスからはほぼ見つからない)。
5G ネットワークとセキュリティ保護機能
5G ネットワークには、4G LTE のコアネットワークと 5G の基地局を組み合わせた NSA2 型と、コアネットワークと基地局の両方が 5G からなる SA3 型の 2 種類が存在します (図 1)。
NSA 型は、ユーザーデータの通信のみにおいて 5G ネットワークを利用する方式です。導入が容易でありながら、ユーザーデータの通信を高速化できる点がメリットです。一方で、ユーザーデータの通信以外の部分は 4G ネットワークで構成されているため、5G ネットワークで新しく追加された多くのセキュリティ保護機能の恩恵が受けらないというデメリットはあります。
一方で SA 型は、NSA 型と比較すると導入に時間がかかりますが、ネットワーク全体が 5G ネットワークで構成されます。そのため、ユーザーデータの通信にとどまらない通信全体の高速化が見込まれるだけではなく、5G ネットワークのセキュリティ保護機能の全てが有効化されます。
セキュリティ保護機能
前節で言及したように、5G ネットワークでは 4G ネットワーク以前には存在しなかった複数のセキュリティ保護機能が追加されました。以下では 5G ネットワークで追加された機能のうち、本発表で紹介されている 6 つの機能について説明します。これらの機能は、特に IMSI キャッチャーによる追跡可能性を軽減するために役立つものです。順に見ていきましょう。
1. Subscription Concealed Identifier (SUCI)
4G ネットワークでユーザーを特定するために使用されていた IMSI に替えて、5G ネットワークでは SUPI4 が端末加入者 ID の識別子として利用されています。4G ネットワークにおいては IMSI は平文で送信されていましたが、5G ネットワークではホームネットワークの公開鍵によって SUPI の MSIN5 部分を暗号化した SUCI6 を用いてネットワークに接続することで、セキュリティを強化しています。
2. 5G ネットワークにおけるページング
ページングとは、通信の際にユーザーの端末が存在する位置登録エリア内の全ての基地局から一斉に呼び出しをすることで、ユーザーの端末が存在するセル (1 つの基地局がカバーするエリア) を特定する通信手法です。4G ネットワークでは、ページングの識別子として IMSI や一時的な識別子である S-TMSI7 が使用されていましたが、S-TMSI をページングのあとにリフレッシュするかどうかは任意でした。5G ネットワークでは、IMSI や S-TMSI の代わりに 5G-S-TMSI や I-RNTI8 と呼ばれる識別子が使用されており、これらはページングのあとにリフレッシュすることが義務付けられています。次節の「NSA 型 5G ネットワークにおける脆弱性」で後述するように、定期的に識別子をリフレッシュすることは、攻撃者による追跡の回避に大きく寄与します。また、4G ネットワークにおいては端末識別 ID である GUTI9 もページングの識別子として使用されていましたが、これも 5G では 5G-GUTI としてアップデートされており、ページングの後のリフレッシュが義務付けられています。
3. ABBA パラメータ
ABBA10 パラメータは、セキュリティ保護や、通信で有効化されているセキュリティ機能を伝達するために AMF11 から UE12 へ送信されるパラメータです。5G-AKA13 プロトコルにおいて、RAND14 や AUTN15 を送信する際に SEAF16 によってこのパラメータが設定されます。
4. User Plane Integrity Protection
ユーザープレーン (User Plane) は、携帯端末のデータパケット送信においてルーターの役割を果たす機能です。5G では、UE と基地局間のユーザープレーンの整合性保護の機能が追加されました。この機能を使用するためには、UE と基地局の両方がこの機能に対応している必要があります。ただし、使用は任意です。整合性保護の機能の使用にはリソースが必要なため、この機能が有効化されるトラフィック量には UE 毎に上限が定められています。
5. Secure UE Capability transfer
UE Capability Information は UE が通信の初期段階で送信する RRC17 メッセージです。このメッセージには UE に関する多くの情報が記載されており、4G ネットワークにおいては中間者攻撃に悪用されることがありました。5G ネットワークでは、UE Capability Information のやり取りはセキュリティ確立後に行われます。
6. UE-assisted network-based IMSI catcher detection
UE が記録する、受信した信号の強度や位置情報をもとに IMSI キャッチャーを発見する機能です。IMSI キャッチャーは正規の基地局よりも高い電力の信号を送信したり、正規の基地局の配置とは異なるセル識別子を使用したり、異なる周波数で動作したりしていることがあります。こういった不審な情報を複数の UE から収集しフィルタリングすることで、IMSI キャッチャーを割り出せる可能性があります。この手法は現段階では IMSI キャッチャーに対する決定版と言えるほどのものではありませんが、とはいえ期待の持てる技術です。
NSA 型と SA 型のセキュリティ機能の比較
前節で紹介した各セキュリティ機能について、NSA 型と SA 型それぞれにおける実装状況を図 3 に示します。SA 型と比較して NSA 型は、5G ネットワークで追加されたセキュリティ機能のほとんどが有効となっておらず、後述する脆弱性の起点となってしまうなど、セキュリティ面で懸念があります。
NSA 型 5G ネットワークにおける脆弱性
前節で説明した通り、5G NSA 型のネットワークでは 5G のセキュリティ機能の多くが実装されていません。5G NSA 型のネットワークでは、IMSI は暗号化されず平文で送信されています。また、4G-GUTI はリフレッシュを義務付けられていません (ネットワーク事業者のセキュリティ意識に依存します) 。セキュリティの観点からは GUTI のランダム性が重要ですが、実際に 5G NSA 型のネットワークを使用する端末では GUTI の時間変化はどうなっているでしょうか。3 種類のネットワーク事業者について端末の GUTI を調査した例を、次で見てみましょう。
5G NSA 型ネットワークにおける GUTI の時間変化
ネットワーク事業者 1
4G LTE 2015 では GUTI が規則的に変化しており、セキュリティ上の問題があります。一方、4G LTE 2021 と 5G NSA 2021 では、GUTI が定期的に更新され、十分なランダム性を持っています。
ネットワーク事業者 2
この端末では、数日にわたって GUTI がリフレッシュされていない期間があり、セキュリティ上の問題があります。特に、ユーザーが物理的に移動していないときにリフレッシュが行われていません。加入者の位置情報を攻撃者に知られてしまう可能性があり、危険な状態です。
ネットワーク事業者 3
10 日以上にわたって GUTI がリフレッシュされておらず、セキュリティ上非常に大きな問題があります。さらに、端末の機内モードをオン・オフと切り替えたあとも GUTI は変化していませんでした。
ダウングレード攻撃のおそれ
一般的にダウングレード攻撃とは、コンピュータシステムまたは通信プロトコルに対して、より脆弱な古い規格のバージョンに強制的にダウングレードさせる攻撃のことを指します。能動型の IMSI キャッチャーからは、3G ネットワークや 2G ネットワークへのダウングレード攻撃が可能です。ダウングレード攻撃を受けた後に自動的に 4G ネットワークへと復旧する機能を持った携帯電話も存在しますが、その数は多くありません。2015 年と比較すると、 2021 年は 3G ネットワークや 2G ネットワークへのダウングレード攻撃の難易度は上がっていますが、とはいえこういった攻撃は本記事の執筆時点でも有効です。
SA 型 5G ネットワークにおける脆弱性
前節で NSA 型 5G ネットワークにおける脆弱性について説明しましたが、実は SA 型 5G ネットワークにおける脆弱性についても本発表で紹介されています。 以下では、特に、SUCI、5G-AKA、ダウングレード攻撃に関する脆弱性について説明します。
SUCI の部分的な脆弱性
SUCI は SUPI 内の MSIN を暗号化したものであると説明しましたが、SUPI には MSIN の他に 2 つのパラメータが含まれます。1 つは国を表す番号である MCC18 で、もう 1 つは通信事業者を表す番号 MNC19 です。これら 2 つのパラメータは SUCI の中で暗号化されません。
4G でも同様ですがこれらのパラメータは、ローミング状況では攻撃者にとって有益な情報となることがあります。例えば、特定のエリアの外国の SUCI の識別が可能となります。
また、SUPI が IMSI を元に生成された番号ではない場合(メールアドレス等の何らかの文字列の場合)、SUCI はランダム性を失う可能性があります。これにより例えば、プライベートな 5G ネットワークの加入者とパブリックな 5G ネットワークの加入者を簡単に区別できます。
5G-AKA の脆弱性
5G-AKA とは UE と 5G コアネットワークとの相互認証手順のことです。図 8 に 5G-AKA プロトコルを示します。詳細については [6] を参照ください。相互認証では UE とコアネットワークの間で、加入者を識別するための SUCI や、シーケンス番号 SQN20 とメッセージの改ざんを検知する MAC21 値を含む AUTN などが送受信されます。本件では、SQN が重要なパラメータとなります。SQN はパケットの順番や欠落の確認や、リプレイ攻撃を防ぐために使用されるパラメータであり、セッションが成功する度に 1 ずつ加算されていきます。この SQN ですが、漏洩すると後述のような攻撃の足がかりとなる情報であるため、送信する際は秘密鍵と XOR をとって隠されます。
それでは、5G-AKA の脆弱性について説明していきます。UE とコアネットワークの間に偽の基地局が存在すると、偽の基地局は UE とコアネットワークの間のメッセージの改ざんや、過去のメッセージの再送が可能です。本件では、偽の基地局は過去のメッセージを再送することを攻撃の起点としています。再送するメッセージは、Serving Network から UE への Authentication Request メッセージ (Auth_Req) です。Auth_Req には乱数値 R と認証用の情報を含む AUTN が含まれています。UE は Auth_Req を受け取り次第、データの検証に移ります。検証では、MAC 値から改ざんの有無と、SQN から再送されたメッセージであるか否かを確認します。今回は過去のメッセージをそのまま再送するため、MAC 値の検証は成功しますが、SQN は古い値のままであるため検証は失敗します。その場合、5G AKA の仕様では、UE は AUTS という値を計算し返信することになっています (図 9) 。本件では、この AUTS を利用することで、最終的に SQN を抽出できることが判明しました。
次に、上述の処理から、どのようにして SQN が漏洩するかについて説明します。偽の基地局は AUTS の中から、 を得ますが、 を知らないため、 を抽出することは出来ません。ここで偽の基地局が、ある特定の間隔で UE 側に同じ Auth_Req を何度も再送することを考えます。いずれも過去のメッセージの再送であるため、図 9 の処理が毎回行われることに注意して下さい。 と が毎回同じ値であることにより、偽の基地局が受け取る の は同じ値となっています。 に関しては、その間に正常なセッションが確立されるたびに増加していくため、同じ値であるとは限りません。
ここで例として、2 回の Auth_Req の再送により得た 2 つの AUTS について考えます。1 つ目の AUTS に含まれる SQN を 、2 つ目の AUTS に含まれる SQN を とします。ここで、()と、()の XOR を取ると、以下の値が得られます。
ここまででは、2 つの の XOR の値しか分かっていません。しかし、実はこれらの値を複数集めることで、個々の の値を抽出可能であることが [7] で示されています。
SQN の漏洩による影響
- SQN はセッション毎に値が増加していくため、その増加量を観察することで、加入者毎のトラフィック量を知ることができます。
- TCP/IP に対する攻撃として知られているシーケンス番号予測攻撃といったシーケンス番号を足がかりとした攻撃が 5G-AKA においても行われる可能性があります。
ダウングレード攻撃のおそれ
NSA 型と同様に、SA 型においても能動型の IMSI キャッチャーからのダウングレード攻撃が有効です。仕組みとしては、例えば Registration Reject メッセージを使用して 5G システムへの登録を拒否することで、低世代の通信回線の使用が強制されることになります。
5G ネットワークの問題と企業への提言
本節では、まず 5G ネットワークにおける未解決の問題を挙げ、次にその問題に対する発表者の提言を紹介します。
5G ネットワークにおける未解決の問題
本発表において挙げられている 5G ネットワークにおける未解決の問題について紹介します。
1 つ目が、「5G-AKA の脆弱性」で紹介したように、AKA プロトコルの脆弱性についてです。複数の ID は暗号化されていますが、AKA プロトコルではターゲットを絞ったモバイル加入者のトラッキングが可能な状態です。
2 つ目が、モバイル機器のデータトラフィックの暗号化インジケータが欠如している点です。暗号化インジケータとは、暗号通信がされなくなった際にユーザーへ通知する機能のことです。標準では、PDU22 セッションごとに暗号化インジケータが定義されていますが、どのように使うかは義務付けられていません。また、現在のスマートフォンには、この機能が実装されていないか、あるいは有効化/強要がされていません。
3 つ目が、「ダウングレード攻撃のおそれ」で紹介したように、低世代へのダウングレードの問題についてです。サービスの品質や可用性から対処するのが困難となっています。将来的には、安全でない 2G/3G ネットワークは廃止されると予想されますが、残念なことに、デバイスからそれらの機能を削除できるような機敏さは現状ではありません。
4 つ目が、安全なネットワークを選択するための OEM 向けのガイドラインが無いことについてです。本記事の執筆時点では、5G を選択できる端末はありますが、SA 型と NSA 型を選べるようにはなっていません。また、OEM や事業者側に強制力が無い点についても問題として挙げられます。
通信事業者と OEM に対する提言
発表者により挙げられている、通信事業者及び OEM に対する提言を以下にまとめます。
通信事業者
OEM
- RAN のセキュリティ機能を検証する。
- 例えば、4G ネットワークで非緊急電話時に EIA0 (整合性を確認しないアルゴリズム) を用いたパケットを受信するか
- 4G ネットワークで IMEI25 が漏洩するか
- 2G/3G/4G/5G ネットワーク通話に必須の暗号化インジケータを確認する。
- ユーザーが使用するモード (5G NSA / 5G SA / 4G) を選択可能か確認する。
- RAN のセキュリティ機能を検証する。
まとめ
5G ネットワークは 4G ネットワークからセキュリティに関して大きく改善されましたが、依然として IMSI キャッチャーに対する安全性は不十分です。また、運用ネットワークにセキュリティ機能が不足していることで、大きな脆弱性を生んでしまう恐れもあるため、5G ネットワークの設定の積極的かつ継続的な監視が必要です。
参考文献
[1] NSA 構成と SA 構成の違い
[2] Protecting 5G against IMSI catchers
[3] Fighting IMSI catchers: A look at 5G cellular paging privacy
[4] 5G セキュリティ
[5] 5G Identifiers SUPI and SUCI
[7] New Privacy Threat on 3G, 4G, and Upcoming 5G AKA Protocols
-
International Mobile Subscriber Identity↩
-
Non-Standalone↩
-
Standalone↩
-
Subscription Permanent Identifier↩
-
Mobile Subscriber Identification Number↩
-
Subscription Concealed Identifier↩
-
System Architecture Evolution Temporary Mobile Subscriber Identity↩
-
Inactive Radio Network Temporary Identifier↩
-
Globally Unique Temporary Identifier↩
-
Anti-Bidding down Between Architectures↩
-
Access and Mobility Management Function↩
-
User Equipment↩
-
5G Authentication and Key Agreement↩
-
Random Challenge↩
-
Authentication Token↩
-
Security Anchor Function↩
-
Radio Resource Control↩
-
Mobile Country Code↩
-
Mobile Network Code↩
-
Sequence Number↩
-
Message Authentication Code↩
-
Protocol Data Unit↩
-
evolved Node B↩
-
Radio Access Network↩
-
International Mobile Equipment Identity↩