SQL Server および MSDE を標的とした SQL Slammer ワームに関する情報

公開日: 2003年1月26日

更新履歴

トピック

はじめに 本ワームの感染が行われてしまう条件 影響を受ける恐れのある製品 本ワームへの対策 対策による影響 osql コマンドについて

はじめに

日本時間 2003 年 1 月 25 日 午後 2 時頃より Slammer ワームと呼ばれる Microsoft SQL Server 2000 および MSDE 2000 (以下 SQL Server として表記します) を対象としたウイルス感染による被害が発生しました。弊社では、このワームによる影響からお客様の環境を守るため、情報を公開いたします。(別名に W32/SQLSlammer.worm, W32.SQLExp.Worm, W32/SQLSlammer 等があります)

本ワームは SQL Server 2000 に対して、UDP 1434 ポート (SQL Server 2000 解決サービスで使用するポート) に対して UDP の攻撃パケットを送信します。攻撃を受けた SQL Server 2000 は、下の条件を満たしている場合に本ワームに "感染" し、SQL Server 2000 のプロセス内でプログラムコードが実行されてしまいます。"感染" されてしまった SQL Server 2000 のプロセスは、自らが攻撃者となり他のシステムに対して "感染" 活動を開始します。

本ワームは、"感染" 活動を行うことが目的であり、SQL Server 2000 のデータベースの書き換えや感染ファイルの作成などは行われません。しかしながら、感染活動により UDP パケットがネットワークの帯域を消費し、結果的にネットワーク全体のスループットが低下する恐れがあります。 また、感染をしてしまった SQL Server 2000 の CPU 消費が極端に上昇し、コンピュータ全体のパフォーマンスの低下も発生します。

弊社 STPP パートナーであるウイルス対策ソフトウェアベンダー各社からも、本ワームに関する情報が公開されておりますので併せてご参照ください。

ページのトップへ

本ワームの感染が行われてしまう条件

ページのトップへ

影響を受ける恐れのある製品

  • Microsoft SQL Server 2000 Enterprise Edition

  • Microsoft SQL Server 2000 Standard Edition

  • Microsoft SQL Server 2000 Personal Edition

  • Microsoft SQL Server 2000 Developer Edition

  • Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

注意 : Microsoft SQL Server 4.2J, 6.5, 7.0 は本ワームの影響を受けません。

MSDE 2000 を既定でインストールする製品

下記の製品は、MSDE 2000 を既定でインストールします。

  • Microsoft Windows XP Embedded #1

  • Microsoft Windows XP Embedded with Service Pack 1 #1

  • Microsoft Server Appliance Kit 2.0 Add-On Pack #2

  • Microsoft Visio Enterprise Network Tools

  • Microsoft Project Server 2002

  • Microsoft Application Center 2000

#1: Microsoft Windows XP Embedded は、一般に販売されている Microsoft Windows XP とは異なる製品です。

#2: Network Attached Storage (NAS) 製品等に搭載されている Microsoft Server Appliance Kit 2.0 は、Windows 2000 および MSDE 英語版をベースにしておりますので、修正プログラムは、英語版をご利用ください。

注意 : 以前本項目に SQL Server 2000 と連携をおこなう可能性のある製品の一覧を記載しておりましたが、誤解を受ける可能性があるため、削除をいたしました。影響を受ける MSDE 2000 を既定でインストールする製品一覧に変更いたしました。

MSDE 2000 が同梱されている製品一覧は、「よくある質問と回答」の「MSDE 2000 はどのような製品に含まれますか?」をご覧ください。

ページのトップへ

本ワームへの対策

本ワームの対策は、感染の有無にかかわらず同じ対策を行うことで、感染を防ぐことが出来ます。 最新の SQL Server 2000 の累積的修正プログラム MS02-061 の適用による対策をご紹介しております。 アプリケーションへの影響等が懸念される場合は、MS02-039 のみを適用することでも対策可能です。 可能な限り、 MS02-039 の修正を含む MS02-061 または、SQL Server 2000 Service Pack 3 以降の最新のサービスパックの適用をお勧めいたします。

