マイクロソフトは、個人情報の盗難やシステム全体の侵害につながる可能性のある新しい NETGEAR ファームウェアの脆弱性を発見しました

news

セキュリティ ソリューションの継続的な改善により、攻撃者はシステムを侵害する別の方法を模索することを余儀なくされています。 VPN デバイスやその他のインターネットに接続されたシステムを介したファームウェア攻撃やランサムウェア攻撃増加は、オペレーティング システム レイヤーの外側およびその下で開始される攻撃の例です。この種の攻撃がより一般的になるにつれて、ユーザーはルーターなど、ハードウェアを実行する単一目的のソフトウェアでさえも保護する必要があります。最近、NETGEAR DGN-2200v1 シリーズ ルーターに、ネットワークのセキュリティを侵害する可能性のある脆弱性が発見されました。これにより、攻撃者が組織全体を自由に歩き回れるようになります。

Microsoft Defender for Endpoint の新しいデバイス検出機能でデバイスのフィンガープリントを調査しているときに、脆弱性を発見しました。非常に奇妙な動作に気付きました。非 IT 担当者が所有するデバイスが、NETGEAR DGN-2200v1 ルーターの管理ポートにアクセスしようとしていました。通信は機械学習モデルによって異常であるとフラグが付けられましたが、通信自体は顧客のプライバシーを保護するために TLS で暗号化され、非公開であったため、ルーターに注目し、攻撃シナリオで悪用される可能性のあるセキュリティ上の弱点を示すかどうかを調査することにしました。 .

私たちの調査では、ルーターのファームウェアを解凍し、確実に悪用できる 3 つの脆弱性を発見しました。 Microsoft Security Vulnerability Research ( MSVR ) を介して調整された脆弱性開示を通じて調査結果を NETGEAR と共有し、NETGEAR のセキュリティおよびエンジニアリング チームと緊密に連携して、下位互換性を維持しながらこれらの問題を軽減するためのアドバイスを提供しました。重大なセキュリティ問題 (CVSS スコア: 7.1 – 9.4 のもの) は、NETGEAR によって修正されました。 DGN2200v1 の複数の HTTPd 認証の脆弱性に関する NETGEAR のセキュリティ アドバイザリを参照してください。

IoT を含むあらゆる種類のプラットフォームとデバイスを保護することの重要性を強調するために、調査結果の詳細をより広いコミュニティと共有し、クロスドメインの可視性が新しい未知の脅威を発見してセキュリティを継続的に改善するのにどのように役立つかを強調しています。

ファームウェアの入手と解凍

ファームウェアはベンダーのWeb サイトから入手できるため、調査用のコピーを簡単に入手できました。これは、リリース ノート (.html) とファームウェア イメージ自体 (.chk ファイル) を含む単純な .zip ファイルです。 .chk ファイルでbinwalkを実行すると、ファイルシステム ( squash-fs ) が抽出されました。

ファームウェアからのファイルシステムの抽出を示すコマンドラインのスクリーンショット

図 1. ファームウェアからのファイルシステムの抽出

ファイルシステム自体は、標準の Linux ルート ファイルシステムにいくつかのマイナーな追加が加えられています。私たちの研究に関連するものは次のとおりです。

  1. /www – html ページと .gif 画像が含まれます
  2. /usr/sbin – HTTPd、FTPC など、NETGEAR によるさまざまなカスタム バイナリが含まれています。

異常な通信が HTTPd が提供する標準ポートを使用していることを確認したため、HTTPd に焦点を当てました。 HTTPd 自体は、32 ビットのビッグエンディアン MIPS ELF であり、uClibc (組み込みデバイス用の標準 libc) に対してコンパイルされ、削除されています。サーバー側のロジック (CGI) 全体が HTTPd にコンパイルされたようです。

HTTPd 情報を表示するコマンドラインのスクリーンショット

図 2. いくつかの記号を含む HTTPd 情報

探検

組み込み Web サービスを探索するとき、頭に浮かぶ最初のいくつかの質問は次のとおりです。

  1. Web サービスは認証なしでいくつかのページを表示しますか?もしそうなら、彼らはどのように管理されていますか?
  2. Web サービスはどのように認証を実行しますか?
  3. Web サービスは要求を正しく処理しますか (つまり、メモリ破損のバグはありませんか)?
  4. Web サービスは、(アンチ) クロスサイト リクエスト フォージェリ トークンやコンテンツ セキュリティ ポリシーなど、特定のセキュリティ対策を実装していますか?

これらの質問に答えるために、オープンソース エミュレーターである QEMU を実行し、特殊な呼び出し (NVRAM ゲッターとセッターなど) をフックすることにより、HTTPd バイナリの静的分析といくつかの動的分析を実行しました。

DGN-2200v1 ルーターの脆弱性

認証バイパスを使用したルーター管理ページへのアクセス

HTTPd がどのページを認証なしで提供するかを決定する方法を調べたところ、次の疑似コードが見つかりました。

HTTPd の疑似コードを示すコードのスクリーンショット

図 3. HTTPd の疑似コード

このコードは、HTTPd 内の最初のページ処理コードであり、 form.cssfunc.jsなどの特定のページを自動的に承認しました。これらのページを承認しても害はありませんが、際立っていたのは、NETGEAR がstrstrを使用して、ページに「.jpg」、「.gif」、または「ess_」の部分文字列が含まれているかどうかを確認し、全体を一致させようとしたことです。 URL。

したがって、GET 変数に関連する部分文字列 (「?.gif」など) を追加することで、認証が必要なページを含め、デバイス上の任意のページにアクセスできます。例: hxxps://10[.]0[.]138/ WAN_wan.htm ?pic .gif .これは、完全で完全に信頼できる認証バイパスです。

