Comments
Description
Transcript
「スクリプトウイルスに関する報告書」
「スクリプトウイルスに関する報告書」 2001 年 2 月 情報処理振興事業協会 セキュリティセンター Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -1 目次 1.スクリプトウイルスとは 3 1 .a. 3 スクリプトウイルス登場の背景 1)ス ク リ プ ト 言 語 3 2)VBAと ス ク リ プ ト ウ イ ル ス 4 3)Visual Basic Script 4-5 1.b. スクリプトウイルスの特徴 5 1)スクリプト言語の利点 5-6 2)スクリプト言語における不正プログラム開発 6 3)スクリプトウイルスの利点 7 4)スクリプト言語の制限 8 2.スクリプトウイルスの現状 8 2.a. 現在のスクリプトウイルスの活動について 1 ) Visual Basic Script ( VBScript) ・ 初 の VBScriptの 不 正 プ ロ グ ラ ム 8 8 8-9 ・ 「 VBS_BUBBLEBOY」 、 「 VBS_KAKWORM」 9-10 ・ 「 VBS_LOVELETTER」 10 2 )DOSバ ッ チ コ マ ン ド 11 3 ) Java Script 12 4) そ の 他 の ス ク リ プ ト 言 語 12 3. 今 後 の ス ク リ プ ト ウ イ ル ス の 傾 向 13-15 4. HTML形式のメール及びWebサイト上で、ウイルスの動作実験報告 15-18 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -2 1. ス ク リ プ ト ウ イ ル ス と は 1 .a. スクリプトウイルス登場の背景 本 報 告 書 で は「スクリプトウイルス」についてご説 明 い たします。一 般 的 に「スクリプト言 語」と 呼 ば れるプログラミング 言 語 で 記 述された不正プログラムを指して特に「スクリプトウイルス」と呼 びます。 本 報 告 内 で は「スクリプトウイルス」と呼ばれるものについてはこの定義に基づいてご説 明します。 1) ス ク リ プ ト 言 語 スクリプト言 語とは 人 間 にもわかりやす い 文 法 で 記 述したロジックをコンパイルなどの 作 業 を 経 ず に 直 接 実 行 できるようにした 簡 易 言 語 で す。 代 表 的 なものとしてMS-DOS 上 の バッ チコマンドやUNIX上のシェルスクリプトなどがあります。記 述したプログラムのソースをコンパ イルなど 実 行 形 式 の モ ジュールに 変 換 することなく、そのまま実行できるので 手 軽 に 扱 える ことが特長です。 スクリプト言 語 は 基 本 的 に 実 行 可 能 形 式 の プログラムファイルとして扱わ れますが、スクリプト言 語 は 直 接 CPUが 理 解 で きる命令ではありません。したがってスクリプト プログラムの 実 行、つまりコマンドプロンプトからのコマンド入力もしくはWindows上でのダブ ルクリックでの実行を行うにはスクリプトを理解してCPUに伝えるインタープリターに類する仕 組 み が 必 要 で す。このためスクリプト言語をインタープリター言 語と 呼 ぶ 場 合もあります。前 述 の UNIXシェルスクリプトの場合は UNIXのシェルがインタープリターとしてスクリプトを解釈 し、実行されます。また、Java ScriptのようにWebブラウザなどのアプリケーションに 機 能 拡 張 の 目 的 で 実 装されそのアプリケーションがインタープリターとして働くことにより実行される ものや、テキストの 整 形 に 特 化していたawkや Perlのように限定された目 的 のものもスクリプト 言語と呼びます。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -3 2) VBAと ス ク リ プ ト ウ イ ル ス 「スクリプトウイルス」と呼ばれる種 別 の 登 場 は 数 あるプログラミング 言 語 の 中 でも 特 に Visual Basicと 関 連 が 深 いといえます。Visual Basicはマイクロソフト社製のプログラム 開 発 言 語 であり、業務アプリケーション 開 発 等 に 広 く使用されております。 Visual Basic自 体 はスクリプト言語ではありませんが、そのシンタックスを倣った Visual Basicのサブセットであ るVisual Basic for Application( 以 下、 VBA)、さらに VBAのサブセットと呼べる Visual Basic Script( 以 下 、 VBScript) を 生 み ま し た 。 VBAは ExcelなどのMicrosoft Officeアプリケーション上で実 行 するプログラム用のプログ ラミング言語として開発されました。Microsoft Officeアプリケーション用で使用されるプロ グラムは 一 般 的 に「マクロ」と呼ばれていたため、Microsoft Office 97以 降 で 実 装された VBAもその 呼 称 を 引き継ぎ、総称して「マクロ」と呼ばれ、 VBAで 作 成された不 正 プログラ ムも「マクロウイルス」として大別されています。このためここでは「マクロウイルス」に関しては 「スクリプトウイルス」の 対 象 外としますが、 VBA自 体 は Microsoft Officeなど特定のアプリ ケーション上で動作するスクリプト言語ともいえるでしょう。 3) Visual Basic Script Virusal Basic Script(VBScript)は Java Script 同 様、Webブラウザ 上 で 実 行される Web 拡 張 言 語 の 目 的 で 登 場しました。 Windows 98 以 降 で は、 Windows Scripting Host (WSH)の 実 装 によりWindows 上 で VBScriptファイルを 直 接 実 行 できるようになり 使 用 範 囲 が 広 まり、汎用性の高いスクリプト言 語となりました。Windows上 で 直 接 実 行 できるよう になったことでVBScriptが 不 正 プログラムを 作 成 す る 際 の 選 択 肢として 有 力 な 存 在となり、 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -4 Windows 98での Windows Scripting Hostの 採 用 がスクリプトウイルス 流 行 の 土 台となった とさえいえるでしょう。 どのような形であれ、プログラムが 作 成、 実 行 できるプラットフォームであれば「不 正 プログラ ム」の作成も 可 能 で す。他に比べてプログラミングの容易なスクリプト言語を使 用した 不 正 プロ グラムの存在はある 意 味 当 然といえるでしょう。厳 密 に いえば「スクリプトウイルス」という定義づ けはあまり有意義なものではないかも知れません。単に不正プログラムにスクリプト言語が使用 されただけ、ともいえるからです。スクリプトの不正プログラムがまだそれほど多くなかった頃には 他 の 実 行 可 能 形 式(EXE、COM等)と区別する積極的な理由はなかったため、「スクリプトウイ ルス」という定義は必要がありませんでした。しかし、特にマイクロソフト社製 Visual Basicの 登 場 によりスクリプト言語を使用した不正プログラムが増加したこと、またスクリプト言語の特 徴 が 不 正 な 活 動 や そ の プログラムの 流 行 に 深く関わってきたケースも見られるようになってきたこと により、他の不正プログラムとの区別がなされるようになってきました。 1.b. スクリプトウイルスの特徴 スクリプト言 語と 他 の 本 格 的 な プログラミング言 語 を 比 較した場 合、スクリプト言 語 の 長 所 短 所となる点がいくつかあります。他の 不 正 プログラムと比較した場合の「スクリプトウイルス」の特 徴も概ねスクリプト言語自体の特徴を引き継ぐ形になります。 1) ス ク リ プ ト 言 語 の 利 点 スクリプト言語の最 大 の 利 点 は、C言 語 等 の 他 の 開 発 言 語 に 比 較してプログラミング自 体が容易で、高度なプログラミングスキルがなくても簡便にプログラムが作成できることで Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -5 しょう。この 利 点 は 不 正 プログラムにとっては長所とも制限ともなります。基本的にスクリプト 言 語 は 限 定された処 理 を 簡 単 に 実 現 する目 的 で 開 発されています。このためスクリプト言 語 で プログラム作成をするのに必要なスキルのレベルは C言 語 や VBな ど の 本 格 的 な プロ グラミング言語に比べると当然低いものとなります。例えば Visual Basicのコーディング、デ バッグ、コンパイルといった 一 連 の 作 業 は プログラミング初心者にはハードルが高いでしょう。 また、スクリプト言語で作成したプログラムは 基 本 的 に プログラムソースがそのままテキスト 形 式 で 頒 布されることになるのでプログラミングの 実 例 を 参 考 に することも容易でプログラミ ングの実例を学習することができます。 2) ス ク リ プ ト 言 語 に お け る 不 正 プ ロ グ ラ ム 開 発 先のスクリプト言語の利点を不正プログラムに当てはめると、「亜 種 の 作 成 が 容 易」という 特 徴 があげられます。通常のバイナリの 実 行 可 能 形 式 プログラムを改変しようとしてもソー スの 入 手 が 困 難 な 場 合 に は 逆 ア センブルなどの 方 法 が 必 要 条 件 であり、容易に解析する ことはできません。しかし、スクリプトウイルスの 場 合 は 頒 布されてくるウイルスファイルがその ままソースコードなので 基 本 的 な プログラミングスキルを持っている人ならば容易にそのプロ グラムロジックを把握でき、またロジックの改変が可 能 で す。スクリプトウイルスに関する 亜 種 作 成 の 容 易さを表す 例としては 最も成 功した最も有 名なスクリプトウイルスである 通 称「ラ ブレター(VBS_LOVELETTER)」ウイルスのケースが 最 適 でしょう。「ラブレター」ウイルスは 2000 年 5 月 に 発 見され、 短 時 間 に 爆 発 的 な 勢 い で 世 界 に 広 まりましたがそれとほぼ 同 時 にメールの 件 名 や 本 文、添付ファイル名など変更しやすい部分に小 規 模 な 改 変 を 行 った 亜 種も多く出回りウイルスワクチンベンダーはその確 認と対 応 に 追 わ れました。その亜種の 数 は 出 現 から1週 間 で 約 20 種 に 達し、しかもその亜種すべてがオリジナルのウイルス作 者 以 外 により改変が行われたものと推測されます。これは 過 去の 不 正 プログラムでは考えら Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -6 れないほどの亜 種 の 数といえます。ただし、スクリプトウイルスによっては 簡 単 に 解 析されな いよう、意図的にわかりづらいようにプログラミングされていたり、エンコードをかけたりしてい る例もありますのですべてがこの特徴に当てはまるわけではありません。 3) ス ク リ プ ト ウ イ ル ス の 利 点 また、プログラムの取り扱いが容 易 であるというスクリプト言 語 の 利 点 はウイルスにおいて は 検 出 を 免 れ や すくなるという利点となります。現 在 す べてのウイルス 対 策ソフトで 検 索 の 主 流 は パターンマッチング方 式 で す。これはあらかじめ採 取しておいたウイルスコードと検 索 対 象 のファイルのコードをマッチングしてウイルス検出を行う方式ですが、パターンマッチ ングはウイルスファイル内のコードが大きく変化した場合にマッチングできず、検出ができな くなる弱点を持っています。スクリプトウイルスのファイルはテキストフォーマットであるため、 編 集 が し 易 い 上 に 実 行 に は 関 わらないような変 更 であってもその 変 更 がコード 全 体 に 及 ぼ す 変 化 が 大きく、結果パターンマッチングを免 れ 易くなるというウイルスにとっての 利 点と なります。 4) ス ク リ プ ト 言 語 の 制 限 前述のような利 点を持つスクリプト言語ですがこれは逆に制 限 にもなります。スクリプト言 語 は 限 定された処 理 を 簡 単 に 実 現 する目的に適していますが、これは逆にいうとインター プリターを通して CPUに 命 令 を 伝 え 実 行 するというスクリプト言 語 の 仕 組 み が 複 雑 な 処 理 をするには 効 率 が 悪 い からです。つまり、スクリプト 言 語 は 機 能 を 限 定 することによって簡 便 性を得たわけですが、不正プログラムとして使 用 するには 実 施 可 能 な 活 動 の 制 限 が 大 きいといえます。また、実行にはそのスクリプト言 語 を 解 釈してくれるインタープリターが必 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -7 要 で す。これはMS-DOSコマンドやシェルスクリプトのようなOSの 基 本 的 な 部 分 がインター プリターであるもの 以 外 で は 実 行 環 境 が 制 限されるという意味ではウイルスにとって大きな 問 題 で す。例えば Perlの 不 正 プログラムを作ってもPerlが 実 行 できる環境が少ないため、 活 動 対 象 自 体 が 限られてしまいます。これらの要 因 の た め、VBScriptの 登 場まで、スクリ プト言語は不正プログラムの作者にとっては魅力的でなかったといえます。 2. ス ク リ プ ト ウ イ ル ス の 現 状 2.a. 現在のスクリプトウイルスの活動について 現在では、スクリプトウイルスに 分 類 できるウイルスはそのほとんどがVBScriptを 使 用したもの ですが MS-DOSの バッチコマンドや Java Scriptなど 他 の 言 語 を 使 用したものも存 在します。 個 々 のスクリプトウイルスの 特 徴 は そ の 使 用 す るスクリプト言語 自 体 の 特 徴 に 因るところが大き いので、ここでは使用スクリプト言語ごとに現在するスクリプトウイルスの活動を説明します。 1 ) Visual Basic Script ( VBScript) Visual Basicはマイクロソフトが開発したプログラミング 言 語 及 び そ の 開 発 環 境 の 総 称 で すが、Visual Basic Script(VBScript)はそのスクリプト言語版サブセットといえます。 当 初 は Webブラウザに 実 装される WWW 拡 張 言 語 として登場しましたが、 Windows Scripting Host( WSH、 実 体 は Wscript.exe)がインストールされている Windows 環 境 で は 直 接 実 行 で きるプログラムとして使用できるようになり、Visual Basicから 引き継いだ機能とあいまってス クリプト言 語としては 高 機 能 で 汎 用 性 が 高 いものとなっています。 VBScriptの 直 接 実 行 に 必 要 な WSH は Windows 98/Me/2000 に お い て は デ フォルトでインストールされる 他、 Internet Explorer 4以降ではモジュールの 一 部としてもインストールされます。現 在 の 状 況 としてはVBScriptが 直 接 実 行 できる環 境 が Windowsのデフォルトといえ、PC環 境 で は 動 作 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -8 可 能 な 環 境 が 最も多いスクリプト言語でしょう。しかし逆にその汎用 性 の 高さから不 正 プロ グラムに 使 用される頻 度も高まりました。特に VBA同 様、Microsoft Officeアプリケーション のコントロールが容易であることにより、現 在 最 も不正プログラムに 使 用され、最も大きなウイ ルス被害を引き起こしたプログラミング言語となってしまいました。 ・ 初 の VBScriptの 不 正 プ ロ グ ラ ム VBScriptの 不 正 プログラムはWindows 98 が 発 売された 1998年 からすでに 存 在 が 確 認されています。当時の VBScriptウイルスとしては「VBS_V777」、「VBS_HAPPY」といっ たものがあります。どちらも特定のディレクトリ内の VBScriptファイルに 感 染 する他、テキス ト文書や DOC 文 書 に 文 字 列をコピーしたり、自身 のコピーをレジストリに登録して自 動 実 行させたり、といった 現 在の VBScriptウイルスにも通ずる活動を行います。翌 1999年 8 月 には「VBS_MONOPOLY」が 登 場します。これは Outlookをコントロールしてメールを 自 動 送信する活動を行うもので、後の「ラブレター(VBS_LOVELETTER)」などのVBScript ワームの 始 祖といえる不 正 プログラムです。しかし、これらの 不 正 プログラムは 被 害として は小規模だったためほとんど注目されませんでした。 ・ 「 VBS_BUBBLEBOY」 、 「 VBS_KAKWORM」 これまでのウイルスの常識を覆し、VBScriptの 危 険 性を大きく知らしめたのは1999年 11 月 に 確 認された「VBS_BUBBLEBOY」です。「VBS_BUBBLEBOY」はもともとWeb拡 張 言 語として HTML 内 のスクリプトとしてブラウザ 上 でも 実 行 できる VBScriptの 特 性 から Internet Explorer 5までのセキュリティホールを利 用してメールの添付ファイルを開かなく ともOutlook Express上 で プレビューしただけで不 正 プログラムが 活 動 開 始してしまうとい うダイレクトアクション 型 の ワ ー ム 活 動 を 実 現 しました。その 革 新 性 に も 関 わ ら ず Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -9 「VBS_BUBBLEBOY」はほとんど 流 行しませんでしたが、これは「VBS_BUBBLEBOY」 の 活 動 が、 活 動 開 始 に は Outlook Express、ワームメールの自動送信には Outlookと、異 なる二つのメーラーを 必 要としていたためと思われます。しかし、2000年 1 月 に 存 在 が 確 認された「VBS_KAKWORM」は、同じセキュリティホールを 利 用してメールを開かずとも 活 動 開 始 すると同 時 に 自 分 のウイルスコードをOutlook Expressの 署 名として送信メール に 添 付 するというパッシブな方法をとっています。「VBS_KAKWORM」はメールの自 動 送 信 を 行うものではないため 爆 発 的 な 広まりはありませんでしたが、登場から1年 以 上 が 経 っ た 現 在 で も ウ イ ル ス 感 染 報 告 の ト ッ プ 10に 入 り 続 け て い ま す 。 「VBS_BUBBLEBOY」、「VBS_KAKWORM 」が利用した Internet Explorerのセキュリ ティホールはInternet Explorer 5.01で 修 正されましたが市販の Windows 98 SE/2000で も最初は Internet Explorer 5.00の 状 態 でインストールされるので、インストール後アップ デ ートを怠るとそのセキュリティホールを抱えたままとなります。「VBS_KAKWORM」の感 染 報 告 が 絶 えない事からみても、ユーザ自 体 の このセキュリティホールの認 識 が 低 いと考 えてよいでしょう。ただし、ブラウザ 上 で 実 行された VBScriptプログラムの 活 動 は ブラウザ の セ キ ュ リ テ ィ に よ り 制 限 を 受 け ま す 。 こ の た め 、「 VBS_BUBBLEBOY」 も 「VBS_KAKWORM」も 最 初 の アクションでは Windows の ス タ ートアップフォルダに VBScriptウイルスの 本 体 を 作 成し、 次 回 Windows 起 動 時 に 実 際 の 活 動 を 行うという二 段 階 の 活 動を行います。幸い、ほとんどの 不 正 プログラムは 英 語 環 境 で の 活 動 を 前 提 に しているため、 Windowsのスタートアップフォルダのパスが異なる日 本 語 環 境 で は 活 動 が できません。「VBS_KAKWORM」も海外では息 長く 流 行し続けていますが、先の理由に より日本での発見例はあるものの感染例はほとんどないという結果になっています。 ・ 「 VBS_LOVELETTER」 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -10 2000 年 5 月 に は「メリッサ (W97M_MELLISA)」 以 上 の 大 き な 被 害 を 世 界 に 与 え た 「VBS_LOVELETTER( 通 称 :ラ ブ レ タ ー )」が 登 場 し ま す。「ラブレタ ー」ウイ ル ス は Microsoft Officeア プリケーションをコントロー ル し や す い VBScriptの 特 性 を 生 かし、 Outlook を 利 用 し て アドレス 帳 の 宛 先 全 員 に ワ ー ムメ ー ル を 送 信 す る 活 動 と、 「ILOVEYOU」、「LOVELETTER」という人の興 味 を 引きやすいキーワードで 一 瞬 のうち に 世 界 を 席 巻しました。「ラブレター」ウイルスはVBScriptによる Outlookのコントロールの 容 易さを世 界 的 に 知らしめたことで 現 在 の VBScriptワ ー ム 大 流 行 の 元となったといえま す。「ラブレター」ウイルス以降の VBScriptウイルスはほとんどがOutlookを 利 用してマスメ ーリングのワーム活動を行います。 2) DOS バ ッ チ コ マ ン ド 「バッチ」とはあらかじめ 設 定しておいたいくつかの 処 理 をまとめて 実 行させることですが、 MS-DOSで は 特 に 複 数 の MS-DOSコマンドをテキストフォーマットで記述したものをバッチ ファイル(.BAT)として 実 行 可 能 なものとしています。MS-DOSコマンドで 可 能 な 処 理 は す べてバッチファイルで行えます。Windows上 で 起 動された場合はひとつのウインドウとして 表 示され、そのウインドウ内で実行されます。しかしあまり複雑な活 動 は 行 い 難 い の で 使 用 した不正プログラムの 種 類も極めて少ないものです。 MS-DOSバッチコマンドの 不 正 プロ グ ラ ム と し て 最 も 複 雑 な 活 動 を 行 う も の と し て は 2000 年 4 月 に 確 認 さ れ た「 BAT_CHODE911」があります。「BAT_CHODE911」はネットワーク上のアクセス 可 能 な 共 有ドライブを探し出しワーム活動を行うことができます。また、モデムをコントロールして電 話 番 号 911( 米 国 の 救 急 時 用 電 話 番 号)に 電 話 をかける発 病もあります。しかし、 現 状 存 在 する MS-DOSバッチコマンドの 不 正 プログラムが 行う活動のほとんどはファイル 削 除 などの 単 純 な 破 壊 活 動 で す。 起 動 時 に 破 壊 活 動 を 行 っ て 終 了 するため感 染 が 大きく広がる可 能性もありません。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -11 また、DOS/Windowsのシステム 起 動 時 に 自 動 実 行される「AUTOEXEC.BAT」もDOSバ ッチファイルなので、この仕組みを利用して「AUTOEXEC.BAT」を書き 換 え 起 動 時 に 破 壊 活動が行われることもあります。 Windows NT/2000 はもともと MS-DOS が 必 要 な い OS で あり、 Windows 95/98 系 でも Windows Meに お い て 起 動 時 の MS-DOSリア ル モ ードを 撤 廃 し た た め、 全 体として MS-DOS バ ッ チ コ マ ン ド 自 体 が 使 用 さ れ な く な る 傾 向 に あ り ま す 。 3) Java Script Java Scriptは Netscape 社 が 開 発したスクリプト言語です。Webブラウザに 実 装され Web 拡 張 言 語として 使 用されています。類似した名 称 で サンマイクロシステムズが 開 発した 「Java」というプログラム言語があります。Java Scriptの 文法は「Java」言語を参考にしている部分 がありますが、「Java」言語との互換性はありません。Visual Basicと VBScriptのような関係ではな く、JavaのサブセットとしてJava Scriptがあるわけではありません。基本的には Java Script に 対 応した Webブラウザがインタープリターとなって 実 行されます。 HTMLファイル上に <Script>タグを使って記述することにより、ボタンが押された場合の処理や、簡単な演算処理などを WWWブラウザ上で実現できます。VBScript の 項 目 で 触 れ た WSHがインストールされた Windows環 境 で は ”.js”の 拡 張 子 で 直 接 実 行 も 可 能 で す 。 基本的に Java Scriptの 不 正 プログラムはHTML文 書 内 に 含まれた形でユーザの下に入 り込み、ブラウザでHTML 文 書 が 表 示される際に実 行されます。 通 常 は Webのコンテンツ に 含まれ、インターネット上の Webページをブラウズしただけで 実 行されてしまうことになりま Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -12 す。しかし、Java Scriptで は 言 語 自 体 の 仕 様 上、ローカルのファイル操 作 は ほとんど行え ないため可 能 な 不 正 活 動 は 限られます。 実 際 の 不 正 活 動 は Java Script以 外 の 不 正 プロ グラムによって行われ、Java Script自 体 は そ の 不 正 プログラムをマシン内に作 成 する手 段 としての み 使 用される場 合 が 多 いものです。現 在 ま で に 最 も 感 染 報 告 が 多 かった Java Script 不 正 プログラムは「JS_SEEKER」です。Windowsのスタートアップフォルダにレジスト リを編集して Internet Explorerのホームページを変更してしまうプログラムファイルを作成し、 次回起動時に実行させます。 4) そ の 他 の ス ク リ プ ト 言 語 その他、シェルスクリプト、Perl、PHP(Hypertext Preprocessor)、などのスクリプト言語を使 用 した不正プログラムもごく少 数 存 在しますが、現状ではほとんど問題にならないレベルですので 現状の説明としては割愛させていただきます。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -13 3. 今 後 の ス ク リ プ ト ウ イ ル ス の 傾 向 今後のスクリプトウイルスの傾向ですが、まずは 不 正 プログラムの 作 成 に 使 用されるスクリプト 言語自体の変化が考えられます。 プログラミング 言 語 が 不 正 プログラムに 使 用されやすい条件としては、実現できる機能が多 い こと、実行できる 環 境 が 多 いことの二つを満たしていることが必要です。この二つのどちらかが 欠けても不正プログラムの 作 者 に は 魅 力 的 で なくなります。現状からみて、VBScriptの 不 正 プ ログラムはWindows 上 で 容 易 に 利 用 できて汎用 性 も 高 い 利 点 から 今 後も増 加 するでしょう。 MS-DOSバッチコマンドやJava Scriptを 使 用した不 正 プログラムは、その 機 能 制 限 から 今 後も 大きく増えることは無く衰退していく可能性が高いと想定されます。 前章では説明を割愛しましたが、シェルスクリプト、Perl、PHP(Hypertext Preprocessor)と いったスクリプト言語を使用した不正プログラムの 存 在 が 現 在 確 認されております。 このうち PHP は Web サ ー バ 上 で 使 用 さ れ る サ ー バ サ イドのスクリプト 言 語 で す。 2001 年 1 月 に は 「PHP_NEWWORLD」が大きな話題を呼びました。しかし、PHPはあくまでもサーバサイドのスク リプトであり、実行できる環境はあまり多くないのが 現 実 で す。したがってこれ 以 上 の 広まりはな いものと想 定されます。ただし、 PHPが 実 行 で きるサ ー バ 上 で 行 える 活 動 は 多 い の で 例 え ば DDoS(分散型サービス拒否 Distributed Denial of Service)のような攻撃やハッキングの際のツール に 使 用される可 能 性 は あるものと思われます。シェルスクリプトとPerlは UNIX系 の プログラミン グ言語であったためこれまでのDOS/Windows 中 心 のコンピューターウイルスでは 使 用されるこ とはありませんでした。実行できる 環 境 が 多 いというウイルスが 流 行 する条件を満たしていなか ったわけですが、LINUXのシェアが増えるにつれ、 今 後 の 展 開 次 第 で は 不 正 プログラムの 増 加 が 予 想されます。特に Perlは 当 初 の テキスト処 理 用スクリプトの目的から大きく 機 能 が 拡 張 され VBScript以 上 の 汎 用 性を持ったプログラミング言語となっており、機能 的 な 条 件 は 十 分 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -14 です。Windowsなど現在のほとんどのOSにも移 植されてはいますが、DOS/Windowsで 多く使 われているものではなく、どちらかというとクライアントサイドよりもサーバサイドのスクリプト言語と なっています。今後例えば WSHのような仕組みによりデフォルトでOSに 実 装されクライアントサ イドのスクリプトになった 場 合 に は 大 量 の 不 正 プログラムの 登 場 が 予 測されます。ただし 現 状 Windowsでそういった動きはみられないため、Perlインタープリターを 導 入 するのはプログラミン グを行う人たちだけの限定的な環境にとどまると考えられます。 次にありえるシナリオとしては新しいスクリプト言語の登場と、現在は存在しないインタープリ ターのセキュリティホールが発覚することが考えられます。特にブラウザのセキュリティホールに よって、実行できないはずの機 能 が 実 行 できてしまったり、HTMLメール内のスクリプトが 自 動 実 行されてしまうようなものによる被害が考えられます。これについては予 測 可 能 なものではあ りません。ただし、セキュリティホールの問 題 は 常 にフィックスされていくので 恒 常 的 な 問 題 で は ありえず、一時的な被害にとどまることは確かです。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -15 4. HTML形式のメールおよびWebサイト上での、ウイルス動作実験報告 スクリプトウイルスに関して、HTML形式のメールおよびWebサイト上で、ウイルスの動作実験を行い、動 作の可否およびその影響に関する調査検討を実施しました。 【確認方法】 ① Webサ イ ト で の 確 認 : Webサイト上の HTMLペ ー ジ 内 にスクリプトウイルスのコードを埋め 込 み、クライアントマ シンからブラウザでアクセスする。 ② HTMLメ ー ル で の 確 認 : HTMLメール内にスクリプトウイルスのコードを埋め込み、クライアントマシンのメーラーに て受信する。 ※①・②それぞれについて動作確認しました。 【検証環境】 ①ブラウザおよびメーラーについて ブラウザはInternet Explorer、メーラーはその付 属 であるOutlook Expressにて実施し ました。 ※ユーザーが OSをインストールしたままアップデ ートしていない 状 態 が 最も多いと考え、 OSイ ン ス ト ー ル 後 マ シ ン 上 に 何 も ア ッ プ デ ー ト し て い な い 状 態 を 想 定 し ま し た 。 a. Windows Me + Internet Explorer 5.5 b. Windows 2000 + Internet Explorer 5.0 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -16 c. Windows98 SE + Internet Explorer 5.0 d. Windows 98+ Internet Explorer 4.0 ※ OSの 英 語 環 境 下 で の 活 動 を 同 時 に 確 認 す る 方 法として、 英 語 環 境 の 場 合 のスター トアップフォルダ(c:¥Windows¥Start Menu¥Programs¥Startup)を手動で作成してい ます。 【検証方法】 ① Webサ イ ト : スタンドアロンネットワーク内に Window 2000に 標 準 でインストールされるIIS5.0を Web サーバとして、スクリプトウイルスのコードを内 包 したHTML文 書を Webページとして 公 開 しました。「検 証 環 境」の項目で触れた各クライアント環境からブラウズして検証しました。 尚 IEのセキュリティ設定はインターネットゾーンのデフォルトである「中」の状態を基本に しています。 ② メール: スタンドアロンネットワーク内にメールサーバを設 置し、スクリプトウイルスのコードを内 包した HTMLメール 送 信を実施しました。「検証環 境」の項目で触れた各クライアント環 境 からOutlook Expressでメールを受 信し、プレビュー/オープンします。 IEのセキュリ ティ設定はインターネットゾーンのデフォルトである「中」の状態を基本にしています。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -17 【検証結果】 IE5.5(WinMe) IE5.0(Win2000) Web Mail Web Mail HTML_ZULU.A × × × × JS_THE_FLY × × × × VBS_BUBBLEBOY × △(英) × × VBS_FIREBURN × × × × VBS_FORGOTTEN.A NA △(英) NA × VBS_FREELINK × × × × VBS_FRIENDMESS.A × × × × VBS_GABRILELALO × △(英) × × VBS_GABRY.A × × × × VBS_IROK × × × × VBS_JER × × × × VBS_KAKWORM.A × △(英) × × VBS_LEEBILL × × × × VBS_LOVELETTR.AS × × × × VBS_PICA.A × × × × VBS_PLACID × × × × VBS_TIMOFONICA × × × × VBS_TRIPLESIX × × × × VBS_VBS10 × × × × IE5.0(Win98SE) IE4.0(Win98) Web Mail Web Mail × × × × × × × × × ○( 英) × × × × × × NA ○( 英) NA × × × × × × × × × × ○( 英) × × × × × × × × × × × × × × ○( 英) ○( 英) × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × 凡例: ×=動作せず △=セキュリティ低なら動作 ○=動作 (英) =英語環境でのみ動作 NA=クライアントマシンハングのため検証不可 【 OSの 言 語 に よ る 動 作 】 検 証 結 果より 日 本 語 版 環 境 で は 動 作 い たしませんでした。 これはほとんどスクリプトウイルス が 実 行 の 際 に Windowsの“スタートアップ”フォル ダ に 起 動 設 定 を 行 おうとするのですが、 英 語 環 境と 日 本 語 環 境 で は“スタートアップ”フォルダ名が異なるために、スクリプトウイルスが 英 語 版 OSの みしかコーディング上考慮にいれていないためです。 当然スクリプトウイルスのコード を 日 本 語 OSの“スタートアップ“フォルダ名に書き込むというようにロジックを変更すれば、動作 することができます。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -18 【 Webサ イ ト お よ び メ ー ル 等 の 経 路 に よ る 動 作 】 Webサイト上でもVBS_KAKWORM.A以外はほとんど動作をしませんでした。 ほとんどのスクリプ トウイルスはローカルで実行されることを前提に記述されていますが、Internet Explorerのセキュリティにより 実行を制限されています。 また、IEのセキュリティホールを意識したダイレクトアクション型のスクリプトウイ ルスの中でもVBS_KAKWORM.AだけがWebサイト経由でも活動が可能でした。これはKAKWORMだけが 具体的にOBJECTのCLSIDを宣言するなど、もっとも正確にIEのセキュリティホールを意識してコーディング されているためといえます。 【ブラウザの設定による動作】 Internet Explorerのセキュリティの設定によって動作するケースが確認されました。 これはInternet Explorer5.5のセキュリティ「低」の設定はすべてのアクティブコンテンツを実行できる設定 なのでスクリプトから呼び出されるActivXコントロールも実行されてしまいます。ただしIE5.0と異なり、実行前 には必ず確認のメッセージが出ます。 その際にOKしなければスクリプトウイルスが実行されることはありま せん。 また 今 回 は Internet Explorerで 検 証しましたが、Netscapeなど他のブラウザであった 場 合 はActiveXコントロールの呼び出しに対応していないためにスクリプトウイルスは動作しません。 【 Webサ ー バ に 対 す る 影 響 】 VBScriptなどスクリプトウイルスに使用されるスクリプト言語は、クライアントサイドのスクリプトなの でWebサーバサイドへはなんら影響を及ぼしません。ただしPHPなどのサーバサイドのスクリプトであれば Webサーバに対する動作になりますので、ファイルを入れ替えるなどのに影響を及ぼすことが想定されま す。 Copyright(C) 2001 Information-technology Promotion Agency, Japan All rights reserved -19