脅威に関する情報: Windows IPv4およびIPv6スタックの脆弱性(CVE-2021-24074 CVE-2021-24086 CVE-2021-24094)

Threat brief conceptual image, covering analysis and mitigations of vulnerabilities such as CVE-2021-24074, CVE-2021-24086 and CVE-2021-24094

This post is also available in: English (英語)

概要

Microsoftは、2021年2月のセキュリティ更新プログラムで、56件の公開済み脆弱性に対するパッチをリリースしました。

CVE-2021-24086にはCommon Vulnerability Scoring System(CVSS)スコアで7.5/6.5、Microsoftから「重要(Important)」のセキュリティ評価が与えられています。

CVE-2021-24094、CVE-2021-24074には、9.8/8.4のCVSSスコアとMicrosoftからの「重大(Critical)」のセキュリティ評価が与えられています。

CVE-2021-24086、CVE-2021-24094の概要

攻撃者が細工した多数のIPv6パケット(複数のヘッダ、無効なヘッダ、複数のフラグメントヘッダなど)を送信することでサービス拒否(DoS)エラーが発生する可能性があります。パロアルトネットワークスの次世代ファイアウォールをご利用中のお客様は、PAN-OS によりこれら悪意のあるパケットをブロックし、攻撃を緩和することができます。

パロアルトネットワークスの次世代ファイアウォールをお使いのお客様で、IPv6ファイアウォールを有効にしている場合、これら2つの脆弱性に対してすでに保護されています。IPv6ファイアウォールを有効にするには、管理画面で [Device]、[セットアップ]、[セッション]の順に開き、[IPv6 ファイアウォール設定] チェックボックスを有効にして変更をコミットします。IPv6ファイアウォールの詳細については、ナレッジベース「How to Enable and Disable IPv6 Firewalling(IPv6ファイアウォールを有効または無効にする方法)」を確認してください。

このスクリーンショットは、IPv6ファイアウォールを有効にしてCVE-2021-24086などを緩和するためのセッションの設定を示しています。画像の下部にあるチェックボックスに注意してください。
図1 [IPv6ファイアウォール設定]の有効化
パロアルトネットワークス次世代ファイアウォールをご利用のお客様は、コマンドDoS攻撃中のパケット ドロップに関する詳細を、コマンド show counter global filter delta yes | match flow_parse_ip6 で確認できます。このコマンドを実行すると、最後にこのコマンドが実行されて以降にドロップされたIPv6パケットを確認することができます。

たとえば、以下は、ファイアウォールに対して細工されたIPv6パケットを使用してDoS攻撃を実行した後のコマンドの出力です。ここでは、切り捨てられたパケットが原因で90個のIPv6パケットがドロップされており、無効なヘッダ位置が原因で6個のパケットがドロップされており、IPv6パケットに複数存在するフラグメントヘッダが原因で1個のパケットがドロップされたことが示されています。

CVE-2021-24074の概要

攻撃者がこの脆弱性を悪用し、悪意のあるIPv4パケットを作成して標的システムに送信することにより、対象となったシステムへのリモートコード実行(RCE)を引き起こす可能性があります。

この脆弱性は、2つのフラグメント間で混同されたIPv4オプション フィールドが原因で発生します。Microsoftが指摘したシナリオでは、2つのIPv4フラグメントが示されています。最初のフラグメントが[Security Options](Type 130)フィールドを持ち、その後に続く2つ目のフラグメントに[Loose Source and Record Route(LSRR)]オプション(Type 131)か[Strict Source and Record Route](Type 137)オプションがあるケースです。フラグメント オフセットはオプションとヘッダ データを混同していっしょにしてしまい、IPフラグメントの再構築中、範囲外の読み取りと書き込みを引き起こしてWindowsマシンにリモートコード実行の可能性をもたらします。

次世代ファイアウォールでの緩和策(CVE-2021-24074)

パロアルトネットワークスの次世代ファイアウォールをご利用中のお客様で、PAN-OSのバージョンが8.1またはそれ以上をお使いの場合、[Network]、[ゾーン]で設定する[ゾーン プロテクション プロファイル]により、CVE-2021-24074関連の攻撃から保護することができます。そのためには、IPドロップの設定で、[異常な形式]、[ストリクト ソース ルーティング]、[ルーズ ソース ルーティング]の各 IP オプションを有効にしてドロップするように設定します。

