Sasserという名称のワームが米国時間2004年4月30日に発見され,世界中の多くのWindowsマシンに影響を与えたといわれています。今回はこのSasserに対応した修正パッチ情報を効率的に収集する方法を紹介します。

必要とされる情報とは何か

 私たちWindowsユーザーは,「Windows Update」などを通じて必要な修正パッチ情報をダウンロードし,自分のWindowsマシンにインストールしています。インストールする情報量は,少なくとも月単位で増えているといってよいと思います。ところで皆さんは,これまでどのような修正パッチ情報をインストールしているか覚えていますか。筆者は,インストールした情報を完全に把握しているWindows XPユーザーはいないのではないか,と不安を持っています。

 筆者は,過去にこちらの記事を公開し,その記事内で修正パッチ情報を収集するプログラムを紹介しました。そのプログラムを開発しているとき,筆者はプログラミング言語としてVBScriptを採用し,Microsoft提供クラスとHTMLタグのみで必要機能を実装することを目指しました。

 表現を変えれば,高度に抽象化されたAPIと標準HTMLタグを使用すれば,多数の修正パッチをインストールしたとしても,一度作成したツールはそのまま支障なく継続的に利用できるだろうと期待したわけです。もちろんその期待は裏切られることはありませんでした。そこで,筆者は今回の記事を起草するあたり,初級Windowsユーザーでも有効活用できるように,既存プログラムの一部を修正することにしました。

 オリジナルのプログラムはこちらからダウンロードできますから,興味のある人はぜひダウンロードするとよいでしょう。問題はどこをどのように修正するかですが,筆者は初級Windowsユーザーのニーズを次のように分析しました。

初級Windowsユーザーが知りたいのは,自分のマシンに必要な修正パッチ情報が適応されているかどうかだけである

 ご覧のように,分析結果はきわめて単純なものです。経験豊富なWindowsユーザーの視点から見れば,これは単純すぎる結果ですが,初級Windowsユーザーに多くを望むことはたいへん危険です。初級Windowsユーザーに多くを望もうとすれば,日ごろの啓もうが必要ですから,時間も経費もかかります。筆者は分析結果を次のように実装しました。

If ucase(oHelper_2.HotFixID) = ucase(strTargetQE) Then<BR>
strLead = strLead & strBreak & "<center><font color = ""#ff0000""><b>必要な修正パッチは適応されています。</b></font></center>"

図1●修正パッチ情報を報告するサンプル・プログラム
図2●サンプル・プログラムの実行結果
図3●画面下部にあるボタンをクリックすると…
図4●マイクロソフトのサポート技術情報のサイトにジャンプする
図5●ms04-011の日本語ページ
図6●ms04-011の米国ページ
 このコードは,目的の修正パッチ情報がインストールされていれば,「必要な修正パッチは適応されています。」というメッセージを太い赤字の文字列で表示します(図1[拡大表示])。

 ご覧のように,修正パッチ情報を報告する画面の先頭付近に,もっとも必要とされる結果を表示しています。初級Windowsユーザーはこの赤字の文字列を見るだけで,自分のマシンが(当面の間)安心であることを理解できます。図1の「Total Instance Count」欄を見ると,107という数値が代入されています。こちらの記事を公開した2003年9月当時は,70という数値が代入されていましたから,この8カ月の間に約40種類ほどの修正パッチ情報が追加されたことになります。

 本連載の閲覧者の皆さんはITプロフェッショナルですから,今回のサンプル・プログラムのより高度な利用法を紹介しておきましょう。社内教育資料作成時などにご活用いただけると幸いです。

修正パッチ情報の効率的な収集方法

 先に進む前に,まずは,Sasserワームについて簡単に整理しておきましょう。このワームは,LSASSと略称されるLocal Security Authority Subsystem Serviceの弱点を突いて感染するものです。この弱点は,2003年10月8日に米eEye Digital Securityにより発見され,米Microsoftに報告されています。報告を受けたMicrosoftは,(ほぼ半年経過した)2004年4月13日に修正パッチMS04-011をインターネットで一般公開しました。

 Sasserワームは,修正パッチ公開後ほぼ2週間経過した,4月30日にその活動を顕在化しました。eEye Digital Security社からの通知を受けて修正パッチを公開するまで半年ほどかかっていますから,Microsoft社の対応は少し遅いという印象を受けましたが,ワーム発見後の同社の動きには素早いものがありました。

 Microsoft社は,こちらでは駆除ツールを公開していますが,ワームの各種亜種に対応するように,ツールのバージョンは適宜更新されています。本稿執筆時点(2004月5月11日)のバージョンは,3.0となっています。

 以上がSasserワームに関連したこれまでの動きなのですが,インターネット空間をサイトからサイトにわたり歩きながら必要な情報を収集するのは面倒だとは思いませんか。筆者はたいへん面倒だと思います。そこで今回のプログラムの出番です。今回のプログラムのベースにしたのは,こちらですでに公開したものですが,効率的な情報収集の面ではたいへん便利な機能を持っています。

 過去に開発した便利な機能を再利用しながら,目的の新しいソフトウエアを開発するのは,ソフトウエア開発における鉄則です。今回のプログラムは,こちらからダウンロードできるようになっています。ダウンロードしたプログラムをダブルクリックすると,筆者の環境では図2[拡大表示]のような情報が返されます。

 筆者が画面に書き加えた白い文字列を見ると分かるように,米国で一般公開された日時,コンパイル日,そして,具体的な更新コード(DLL)情報などが分かります。この例の場合,一般公開日は2004年4月13日,コンパイル日は2004年3月30日となっています。2つの日付の間には,約2週間の時間差がありますが,その間,Microsoft社は各種の動作検証を行っていたと思われます。更新コードを見ると,gdi32.dllという名称のライブラリがありますから,グラフィック・モジュールも更新されていることも分かります。

 画面を下方向にスクロールすると,図3[拡大表示]のようなボタンが現れます。このボタンは地味な印象を与えるボタンですが,筆者は意外と便利なボタンではないかと思っています。ボタンをクリックすると,(インターネットに接続できれば)図4[拡大表示]のような画面が表示されます。

 この画面情報は目的の修正パッチ情報検索用のインデックスのようなものですから,目的の項目を効率的に選択できます。ほとんどの方は,最初のリンクをクリックし,ms04-011.asp日本語ページに移動すると思いますが,筆者は,画面下部にあるリンクをクリックし,開かれる画面からms04-011.mspx米国ページに移動することにしています。理由は簡単です。米国ページでは,日本語ページにはない情報が公開されていることもあるからなのです。例えば,図5[拡大表示],図6[拡大表示]の2つの画面を見てください。

 2つの画面を比較してみると分かるように,公開される情報量がまったく異なります。筆者は,言葉の壁さえなければ,プログラマはms04-011.mspx米国ページ情報にまず目を通し,次に対応する日本語ページを読む習慣を身に付けると良いと思います。

今回のまとめ

  • ソフトウエア開発者は,すでに開発してあるコードを再利用すべきである
  • Windows XPユーザーはインストール済み修正パッチ情報のすべてを記憶することはできない
  • 初心者Windowsユーザーのセキュリティ教育には,時間と経費がかかる
  • 開発者は公開情報量の多い米国サイトを訪問する習慣を身に付けることが大切である

 今回は以上で終了です。次回またお会いいたしましょう。ごきげんよう!