サイバー脅威
ユーザ端末から5G通信インフラが攻撃されるリスク:5GコアのASN.1に潜む脆弱性
オープンソースの5Gコア「free5gc」の脆弱性「CVE-2022-43677」が攻撃者に悪用されることで、5G通信インフラに対してユーザデータに扮した制御メッセージが送信され、制御プレーン側への侵入やDoS攻撃を引き起こすリスクについて解説します。
5G通信インフラを扱う当シリーズの第一回目では、GTP-U(ユーザプレーンのGPRSトンネリングプロトコル)トンネルが攻撃者に不正利用されるリスクについて解説しました。具体的には、GTP-Uヘッダを二重に付加した特殊なパケットがユーザ端末から送信され、コアネットワークに障害が発生するケースを取り上げました。シリーズ第二回目にあたる本稿では、ユーザ通信データに扮した制御メッセージが攻撃者によって送信され、ユーザプレーンを越えて制御プレーン側に侵入されるリスクについて解説します。さらに本攻撃の影響として、5G技術を用いる各種業務に支障が生じ、金銭的損失や信用低下が引き起こされる他、基幹インフラが障害に陥る可能性について分析します。
5G技術とプライベート5G
5Gは、1G、2G、3G、4Gネットワークに続く第5世代の無線通信技術です。その特徴を語る上では、機能性のみに留まらず、特にプライベート無線ネットワークに対する影響の大きさが、重要な意味を持ちます。5G技術が急浮上した時期は、さまざまな業界でプライベートネットワークに対する要望が強まった時期と一致します。具体的には、5Gの主要な強みである幅広い周波数帯域の選択肢、機能の強化、セキュリティの向上などが挙げられます。
プライベートネットワークの普及を受けて、5Gコアなどの各種ネットワーク要素を扱うソリューションのベンダーが新たに続々と登場しました。従来から無線技術(CT:Cellular Technology)を自身で開発、保有してきたベンダーと異なり、これら新規ベンダーは、ソリューションを自前で一から開発するか、または既存のオープンソース・プロジェクトを利用することになります。しかし、従来から実績を示してきたベンダーのソリューションに比べると、新手のソリューションは成熟性や堅牢性の面で及ばないことが多く、両者の間には依然として隔壁が存在します。
5Gの制御プレーン:N1/N2インターフェース
N2インターフェースは、基地局(gNodeBまたはgNB)と5Gコア間における制御メッセージのやり取りに使用されます。N2インターフェースに面している5Gコアのコンポーネントとして、特に「AMF(Access and Mobility Management Function:アクセスと端末移動の管理機能)」が挙げられます。
一方、N1インターフェースは、ユーザ機器(UE:User Equipment)とAMFを透過的に繋ぐインターフェースです。ここで言う「透過的」とは、UEがAMFと直接繋がるわけではなく、gNBがN1メッセージを中継し、先述のN2インターフェースに乗せてAMF側に届けることを意味します。
N1およびN2インターフェースで使用される上層プロトコルを特にNGAP(Next Generation Application Protocol)と呼び、その仕様は「3GPP TS 38.413」に定義されています。N2において、NGAPは通信プロトコル「SCTP/IP(Stream Control Transmission Protocol / IP)」に受け継がれます。また、NGAPのメッセージは、「ANS.1(Abstract Syntax Notation One)」と呼ばれる記法でシリアライズ化された状態で送信されます。
ASN.1がサポートするエンコードタイプとして、BER(Basic Encoding Rules)、PER(Packet Encoding Rules)、APER(Aligned PER)が挙げられます。このうちBERは、下図のように「TLV(Type:タイプ、Length:長さ、Value:値)」の形式に従います。
「長さ」の指定がないタイプについては、コンテンツ終端識別子(End of Content Octet)が付加されます。
PERもBERと同様の形式に従いますが、データのタイプが既知または固定の場合、「タイプ」や「長さ」は送信されません。APERはPERと同様ですが、受信側での処理を効率化するため、データ区切りがバイト単位で設けられます。最後に、NGAPではAPERが採用されています。
APERは一見するとシンプルな表現形式のように思われますが、「タイプ」、「長さ」、「値」といったフィールド間の整合性や、それらがネスト化された状況まで考慮すると、急激に複雑さが増すでしょう。その典型例として、図1の「長さ」が、実際に指定されている「値」の長さ(データサイズ)に一致しない場合に何が起きるのか、といった問題が挙げられます。
これまでにもASN.1のデコーダは、不正なデータの扱いに関する問題に直面してきました。直近の2年分だけでも、OpenSSLを含むさまざまな製品から、ASN.1デコーダの脆弱性が少なくとも12件発見されています。
NGAPのメッセージ
5Gコアのベンダーに応じて、NGAPに適用するASN.1デコーダの実装は異なります。オープンソースのデコーダが用いられる場合もあれば、ベンダー固有のデコーダが用いられる場合もあります。今回は、複数の商用製品やオープンソースのフリー製品を分析し、NGAPデコーダの部分に脆弱性が存在するかをチェックしました。その結果、商用製品とオープンソース・フリー製品の双方から数百にも及ぶ脆弱性が特定されましたが、これは驚くべきことではありません。今回はその一例として、オープンソースによるフリーの5Gコア「free5gc」に潜んでいた脆弱性について解説します。
NGAPのメッセージをパケットキャプチャツール「Wireshark」で解析した結果を図2に示します。これは、UEが自身をAMFに登録するために送信する「initialUE」のメッセージに該当し、5つのIE(Information Element:情報要素)をItem 0~Item 4として含んでいます。このうち、「NAS-PDU」に相当するItem 1を例にとって解説します。
最初の2バイト(0x0026)はIEの識別子に相当し、NAS-PDUを指しています。後続バイトとして、重大性(0x00)や「長さ(0x26)」が含まれます。これに続く0x7eから始まる箇所が「値」に相当し、直前の指定通り、その長さは0x26バイト分となります。
次に、不正なメッセージの例を図3に示します。
このメッセージには、下記の問題点が含まれています。
- プロシージャコード「0x0028」は、本メッセージが「UEContextModification」であることを示す。当該メッセージは本来AMFからgNB宛てに送信されるが、この例では、gNBからAMF宛てに送信されている。
- プロシージャコード後の「長さ」に対応するデータを見ると、本メッセージ全体の長さは0x30と判断できる。後続のバイト列「0x3030 = 12,336」は、先述したItem 0、Item 1などに相当するIEの個数を示すが、ここでは不正な数値がランダム指定されている。これを実際にデコードしても、意味のある正しいデータは得られない。例えば、ネストされたIEの「長さ」として0x30となっているが、当該IEを包含するメッセージ全体の長さが0x30しかないため、これは明らかに不整合である。
先述のfree5gcがこの異常なパケットを受信すると、AMFがクラッシュします。この脆弱性が「CVE-2022-43677」であり、2023年5月にfree5gcの修正パッチがリリースされました。
修正内容から判断すると、NGAPの解析(パース)処理において、当該の問題が対処されたように見えます。しかし、調査の結果、さらに別の問題が発見されました。ここでは、UEから通常の経路でパケットを送信(ベースバンド・モデムへのアクセスを必要としない)した際に、AMFがクラッシュしました。
NGAPは制御プレーン(シグナリング)用のプロトコルであり、SCTPのポート38412で動作します。一方、GTP-Uはユーザデータのカプセル化プロトコルであり、UDPのポート2152で動作します。UEから見た場合、ベースバンドモデムによって制御プレーンとのシグナリングが行われます。
通常、ユーザはベースバンドモデムにアクセスできません。ユーザプレーンの通信データ(ユーザ側から送られるブラウザ閲覧やストリーミングのデータ)は、GTP-Uトンネルを通ってユーザプレーン機能(UPF:User Plane Function)に送られます。5Gでは、制御プレーンとユーザプレーンを分離する機構(CUPS:Control Plane User Plane Separation)が存在します。これにより、UPFとAMFは切り離され、それぞれ別のIPアドレス上で、独立したネットワーク機能を実行します。通常ユーザにはネットワークインフラへのアクセス権がありません。そのため、ユーザデータが制御プレーン側に届くとしたら、それはセキュリティリスクと見なせるでしょう。
本調査では、UEのアプリケーション層から、AMFに向けてSCTP接続を確立できることが分かりました。このSCTP接続により、不正なNGAPのペイロードを送りつけることが可能となります。5Gコア側から見ると、当該パケットは、GTP-Uでカプセル化されたNGAPとして映ります。最終的に、このNGAPメッセージを受け取ったAMFはクラッシュしました。
ここで最も懸念すべき脆弱性は、ユーザプレーン用メッセージのルーティングにあります。これにより、意図的に不正な制御用メッセージをAMFに送ることが可能となっています。なお、攻撃者は事前にAMFのIPアドレスを知っている必要があります。これについて、今回の調査では、ユーザプレーン経由のSCTPスキャンによって可能であることが分かりました。
本調査は、free5gcの全機能を一体化した仮想マシン上で行いました。コンテナ化されたバージョンでは、ルーティングのセットアップが異なる点についてご留意ください。
攻撃経路
今回のテストにおける攻撃経路は、ユーザ機器から送信されるユーザデータであり、制御プレーンとユーザプレーンが適切に分離されていない状況を突いたものです。
ここでの課題として、下記2点が挙げられます。
- ASN.1の解析処理が堅牢に設計されていなかった
- 制御プレーンとユーザプレーンが適切に分離されていなかった
第一の課題は、コーディングに関連している可能性があります。これは、制御プレーンのメッセージを解析するASN.1デコーダが複雑化する結果、不正なメッセージに対する脆弱性が発生しやすくなるためです。
第二の課題は、アーキテクチャに起因するものです。ユーザデータによる制御プレーン内部への侵入を許した結果、より重大な事象に発展する可能性があります。
仮に制御プレーンとユーザプレーンが適切に分離されている場合でも、攻撃者はUEから不正なN1メッセージを送ることで、意図的に障害を引き起こせる可能性はあります。この場合、UE側で制御メッセージを加工できることが前提になりますが、そのような機能を持つオープンソース・ソリューション(srsUEなど)がすでに存在します。
ビジネスへの影響
free5GCは、オープンソースによる5Gコアのプロジェクトとして高い評判を得ています。そして、このfree5GCが一部の主要なコアネットワークベンダーを通してプライベート5Gマーケットや通信事業向けに販売されています。実際に、こうした5Gネットワーク製品が、アジアやヨーロッパの国家防衛組織に導入されているケースもあります。
脆弱性「CVE-2022-43677」は、free5gcによるCUPSの弱点を突くものであり、ユーザ通信データを利用して制御プレーンをサービス拒否状態(DoS:Denial of Service)に陥らせます。5Gコアに対するDoS攻撃は、ネットワーク全体の通信不具合に繋がる場合があります。これが防衛、警察、採掘、交通制御などの重要部門で発生すると、重大な結果を招く恐れもあります。また、リアルタイムセンサーによる製造を行っている工場などの場合、通信不具合によって欠陥製品が産出されるケースも考えられます。
推奨事項と知見
本稿で挙げた通信技術の利用者向けに、推奨されるベストプラクティスを下記に示します。
- アクセスコントロール:信頼できる機器に対してのみ、ネットワークへのアクセス権を付与する。SIMカードの登録と利用は、厳正なルールと管理に基づいて行う。
- 制御プレーンとユーザプレーンの明確な分離:コアネットワーク内の両プレーンを的確に分離することで、ユーザデータのパケットが制御プレーン側に入り込む事態を防止できる。
- 適切な管理のもとでオープンソースを利用:重要なインフラ用ノードをオープンソースソフトウェアで構築する場合、不具合があればその修正パッチを迅速に適用し、機能不全を回避することが求められる。また、担当者はソフトウェアのコードを十分に理解する他、専用サポートを受けることも強く推奨される。
- 無線技術に対応したDPIソリューションやファイアウォールを導入:基幹インフラ用ノードを頻繁にアップデートすることは、サービスへの影響が大きくなるため、容易ではない。対策としては、コアネットワーク専用の仮想パッチが特に有効である。N2については不正なNGAPメッセージを検知、N3ではGTP-Uトンネルの不正利用(GTP-Uでカプセル化されたNGAP、GTP-Uでカプセル化されたGTP-U)を監視する。
トレンドマイクロでは、ITとCT(通信技術)双方のセキュリティや可視性を統合的に実現できる多層構成のセキュリティソリューションを推奨します。例えば、企業や基幹産業においては、CTOneによって強化された「Trend Micro™ Mobile Network Security」のようなゼロトラスト・ソリューションを導入することで、プライベートネットワークの不正利用を阻止し、セキュリティ上の階層を新たに追加することが可能です。さらに、SIMカードの利用を承認済みの機器に限定することで、継続的で安定した産業のエコシステムが確立されます。その他、「Trend Mobile Network Security」も、統一的な可視性や管理用のコンソールを提供することで、CTやITのセキュリティ向上に貢献します。
参考記事:
Attacks on 5G Infrastructure From User Devices: ASN.1 Vulnerabilities in 5G Cores
By: Salim S.I.
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)