セキュリティ情報
Microsoft セキュリティ情報 MS02-039 - 重大
SQL Server 2000 解決サービスのバッファー オーバーランにより、コードの実行が有効になる可能性がある (Q323875)
公開日: 2002 年 7 月 24 日 |更新日: 2003 年 1 月 31 日
バージョン: 1.2
投稿日: 2002 年 7 月 24 日
更新日: 2003 年 1 月 31 日
まとめ
このセキュリティ情報を読む必要があるユーザー: Microsoft SQL Server™ 2000 および Microsoft® Desktop Engine 2000 を使用するシステム管理者。
脆弱性の影響: 3 つの脆弱性。最も深刻な脆弱性により、攻撃者は影響を受けるサーバーを制御できます。
最大重大度評価: 重大
推奨事項: システム管理者は、パッチを直ちにインストールする必要があります。
注: このセキュリティ情報でリリースされたパッチは、SQL Server 2000 および MSDE 2000 を "SQL Slammer" ワーム ウイルスから保護する際に有効です。 ただし、このパッチは、MS02-061 でリリースされたパッチに置き換えられます。このパッチには、これらの製品の追加のセキュリティ脆弱性に対する修正プログラムが含まれています。 MICROSOFT では、SQL 2000 および MSDE 2000 のお客様に MS02-061 のパッチを適用することをお勧めします。
影響を受けるソフトウェア:
- Microsoft SQL Server 2000
- Microsoft デスクトップ エンジン (MSDE) 2000
一般情報
技術詳細
技術的な説明:
このセキュリティ修正プログラムには、SQL Server 2000 および MSDE 2000 の正常な動作を保証するために必要な Microsoft サポート技術情報の記事の317748の修正プログラムは含まれていません。 Microsoft サポート技術情報の修正プログラムの記事の317748から修正プログラムを適用する前に、このセキュリティ修正プログラムを SQL Server 2000 または MSDE 2000 のインストールに適用した場合は、セキュリティ修正プログラムからファイルを上書きしないようにファイルを上書きするように求められた場合は、"いいえ" と答える必要があります。
SQL Server 2000 と MSDE 2000 では、1 つの物理マシンで SQL Server の複数のインスタンスをホストする機能が導入されています。 各インスタンスは、個別のサーバーであるかのように、すべての意図と目的で動作します。 ただし、複数のインスタンスで標準の SQL Server セッション ポート (TCP 1433) を使用することはできません。 既定のインスタンスは TCP ポート 1433 でリッスンしますが、名前付きインスタンスは、割り当てられている任意のポートでリッスンします。 UDP ポート 1434 で動作する SQL Server 解決サービスは、クライアントが特定の SQL Server インスタンスで使用する適切なネットワーク エンドポイントを照会する方法を提供します。
ここには 3 つのセキュリティの脆弱性があります。 最初の 2 つはバッファー オーバーランです。 慎重に作成されたパケットを解決サービスに送信することで、攻撃者はシステム メモリの一部 (一方の場合はヒープ、もう一方の場合はスタック) を上書きする可能性があります。 これをランダム なデータで上書きすると、SQL Server サービスが失敗する可能性があります。これを慎重に選択したデータで上書きすると、攻撃者が SQL Server サービスのセキュリティ コンテキストでコードを実行する可能性があります。
3 番目の脆弱性は、サービス拒否の脆弱性です。 SQL では、アクティブインスタンスとパッシブ インスタンスを区別するためにキープアライブ メカニズムが使用されます。 解決サービスに送信されると、SQL Server 2000 が同じ情報で応答するキープアライブ パケットを作成できます。 このようなパケットを作成し、ソース アドレスが 1 つの SQL Server 2000 システムから送信されたようになりすまし、隣接する SQL Server 2000 システムに送信された攻撃者は、2 つのシステムがキープアライブ パケット交換の終わりのないサイクルに入る可能性があります。 これにより、両方のシステムのリソースが消費され、パフォーマンスが大幅に低下します。
軽減要因:
SQL Server Resolution Service でのバッファー オーバーラン:
- SQL Server 2000 は、インストール時に管理者によって選択されたセキュリティ コンテキストで実行されます。 既定では、Doメイン ユーザーとして実行されます。 したがって、攻撃者のコードはデータベースに対して望ましいアクションを実行する可能性がありますが、ベスト プラクティスに従っている場合、必ずしもオペレーティング システム レベルで重要な特権を持つとは限りません。
- この脆弱性によってもたらされるリスクは、可能であれば、ファイアウォールでポート 1434 をブロックすることで軽減される可能性があります。
SQL Server 解決サービスを使用したサービス拒否:
- 影響を受けるシステムのいずれかで SQL Server 2000 サービスを再起動すると、攻撃が中断される可能性があります。 攻撃が停止すると、両方のシステムでの通常の処理が再開されます。
- この脆弱性は、システムに対する特権を取得する方法を提供しません。 これはサービス拒否の脆弱性にすぎません。
重大度の評価:
SQL Server Resolution Service でのバッファー オーバーラン: | インターネット サーバー | イントラネット サーバー | クライアント システム |
SQL Server 2000 | 重大 | 重大 | なし |
SQL Server 解決サービスを使用したサービス拒否: | インターネット サーバー | イントラネット サーバー | クライアント システム |
SQL Server 2000 | 重大 | 重大 | なし |
上記 の評価 は、脆弱性の影響を受けるシステムの種類、一般的な展開パターン、および脆弱性を悪用した場合の影響に基づいています。
脆弱性識別子:
- SQL Server Resolution Service のバッファー オーバーラン: CVE-CAN-2002-0649
- SQL Server 解決サービスによるサービス拒否: CVE-CAN-2002-0650
テスト済みバージョン:
Microsoft では、SQL Server 2000 と 7.0 (および MSDE の関連するバージョン) をテストして、これらの脆弱性の影響を受けるかどうかを評価しました。 以前のバージョンはサポートされなくなり、これらの脆弱性の影響を受ける場合と影響されない場合があります。
よく寄せられる質問
317748で説明されている修正プログラムと組み合わせてこの修正プログラムをインストールするための正しい順序は何ですか?
このセキュリティ修正プログラムには、SQL Server 2000 および MSDE 2000 の通常の動作を保証するために必要なサポート技術情報の記事の317748の修正プログラムは含まれていません。 インストールの正しい順序は、317748パッチとこのセキュリティパッチをインストールすることです。 ナレッジ パッチ記事の317748から修正プログラムを適用する前に、このセキュリティ修正プログラムを SQL Server 2000 または MSDE 2000 のインストールに適用している場合は、セキュリティ修正プログラムからファイルを上書きしないようにファイルを上書きするように求められた場合は、"いいえ" と答える必要があります。
このセキュリティパッチがインストールされている操作方法 チェックは?
パッチを適用したインスタンスの \MSSQL\BINN フォルダー内のssnetlib.dllのバージョンが 2000.80.636.0 であることを確認する必要があります。\MSSSQL\BINN フォルダー内のssnetlib.dllのバージョンが 2000.80.636.0 未満の場合は、セキュリティパッチを再適用する必要があります。 ただし、MICROSOFT では、MS02-061 で説明されている最新のセキュリティ更新プログラムを適用することをお勧めします。このパッチには、これらの製品の追加のセキュリティ脆弱性に対する修正プログラムが含まれています。
この修正プログラムはどのような脆弱性を排除しますか?
この修正プログラムは、SQL Server 2000 解決サービスに関連する 3 つの脆弱性を排除します。
- 最初の 2 つの脆弱性により、攻撃者は影響を受ける SQL Server を大幅に制御し、おそらく完全に制御できるようになる可能性があります。
- 3 番目の脆弱性により、攻撃者は、サーバーのパフォーマンスを低下させるために、影響を受ける 2 つの SQL Server が終わりのない情報交換を行う可能性があります。
SQL Server 2000 解決サービスとは
SQL Server 2000 では、1 台のコンピューターに SQL Server の複数のコピーをインストールする機能が導入され、コピーが完全に分離されたデータベース サーバーと見なされます。 これらのコピーは、インスタンスと呼ばれ、互いに独立して実行されます。 既定のインスタンスは TCP ポート 1433 でリッスンします。 他のインスタンスは、この同じポートを共有できず、独自のポートを必要とします。
課題は、SQL Server クライアントが特定のインスタンスが動作しているポートを見つけられるようにする方法です。ソリューションは SQL Server 解決サービスです。 SQL Server 上の最初のインスタンスは、常にポート 1433 経由で動作します。 追加のインスタンスには、独自のポート番号が動的に割り当てられます。 SQL クライアントは、SQL Server 上の追加のインスタンスに接続する必要がある場合、SQL Server 解決サービス (UDP ポート 1434 で動作) に対してクエリを実行し、要求されたインスタンスが使用しているポートを示します。
UDP 1434 ポートは通常、ファイアウォールでブロックされますか?
これは、特定のデプロイ シナリオによって異なります。
- ネットワークがインターネットに接続された SQL Server をホストしていない場合は、SQL Server 解決サービスに関連付けられているポート (および SQL Server に関連付けられている他のすべてのポート) をブロックする必要があります。
- ネットワークが SQL Server サービスをインターネットに提供しているが、サーバー上にインスタンスが 1 つしかない場合は、SQL 解決サービスをブロックできます。また、ブロックする必要があります。
- ネットワークがインターネットに SQL Server サービスを提供し、複数のインスタンスを持つ場合は、ファイアウォールを介して SQL 解決サービスにアクセスできる必要があります。
SQL Server 解決サービスは、以前のバージョンの SQL Server に存在しますか?
いいえ。 以前のバージョンの SQL Server では複数のインスタンスがサポートされておらず、SQL Server 解決サービスは存在しませんでした。 その結果、この脆弱性の影響を受ける SQL Server の他のバージョンはありません。
[影響を受けるバージョン] セクションには、Microsoft デスクトップ エンジン (MSDE) もこれらの脆弱性の影響を受けます。 MSDE とは
MSDE は、SQL Server 2000 テクノロジに基づいて構築され、Microsoft Visual Studio や Microsoft Office Developer Edition など、いくつかの Microsoft 製品の一部として提供されるデータベース エンジンです。 MSDE のバージョンと SQL Server のバージョン間には直接接続があります。 MSDE 2000 は SQL Server 2000 に基づいています。
SQL Server Resolution Service のバッファー オーバーラン (CVE-CAN-2002-0649):
この脆弱性の範囲は何ですか?
ここには実際には 2 つの脆弱性があり、どちらもバッファー オーバーランの脆弱性です。 攻撃者がいずれかの脆弱性を悪用した場合、サーバーが失敗したり、SQL Server の特権を使用してコードを実行したりする可能性があります。
この脆弱性を悪用すると、攻撃者はデータベースを完全に制御できますが、システム自体を完全に制御できるとは限りません。 SQL Server 2000 は、さまざまなレベルの特権で実行するように構成できます。既定では、管理者ではなく doメイン ユーザーの特権で実行されます。
この脆弱性の原因は何ですか?
SQL Server 解決サービスによって提供される関数のペアにチェックされていないバッファーが含まれているため、この脆弱性が発生します。 特別に書式設定された要求を UDP 1434 ポートに送信することで、いずれかの関数に関連付けられているバッファーをオーバーランできます。
この脆弱性により、攻撃者は何を実行できるでしょうか。
この脆弱性により、攻撃者は次の 2 つのアクションのいずれかを実行する可能性があります。
- SQL Server が失敗します。 これは、マウントする最も簡単な種類の攻撃であり、攻撃者がランダム なデータでバッファーをオーバーランする必要があります。
- 攻撃者が選択した機能を実行するために、SQL Server の機能を変更します。 これにより、攻撃者は正確に選択されたデータでバッファーをオーバーランする必要があります。
誰がこの脆弱性を悪用する可能性がありますか?
影響を受けるサーバー上の SQL Server (UDP ポート 1434 経由) に要求を送信できるユーザーは、この脆弱性を悪用する可能性があります。
攻撃者がこの脆弱性を悪用して SQL Server が失敗した場合、管理者は通常の操作を復元するために何をする必要がありますか?
管理者は、SQL Server サービスを再起動することで、通常の操作を再開できます。
攻撃者がこの脆弱性を悪用して SQL Server が任意の機能を実行した場合、攻撃者のコードはどの特権で実行されますか?
明らかに、攻撃者のコードは SQL Server 自体のセキュリティ コンテキストで実行されるため、データベース関数を完全に制御できます。 ただし、SQL Server 以外の特権はほとんどありません。 SQL Server 2000 のセットアップ中に、管理者は SQL Server 内で実行する Windows アカウントを選択する必要があります。 既定では、SQL Server サービスは Doメイン ユーザーとして実行されます。 ベスト プラクティスに従い、通常のユーザー コンテキストが選択された場合、攻撃者はオペレーティング システムに対する管理制御も、do に対する管理特権も取得しませんメイン。
この修正プログラムはどのようにして脆弱性を排除しますか?
この修正プログラムにより、SQL Server 解決サービスによって入力データのサイズが正しく制限され、バッファーのオーバーランが防止されます。
SQL Server 解決サービスによるサービス拒否 (CVE-CAN-2002-0650):
この脆弱性の範囲は何ですか?
これはサービス拒否の脆弱性です。 攻撃者はこの脆弱性を使用して、影響を受ける SQL Server のパフォーマンスを低下させる可能性があります。 システムのパフォーマンスが低下する正確な量は、SQL Server のプロセッサ速度やメモリ、サーバーを攻撃しているシステムの数など、さまざまな要因によって異なります。
この脆弱性を使用してサーバーが完全に失敗することも、攻撃者にシステムに対する特権を提供することもできませんでした。 サーバーは、攻撃が中断されるとすぐに通常の操作を再開します。
この脆弱性の原因は何ですか?
この脆弱性は、解決サービスを介して動作する SQL Server 2000 キープアライブ メカニズムの欠陥が原因で発生します。 特定のデータ パケットが SQL Server 2000 キープアライブ機能に送信されると、送信者に同じパケットで応答します。 このようなパケットの送信元アドレスをスプーフィングすることで、2 つの SQL Server 2000 システムがパケット交換の無限のサイクルを開始する可能性があります。
SQL Server 2000 のキープアライブ機能とは
SQL Server 2000 には、サーバーがアクティブかどうかを判断できるメカニズムが含まれています。 これは、いわゆるキープアライブ パケットを UDP ポート 1434 の SQL Server 解決サービスに送信し、応答をリッスンすることによって行われます。
SQL Server 2000 でのキープアライブ機能の実装の問題
応答が要求と同じになるキープアライブ パケットを作成できます。 ある SQL Server がこのようなパケットを別の SQL Server に送信する場合、同じパケットを相互に送受信する無制限のサイクルに入ります。 このアクティビティは、2 台のコンピューターで使用可能な帯域幅の大部分またはすべてを消費する可能性があります。
このような状況は自然に発生する可能性がありますか?
いいえ。 この脆弱性に関係する状況は、通常の条件下では発生しません。 SQL Server では通常、必要な特性を持つキープアライブ パケットは生成されません。 ただし、攻撃者がこのようなパケットを導入して交換を開始する可能性があり、その後は自立します。
攻撃者はどのようにこれを行う可能性がありますか?
この脆弱性を持つ 2 つの SQL Server (Server 1 と Server 2) があるとします。 次に、攻撃者が必要なキープアライブ パケットを作成し、サーバー 1 のアドレスが含まれるようにソース アドレスを変更した後、そのパケットをサーバー 2 に送信したとします。 サーバー 2 がサーバー 1 に応答し、サーバー 2 に応答するため、これは交換を開始します。これは広告の無限大です。
この脆弱性により、攻撃者は何を実行できるでしょうか。
攻撃者はこの脆弱性を使用して、2 つの SQL Server 2000 システム上のリソースを同時に使用する可能性があります。
誰がこの脆弱性を悪用する可能性がありますか?
影響を受ける SQL Server の解決サービス ポートにデータを送信できるユーザーは、この脆弱性を悪用する可能性があります。
攻撃はどのくらいの期間続くのですか?
開始されると、いずれかのマシンがパケットの送信を停止するまで、攻撃が続行されます。 これは、システムが再起動されたか、SQL Server サービスが再起動されたか、2 つのサーバー間の接続が失われたために発生する可能性があります。
攻撃が終了すると、サーバーはそれ自体で通常の操作を再開しますか?
はい。
このような攻撃によって、どの程度のシステムリソースが独占される可能性がありますか?
これは、攻撃の詳細に依存します。 たとえば、1 台のサーバーに対する攻撃で複数のサーバーを関与させることが可能です。 同様に、システム間のネットワーク帯域幅、各マシンのプロセッサ速度などに依存します。
この修正プログラムはどのようにしてこの脆弱性を排除しますか?
このパッチは、現在のキープアライブ メカニズムを排除し、アクティブなサーバーと、別のメカニズムを介してパッシブなサーバーを決定します。 修正プログラムを適用すると、SQL Server 2000 システムはキープアライブ パケットに応答しなくなります。
パッチの可用性
このパッチのダウンロード場所
Microsoft SQL Server 2000 および MSDE 2000:
このパッチに関する追加情報
インストール プラットフォーム:
このパッチは、SQL Server 2000 Service Pack 2 を実行しているシステムにインストールできます。
今後のサービス パックに含める:
この問題の修正プログラムは、SQL Server 2000 Service Pack 3 に含まれます。
再起動が必要: いいえ。 SQL Server サービスは、修正プログラムの適用後にのみ再起動する必要があります。
パッチはアンインストールできます: はい。
置き換えられた修正プログラム: なし。
修正プログラムのインストールの確認:
- 修正プログラムが正しくインストールされていることを確認するには、Microsoft サポート技術情報の記事Q323875のファイル マニフェストに記載されているファイルの日付/時刻スタンプを参照して、個々のファイルを確認します。
注意事項:
なし
ローカライズ:
このパッチのローカライズされたバージョンは、「パッチの可用性」で説明されている場所で入手できます。
その他のセキュリティ パッチの取得:
その他のセキュリティの問題に対する修正プログラムは、次の場所から入手できます。
- セキュリティ パッチは Microsoft ダウンロード センターから入手でき、"security_patch" のキーワード (keyword)検索を行うことで最も簡単に見つけることができます。
- コンシューマー プラットフォームのパッチは、WindowsUpdate Web サイトから入手できます
その他の情報:
受信確認
Microsoft は、次世代セキュリティ ソフトウェア Ltd. の David Litchfield に、これらの問題を報告し、お客様を保護するために Microsoft と協力していただきありがとうございます。
サポート:
- マイクロソフト サポート技術情報の記事Q323875この問題について説明し、このセキュリティ情報のリリースから約 24 時間後に利用可能になります。 サポート技術情報の記事は、Microsoft Online サポート Web サイトにあります。
- テクニカル サポートは、Microsoft 製品サポート サービスから入手できます。 セキュリティ パッチに関連付けられているサポート呼び出しに対する料金はかかりません。
セキュリティ リソース:Microsoft TechNet セキュリティ Web サイトは、Microsoft 製品のセキュリティに関する追加情報を提供します。
免責事項:
Microsoft サポート技術情報で提供される情報は、いかなる種類の保証もなく"現状のまま" 提供されます。 Microsoft は、商品性と特定の目的に対する適合性の保証を含め、明示または黙示を問わず、すべての保証を放棄します。 Microsoft Corporation またはそのサプライヤーは、Microsoft Corporation またはそのサプライヤーがこのような損害の可能性について通知された場合でも、直接的、間接的、付随的、派生的、ビジネス上の利益の損失、または特別な損害を含む一切の損害について一切の責任を負いません。 一部の州では、派生的損害または付随的損害に対する責任の除外または制限が認められていないため、前述の制限は適用されない場合があります。
リビジョン:
- V1.0 (2002 年 7 月 24 日): セキュリティ情報が作成されました。
- V1.1 (2002 年 7 月 25 日): MSDE 2000 が脆弱性の影響を受ける点に注意するように更新されました。
- V1.2 (2003 年 1 月 31 日): MS02-061 による過大評価のアドバイスを提供し、修正プログラム 317748がこのセキュリティパッチと組み合わせて適用される場合のインストール順序を明確にするように更新されました。
ビルド日: 2014-04-18T13:49:36Z-07:00