なおパロアルトネットワークスでは、IPプロトコルのベストプラクティスとして、[異常な形式]のパケットのドロップや、[ストリクト ソース ルーティング]、[ルーズ ソース ルーティング]オプションのついたパケットをドロップする設定を有効化することを推奨していることにご注意ください。これは、[ストリクト ソース ルーティング]、[ルーズ ソース ルーティング]などのIPオプションをもつパケットを許可してしまうと、攻撃者が宛先IPアドレスを一致条件とするセキュリティポリシー ルールをバイパスできるようになるためです。これらのオプションの詳細については、TechDocsの記事「Packet-Based Attack Protection(パケット ベースの攻撃保護)」を確認してください。

Configure Packet Based Attack Protection(パケット ベースの攻撃保護を構成する)」のページには、IPオプションを使用して特定のパケットをドロップするようにゾーン プロテクション プロファイルを構成する手順が含まれています。

以下のオプションでIPパケットをドロップするようゾーンプロテクションを構成してください。

手順1: ゾーン プロテクション プロファイルを作成し、パケット ベースの攻撃保護の設定を行います。

  1. [Network]、[ネットワーク プロファイル]、[ゾーン プロテクション]の順に選択し、[追加]で新しいプロファイルを追加します。
  2. プロファイルの[名前]とオプションの[内容]を入力します。
  3. [パケット ベースの攻撃保護]を選択します。
  4. [IPドロップ]タブで、[パケット ベースの攻撃保護]設定を選択し、[IP オプションのドロップ]以下にある[異常な形式]、[ストリクト ソース ルーティング][ルーズ ソース ルーティング]オプションにチェックを入れます。
  5. OKをクリックします。

    次世代ファイアウォールでCVE-2021-24074を緩和するために、このスクリーンショットに示すようにゾーン プロテクション プロファイルを構成できます。IPオプションのドロップの選択に注意してください
    図2 IPドロップのオプションを使用したゾーン プロテクション プロファイルの構成

手順2: 保護対象のインターフェイスに割り当てられているセキュリティ ゾーンにゾーン プロテクション プロファイルを適用します。

  1. [Network]、[ゾーン]の順に選択し、ゾーン プロテクション プロファイルを割り当てるゾーンを選択します。
  2. そのゾーンに属するインターフェイス追加します。
  3. ゾーン プロテクション プロファイルに対し、さきほど作成したプロファイルを選択します。
  4. OKをクリックします。
このスクリーンショットは、CVE-2021-24074を緩和するために、ゾーンを構成し、ゾーン プロテクション プロファイルを選択する方法を示しています。選択内容に注意してください
図3 ゾーンを構成してゾーン プロテクション プロファイルを選択

手順3: 変更をコミットします。

手順4: (PAN-OS 8.1.2以降)ファイアウォールが攻撃の脅威ログを生成できるようにします。また、対応するパケット ベースの攻撃保護を有効にした場合(手順1)、上記の種類のパケットの脅威ログも生成するようにします。たとえば、ルーズ ソース ルーティングのパケット ベースの攻撃保護を有効にした場合、次のコマンドライン インターフェイス(CLI)を使用しておくと、ファイアウォールがLSRRオプションつきパケットの受信・ドロップを行ったさい、その脅威ログが生成されます。お客様でのトラブルシューティングにこのオプションを利用できます。

  1. CLIにアクセスします。
  2. オペレーションCLIコマンドの set system setting additional-threat-log on を使用します。デフォルトは off です。

この例は、次世代ファイアウォールのUIに脅威ログがどのように表示されるかを示しています。これらは、[異常な形式] のIPオプションの脅威ログです。
図4 [異常な形式] IPオプションの脅威ログ
脅威ログは、図4に示すように、管理画面から確認することもできます。

また別の方法として、パロアルトネットワークスの次世代ファイアウォールをご利用のお客様は、flow_dos_pf_badoption、flow_dos_pf_strictsource、flow_dos_pf_strictsourceフローのカウンタを使って、ゾーン プロテクションに起因するIPv4パケットのドロップの詳細を確認することもできます。

たとえば、コマンド show counter global filter delta yes | match flow_dos_pf_badoption で、このコマンドが最後に発行されて以降にドロップされたIPv4パケットを表示できます。

