Ripple20 - 新たなゼロデイ脆弱性により衝撃が走るIoT

Ripple20 - 新たなゼロデイ脆弱性により衝撃が走るIoT

JSOF Research Lab は、何億ものIoT 機器に影響を与える可能性のある 19 のゼロデイ脆弱性を発見した。Ripple20」と総称されるこの脆弱性は、交通システム、電力網、産業機器などを含むエンタープライズおよびコンシューマーグレードの製品に広く組み込まれているTreck TCP/IPスタックに発見された。

製薬、製造、輸送、その他の重要なインフラ組織にとって、これらの脆弱性が特に問題となるのは、2つの側面がある:

  1. その悪用によってもたらされる影響。実際、攻撃者は脆弱なデバイスに不正アクセスし、リモートで任意のコードを実行する可能性がある。
  2. 影響を受ける製品の数が多く、ソフトウェアのサプライチェーンが複雑で追跡されていないため、脆弱性のあるライブラリのすべてのインスタンスを発見し、パッチを適用することが極めて困難であること。脆弱なライブラリは複数の製品に展開されている可能性があり、企業はそれを使用していることに気づかない可能性がある。

Nozomi Networks のお客様には、当社のソリューションが今回確認されたサードパーティ製 品を使っておらず、Ripple20 の脆弱性のリスクはないことをご安心いただきたいと思います。しかし、これらの脆弱性は私たちがサービスを提供する業界にとって非常に重要であるため、私たちの初期分析を共有します。

Ripple20 テクニカル分析と緩和策

19 件の脆弱性すべてに適切なパッチや緩和策を適用する必要がありますが、特に、米国国土安全保障省の CVSSv3 脆弱性深刻度評価基準で高い評価を受けている 4 件については、セキュリティチームが優先的に対応する必要があります。ネットワーク管理者は、提供された緩和策が各ネットワーク構成に適していることも確認する必要がある。早急に対処すべき脆弱性は以下の4つである:

CVE-2020-11896

  • 説明この脆弱性は、オープンな UDP ポートを経由して脆弱なデバイスに到達できる攻撃者によって、リモートでコードが実行される可能性があります。脆弱性の詳細とその悪用方法については、一般に公開されている論文で詳しく説明されています。
  • 対策IP-in-IPトンネリング(IPプロトコル番号4)を無効にする。
  • CVSSv3: 10

CVE-2020-11897

  • 説明攻撃者が脆弱なデバイスに複数の不正な IPv6 パケットを送信することで、リモートでコードが実行される。
  • 対策IPv6ソースルーティングを含むIPソースルーティングを無効にする。
  • CVSSv3: 10

CVE-2020-11898

  • 説明攻撃者は、脆弱性のあるデバイスからヒープメモリをリークさせ、それを使って ALSR などのエクスプロイト緩和策をバイパスすることができる。脆弱性の詳細とその悪用戦略は、一般に公開されている論文で詳細に説明されている。
  • 対策IP-in-IPトンネリング(IPプロトコル番号4)を無効にする。
  • CVSSv3: 9.1

CVE-2020-11901

  • 説明脆弱なデバイスによって開始された単一の DNS リクエストに応答できる攻撃者によって引き起こされるリモートコード実行。JSOF の研究者により、シュナイダーエレクトリックの APC UPS を標的とした非公開の概念実証が開発されました。
  • 対策DNSディープパケットインスペクション、または安全なDNS再帰サーバーを使用して、DNS応答を正常化する。
  • CVSSv3: 9

Ripple20 脆弱性の影響と緩和策のまとめ

以下の表は、Ripple20 に含まれる全ての脆弱性の要約です。いくつかの CVE の技術的な詳細は、広範囲に渡って文書化されていないため、部分的なものと考えていますが、関連する CVSSv3 スコアを考慮すると、セキュリティへの影響は限定的であると思われます。Nozomi Networks Labs チームは、より詳細な情報が入手可能になり次第、このリファレンスを更新します。

以下に示すデータは、JSOF と CERT コーディネーションセンターから公開されている資料から、Ripple20 のまとまった概要を提供することを目的として編集されたものである。脆弱性がライブラリの異なるバージョンにどのような影響を与えたかを見ることで、発見された問題の追跡とパッチ適用に関わったすべての人々の多大な努力に感謝することができます。