SQL Critical Update による対策
マイクロソフトは、実行されているコンピュータで Slammer ワームの影響を受ける SQL Server 2000 および MSDE 2000 のインスタンスをスキャンし、影響を受けるファイルを更新する SQL Critical Update をリリースしました。 SQL Critical Update システム要件
  • オペレーティングシステム : Windows NT 4.0, Windows 2000, Windows XP SQL Server 2000 評価版をご利用のお客様も適用可能です。
制限
  • SQL Critical Update はWindows 95、Windows 98 または Windows ME では動作しません。
  • SQL Critical Update の使用はクラスタ化された環境ではサポートされません。
  • SQL Critical Update は、確認した脆弱性を常に修正します。単に SQL Server のインスタンスを無効にするための使用はできません。

重要 : Microsoft SQL Server 2000 Service Pack 3 を適用する場合は、お客様のアプリケーションの動作に支障が無いことを十分に検証の上、適用いただきますようお願いいたします。

以下の手順では、MS02-061の修正プログラムの適用方法について解説しています。SQL Server 2000 Service Pack 3 / MSDE 2000 Service Pack 3 の適用に関しては、SQL Server 2000 SP 3 インストールに関する注意点 のページもあわせてご確認ください。

Step 1: SQL Server が動作しているかを確認する
コマンドによる確認方法 SQL Server が動作している場合、他のコンピュータから接続を受け付けるために、1434/UDP ポートが開かれています。ポートが開かれているかは、次のコマンドで確認することができます。 netstat -an コマンドを実行すると以下のような結果が表示されます。結果に UDP 0.0.0.0:1434 と表示された行がある場合は、SQL Server が動作しています。表示の行ない場合は、ワームに感染する恐れはありません。

C:>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
(省略)
UDP 0.0.0.0:1434 : ツールによる確認方法 SQL Scan ツールによる確認方法 マイクロソフトは、Slammer ワームの影響を受ける可能性のある SQL Server のインスタンスを検知する SQL Scan というツールをリリースしました。 注意 : 本ツールは、英語版のみですが、日本語環境でもご使用いただけます。 SQL Scan ツール (SQL Scan) このユーティリティは、Windows NT 4.0、Windows 2000、Windows XP またはそれ以降の Microsoft SQL Server 2000 および SQL Server 2000 Desktop Engine (MSDE 2000) のインスタンスを検索し、Slammer ワームの影響を受ける可能性のある SQL Server のインスタンスを検知します。SQL Scan は個々のコンピュータ、Windows ドメインまたは特定の IP アドレスの範囲をスキャンします。 SQL Scan を実行すると以下のような結果が表示されます。結果に NON-VULNERABLE と表示された場合は対策済みです。Slammer ワームによる影響はありません。 結果に VULNERABLE と表示された場合、影響を受ける恐れがあります。 対策済み FOUND: ssnetlib.dll @version=2000.80.479.0
FOUND: sqlservr.exe @version=2000.80.384.0
NON-VULNERABLE: server=JPSQL instance=MSSQL$NetSDK version=SP1 language=1041 platform=NT os=5.0
FOUND: ssnetlib.dll @version=2000.80.311.0
FOUND: sqlservr.exe @version=2000.80.194.0
NON-VULNERABLE: server=JPSQL instance=MSSQLSERVER version=RTM language=1041 platform=NT os=5.0 要対策 FOUND: ssnetlib.dll @version=2000.80.382.0
FOUND: sqlservr.exe @version=2000.80.384.0
VULNERABLE: server=JPSQL instance=MSSQL$NetSDK version=SP1 language=1041 platform=NT os=5.0
FOUND: ssnetlib.dll @version=2000.80.194.0
FOUND: sqlservr.exe @version=2000.80.194.0
VULNERABLE: server=JPSQL instance=MSSQLSERVER version=RTM language=1041 platform=NT os=5.0 SQL Check ツールによる確認方法 マイクロソフトは、Slammer ワームの影響を受ける可能性のある SQL Server のインスタンスを検知し、無効にする SQL Check というツールをリリースしました。 注意 : 本ツールは、英語版のみですが、日本語環境でもご使用いただけます。 SQL Check ツール このユーティリティは、実行されているコンピュータで Slammer ワームの影響を受ける SQL Server 2000 および MSDE 2000 のインスタンスをスキャンします。SQL Check は Windows 98、Windows ME、Windows NT 4.0、Windows 2000 および Windows XP を実行しているコンピュータで動作します。Windows NT 4.0、Windows 2000 および Windows XP を実行しているコンピュータで、SQL Check は SQL Server および SQL エージェント サービスを停止、無効にします。Windows 98 および Windows ME を実行しているコンピュータでは、影響を受けるインスタンスを検知しますが、サービスを停止または無効にはしません。 注意 : HFNetCHK では、SQL に関する修正プログラムの詳細なファイルおよびレジストリ キーの情報が利用できないため、SQL に関する修正プログラムのインストール状態を確認できません。セキュリティ情報 MS02-039 適用の確認には、上記のツールをご利用ください。

