SQL Slammer

SQL Slammer (エスキューエル・スラマー）は、コンピュータウイルスのワームの一種。2003年1月25日5時30分 (UTC) に確認されてから、爆発的に感染台数を増やし、感染台数は確認後僅か10分で7万5000台以上に達した。また、このワームの出すパケットにより、世界的にネットワーク障害が発生した。別名 W32.SQLExp.Worm、DDOS.SQLP1434.A、the Sapphire Worm、SQL_HEL、W32/SQLSlammer、Helkern。

概要 
SQL Slammerを最初に発見した人物は、W3 MediaのシニアWebデベロッパでテクニカルマネージャーのBen Koshyとされている。"SQL Slammer"と呼ばれているが、このワームはSQLで書かれているわけではなく、このワームがマイクロソフトのSQL ServerまたはMSDEに含まれるバッファオーバーフローの脆弱性を突いて感染するからである。ちなみに、その脆弱性の対策パッチは6ヶ月前にマイクロソフトより公開されていた（MS02-039, MS02-061）。

衝撃 
Internet Storm Centerなどインターネットのトラフィックをモニターしているサイトは、ネットワークが世界的規模で著しく重くなっていると報告した。その状況は2001年夏に大流行したCode Redと似ていた。

日本の感染状況は非常に軽微（シマンテックへの感染報告は1件のみ）だったが、セキュリティ意識が低く、コピーソフトが蔓延しているためパッチやサービスパックを適用していない韓国では、感染したSQL ServerによりDNSがダウンしたことで全国でインターネットが利用できなくなるなど、大きな影響が出た。企業のサーバでも多くの感染被害が出た。また同様の攻撃は、アジア、ヨーロッパ、北米でも報告された。

ウイルス対策ソフトメーカーのシマンテックは世界中で少なくとも2万2000台ものシステムが影響を受けると見積もった。

Microsoft SQL Server Desktop Engine (MSDE) は、このワームに感染し、続々と感染数を増やしていった。また、MSDEがインストールされていることを知らない一般家庭のユーザーの存在もさらに事態を悪化させた。さらに、このワームはMSDEの動作しているコンピュータがインターネット経由で感染した場合、ネットワークアドレス変換 (NAT)の内側のSQL Serverに感染することができた。

技術的な詳細 
このワームはわずか376バイトのコードでできていて、IPアドレスをランダムに発生させて、発生させたIPアドレスを持つホストに対して自身の分身を送りつける以外の行動は行わない。もし、ワームの選択したアドレスを持つホスト上で、パッチを当てていないMicrosoft SQL Serverが動いていた場合、直ちにホストに感染し、感染を増やす活動を始める。

家庭のパソコンでは、一般的にMSDEがインストールされていない限り感染することはない。また、ワームはディスクには書き込まれず、メモリに常駐するだけなので除去することは簡単である。例えば、再起動するだけでも除去することができる（対策を行っていないので、すぐにまた感染することになるが）。

このワームは、2002年7月24日にマイクロソフトによって報告されたSQL Serverのセキュリティーホールを突いている。そのパッチはワームが登場する半年も前にマイクロソフトからリリースされていたが、多くのシステムにはパッチが適用されていなかった（マイクロソフト自身のいくつかのサーバを含む）。

ネットワーク遅延は、感染したサーバの吐き出す大量のパケットによるネットワークトラフィックの増大に耐え切れず、多数のルーターがダウンしたことによる。通常、トラフィックが処理限界を超えると、ルーターの処理が遅延するか、ネットワークトラフィックを遮断すると想定されている。いくつかのルーターがクラッシュし、隣のルーターはこれらのルーターへのパケットの受け渡しを止めなければならないと感知する。ルーターは、自身の知っているルーターへこのことを通知し始めた。このようなルーティングテーブルの更新情報の通知の嵐が、さらにルーターが故障する原因となり問題を悪化させた。さらに、クラッシュしたルーターの管理者がルーターを再起動し、ルーターが自分の存在を通知したため、ルーティングの更新情報の通知の嵐が再び発生した。すぐに、インターネットの帯域の大部分がこれらルーティングテーブルを更新するためのルーター同士の通信に消費され、通常のデータトラフィックは遅延し、または完全に停止した。皮肉にも、SQL Slammerは小さなデータだったため、通信に成功したが、まっとうなパケットの通信は不通になった。

SQL Slammerは確認された最初のウォーホール型ワーム（2002年、Nicholas Weaverの論文によって存在を仮定されたネットワークで急速に広がるワーム）である。このワームが急速に広まったのには2つのわけがある。一つはUDP上で感染を広めたこと、そしてもう一つは、ワームがことである。その結果、感染したホストが他のマシンとのコネクションを確立する必要がなくなり、各々の感染したホストは、限界まで攻撃を試行できた（大体、毎秒数百回）。

脚注

外部リンク 
ニュース
BBC NEWS Technology Virus-like attack hits web traffic
MS SQL Server Worm Wreaking Havoc
Wired 11.07: Slammed! A layman's explanation of the Slammer code.
「「ネット接続障害」27日が山場」。朝鮮日報、2003年1月26日。 

アナウンス
Microsoft Security Bulletin MS02-039 and Patch
CERT Advisory CA-2003-04
Symantec Security Response - W32.SQLExp.Worm

解析
 Report of CAIDA-coordinated study of SQL Slammer/SapphWarhol Worms: The Potential for Very Fast Internet Plagues by Nicholas C. Weaver

技術情報
Worm code disassembled
Multiple Vulnerabilities in Microsoft SQL Server - Carnegie-Mellon Software Engineering Institute
Internet Storm Center

コンピュータウイルス
DoS攻撃