2003/1/30 更新
このワームに対して脆弱だったシステムにパッチがあてられ、また、ファイアウォールがUDPポート1434をブロックするように設定された結果、感染報告が減少しているため、このワームの危険度を「中」に下げました。
2003/1/28 更新
「W32/SQLSlammer.worm 緊急対策インターネット セミナー 」の申込みを開始しました(放送開始は28日からです)。インターネット形式なので、今申し込んでおけば、好きな時間に好きな場所で見られます。申込みはこちら
只今放送中です
プログラム内容:
- Slammerワームの特徴 1 〜 4
- 対処方法
- 駆除ツール(スティンガー)
2003/1/27 更新
このワームは、サービスパック3を当てていない以下のSQLサーバのユーザーにとってのみ、「危険度:高」です。
- Microsoft SQL Server 2000
- Microsoft Desktop Engine (MSDE) 2000
・SP3で起動しないSQLサーバに適用できるパッチの全リストは、Microsoft Technetをご覧ください。
このワームは、パッチを当てていないSQLサーバのメモリの中にのみ存在します。システムからシステムへと移り歩くことだけを目的にしたワームであり、破壊的な発病はありません。
このワームはUDPポート1434番のトラフィックの増大をもたらします。SQLサーバ間で感染を続けます。
ワームのこうした挙動のせいでネットワークが極度に増えるため、ネットワーク内のシステム全てのパフォーマンスに悪影響が与えられることがあります。
このワームは、サーバ解決サービスのバッファ・オーバーフロー(MS02-039)を悪用して、感染先サーバの制御を奪い取ろうとします
(詳細は、こちらのマイクロソフト情報またはCVEリストをご覧ください)。ただしサービスパック3を当ててあるSQLサーバはこのワームの影響を受けません。
ワームが送り込んでくる不正形式パケットは、サイズは376バイトに過ぎませんが、しかしこのわずか376バイトに全てのワーム機能が収められています。そのパケットには以下の文字列が含まれています
- "h.dllhel32hkernQhounthickChGetTf"
- "hws2"
- "Qhsockf"
- "toQhsend".
感染システムからは、ポート1434UDPに向けて、異常なまでに大量のトラフィックが送り込まれます。
このワームはファイルとしては存在するわけではありません。またINIファイルやレジストリキーの改変も行いません。このワーム(376バイト)のMD5チェックサムはA0AA4A74B70CBCA5A03960DF1A3DC878です。
このワームの本体はバイト04から始まりその後に01がしばらく続くという構成になっています。
これをSQLモニターが受信した場合、長大なレジストリキーネーム(HKLM\Software\Microsoft\Microsoft SQL Server\.....\MSSQLServer\CurrentVersion)が発生し、これがバッファあふれを起こします(このキーの中のドット列は、SQLモニタがアクセスしようとするレジストリキーブランチを表しています。SQLSlammer.wormにとっては、これらのバイトは、印字不可能な01の列です。この01列の前に04があります。これはリクエストの一種です)。
このバッファあふれによりスタック内の戻りアドレスが上書きされ、その結果、ワームコードが制御を受け取ることになります。この時ワームはSQLモニタの権限を継承することになります。
マシンの制御を獲得したワームは、ただちにWS2_32.DLLをロードし、ランダムに選んだIPアドレスに向けて自分自身をひたすら送付しつづけます。この動きは無限ループ状態で続きます。ワームが目標とするIPはGetTickCount' API を使って構築されます。つまりこのIPは純粋にランダムなアドレスとなります(例えばローカルサブネットに偏るようなことはありません)。
このような繁殖方法を取っているということは、非常に大量のリクエストがインターネット全体に雪崩れこみ、それによってネットワーク帯域が無用に消費されることを意味します。
なおこのワームはメモリ内にのみ存在します。ローカルマシンのファイルを改変するようなことはありません。
対処方法