Step 2: バージョンの確認
SQL Server が動作している場合は、本ワームの影響を受けるバージョンか確認する必要があります。 バージョンは次の方法で確認することができます。
  1. [スタート] - [検索] - [ファイルやフォルダ(F)...] をクリックします。
  2. "ファイルまたはフォルダの名前に ssnetlib.dll と入力します。
  3. [検索開始]ボタンをクリックします。
  4. ウインドウの右側に検索結果が表示されます。検索は少し時間がかかる場合があります。
  5. ssnetlib.dll の上で右クリックし、 [プロパティ] をクリックします。
  6. ssnetlib.dll のプロパティが開きます。
  7. [バージョン情報] タブをクリックします。
  8. ファイル バージョンを確認します。 バージョンが、 2000.xx.xxx.x ではない場合は、影響を受けません。 (SQL Server 2000 ではありません。)
    バージョンが、 2000.80.636.0 よりも古い場合は、影響を受けるため、対策を行う必要があります。
    ただし、以下のバージョンであった場合は Slammer ワーム対策用の修正プログラムが適用されているため、影響を受けません。 バージョン 日付 --------------------------------- 2000.80.311.0 2003/01/28 17:25 2000.80.479.0 2003/01/28 17:22

Step 3: セキュリティ修正プログラムの入手
MS02-061 を適用することで本ワームの感染を防ぐことができます。以下の手順で入手することができます。
  1. https://www.microsoft.com/japan/technet/security/bulletin/ms02-061.mspx に接続します。
  2. お使いの SQL Server の修正プログラムをダウンロードします。 ここでは、例としてデスクトップにファイルを保存します。
MS02-039 を適用する場合は、以下の手順で入手することができます。
  1. https://www.microsoft.com/japan/technet/security/bulletin/ms02-039.mspx に接続します。
  2. お使いの SQL Server の修正プログラムをダウンロードします。 ここでは、例としてデスクトップにファイルを保存します。
注意 : MS02-039および、MS02-061は、SQL Server 2000 Service Pack 2を適用した環境にのみ適用可能です。 SQL Server 2000 Service Pack 2 はここから入手できます ヒント : SQL Server 2000 と MSDE のどちらがインストールされているか確認する方法
  1. [スタート] - [コントロール パネル] をクリックします。
  2. [アプリケーションの追加と削除] または [プログラムの追加と削除] を実行します。
  3. Windows 2000/XP では、[プログラムの変更と削除] ボタン、他のWindows では、[インストールと削除]タブをクリックします。 Windows の右側または下側に、インストールされている製品の一覧が表示されます。
  4. 製品名は、SQL Server 2000 と MSDE でそれぞれ以下の様になります。
  • 表示されている製品名インストールされている製品 Microsoft SQL Server 2000 Microsoft SQL 2000 Enterprise Edition, Standard Edition, Personal Edition, Developer Edition Microsoft SQL Server Desktop Engine Microsoft SQL Server 2000 Desktop Engine (MSDE)

