マイクロソフト セキュリティ情報 MS00-067 - 緊急

「Windows 2000 Telnet クライアントの NTLM 認証」 の脆弱性に対する対策

公開日: 2000年9月26日 | 最終更新日: 2001年2月26日

概要 :

2000 年 9 月 14 日、マイクロソフトはこのセキュリティ情報の最初のバージョンをリリースしましたが、その翌日に改訂し、更新プログラムに関する問題をお客様にお知らせしました。2000 年 9 月 21 日、新しいバージョンの更新プログラムがリリースされ、セキュリティ情報を更新し、更新プログラムが入手可能であることをお知らせしました。マイクロソフトは最初のバージョンの更新プログラムを適用したお客様も含め、全てのお客様に新しいバージョンの更新プログラムを適用することを推奨します。

この更新プログラムは Microsoft® Windows 2000 に含まれる telnet クライアントの脆弱性を排除します。特定の状況でこの脆弱性を利用することにより、悪意のあるユーザーは、暗号で保護されたほかのユーザーのログオン情報を取得することができます。

影響を受けるソフトウェアのバージョン :

  • Microsoft Windows 2000

詳細

問題

Windows 2000 には telnet クライアントが含まれており、NTLM を有効に設定したリモートの telnet サーバーに接続するときに、NTLM 認証を使用することができます。脆弱性の問題が発生するのは、リモートの telnet サーバーへの接続時に、デフォルトで telnet クライアントが NTLM 認証を実行するためです。この結果、悪意のあるユーザーは、ユーザーに関する情報がなくても、そのユーザーの NTLM 認証情報を取得することが可能となります。

悪意のあるユーザーは、注意深く作成した HTML 文書を使って、この現象を利用することができます。この HTML 文書が開かれると、危険な telnet サーバーへの Telnet セッションが開始され、悪意のサーバーの所有者に NTLM 認証情報が自動的に渡されます。この結果、悪意のあるユーザーは、オフライン状態でのブルート フォース攻撃を使ってパスワードを取得したり、保護されたリソースにアクセスするのに、特殊なツールを使ってこうした認証情報のバリアントを送信したりすることが可能となります。

この脆弱性を利用して悪意のあるユーザーが取得できるのは、暗号で保護されたほかのユーザーの NTLM 認証情報だけです。これだけでは、悪意のあるユーザーが、ほかのユーザのコンピュータを制御することは不可能です。悪意のあるユーザーが NTLM 認証情報 (または、その後でクラッキングされたパスワード) を利用するには、標的となるシステムにリモートでログオンできることが必須条件となります。しかし、最も効果的な回避策は、ネットワークとの接続ポイントにあるデバイスでリモート ログオン サービスをブロックすることです。この回避策を実行すれば、悪意のあるユーザーは、認証情報を使用して標的となるシステムにログオンできなくなります。また別の回避策として、Windows 2000 のユーザーは、ユーザー レベルの認証を使ってログオンすることを強くお勧めします。この回避策を実行すれば、悪意のあるユーザーは、管理者レベルの NTLM 認証情報を取得することができなくなります。

よく寄せられる質問

マイクロソフト セキュリティ情報 MS00-067 はどのような内容の通知ですか?

このマイクロソフト セキュリティ情報 MS00-067 は、Microsoft® Windows 2000 に付随して出荷される telnet クライアントのセキュリティ上の脆弱性を排除する更新プログラムがリリースされたことを、お客様にお知らせするものです。マイクロソフトでは、お客様の情報の保護に全力を挙げて努めております。この通知で、お客様に脆弱性の詳細とその対策をお知らせします。

なぜこのセキュリティ情報は再リリースされたのですか?

2000 年 9 月 14 日に更新プログラムをリリースした後、実際にそれが最終版ではなく、ベータ版であることに気がつきました。ベータ版もこの脆弱性を排除しましたが、悪意のあるユーザーがこの脆弱性を利用すると、Telnet クライアントが異常終了します。このエラーを発見したので、更新プログラムを削除し、この問題についてお客様にお知らせし、当面の回避策を推奨するためにこの通知を更新しました。

2000 年 9 月 21 日に更新プログラムの訂正版をリリースしました。最初のバージョンの更新プログラムを適用されたお客様は最新版の適用は必要ではありませんが、それでも最新版の適用を検討されることを推奨します。

この脆弱性はどれくらいの範囲に影響を与えますか?

この脆弱性により、通常のユーザーのマシンから、悪意のあるユーザーが自分のサーバーに自動的に Telnet セッションをリクエストすることができます。このセッションの一環として、ユーザーの暗号で保護された NTLM 認証情報が悪意のあるユーザーのサーバーに渡されてしまう可能性があります。悪意のあるユーザーがこれらの資格情報を取得し、オフライン状態でのブルート フォース攻撃を使ってユーザーのクリア テキストのパスワードを見つけることが可能となります。

