SQL Slammer

この記事をシェア
Ursnif
別名 Sapphire Worm、SQL_HEL、Helkern
活動開始時期 2003年
プラットフォーム Windows
カテゴリ ワーム

概要

SQL Slammerは、2003年初頭に発見されたワーム型のマルウェアです。その名のとおりMicrosoftのSQL Server 2000またはMSDE 2000に含まれる脆弱性を突くワームです。このマルウェアは爆発的な感染速度で知られており、ネットワーク上で活動を開始してからわずか10分間で、該当する脆弱性を持つコンピューターの90%に感染したともいわれています。

SQL Slammerは、感染活動を行うこと自体を目的としたワームであり、データベース内の情報の改ざんや悪意あるプログラムファイルの作成といった一般的なマルウェア感染時の被害を与えることはありません。ただし、通信に利用するUDP パケットがネットワークの帯域を消費し、結果的にネットワーク全体のスループットが低下する恐れがあります。また、感染してしまった PCの CPU 消費が極端に上昇し、コンピューター全体のパフォーマンスの低下も発生します。

SQL Slammerは、その驚異的な拡散スピードと広い影響範囲から、サイバーセキュリティ対策の欠如や重要性を世界に知らしめました。サイバー攻撃の悪質さを印象付け、インターネットというテクノロジーによって、世界中のシステムが繋がっていることの危険性を明らかにしました。短期間で終息したものの、その教訓は現在もサイバーセキュリティ対策の基礎に影響を与えています。

Ursnifのタイムライン

SQL Slammerのタイムライン

機能

脆弱性の悪用

SQL Slammerはバッファオーバーフローの脆弱性であるCVE-2002-0649を悪用します。
SQL Server 2000では、SQL Serverのインスタンス名を解決するためにUDPポート1434をリスニングするSQL Server Resolution Serviceが動作しています。クライアントがサーバーに接続する際、SQL Serverのインスタンス名を問い合わせるために、このポートにリクエストを送信します。
CVE-2002-0649はSQL Server Resolution Serviceがリクエストに含まれる入力データの長さを適切に検証していなかったために生じた脆弱性です。このサービスが想定より長いリクエストを受け取ると、バッファオーバーフローが発生し、結果として攻撃者による任意コード実行が行われます。

自己増殖

SQL Slammerが行う自己増殖は次の三段階に分けることができます。

①SQL Slammer感染PCがランダムにIPを生成する
②生成されたIPのUDPポート1413に対し、前述の脆弱性を悪用するリクエストを送信する
③SQL Server 2000が動作するPCが②のリクエストを受け取った場合、SQL Server 2000がバッファオーバーフローを引き起こし、結果としてSQL Slammerがリクエストを受け取ったPCで実行される

①から③の様子を以下の図に示しました。

Ursnifのタイムライン

SQL Slammerの自己増殖の様子

ファイルレスマルウェア

前述のとおり、SQL Slammerは悪意あるプログラムファイルの作成を行いません。SQL Slammerの本体はわずか376バイトのプログラムコードであり、メモリ上だけで動作します。近年はファイルレスで動作しウイルス対策ソフトに発見されにくい性質を持つマルウェアに注目が集まっており、SQL Slammerはそうした凶悪な性質を2003年に実現していたと捉えることができます。

この記事をシェア
サイバーセキュリティ
情報局の最新情報を
チェック!