Step 4: SQL Server の停止
ワームの影響を受けないバージョンに SQL Server をアップデートするには、SQL Server を一度停止させる必要があります。ワームの影響により通常の手順で終了しない場合は、以下の手順で停止します。
  1. ローカルから管理者権限でログオンします。
  2. 次のコマンドを入力し、SQL Server に接続します。 osql -E
  3. 次のコマンドを実行し、 SQL Server を停止させます。 shutdown with nowait
  4. ワームにより CPU が占有されているため時間がかかることがあります。一時的に”応答なし”の状態になることもありますが、しばらくお待ちください。
  5. Step 1 の手順で SQL Server が停止していることを確認します。 上記の手順で SQL Server が停止しない場合は Windows をシャットダウンします。 シャットダウンも通常より時間がかかる場合があります。シャットダウン後、電源は、Step 5で、ネットワークの切断が完了するまで入れないでください。 ネットワークに接続された状態では、再度感染する恐れがあります。

Step 5: ネットワークの切断
対策中の再感染を防止するために、ネットワークを以下の手順で切断します。
  1. サーバー本体から、LAN ケーブル、電話線 や 無線 LAN のアダプタ(カード)をはずします。
  2. 本体から、ネットワークにつながっていないことを確認します。
  3. Step 4 でシャットダウンした場合は、ネットワークに接続していないことを確認して電源を入れます。

Step 6: 対策
再度感染しないために、セキュリティ修正プログラムを以下手順で適用します。
  1. 修正プログラムを展開するためのフォルダを作ります。 ここでは、例として、デスクトップ上に、"ms02-039" という名前で作成します。
  2. Step 3 で入手したセキュリティ修正プログラムをダブルクリックします。
  3. "Q323875" ダイアログ ボックスが表示され、使用許諾契約が表示されます。 内容をご確認の上、[はい] ボタンをクリックしてください。
  4. "展開されたファイルを保存する場所を指定してください。" と表示されますので、手順 1. で作成したフォルダをしています。フォルダを指定するには、[参照] ボタンをクリックします。
  5. ダイアログ ボックスが消え、ファイルが展開の終了します。
  6. 手順 1. で作成したダイアログ ボックスを開きます。
  7. readme.rtf ファイルを開きます。
  8. readme.rtf の内容にしたがって、修正プログラムを適用します。 readme.rtf には 2 種類のインストール手順が書かれていますが、SQL Server 2000 Enterprise Edition 以外の環境では、標準インストールを行ってください。
  9. 「Step 2: バージョンの確認」の手順に従い、ssnetlib.dll のファイル バージョンが 2000.80.636.0 以上になっていることを確認します。

Step 7: SQL Server の開始
  1. Step 5 で切断した LAN ケーブルなどを、すべて接続します。
  2. SQL Server を開始します。

ページのトップへ

対策による影響

本体策による特別な影響はございません

ページのトップへ

osql コマンドについて

osql コマンドは、デフォルトでは以下の場所にインストールされています。

(SQL Server 2000) \Program Files\Microsoft SQL Server\80\Tools\Binn

(MSDE) \Program Files\Microsoft SQL Server\80\Tools\Binn

オプションの説明 :

-E SQL Server に接続するための現在のユーザーを使用します。
-U SQL Server に接続するためのログイン (ユーザー) を指定します。
-P ログイン(ユーザー)のパスワードを指定します。
このドキュメントでは、 パスワードなしの sa を使用しているためパスワードの指定を行っておりません。
-S SQL Server が動作しているインスタンス (サーバー) を指定します。
-Q SQL Server に対して指定したクエリの実行を要求し、実行後に、このコマンドを終了させるオプションです。
"(ダブルコーテーション) で囲まれた部分がクエリ文字列になります。

osql コマンドおよび SQL Server の詳細につきましては、SQL Server に付属する Books Online、ヘルプ、製品マニュアルをご参照ください。

ページのトップへ

関連リンク

ページのトップへ