この脆弱性を利用して悪意のあるユーザーが取得できるのは、他のユーザーのパスワード資格情報だけです。これ自体では、悪意のあるユーザーはユーザーのシステムで何の操作もできません。下記で詳細を説明しますが、次の回避策でこの脆弱性がもたらす危険を最小限にすることができます。

この脆弱性の原因は何ですか?

この脆弱性は Windows 2000 telnet クライアントのデフォルトの認証設定が不適切であるのが原因です。デフォルトで、Windows 2000 Telnet クライアントはサーバーと NTLM チャレンジ/レスポンス認証に参加します。悪意のあるユーザーが Telnet サーバーを操作し、他のユーザーにそのサーバーとのセッションの開始を強いると、NTLM 応答が収集され、これらを使用してユーザーのコンピュータへの認証が可能となります。

Telnet とは何ですか?

Telnet とは TCP/IP ファミリーのプロトコルで、ユーザーが Telnet サーバーでのリモート ターミナル セッションを確立できるようにします。このプロトコルは文字数字式のターミナルのみをサポートします。つまり、マウスや他のポインティング デバイスをサポートしません。また GUI もサポートしません。その代わり、全てのコマンドはコマンド ラインにより入力されなければいけません。

NTLM とは何ですか?

NTLM (NT LanMan) は Windows NT ファミリーの全ての製品に使用されている認証プロセスです。その前身であった LanMan のように、NTLM はチャレンジ/レスポンス プロセスを使用し、パスワードやハッシュされたパスワードをネットワークに送信せずにクライアントの識別を証明します。

チャレンジ/レスポンスはどのように機能しますか?

認証プロセスが始まると、ユーザーのシステム (クライアント) はログイン要求を Telnet サーバーに送信します。サーバーは無作為に生成された 「トークン」 (またはチャレンジ) でクライアントに応答します。クライアントは現在ログオンしているユーザーの暗号で保護されたパスワードをチャレンジでハッシュし、その結果の 「応答」 を Telnet サーバーに送信します。