CVE-2020-XXXXX CVSS v3 最初のパッチ・バージョン 説明 インパクト 緩和
11896 10 6.0.1.66、リリース:2020/03/30 IPv4/UDPにおけるlengthパラメータの不一致の不適切な処理  リモートコード実行 IPフラグメントパケットまたはIPトンネリング内のIPを無効化またはブロックする。
11897 10 5.0.1.35、2009年04月06日リリース IPv6におけるlengthパラメータの不一致の不適切な処理 リモートコード実行 IPv6ソースルーティング - RFC-5095で非推奨となったルーティングヘッダタイプ0を含む、様々なIPソースルーティングをブロックすることで軽減できる。
11898 9.1 6.0.1.66、リリース:2020年03月03日 IPv4/ICMPv4コンポーネントにおけるlengthパラメータの不一致の不適切な処理 機密情報の漏洩の可能性 IPトンネリングでIPを無効にするかブロックする。
11899 5.4 6.0.1.66、03/03/20リリース IPv6コンポーネントにおける不適切な入力検証 アウトオブバウンズリード / DoS  マルチキャスト宛先ff00::/8宛のIPv6パケットをドロップする。
11900 8.2 6.0.1.41、2014/10/15リリース IPv4トンネリングのダブルフリー  無料期間終了後に使用可能  IPトンネリングでIPを無効にするかブロックする。
11901  9.0 6.0.1.66、リリース:2020年03月03日 DNSリゾルバコンポーネントにおける不適切な入力検証 リモートコード実行 DNSディープ・パケット・インスペクション、または安全なDNS再帰サーバーを使用して、DNS応答を正規化する。
11902 7.3 6.0.1.66、03/03/20リリース IPv6 over IPv4トンネリングにおける不適切な入力検証 機密情報の漏洩の可能性(Out-of-bounds read)  IPv6 over IPv4トンネリングを無効にする。
11903  5.3  6.0.1.28、2012年10月10日リリース DHCPコンポーネントの境界外読み取り 機密情報の漏洩の可能性(Out-of-bounds read)  DHCPクライアントを無効にし、DHCPリレー・オプション(RFC3046)が有効になっていないことを確認し、ローカル・エリア・ネットワーク・スイッチにDHCP-snoopingなどの機能を持たせ、ターゲット・デバイスでDHCPが乱用されるリスクを減らす。
11904 5.6  6.0.1.66、リリース:2020年03月03日 ネットワークパケットを処理する際のメモリアロケータの整数オーバーフロー 境界外書き込みの可能性
11905 5.3 6.0.1.66、リリース:2020年03月03日 DHCPv6コンポーネントでの境界外読み取り  機密情報の漏洩の可能性(アウトオブバウンズリード)  DHCPv6クライアントを無効にし、DHCPリレーオプション(RFC3046)が有効になっていないことを確認し、ローカルエリアネットワークスイッチにDHCP-snoopingなどの機能を持たせ、ターゲットデバイスでDHCPが乱用されるリスクを減らす。
11906 5.0 6.0.1.66、リリース:2020年03月03日 イーサネット・リンク・レイヤー・コンポーネントにおける不適切な入力検証 整数のアンダーフロー 適切なOSIレイヤー2機器は、不正なフレームを破棄すべきである。
11907 5.0 6.0.1.66、リリース:2020年03月03日 TCP コンポーネントにおける length パラメータの不一致の不適切な処理により、整数のアンダーフローが発生する。 整数のアンダーフロー IPフラグメントパケットを無効にするかブロックする。
11908 3.1 4.7.1.27、11/08/07リリース DHCPコンポーネントの不適切なNULL終端 機密情報の漏洩の可能性 不正なDHCPサーバーをブロックする。
11909 3.7 6.0.1.66、リリース:2020年03月03日 IPv4コンポーネントにおける不適切な入力検証 整数のアンダーフロー IPv4ソースルーティングをブロックする。
11910 3.7 6.0.1.66、リリース:2020年03月03日 ICMPv4コンポーネントにおける不適切な入力検証 アウトオブバウンズリード タイプ3、コード4のICMPメッセージをブロックする。
11911 3.7 6.0.1.66、リリース:2020年03月03日 影響を受ける製品には不適切なアクセス制御の脆弱性があり、攻撃者が特定の設定値を変更できる可能性があります。 アウトオブバウンズリード タイプ18、コード0のICMPメッセージをブロックする。
11912 3.7 6.0.1.66、リリース:2020年03月03日 TCPコンポーネントの不適切な入力検証 アウトオブバウンズリード TCPのSACK(Select acknowledgement)とTCPのタイムスタンプオプションを検査し、不正なパケットを拒否するファイアウォールデバイスやNATデバイスによって軽減できる。
11913 3.7 6.0.1.66、リリース:2020年03月03日 IPv6コンポーネントにおける不適切な入力検証 アウトオブバウンズリード ラントやその他の不正なイーサネット・フレームを拒否する。
11914 3.1 6.0.1.66、リリース:2020年03月03日 ARPコンポーネントの不適切な入力検証 アウトオブバウンズリード ラントやその他の不正なイーサネット・フレームを拒否する。

上の表は、各脆弱性に対して具体的な緩和策を提案しているが、より一般的な戦略は、間違いなくリスクの抑制に役立つ。例えば、インフラ運用者は、インターネットにアクセスできる組み込みデバイスの数を最小限に抑えるべきである。これは、本質的なリスクをもたらすからである。OT ネットワークは適切に分離され、外部から到達できないようにすべきである。ファイアウォールを使用して、不正なソースから発信されるICMP、TCP、DNS、DHCP、ARPトラフィックをブロックすべきである。

Ripple20脆弱性の影響を受けるベンダー

影響を受けるベンダーや製品のより完全なリストは、新たな情報が入り次第、公開されると思われるが、JSOFは、いくつかの国のコンピュータ緊急対応チーム(CERT)の協力を得て、脆弱なライブラリを自社製品に組み込んでいると思われる企業にすでに連絡を取っている。多くのベンダーが緊急にアップデートに取り組んでいることを考慮し、関係する組織は、導入している製品のセキュリティ勧告を参照することを推奨する。

本稿執筆時点で、以下のベンダーが影響を受けることが確認されている:

OT を守るには?IoT Networks

Nozomi Networks ラボは現在、Ripple20 の脆弱性に関連する技術データを分析しており、より多くの情報が入手可能になり次第、Threat Intelligence サービスで利用可能な検出範囲を拡大する予定です。

ネットワーク運用者は、管理しているネットワークに脆弱なデバイスが含まれているかどうかを判断する必要がある。また、各構成に固有の要件を考慮し、セキュリティ・アップデートがまだ提供されていない場合に、提案されている緩和策を導入することを検討すべきである。

参考文献