暗号化サイドチャネルを介して保存されたルーター資格情報を取得する

この段階で、ルーターを完全に制御できましたが、認証自体がどのように実装されているかを調査し続けました。

ページを認証する必要がある場合、HTTPd にはHTTP 基本認証が必要です。ユーザー名とパスワードは base64 文字列 (コロンで区切られている) としてエンコードされ、HTTP ヘッダーで送信され、最終的にルーターのメモリに保存されているユーザー名とパスワードに対して検証されます。ルーターは、この情報を (その構成の大部分と共に) NVRAM、つまり抽出したファイルシステムの外部に保存します。

ただし、認証自体を調べたところ、攻撃者が正しい資格情報を取得できるサイドチャネル攻撃が発見されました。

認証プロセスを示すコードのスクリーンショット

図 4. 認証プロセス

ユーザー名とパスワードはstrcmpを使用して比較されることに注意してください。 strcmp の libc 実装は、NUL ターミネータが観察されるまで、または不一致が発生するまで、文字ごとに比較することによって機能します。

攻撃者は、失敗するまでの時間を測定することで、後者を利用する可能性があります。たとえば、最初の文字の時間を測定すると、次のグラフが得られます。

文字試行ごとの返信時間を示す縦棒グラフ

図 5. 文字試行ごとの返信時間

これは、最初の文字が「n」であることを示します。攻撃者は、ユーザー名とパスワード全体が明らかになるまで、このプロセス (「na」、「nb」、「nc」など) を繰り返して 2 番目の文字を取得する可能性があります。

以下のように、XOR ベースのメモリ比較を実行することで、このような攻撃を回避できることを NETGEAR に推奨しました。

XOR ベースのメモリ比較を示すコードのスクリーンショット

図 6. XOR ベースのメモリ比較

この機能は、バイトが一致しない場合でも続行されます。同様のアプローチは、 OpenSSL の CRYPTO_memcmpなどの暗号化の安全なライブラリにも見られます。

デバイスに保存されているシークレットの取得

最初の認証バイパスの脆弱性を使用した後も、他の既存の脆弱性を使用して、ルーターが使用するユーザー名とパスワードを回復できるかどうかを確認したいと考えていました.そのために、ルーターの構成のバックアップ/復元機能を使用することにしました。前述の認証バイパスを悪用して、hxxp://router_addr:8080/ NETGEAR_DGN2200[.]cfg ?pic[ .]gifというファイルを取得できます。

ファイル自体はエントロピーが高く、圧縮または暗号化されているため、直接読み取ることができませんでした。さらに、binwalk は意味のある結果を生成しませんでした。

高エントロピー構成ファイルを示すコマンドラインのスクリーンショット

図 7. 高エントロピー構成ファイル

バックアップ/復元機能をリバース エンジニアリングしたとき、私たちの疑念は現実のものとなりました。

DES 暗号化に使用される固定パスワードを示すコードのスクリーンショット

図 8. DES 暗号化に使用される固定パスワード

いくつかの準備手順の後、コンテンツは定数キー「NtgrBak」で DES 暗号化されます。これにより、攻撃者はプレーンテキストのパスワード (暗号化された NVRAM に保存されている) をリモートで取得できます。 「admin」のバリエーションである可能性が非常に高いユーザー名は、同じ方法で取得できます。

CVD と脅威インテリジェンスの共有によるルーター セキュリティの強化

最新のオペレーティング システムのセキュリティが進歩し続ける中、攻撃者はネットワークを侵害する別の方法を探すことを余儀なくされており、ルーターなどのネットワーク デバイスが最有力候補です。これにより、エンドポイント検出ソリューションは、あらゆるセキュリティ オペレーションにとって重要な資産になります。

Microsoft Defender for Endpoint の新しいエンドポイントとネットワーク デバイスの検出機能は、管理されていないデバイスを見つけて、組織が環境を包括的に把握できるようにします。これにより、セキュリティ オペレータは異常なネットワーク アクティビティを検出できます。この場合は、ルータの管理ポートへの攻撃者の異常な接続です。

デバイス インベントリを表示している Microsoft 365 Defender のスクリーンショット

図 9. Microsoft 365 Defender のデバイス インベントリ

さらに、 ReFirm Labs が最近 Microsoft に参加したことで、デバイス全体のファームウェア分析とセキュリティ機能を強化し続けています。 ReFirm のファームウェア分析テクノロジは、既存の機能を強化してファームウェアの脆弱性を検出し、Azure Defender for IoT を介して IoT および OT デバイスを保護します。

この調査により、エンドポイント検出サービスを通じて発見されたルーターへの単純な異常な接続が、一般的なルーターでいくつかの脆弱性を発見するきっかけとなったことがわかりました。

ルーターはネットワーキングに不可欠であるため、ルーターの機能をサポートするプログラムを保護することが重要です。脆弱性研究者、ソフトウェア ベンダー、およびその他の関係者間のコラボレーションは、全体的なユーザー エクスペリエンスを保護するために不可欠です。これには、調整された脆弱性開示(CVD) の基本原則に基づいてベンダーに脆弱性を開示することが含まれます。 NETGEAR のセキュリティおよびエンジニアリング チームのご協力に感謝いたします。

Microsoft Defender for Endpoint が、予防的保護、侵害後の検出、自動調査、対応をカバーする完全なエンドポイント セキュリティ ソリューションを提供する方法について説明します

 

ジョナサン・バー・オア

Microsoft 365 Defender 研究チーム

 

 

参照: https://www.microsoft.com/en-us/security/blog/2021/06/30/microsoft-finds-new-netgear-firmware-vulnerabilities-that-could-lead-to-identity-theft- and-full-system-compromise/

Comments

Copied title and URL