Telnet サーバーはチャレンジでハッシュされた応答を受け、Telnet サーバーが適切な応答と認識しているものと比較します。(サーバーは現物のトークンのコピーをとります。このトークンはサーバーが生成したものです。次にそれを、サーバーがユーザー アカウント データベースからのユーザーのパスワード ハッシュであると認識しているものに対してハッシュします。受信された応答が期待していた応答と適合する場合、ユーザーはホストへの認証に成功します。

NTLM 認証中に、パスワードはネットワークで送られているのですか?

いいえ、送られていません。NTLM 認証はネットワークでユーザーのパスワード (またはハッシュされた形のパスワード) を送りません。その代わり、NTLM 認証はチャレンジ/レスポンスの構造を利用して実際のパスワードがネットワークをスキャンしないようにします。

Windows 2000 の Telnet クライアントの何が問題になのですか?

Windows 2000 の Telnet クライアントのデフォルトの認証構造は NTLM です。Telnet セッションが NTLM が有効な Telnet サーバーで開始されると、Telnet クライアントは自動的にチャレンジ/レスポンス ログオン プロセスを開始し、NTLM 認証情報をリモート サーバーに送ります。

悪意のあるユーザーはどのようにこの脆弱性を利用するのですか?

悪意のあるユーザーは HTML 形式の文書や E- メール メッセージを作成し、これが受信者によって開かれると、自動的に Telnet セッションを悪意のあるユーザーのサーバーにリクエストします。デフォルトで、NTLM 情報が悪意のあるユーザーのサーバーに送られるので、ユーザーの認証情報を取得することができます。

悪意のあるユーザーが NTLM 応答を得ると、それで何ができますか?

NTLM ハッシュ (またはチャレンジ/レスポンスの対) はプログラムに組み込まれ、ブルート フォースでパスワード推測を行います。「クラッキング」 プログラムは、全ての可能なパスワードを繰り返し試行し、それぞれをハッシュして、その結果を取得したハッシュと比較します。適合するものが見つかると、悪意のあるユーザーはハッシュが生成したパスワードがユーザーのパスワードであることが分かります。

本物のパスワード ハッシュがネットワークでサーバーに決して渡されないとすると、悪意のあるユーザーはどのようにハッシュされた応答だけでパスワードを 「クラック」 することができるのですか?

悪意のある Telnet サーバーのシナリオでは、Telnet サーバーはサーバーが発行したチャレンジとクライアントから受けた応答の両方のコピーを維持します。ブルート フォース パスワード クラッキング プログラムは (上記で得られた) 全ての可能なパスワード ハッシュの結果をサーバーが発行したチャレンジでハッシュします。結果の値は悪意のあるユーザーにより取得された応答ハッシュと比較されます。応答ハッシュ (クライアントから入手された)がクラッキング プログラムから導出されたハッシュ値と適合すると、悪意のあるユーザーは最初のハッシュを生成したパスワードがユーザーのパスワードであることが分かります。

このシナリオで、悪意のあるユーザーは Telnet サーバーをコントロールするので、トークン生成に使用される構造を調整することができます。無作為に生成されたトークンをクライアントに送る代わりに、特別に作成された Telnet サーバー アプリケーションが、オフライン状態でのブルート フォース パスワード 「クラッキング」 試行を行う助けとなる特定の既知のトークンと応答します。

悪意のあるユーザーはホストにログインするためにパスワード ハッシュをクラックする必要があるのですか?

いいえ、ありません。悪意のあるユーザーは上記で説明したように取得したチャレンジ レスポンス ハッシュを使用してホストから受け取ったチャレンジに応答します。しかし、このためには特別なツールが必要となります。

パスワードをクラックしたら、悪意のあるユーザーは何ができますか?

ユーザー パスワードのクリアテキストの値を決定するだけでは、悪意のあるユーザーはシステムにログインできません。他のユーザーがシステムにログインするためには、最初にリモート ログイン サービスで目的のコンピュータに接続しなければなりません。しかし、マシンに手が届かない限り、他のユーザーがログオンすることはできません。回避策として、インターネット境界デバイス (ルータとファイアウォール) でログイン サービスをブロックすることを強く推奨します。

リモート ログイン サービスの例は何ですか?

一般的な Windows 2000 のリモート ログイン サービスには次のようなものがあります。 (しかし、これだけに限られません。)

  • TCP/IP の NetBIOS  CIFS/SMB (tcp 139、tcp 445) としても知られています。
  • Telnet (tcp 23 またはユーザー定義されたポート)
  • Terminal Server (tcp 3389)
  • SQL Server (tcp 1433 またはユーザー定義されたポート)
  • FTP (tcp 20、21 またはユーザー定義されたポート)
  • HTTP (tcp 80 またはユーザー定義されたポート)

回避策として、ネットワーク管理者は境界ルータやファイアウォールでこれらのサービスに対する受信リクエストをブロックすることです。個人や家庭でのユーザーは自分のシステムで IPSec フィルタリングにより着信アクセスをブロックすることができます。

ルータやファイアウォールで発信 Telnet セッションをブロックして、この脆弱性に対処できますか?

Telnet プロトコルは、効果的に発信 Telnet セッションをブロックするよう設計された標準パケット フィルタリング 構造をバイパスし、どのような tcp ポート番号を使用することができます。この脆弱性は html コードを解析しレンダリングするどのアプリケーションでも利用されます。Windows 2000 ユーザーはただちに全ての Windows 2000 ホストにこの更新プログラムを適用して下さい。

NT4 に関してはどうですか?

NT4 の Telnet クライアントは NTLM 認証を使用していません。ですから、この脆弱性による影響は受けません。

だれが更新プログラムを適用する必要がありますか?

マイクロソフトは全ての Windows 2000 ユーザーにこの更新プログラムをインストールすることを推奨します。この更新プログラムは Service Pack 1 をインストールしているかどうかに関わらず、Windows 2000 ホストに適用できます。

更新プログラムは何を修正しますか?

この更新プログラムは信頼されていないゾーンに存在するサーバーに自動的に NTLM 情報が送られる前にユーザーに警告メッセージを表示することにより、この脆弱性を排除します。ユーザーは、NTLM 情報がリモート サーバーに供給される前に Telnet セッションを承諾するよう求められます。

自動 NTLM 認証は Telnet サーバーが 「ローカル イントラネット」 または 「信頼されたサイト」 ゾーンに存在し、そのゾーンのポリシーが 「ユーザー名とパスワードで自動ログイン」 ができるように設定されているときにだけ行われます。

ローカル イントラネットと信頼されたサイトゾーンのためのデフォルト 「自動ログイン」 設定とは何ですか?

ユーザー名とパスワードで自動ログインはデフォルトで、中、中-低、低セキュリティ設定で有効です。この設定は高セキュリティ設定ではデフォルトで無効となっています。 ローカル イントラネット ゾーンが構成され、デフォルトで中-低セキュリティ設定を使用し、信頼されたサイト ゾーンが構成され、デフォルトで低セキュリティ設定を使用します。

Telnet クライアントを NTLM 認証に参加させたくありません。どのようにデフォルト NTLM 認証を全て無効にできるのですか?

Telnet 認証に対する動作を変えれば、どのような状況でも NTLM 情報は渡されません。この回避策はこの通知に関連する更新プログラムとは別のものです。

現在どのような認証方法を使用しているのか見つけるためには、次の手順に従って下さい。

  • コマンド プロンプトで 「telnet」 と入力して下さい。
    • Telnet プロンプトで 「display」 と入力して下さい。
    • 「Will Auth (NTLM Authentication)」 値とは Telnet が NTLM 認証をデフォルトで使用するという意味です。
    • 「Not Auth (NTLM Authentication)」 値とは Telnet が NTLM 認証を使用しないという意味です。

NTLM 認証を無効にするためには、次の手順に従って下さい。

  • コマンド プロンプトで 「telnet」 と入力して下さい。
    • 「unset ntlm」 と入力して Enter キーを押してください。
    • 「quit」 と入力して Telnet を終了し、設定を保存して下さい。

この更新プログラムは NTLM 認証を使用するサード パーティのアプリケーションにどのような影響を与えますか?

この更新プログラムは組み込み Windows 2000 Telnet クライアントの動作に影響を与えます。この更新プログラムはサード パーティの Telnet クライアントには影響を与えません。

どこから更新プログラムを入手できますか?

マイクロソフト セキュリティ情報 MS00-067 をご覧ください。

更新プログラムの最初のバージョンをインストールしました。どうしたらよいでしょうか?

新しいバージョンのインストールを行うことを推奨します。最初のバージョンはこの脆弱性を排除し、正規の Telnet 接続を正常に動作させました。しかし、悪意のあるユーザーがこの脆弱性による攻撃をしようとした場合、更新プログラムの最初のバージョンでは Telnet クライアントが異常終了してしまうことがあります。

どのように更新プログラムを使用するのですか?

サポート技術情報 272743 には、お客様のサイトに更新プログラムを提供するための詳細な情報が記載されています。

この問題に対してマイクロソフトはどのような対応をしていますか?

  • マイクロソフトは、この脆弱性を排除する更新プログラムを開発しました。
  • マイクロソフトは、セキュリティ上の脆弱性の詳細とその対策をお客様にご理解いただくために、セキュリティ情報 MS00-068 と、この faq を提供しています。
  • マイクロソフトは、マイクロソフト社の最新のセキュリティ情報を無料でご購読いただけるマイクロソフト プロダクト セキュリティ 警告サービス にて、購読の登録をされているお客様に、セキュリティ情報の通知を行っています。
  • マイクロソフトはサポート技術情報 272743 を公開し、このセキュリティ上の脆弱性と更新プログラムの詳細と説明しています。

推奨するセキュリティ設定の詳細情報は、どこで入手できますか?

マイクロソフトが提供するセキュリティ情報の詳細は、弊社のセキュリティの Web サイトから入手してください。

この問題のテクニカル サポートを受けるには、どこに問い合わせればよいですか?

マイクロソフトの製品に関するテクニカルサポートは、電話番号とサポートオプションのサイトを参照してください。

更新プログラム

この問題に対する修正は Windows 2000 Service Pack 2 に含まれています。最新の Windows 2000 Service Pack は次のリンクより入手してください。
https://www.microsoft.com/download/details.aspx?FamilyID=dc27b8c6-2a5a-4399-ad3d-4a97a25f41d9&DisplayLang=ja

なお、個別の修正モジュールは次のリンクより入手することができます。このモジュールは Service Pack 1 をインストールしているかどうかに関わらず、マシンに適用することができます。

注 :
最初のバージョンの更新プログラムを適用したお客様は最新バージョンの更新プログラムを適用して下さい。最初のバージョンの更新プログラムはこの脆弱性を排除しますが、悪意のあるユーザーがこの脆弱性を利用しようとした場合、Telnet クライアントを異常終了させます。最新バージョンの更新プログラムは Telnet 接続を妨げずに、この脆弱性を排除します。

更新プログラムについてのご質問は、マイクロソフト プロダクト サポート までご連絡ください。マイクロソフトでは、ご質問の内容が弊社製品の不具合が原因の場合、サポート料金はいただきません。それ以外の場合には、サポート料金を請求させていただきますのでご注意ください。 マイクロソフト プロダクト サポートへの連絡方法はこちらをご覧ください。

その他の情報

詳細情報 :

本セキュリティ情報に含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation 及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation 及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。

Built at 2014-04-18T01:50:00Z-07:00