CVE-2021-24074については、[異常な形式] のゾーン プロテクション IP ドロップ オプションが有効になっている場合、後続パケットに対して[ストリクト ソース ルーティング]、[ルーズ ソース ルーティング]オプションがトリガーされるような形式に異常のあるパケットはドロップされます。ルーズ ソース ルーティング、ストリクト ソース ルーティング オプションがついた後続IPパケットは、内部ファイアウォールのパケット フィルタリングによりファイアウォールに送信されません。IPv4のソース ルーティングは安全でないと見なされるため、「ルーズ ソース ルーティング」および「ストリクト ソース ルーティング」ゾーン プロテクション IP ドロップ オプションが有効になっている場合、ソース ルーティング オプションのついた他のIPv4パケットはドロップされます。

CVE-2021-24074、CVE-2021-24086、CVE-2021-24094に対するCortex XDRの緩和策

パロアルトネットワークス Cortex XDR エージェントのバージョン7.1以降をご利用のお客様の場合、2021年2月10日以降、Windows Updateがインストールされるまで、セキュリティ更新プログラムが適用されていないエンドポイントをこれらの脆弱性から保護するよう、エージェントを使ってシステム設定を変更することができます。

この回避策は、エンドポイントのエクスプロイト セキュリティ プロファイルを介して管理され、最新のコンテンツ更新が必要です。既存のProfileを編集するか、新しいProfileを作成し、必要に応じて回避策を含めることができます。

[Unpatched Vulnerabilities Protection(パッチが適用されていない脆弱性の保護)]セクション以下で次のオプションのいずれかを選択して、CVE-2021-24074、CVE-2021-24086、CVE-2021-24094の回避策の設定を定義します。

  • Do not modify system settings (デフォルト): 現在の値がご自身で設定された値であるか、回避策の一環として変更された値であるかにかかわらず、エンドポイントに現在設定されているIPv4、IPv6設定を変更しません。
  • Modify system settings until the endpoint is patched: Cortex XDR エージェントはエンドポイント上で次のコマンドを実行することにより、エンドポイントにセキュリティ更新プログラムが適用されるまでの間、一時的にIPv4、IPv6の設定を変更します。エンドポイントに更新プログラムが適用された後、変更されたすべてのWindowsシステム設定は、変更前の値に自動的に戻されます。パロアルトネットワークスでは、ネットワークにこの回避策を適用する前に、これらのコマンドを確認し、ビジネスクリティカルなコンポーネントが影響や損害を受けることのないようにすることを強くお勧めします。
    1. エンドポイントでIPv6フラグメンテーションを無効にする: netsh int ipv6 set global reassemblylimit=0
    2. IPv4のルーズ ソース ルーティングを無効にする: netsh int ipv4 set global sourceroutingbehavior=drop
  • Revert system settings to your previous settings: エンドポイントにセキュリティ更新プログラムを適用済みかどうかにかかわらず、すべてのWindowsシステム設定を、回避策の一環として変更が行われる前の元の値に戻します。

Cortex XDR エージェントのインターフェイスのUnpatched Vulnerabilities Protectionセクションでは、本文で説明されているように、CVE-2021-24074、CVE 2021-24086、およびCVE-2021-24094の回避策設定を定義できます。

ベストプラクティスに関する注意: すべてのWindowsエンドポイントについて、パロアルトネットワークスでは、これらの脆弱性を修正する最新のWindows Updateを適用することを強くお勧めします。

詳細については、Cortex XDR Prevent Administrator Guide (Cortex XDR Prevent 管理者ガイド)を参照します。

結論

パロアルトネットワークスは、Microsoft Active Protection Program (MAPP)のパートナーであるため、本脆弱性に関する詳細を早期に受け取っています。これにより脅威についてより深く理解し、そこから得られた知見を製品の保護強化に活かしています。お客様におかれましては通常通り、お使いのMicrosoft製品には常に更新を適用して最新に保ち、本脆弱性から受ける影響を緩和するようにしてください。

パロアルトネットワークスは、新しい情報や推奨事項が利用可能になり次第、本稿を更新します。

追加資料

Windows TCP/IP Remote Code Execution Vulnerability, CVE-2021-24074

Windows TCP/IP Denial of Service Vulnerability, CVE-2021-24086

Windows TCP/IP Remote Code Execution Vulnerability, CVE-2021-24094

February 2021 Security Updates from Microsoft

Packet-Based Attack Protection(パケット ベースの攻撃保護)

Configure Packet Based Attack Protection(パケット ベースの攻撃保護を構成する)