Protect of the Public PC by Windows SteadyState 2 : MSE


[戻る]





■ AntiVirus : MS Security Essentialsによる共有PCの保護




 ● General Index


          INDEX




■ MS Security Essentials


まず、「アンチバイラスソフト」は、文字通り、コンピュータウィルスやワーム等に対抗する検疫・駆除ツールである。
コンピュータウィルスやワーム、そしてトロイの木馬(ペストやキーロガーなどのスパイウェア)といったマルウェアと呼ばれる不正プログラムからPCを守る。
また、最近では、Windows 自体に備わっている「ファイアウォール」より強固な防壁で、外部からの不正アクセスを遮断する機能も持ち、こうなると、総合的な「セキュリティソフト」と呼ぶべきかも知れない。

ユーザの立場から大きく分けると、フリーウェアと市販ソフトの2つがある。
前者では、「AVG Free Edition」や「avast! Free Antivirus」、最近では「Avira Antivir 」など、またスパイウェア(ペスト)に特化した駆除ソフトとして「Spybot」や「AD-AWARE」などがある。
後者は、シマンテックの「ノートン」シリーズや、トレンドマイクロの「ウイルスバスター」などが有名だろう。
有料、無料を問わず、ほとんど全て海外製品である(ただし、無料のソフトでも、日本語化はされているものが多い)。

一説によると、世界には、およそ100万種ものコンピュータウィルスやワームがあると云われる。
そして、どんなに精度の高いアンチバイラスソフトでも、100%の検疫や駆除は不可能である。たとえ、99.9%の精度だとしても、残り0.1%つまり1000個の不正プログラムの侵入を許すかも知れないのだ。実に慄然たる数値である。
買い物は安いに越したことはないのだが、そうしたことを聞くと、さすがにこの手のソフトは、名の通った市販ソフトでないと不安になるだろう。「タダより怖いものはない」というわけだ。だが、99.9%の検出率をもつものなど、市販ソフトにも、ないのである。

では、市販品で、有名なソフトが優秀か、と云うと、困ったことに、そうでもないのだ。実際に、あるPC雑誌が行ったテストによるランキングでは、案外、業界ナンバー1を誇る(といったCMなどを見る)「トレンドマイクロ」の製品の検出率が低かったりするので、よく判らない(少し古いデータだが、2009年6月時点で、「Symantec Norton 2009β」が98.70%、「ソースネクスト セキュリティZERO」が94.00%、「Trend Micro Internet Security 2008」が88.50%とあった。これでは、フリーソフトの「Avira Antivir 」の方がマシだろう)。
2つの検出エンジンを備え検出率を高めたソフトもあるが、側聞するところでは、どうにも重すぎて使いものにならないそうだ。入れただけで、PCの動作が鈍くなり、ふつうのアプリの操作にまで影響するので、即刻削除した、などという話も聞く。いくら優秀でも、それでは遠慮したい。
もっとも、こうしたデータは、アンチバイラスソフト制作企業も、毎年、改良を加えており、最新のデータでは、順位が大きく入れ替わっていることもあるので、正直、1年前のデータなどは、あまり役に立たない。
ひとつ、確実に云えるのは、どんなアンチバイラスソフトでも万全ではない、ということだ。

さらに問題となるのは、こうした有名どころのソフトでさえも、必ずしも、Windows ないし、そのマシンとの相性がよくない。または、アップグレードした場合などに、不具合が出る、という難題が、(しかも結構な頻度で)、発生することだ。

筆者は、過去に何度か、実際に、そういう目に遭ってきた。
シマンテックの「Norton AntiVirus」から「Norton Internet Security」 (NIS)への場合や、トレンドマイクロの「ウイルスバスター」(VB)だったが、どちらでも、アップグレードしたり、(PCがクラッシュした後)復旧して、リインストールしたり、そういった重要な局面で、NISもVBも、なぜか、前のヴァージョンの製品が残っているだの、その他、因由不明のエラーによって、新しいヴァージョンの製品がインストール出来なくなったりするのだ。

その時点では、そのソフトは、すでに購入しているのだから、使えなかったら、丸損である(市販のアンチバイラスソフトは、各種アプリの中でも、けして安価ではない)。
サポートセンターに何度もメールを送ったり、電話でやりとりしたりして、あれこれ面倒な作業をさせられた挙げ句、最終的に、「OSのリインストールをお奨めします」などと云われたことも一度や二度ではきかない。
自分のところの製品の旧ヴァージョンが、新ヴァージョンを購入した客のマシン内で完全に削除できない、だから、新製品もインストール出来ない、という現象を当然のこととして、しかも恬然たるのは、どういう了見なのか。また、いかに重要なツールとはいえ、所詮、アプリはアプリである。OSの上で正常に走ってこそ、ソフトは役に立つが、それが正常にインストール出来ず、OSをリインストールしろとは何ごとか。本末転倒ではないか。と憤っても現実は現実なので、どうしようもないのである。

しかも、こうしたセキュリティソフトは、マシン(システム)の深いところで動作するため、いったんインストールしたら、それを完全に削除する、ということが非常に困難なのだ。
ふつうに、コンパネを開いて、「プログラムの変更と削除」などでやっても、まず、それだけでは不十分だ。レジストリにゴミが残っているだの、どこか不明な場所に何かがあるだの、とにかく、セキュリティソフトは、さまざまな場所に、影響を及ぼしているので、シマンテックならシマンテックは、それ専用の自社製品の削除ツールなどをサイトに用意しているほどだが、それでも完全に削除できるか、というと、いつも上手くはいかない。
だからと云って、すでにいくつものアプリを入れているマシンをOSからリインストールする、というのも理不尽な話である。データのサルベージや、再度のアクティヴェーション、個々のソフトのカスタマイズなど、その手間を再び、と考えるに、どうみても、1アプリの製作/販売会社が顧客=ユーザに求めることではないだろう、と思うのだが、現実的には、それが一番、手っ取り早いのだ。
まあ、サポセンでも、個々の事例には対応しきれないので、OSのリインストールを奨めるのは、最良の策ではあるのだが、ユーザの立場からすれば、冗談ごとではすまない。

さらに、こうしたアンチバイラスソフトは、1つのマシンに2つ入れることは「御法度」となっている。絶対にやってはいけない。
他には、CD/DVDのライティングソフトなどもそうだが、ある種のアプリを2つ入れると、必ず、エラーが発生し、最悪、OSを巻きこんだトラブルに発展し、深刻なシステム障害を起こすのだ。アンチバイラスソフトも、その例に漏れない。
理屈は、ややこしくて、よく判らないのだが、ごく一般的に云えば、こうしたセキュリティ関係のソフトは、PCが感染した場合には、必然的に感染ファイルの動作を抑止する性質上、PCの通常の動作に対する優位かつ強制的な「排他制御」や「割込命令」を持っている。そのため、それが別なソフトと重複すると、システム内でコンフリクト=衝突する(らしい)のだ。
いずれにせよ、1つのマシンには、1つのアンチバイラス。これが鉄則である。
だからこそ、1つのソフトが相性が悪いから、といって、簡単には、別のを入れるわけにはいかない道理だ。前のソフトが完全にアンインストールできず、どこかに残っていて、それが、新しいソフトの類似のモジュールとバッティングしたら、やはりエラーとなるからである。それがイヤなら、OSのリインストールをどうぞ、となるわけだ。

そういった経験則から、マシンに入れるアンチバイラスソフトは、かなり神経を使う。使わざるをえないのである。
PCは、メーカごとに、アーキテクチャは千差万別だし、まぁ、どれとも相性がいい八方美人なソフトなど、ないのかも知れないが、それを保護する役割を担っていながら、マシンとの相性が悪く、最悪、OSのリインストールとか云われても、ユーザには迷惑な話である。

だが、その点――、
「MS Security Essentials」は、MicroSoft が開発したアンチバイラスソフトであり、自前の製品なのだから、一応、信頼性は高いとみてよいだろう。
少なくとも、Windows との相性が悪い、なんてことはないはずだし、さらには、どこのアンチバイラスソフト開発企業にも先駆けて、Windows のセキュリティホールへの攻撃などには、いち早く対応可能(のはず)である。2010年9月現在で、PC誌での評価も高い。

Vista から標準装備となった、MS社のセキュリティ対策ツール「Windows Defender」は、XPでも無料で使用できるが、この機能は対スパイウェアに限定されている。セキュリティ関係では、一番上位のアンチバイラスソフトが「MS Security Essentials(以下、MSE)」である。
これは、個人使用は無料である。法人利用は「MS Forefront Client Security」という(内容はほとんどMSEと同じだと思われる)有償の商品がある。だが、これはライセンスが100とか200とかの、企業向け製品である。教育法人には、あまり馴染まない気がする。
だが、MSでは、アカデミックプライスや、キャンパスアグリーメントなど、「教育機関」に対しての助成、ないし優遇措置が講じられいるので、よほど特殊な環境で、50台とか100台とか、たくさん使うようであれば、MS社に問い合わせるとよいだろう(MSの指定代理販売店には、量販店の「コジマ」や「ヤマダ電気」などがあるので、そこに照会すれば判ると思われる)。

筆者の環境では、シマンテック社と学校との間にソフトウェアライセンス契約が結ばれており、「Symantec Endopoint Protection」が無料で使えるため、最初は、これでやろうとしてスクリプト面で苦労し、試行錯誤の間に、「MSE」も並行的に試した。

結果的には、どちらも、しかるべきスクリプトを使えば、WSSに認識され、そのウイルス更新データは、例外規定として、WSSの保護対象から外され、残ることが判った。

一般的には、市販ソフトではなく、「MS Security Essentials」の私的利用、という道もありうるだろうから、これを先に、解説する。

このページのトップに戻る


■ ダウンロード


MSE は、現在、下記のURLのサイトからダウンロードできる。
http://www.microsoft.com/security_essentials/

MSE


サイトの記事によると――、

Microsoft Security Essentials を使用すると、ウイルス、スパイウェア、および
その他の悪意のあるソフトウェアから自宅の PC をリアルタイムで保護できます。 

Microsoft Security Essentials は、無料で Microsoft からダウンロードできます。
簡単にインストールでき、使いやすく、常に最新に保つことができるため、お使いの 
PC を最新のテクノロジで保護できます。外観もシンプルで、たとえば青信号の場合は
安全というように、PC が保護されているかどうかを簡単に識別できます。 

――とのことである。

結構ずくめな話だ。なお、MS社では、2010年7月20日付けのプレスリリースで、MSE の次期β版を公開している。
対応OSはWindows 7/Vista/XPで、32ビット版と64ビット版がダウンロード可能。ダウンロードにはWindows Live IDが必要となり、認証のため、別ダウンロードサイトとなる。

ここでは、事例はXP版なので、早速、真ん中の青い「今すぐダウンロード」バナーをクリックする。

下図のダイアログボックスが表示されるので、自分の環境のOSを選択する。
ここでは、XPを選んでいる。

MSE


すると、下図のようなダイアログボックス表示が出るので、「保存」をクリックする。
XP版で、ダウンロードされるのは、「mssefullinstall-x86fre-ja-jp-xp.exe」という名の、11MBほどの実行ファイルである。

MSE


このページのトップに戻る


■ インストール


ところで、本稿では、話の順番上、保護をかける順に説明を進めているので、WSS の導入が先になっている。
だが、実際には、MSEのインストールを先に行った方がよい、と思われる。

オフラインで作業するならば、ともかく、オンラインでの作業で、しかも、それまでセキュリティ的に全く無防備なマシンに、アンチバイラスソフトを入れるのであれば、早ければ早い方がいい。さらにいえば、認証などがない限り、インストールはオフラインで作業した方がよいだろう。

筆者は、こうした作業は、まずOSをリインストールして、マシンを「素」の状態にしてから始める。
そうすると、OSがXPとして、せいぜいSP2の状態で、しかも、アンチバイラスソフトは、かかっていない。完全な無防備で危険な状態である。ほんのわずかな時間だと思われるだろうが、筆者は、そうしたPCをセットアップ中、その最中にワーム感染したことが、実際に、何度か、あるのだ。油断も隙もない、というか、一刻の余地もない、というか。

特に、筆者が勤めているのは、アカデミックな環境で、しかも国立の法人である。
Windows に反感を持っているくらいには、日本国にも反感を持って、国立の機関に的をしぼって攻撃してくるクラッカーは、残念ながら、世界中に少なからず、いる。しかも、アカデミックな場所では、そこで使われている固有IPアドレスが、ほぼ丸わかりだ(上位3つの数字列は公開されているし、4番目の数字列は0〜255までしかない)。これは、クラッカーにとっては、「いいカモ」なのである。

だから、筆者は、マシンをセットアップする際は、OSをリインストールし、真っさらの状態にして、(イーサネットとディスプレイドライバだけは入れておき)LAN設定をする前に、まず、他のマシンで落としたアンチバイラスソフトを、インストールする
そして、LAN設定してネットに接続した直後に、ウイルス情報(MSEでは、ウイルスやスパイウェアの定義ファイルと呼んでいる)のLiveupdate=更新作業を行う。
あるいは、いっそのこと、最新のウイルス定義ファイルを、そのメーカのダウンロードサイトから落として、オフラインで更新する(シマンテックなどは、オンライン更新できないユーザのためのウイルス定義のダウンロードサイトを用意している)。
とにかく、可能な限り、PCが無防備にされされている時間を短くするしかない。

それでも運が悪いと、ほんの数分の間に、やはりクラッカーの攻撃でワーム感染したりするのだが、その時は、また、OSのリインストールから、やり直すしかない。セットアップの途中で感染に気づいたら、削除や検疫よりも、リインストールした方がよい。いったんアンチバイラスソフトが動作してからならともかく、その途中での感染では、完全な駆除が難しいからである(ワームは、ユーザが通常でのアクセスができない復元ポイントの隠しフォルダなどに自己複製をするので、通常の方法での駆除は至難なのだ)。
根太にシロアリが巣くっているのが判れば、後に禍根を残すより、まずは更地にするのが、セキュリティ構築の鉄則だ。


それはともかく、インストールである。
この作業自体は、あまり問題はない。

インストールしたら、デスクトップ上に、下図のようなアイコンが表示される。
これをクリックすれば、MSE が起動する。

MSE


MSE を起動すると、次のような初期画面(「ホーム」タブ)が表示される。
上欄に「コンピュータの状態:保護されています」とあるのを確認されたい。
これを、WSS に認識させれば、セキュリティの自動化が完成するわけだ。
以下、その作業について記すが、その前にやっておくことがある。

MSE


なにはともあれ、上述したように、ウイルス定義ファイルの更新が必要である。
これを最優先で、行なう。下図の「更新」タブを開き、「今すぐ更新」ボタンをクリックする。
MSのサイトから、定義情報ファイルがダウンロードされ、MSEが最新の状態となる(ほぼ毎日、更新されているようだ)。

MSE


このページのトップに戻る


■ 初期画面


あとは設定作業だが、その前に、ひと通り、MSE について、各画面を見ておこう。

まず、「ホーム」タブや「更新」タブ画面は上図の通りだが、次に重要なのは、「設定」タブである(下図参照)。

MSE


確か、デフォルトで、そうなっていたと思うのだが、一応――、

「このコンピュータで、スケジュールされたスキャンを実行する(推奨)」項目にチェックが入っていることを確認。

曜日は「毎日
時刻は「(午前)2:00」(これは、後述するが、個々の環境に応じて任意の時刻に設定)
スキャンの種類は「フルスキャン(=システムの完全スキャン)」

「スケジュールされたスキャンを実行する前にウイルスとスパイウェアの最新の定義を確認する」項目にチェックが入っていることを確認。

最後の「コンピュータが起動中で使用されていないときにのみ、スケジュールされたスキャンを開始する」のチェックは外しておく。
時刻設定により、その時間帯に利用者が使用中であることはないはずだが、そんなことにはお構いなく、強制的に更新は実行されるようにしておかないといけない。WSSと連動することで、Windows のupdate と「ウイルス定義ファイル」の更新とは同時に行なわれる。それで、インストールしたアプリの容量にもよるが、だいたい30分ほど、PCは使用できない状態になる(Windows の更新がない場合でも、ウイルス情報の更新は行われる)。

なお、更新の時刻は、ユーザや管理者の都合に合わせて、自由に決めてもらってよい。
筆者の環境では、24時間360日間ほど開館している施設内にあるため(ただし、一般外来者の利用は、平日は、午後9時まで)、外来者用の端末で、外来の利用者が使用していないはずの深夜に設定しているのだが、むろん、個々の環境や事情によって、この時刻は異なるはずである。

通常は、そのPCが置かれた場所(パソコン室)などの、利用時間が終わった後、夕方から夜中にかけて、設定しておくといいだろう。一条校で、どのような部局や場所であれ、筆者のように、24時間360日間、開館している、などという開放的な環境は稀だろう。PCをムダに長時間、起動させておくのも省エネ的に、なんなので、確実に誰もいない時間帯の早めに設定するのが妥当だと思われる。
自分の就労時間中に設定してもいいのだが、それだと、何のために自動化したのか判らない。
自分が帰宅した後、マシンが勝手にやってくれるよう、自動化の設定をするのだから、そうしたパソコン室の利用規程に抵触でもしないかぎり、ここは、夜中に更新されるよう、設定した方がよいだろう。
もちろん、それも含めて、これらの設定は、管理する人間の自由だ。

画面設定は、以上である。

このページのトップに戻る


■ WSS との連動


さて、これからが、少し複雑な作業となる。

WSS は、デフォルトでは、先述したように、MSE など他のアンチバイラスソフトを認識していない。
ほんの数種類の、しかも古いアンチバイラスソフトを認識可能な状態にあるだけだ。

そこで、適切なスクリプトを、しかるべきフォルダに格納して、WSS にMSE を認識させることにする。
云うは易く、結構、面倒な作業であり、何もないところから始めると、たいてい挫折するだろう。スクリプトを自分で書くのは、最低でも、サンデープログラマくらいのスキルと知識が必要だから、素人のシステム管理担当者には、論外である。これらは他人が作ったものを流用するしかないが、それ以前に、スクリプトを、どこに格納したらいいのか、それすら判りにくいのだ。
その場所をフルパスで記述されても、マイコンピュータから、複雑な階層構造をたどって、そこまで行き着くのは、階層構造そのものに理解がないと、非常に難しい。

本稿では、そうはさせないために、あれこれと工夫をしてもらう。

ともあれ、まず、スクリプトを入手しなければならない。

筆者は、サーチエンジンで「ms security essentials windows steadystate スクリプト」のキーワードの論理積により、そうしたサイトを検索して、見つけた(各キーワードの間に半角スペースを空けると、自動的に論理積演算となる)。
そのひとつが、いわゆる「まとめサイト」であり、特にこれは、「ウイルス対策ソフトの設定」について特化して書かれた、wiki を使ったページである(下記参照)。

「Windows SteadyState」の「まとめサイト」

試したのは、前述したよう、MS の「Windows SteadyState」とシマンテックの「Symantec Endopoint Protection」であった。
筆者の環境では、2通りやって、どちらも上手くいったのだが、このサイト冒頭には以下のようなことが朱筆で記されている。

この手順の作業(自動更新の設定)はうまくいかない(更新が完了しなくなる)ことが多いようです。
うまくいかない場合は手動による更新を行うほうが良いかもしれません。

なんだか、穏やかではない。というか、大いに不穏である。
最悪、「セーフモードで復旧する」ような事態になるとも書いてある。これでは、システム管理の初心者には不安だ。
だからもし、やってみて、万一、失敗するようだったら、潔くアキラメ、自動化は放棄し、手動で更新したほうが無難だろう。
毎度の手間はかかっても、PCがたびたび深刻なシステム障害に陥り、それを毎回、復旧するよりは、はるかにマシである。

なお、シマンテック社では、なんらかの事情でウイルス定義情報がオンライン更新できないユーザに対して、直接、定義ファイルをダウンロードし、強制的にupdateする方法を奨励している。 ダウンロードサイトは、下記である。

まず、法人ユーザ向け製品に対応しては――、
企業・法人向け>セキュリティレスポンス>定義ファイルのダウンロード[Norton AntiVirus for Windows 2000/XP/Vista/7]

対応する製品名が列記されているから、たとえば、「Endopoint Protection 11」を利用していれば、「2010xxxx-002-v5i32.exe」といった最新のファイルを落としてくればよい(xxxx は日付)。

個人向けのページウイルス定義とセキュリティアップデートもあるのだが、ここで製品名の選択で、たとえば、「Norton Internet Security」を選んでも、Liveupdate を奨めるページにしか辿り着かない。
試しに、では、「Norton Antivirus」 を選ぶと、やはり上記の法人向けページに移行するのだ。
当該ページの説明では――

「Norton AntiVirus Engine は、Norton AntiVirus, Norton Internet Security と Norton 360 などの製品と共通です。
お客様は、以下のウイルス定義を使用することでお持ちの製品を最新の状態に更新することができます。」


――とあるから、どちらも共通に利用可能なのだと思われる。
なんらかの理由で、手動でLiveupdate が無効になった場合(筆者の環境では、多々、あった)、この方法で、強制的にウイルス情報を更新されたい。


ともあれ、失敗を畏れていては、話が進まない。筆者は上手くいったのだから、やるだけは、やってみよう。
セーフモードが必要なほどの事態になれば、最初からリインストールすればいいだけのことである。
PCの世界は「自己責任」+「上手くいったら儲けもの」。成功 or 失敗と判るまで、試行錯誤あるのみだ。

ところで、このサイトでは、vbsのスクリプトの在り処をリンクで示しているが、MSE 以外も必要だとすると、これだけでは足りない。
筆者は、かなり時間をかけて検索し、また、動作を検証して、別なサイトで、他の実用に足るXMLファイルも入手できたが、いかに親切な「まとめサイト」でも、これでは少し心許ない。
それに、善意の第三者による「個人サイト」は、いつ(制作者の都合やプロバイダの変更などで)リンク先が変わるか判らない(それは、まぁ、当該サイトも同じなのだが)。しかも散在しているのでは、見つけにくい。

そこで、記述されたスクリプト類を、まとめて以下に、転載することにする。
公開された情報なのだから、構わないだろう(ただし、ネット上の仁義は切って、参考にさせて頂いたサイトは本稿末尾に一覧にして、謝して記しておくことにする)。

スクリプトは2つある。WSSに、個々のアンチバイラスソフトを認識させるファイルだ。
まず、「XML」ファイルと、「vbs」ファイルの2種類がある。VBScript とも呼ばれる後者は、MS社のWindows で動作するスクリプト言語で書かれたファイルであり、要は、単純かつ簡易的であっても、レッキとしたプログラミング言語の一種だ。いかに、スクリプト(=テキストで記述されている)と云っても、プログラミングの心得がない素人が、いきなり書こうとしても、とても書けない。プロ、ないしサンデープログラマが作ったものを流用するしか、手はない。

XML ファイルの方は、「SoftwareUpdates.XML」という名前で、以下のような内容である。
(改行など、適宜、修正した箇所はあるが、大体、もとのままである)

<?xml version="1.0" encoding="utf-8" ?>
<!--                                -->
<!-- Windows SteadyState            -->
<!-- Copyright 2007 Microsoft       -->
<!--                                -->
<!-- SoftwareUpdates.XML            -->
<!--                                -->
<!-- This file contains the search strings for anti-virus and other 
software updates. Do Not Delete!   -->
<!--                                -->

<!-- Schema explanation:

These attributes identify the program:

    id:         A name used internally to identify this program.  
    It is not displayed to the user.
    name:       The display name of this program.  
    This is the name that will be shown in the SteadyState UI.
    category:   Reserved, must be set to "Anti-Virus".


These attributes allow SteadyState to detect whether the program is 
installed or not.  SteadyState expects to 
read the program's install directory from the registry value named by 
"detectionName" located in the registry 
key "detectionPath".  If it is able to read this path, it appends 
the filename specified by "append" to this 
path.  It then verifies that this file path exists.

    detectionPath:  A registry path (this path is assumed to be under 
    HKEY_LOCAL_MACHINE)
    detectionName:  The name of a registry value under "detectionPath" 
    specifying the path to the program's 
                    executable files
    append:         The name of an executable file that exists in the 
    program's executable files directory


This attribute specifies the script file used to update the program:

    script: SteadyState will execute this file during the update cycle.  
    It must meet these requirements:
            1. It must run unattended.
            2. It must never display any blocking UI (prompts for the user 
            to do something, for example).  
            3. It must run synchronously.  That is, when it completes, 
            the updates must be finished 
               downloading and installing.  Otherwise SteadyState may exit 
               its update cycle and reboot the 
               machine before the updates have finished installing.
            4. It must be located in the XML subdirectory of the SteadyState 
            installation directory
            5. Its file permissions must not grant users who are not 
            in the Administrators group access to 
               write or modify the file.
            6. It must have an extension of .VBS, .JS, .BAT, .CMD, or .EXE
            7. It must complete within 30 minutes (by default).  
            If the script requires more time to run, 
               you can adjust the timeout value in the registry.  
               This time limit is per-script, not cumulative.
               [HKLM\System\CurrentControlSet\Windows SteadyState\Parameters]
               "UpdateScriptTimeLimitMinutes"=dword:30  

-->

<softwareupdates>
  

  <software
    id="SymantecEP11"
    name="Symantec Endpoint Protection 11"
    detectionPath="SOFTWARE\Symantec\InstalledApps"
    detectionName="SAV Install Directory"
    append="SescLU.exe"
    script="SCTSymantecEndpointUpdate.vbs"
    category="Anti-Virus"  />


  
  <software
    id="eTrust7.0" 
    name="CA eTrust 7.0"
    detectionPath="SOFTWARE\ComputerAssociates\ScanEngine\Path"
    detectionName="Engine" 
    append="InoDist.exe"
    script="SCTeTrust7VirusUpdate.vbs"
    category="Anti-Virus" />

  <software
    id="McAfee" 
    name="McAfee VirusScan"
    detectionPath="SOFTWARE\McAfee.com\Agent"
    detectionName="Install Dir" 
    append="mcupdate.exe"
    script="SCTMcAfeeVirusUpdate.vbs"
    category="Anti-Virus" />
  
  <software
    id="OfficeScan"
    name="TrendMicro OfficeScan"
    detectionPath="SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion"
    detectionName="Application Path"
    append="ClnUpdNow.exe"
    script="SCTTrendMicroAntiVirus.vbs"
    category="Anti-Virus"  />
    
  <software
    id="FCS"
    name="Forefront Client Security"
    detectionPath="SOFTWARE\Microsoft\Microsoft Forefront\Client Security\1.0\AM"
    detectionName="InstallLocation"
    append="mpcmdrun.exe"
    script="SCTFCSVirusUpdate.vbs"
    category="Anti-Virus"  />

  <software
    id="Panda Security"
    name="Panda Security"
    detectionPath="SOFTWARE\Panda Software\Panda Administrator 3.0\PLAgent"
    detectionName="InstallPath"
    append="PavUpg\pavupg.exe"
    script="SCTPSClientShieldUpdate.vbs"
    category="Anti-Virus"  />

</softwareupdates>

まあ、なんのことやら、筆者にも、チンプンカンプンだが、内容が判らなくても支障はない。

ただ、冒頭部分の、非表示(コメント行)にされた説明によると、「Windows のupdate に伴い、アンチバイラスソフトのウイルス定義ファイルの更新も、ついでに行なう」、そうしたことを指示するファイルのようだ。
後半の「<softwareupdates>」以下の項目は、WSS で認識させるアンチバイラスソフトの記述である。
ここに上げられたアンチバイラスソフトが、WSS のハンドブックPDFにも紹介されていたから、おそらく、ここに記述されることで、WSS が認識するように設計されているのだ、と思われる。
そこで、一番上に、後で使う「Symantec Endpoint Protection」の記述(=シマンテックのサイトにあった)を、今回、加筆している。

ただ、その箇所を見てもらうと判るが、WSS がデフォルトで認識すると云う、MS社のアンチスパイソフトの「Windows Defender」が、ふしぎなことに、認識すべき対象のソフトウェアとしては記述されていない。
さらに、肝心の「MSE」も、ここでは記述していないが、それでも、以下の作業で、WSS はMSE を認識するのだ。
ただし、スクリプトの最後から2番目の段落にある「Forefront Client Security」とは、MSが大企業向けにライセンス販売している、有料アンチバイラスソフトである。これと、MSE との関連性は不明だが、あるいは機能的に、MSE も同じ検知エンジンを使っており、内包しているのかも知れない。
すなわち、このXMLファイルは、SEP を追加しているが、全く同じファイルで、MSE も、とにかく認識されるのだ。
今回の事例検証で、1つのPCには「MSE」を、もう1つのPCには「SEP」を入れたが、その2つのマシンに入れたXMLファイルは同一である。それで、MSE が連動するのは、おそらく、WSS の仕様として、あらかじめ、そうなっているからだろう、と解釈される。
結果オーライだから、気にしないで、スクリプトは、このままで諒としたい。

これを、とりあえず、上図から、直接、コピーして、メモ帳などエディタで保存する。
判りやすく、デスクトップ上に保存しておく。

これを――、

「C:\Program Files\Windows SteadyState\XML」フォルダの中に格納する。

そう云われても、「そんなの、どこにあるんだ。そもそもフォルダって何だ」、という方は、少しだけ、Windows の階層構造について、学んでほしい。

筆者は、MS−DOS時代からのオールドタイマーPCユーザのため、当時は、PC9801上で、FD というファイル管理ユーティリティ(その頃は、ファイラーと呼んでいた)を使っていたので、階層構造はわりとよく判るのだが、一般的に Windows からPCを使い始めたユーザは、システムの階層構造を、ほとんど理解していない。というより、理解しないでもいいように、Windows というOSが構築されているから、自然とそうなるのだ。
だが、たまには(=まさに、こういう場合だが)、理解していないと、作業が出来ないこともある。
この際だから、少しだけでも、理解してもらいたい。

たとえば、「デスクトップ」がある(目の前の画面がそうである)。
だが、これも、一つの「フォルダ(ディレクトリ)」であり、それも、かなり深い階層構造の下にあるフォルダだ、と理解しているユーザは少ないだろう。
実際には、日常、われわれが見ている画面は――、
(XP の場合)
「C:\Documents and Settings\[ユーザ名]\デスクトップ」というフォルダが「デスクトップ」の実体なのである。
なんだか判りにくいが、これを日常的なコトバで言い換えると、「Cドライブ」の下にある「Documents and Settings」フォルダ内の、[ユーザ名]フォルダ内の、「デスクトップ」フォルダ、という4番目の階層を示すことになる。ちなみに「\」マークは、「バックスラッシュ」といい、階層構造の切れ目を表す記号である。
(Vista では、C:\Users 〜 といった階層構造となる)

だが、そんなことを詳述しても、仕方がない。
実際的なことだけを理解しておけば、それで、いいのだ。
とにかく、フォルダやファイルの位置は、階層構造で記述されることを判って貰えれば、結構だ。

「XML」フォルダに辿り着くには、まず、「マイコンピュータ」をクリックし、Cドライブを表示させる。
大きなアイコンを、どんどんクリックしていけば、その中味が開いてゆくだろう。上部の「アドレス」欄に現在の階層構造が表示される。また、デフォルトでは大きいアイコンだが、メニューバーの「表示」から「一覧」や「詳細」を選ぶと、個々のフォルダやファイルが小さいアイコンで表示される(同じことは、その下のツールバーの「表示」アイコンのドロップダウンメニューからでも可能)。

Cドライブ直下には、「Documents and Settings」や、「Program Files」、「Windows」といった重要で、上位のフォルダがあり、その下に、無数のフォルダが枝分かれ(=階層構造化)している。アイコン=フォルダを開くごとに、より下層の構造へと降りていっているのである。

こうした作業の間、表示しているのは、実は、「マイコンピュータ」ではなく、別に「全てのプログラム」内の「アクセサリ」にある、「エクスプローラ」のファイル管理ユーティリティ機能なのだが、Windows ユーザは、そうしたことを意識しないでもいいように、OSが作られている。
ただし、Macの「Finder」ほど、エクスプローラはよく出来ていないため、デフォルトでは、大きいアイコンが次々に現れるだけで、しかも、1画面に1フォルダだけしか表示されず、階層の上下関係が、ユーザには、よく判らない。詳細表示にすれば、多少はファイルの属性なども判るが、見やすいとは云いがたい。Macの「Finder」は、その点、一覧性が高く、少しは見やすい。前後(左右)の関係で上下の関係を置き換えることによって、階層構造を目に見える形にしている。

余談ながら、「だから、Macは直感的に判るマシンだ」とか云う(主にMacファンの)意見は、筆者には疑問である。
一番、「直感的に判る」のは、FDや卓駆★のように、階層構造をツリー方式で「見た目で表示する」ファイル管理ユーティリティだけだろう。階層の上下関係を左右に置き換えたら、それは、もはや階層構造という認識ではなくなるからだ。おそらく、Macユーザも、Windows ユーザと同様、フォルダの上下の「階層構造」などは、ふだんは全く意識していないはずである。
とはいえ、「Finder」のわかりやすさと、「Explorer」のわかりにくさを比較すれば、彼我の差はあまりにも明白だ。
卓駆★はシェアウェア(有料)だが、Vectorや窓の杜には、無料のファイラーもある。「まめFile5」などは、エクスプローラライクで、Win7にも対応しているタブ形式のユーティリティである。版を重ねたフリーウェアだから、興味ある方は、お試しあれ。
だが、そんなツールを使うか使わないか(=階層の可視化と明晰さの有無)は、別問題で、本質は変わらない。
要は、次々にフォルダを開くのは、階層を下方へと辿っていることなのだ、という理解の仕方なのだ。

Cドライブ直下には、いくつかの(重要な)フォルダがある。
インストールされたプログラムをひとまとめに格納している、「Program Files」フォルダも、その1つだ。
その直下に(つまりフォルダ内部に)、アルファベット順だと、かなり下になるが、「Windows SteadyState」というフォルダが(インストールした後では)作られているはずだ。これが、WSS のフォルダである。
さらに、「Windows SteadyState」の下には、複数の下位フォルダがあり、「XML」という、XML ファイルだけ、まとめて格納するフォルダがあるわけだ(ちなみに、Windows ではWin95以来、Mac と同様、フォルダと呼ぶが、UNIXやMS−DOSではディレクトリと云う)。

ちょっと、この階層構造の該当箇所だけ抜き出して、図にすると、以下のようになる。

  Cドライブ
  |
  |_Program Files
   |
   |_Windows SteadyState
    |
    |_XML
    |
    |_Scripts
    |
    |(以下略)


この「XML」フォルダに、デスクトップに置いておいた、「SoftwareUpdates.XML」ファイルを格納する。

マイコンピュータを開いておき、その中の「デスクトップ」から、ファイルをドラッグすれば、コピー出来る。
それだけでよいのだ。コピー後は、デスクトップ上の元ファイルは削除してもよい。

あらためて、マイコンピュータを見れば――、
「SoftwareUpdates.XML」という名のファイルが1つ増えていることが判るはずだ(下図参照)。

MSE


次に、vbs ファイルが必要である。ウイルス検知の実際の動作は、このファイルによって指定される。

これは、先の「まとめサイト」「設定方法」にあった「SCTMSSEUpdateScan.vbs」という名のvbsファイルである。
内容は、下記を見てほしい。

' *** 
' *** -----------------------------------------------------------------
' *** Filename: SCTMSSEUpdateScan.vbs
' *** -----------------------------------------------------------------
' *** Description: Microsoft Secrity Essentials Signature Update & Scan
' *** -----------------------------------------------------------------
' *** Version: 1.0
' *** Notes: 
' *** -----------------------------------------------------------------
' *** Copyright (C) 
' *** -----------------------------------------------------------------
' *** 

' ~~~ 
' ~~~ Force variables to be declared 
' ~~~ 
Option Explicit

' ~~~ 
' ~~~ Turn on error handling
' ~~~ 
On Error Resume Next

' ~~~
' ~~~ Declare variables and constants
' ~~~
Dim sExePath, oShell
Dim nRet

' ~~~ Create objects
Set oShell = CreateObject("WScript.Shell")

' ~~~ Set application path
sExePath = oShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Microsoft Antimalware\InstallLocation")
' ~~~ Download Virus Signature
nRet = oShell.Run("""" & sExePath & "mpcmdrun.exe""" & " -Scan", 0, True)

' ~~~ Deduction of investigation: nRet = 0 indicate success, 
1 indicates failure (eg: network is offline)
If Err.Number <> 0 Or nRet <> 0 Then
    Err.Clear
    WScript.Quit 1
End If

これまた、訳が判らない文字列だが、細かいことはどうでもいい。
下から7行目くらいにある「MpCmdRun.exe」は、「MSE」フォルダ内にあるが、これは「Windows Defender」の実行ファイルであると同時に、MSE のそれでもある。「-Scan」「引数(=オプション)」で、起動スキャンを表す由だから、そういうことなのだろう。
その上のレジストリ(「HKEY_LOCAL_MACHINE\SOFTWARE\〜」とある箇所)には、「Microsoft Antimalware」、つまり、MSの「アンチマルウェア」(=アンチバイラス)と記述されているから、おそらく、これが、上述の「Forefront Client Security」などとも共通したMSのアンチバイラスの中核に位置するウイルス検知エンジンの本体だと思われる。
とにかく、結果が出れば、それで諒としよう。

ただ、上記で、「sExePath = oShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Microsoft Antimalware\InstallLocation")」
の、レジストリの場所を指定した箇所などは、Webページの表示の都合で、改行を入れているのだが、1行にまとめておいた方がよいかも知れない(プログラミング言語は、論理行で1行が完結するはずなので、改行しても大丈夫だとは思うが、念のため)。不安なら、元のページにリンクを張っているので直に落とせばよい。

先のXML ファイルと同様の方法で、今度は、これを、「C:\Program Files\Windows SteadyState\Scripts」フォルダ内にコピーしてやる。階層構造から判るように、Scriptsフォルダは、XMLフォルダと同列にある(先述の図を参照のこと)。

下図は、「Scripts」フォルダに、vbsファイルをコピーしたところである。
図の4行目に、「SCTMSSEUpdateScan.vbs」ファイルが格納されたことが判るだろう。

これで、WSS にMSE を認識させる準備は完了である。

MSE


ここまでが準備段階で、次は、WSS 側での作業となる。WSS に、このMSE を認識させないといけない。

WSS を起動させて、メイン画面の2番目にある「ソフトウェア更新のスケジュール」画面を開く。

MSE


右ペインに、「セキュリティプログラムの更新」項目があり、これは(青い下線で示したように)、チェックを入れていても、「プログラムは見つかりませんでした」というメッセージが出ている(はずである)。

その下の、「カスタム更新」が問題となる(赤い下線部分)。
この項目にチェックを入れ、「カスタムスクリプト」項目に、「参照」ボタンをクリックし、先ほど、格納した、「SCTMSSEUpdateScan.vbs」ファイルを、フルパスで――、
「C:\Program Files\Windows SteadyState\Scripts\SCTMSSEUpdateScan.vbs」のように、階層を辿って、入力する。

「参照」から、エクスプローラで下層の階層を開くように、たどっていけばいいので、ムリにフルパスで記述する必要はない(書き忘れたが、「フルパス」、というのは、上記のように、特定のファイルなどが、固有の位置にあることを示すために、それを最初のドライブ名から全部、絶対的な位置関係で、記すことを指す。対して、「相対パス」は、IE等のテンポラリーファイルを「%temp%」のように記述するものである)。

「OK」ボタンを押下して、画面を閉じる。ついでPCを再起動する。

これで、MSE 側では、MSE をWSS に認識させるスクリプトが記述され、また、WSS 側では、MSE を認識するために、そのスクリプトを参照していることになる(はずである)。

実際には、筆者は、初回では成功せず、その後、何度か、マシンを再起動させたら、いつの間にか、認識されていたのだ。
なので、どのタイミングで、どう認識したのか、確言できないのだが、方法論としては間違っていないので、これで上手くいくはずである(2台目も同様の方法で認識した)。

以上で、WSS にMSE を認識させる方法は完了である。


このページのトップに戻る

■ USBワーム対策


直接、MSE とは関係ないが、最近、校内外で蔓延している「USBワーム」への対策も講じておく。

MSE は侵入するウイルスやワームを常時監視しているが、USBワームは欧米のアンチバイラスソフトのパターンファイルにないことが多く、また亜種も多い。これは、悪質なワームで、鼠がペスト菌を運ぶように、USBメモリでPCからPCへと感染を拡げ、バックドアを作って、別なウイルスを呼びこむのだ。
また、WSS でPCが保護されていても、いったん感染したら、次の再起動までは、感染しっ放しとなるため、その後にUSBメモリを挿したユーザが二次感染し、そのユーザが自宅なり他のPCに、そのUSBメモリを挿せば、感染被害は、さらに拡大する。
公共施設内の共有PCが感染源となるのは、公益上、好ましくない。可能な限りの対策は講じたい。

といっても、システム的に、アンチバイラスソフト以上のことは、出来ない。
一般的には、警告のポスターで「出所不明のUSBメモリをPCに挿さない」ようユーザに注意を喚起するくらいだろう。

ただ、USBワームの特性として、その感染拡大が、リムーバブル媒体の「オートラン」機能によるものだ、ということが判っている。USBだけではなく、CD/DVDなどもそうだが、マシンに媒体を挿入したとたんに、自動起動するあの機能である。USBワームは、この(ユーザには便利な)機能を悪用して、自身に「autorun.inf」という自動実行ファイルを作成しており、気づかないユーザが感染したUSBメモリなどを挿した段階で、自動起動し、PCへと自らをコピーすることで、一瞬にして感染させるのである。
だとしたら、Windows に標準で備わっている「オートラン」機能を殺すことで、いくぶん、感染被害が食い止められると思われる。
簡単な方法で出来ることだし、そのわりに効果はけして小さくはないだろうから、以下に、それについて述べる。

まず、USBメモリを挿した状態で「マイコンピュータ」を開く。
「リムーバブルディスク」(=USBメモリ)の「プロパティ」をクリックする。

USBワーム対策


「自動再生」タブを開き、ファイルタイプごとに、「実行する動作を選択」に、1つずつ、チェックを入れる

USBワーム対策


ファイルタイプは、「内容の種類……」のドロップダウンメニューから選択できるので、とにかく、そこに表示されたもの全てのタイプに対して、「何もしない」を選び、「OK」ボタンを押下する。

同様のことを、CDなど光学ドライブにも講じると、(その先、自動起動せずに不便ではあるが)、感染は、かなり防御できると思われる。
ファイルタイプごとに、同じ作業の繰り返しなので、少し面倒だが、共有PCが感染源だと特定され、批判されるよりは、マシだろう。
共有PCから感染したUSBメモリを生徒が自宅に持ち帰り、父親のPCに二次感染でもして、損害賠償請求でもされたら、事である。
時節柄、やっておくことを、強く推奨する。

USBワーム対策


なお、上記は、XPマシンの事例で、Vista では――、
「コントロールパネル」>「ハードウェアとサウンド」>「CD または他のメディアの自動再生」で「何もしない」に設定しておくことで、自動実行機能がオフになる。

以上で、MSE および、ウイルス/ワーム対策は、完了である。

次に、MSE の代わりに、「Symantec Endpoint Protection」を使う事例について述べる。
下欄右端の「Next >>」をクリックされたい。





付記:
その後、WSS の動作を観察していて、面白いことに気づいた。
それは、どうやら、WSS は、PCがシャットダウンされていても、自動的に起動して、勝手に更新する(らしい)ということだ。

筆者は、深夜の時間帯に設定していたので、現場を見ていないのだが、更新ログを見ると、どうも、そうとしか思えない。
土日をはさんだ時など、週末には、電源を落として、帰宅しているのに、その間、更新ログでは、午前2時に更新作業を行なっているのである。しかも、その後は、シャットダウンしているらしい。
WSS の排他制御や割込命令は、どうも、PCの電源が置いていても、それを無視して、動作するようだ(その後は、自動的にシャットダウンするらしい)。
まぁ、放っておいても問題はないだろうから、そのままにしている。管理者としては、朝イチで立ち上げれば、それでいい。

この時、どのように動作するかというと、(これは、さすがに、実際に、時刻設定を就労時間に設定換えして、確認したのだが)、それまで普通に起動していたマシンが、再起動する(予告のダイアログボックスが出て、しばらくして再起動となる)。
だが、メッセージが出て示すように、この再起動は、特殊なもので、その間、ユーザによる勝手なマウスやキーボードからの操作は、一切、無効になるようだ。自動的に、WSS はPCを再起動させ、その間に(MS Office 2010 などを入れた状態で)、約30分間ほどかけて、Windows のupdateとMSE のウイルス定義ファイルのダウンロードを行なうようである。むろん、ユーザが強制的に、電源プラグを抜いたりしたら、いくらなんでも停止するだろうが、そうでもしない限り、WSS は、それほど強力に動作する、ということだ。
なんか、ブキミな光景であるが、自動化とは、こういうことなのだろう。

特に問題はないし、それ以外に、WSS を使う方法はないので、放置している。

というか、筆者の環境では、これは、最初にシステム設計したSEが高じた措置(だと思う)を真似て、毎日、深夜の定時刻に「自動シャットダウン」するよう、フリーソフトで設定していたのだ。
使っているのは、「PowerOffScheduler」という、わりと版を重ねたフリーウェアで、Vectorで、XP、Vista、7に対応した最新版をダウンロード出来る。毎日定刻だけでなく、曜日によって時刻が自由に設定可能で、しかも軽く、扱いやすい、いいソフトである。
これを使って、午前4時にシャットダウンするよう設定していたのだが、どうも、WSS の機能で、毎日、午前2時になると、勝手に更新作業を行い、シャットダウンする(らしい)と判ったので、次のマシンのセットアップからは、このフリーソフトを省いている。シャットダウン(=強制終了)だけでなく、再起動や電源オフまで細やかな設定が可能な、いいソフトだったのだが、必要なければ、わざわざ入れることはない。

ついでながら、このソフトは、インストール不要なので、Dドライブに設定ファイル(テキスト)と一緒に格納しておき、ショートカットキーを、「Documents and Settings」下の「user001」フォルダの「スタートアップ」フォルダにコピーしておいた(スタートメニュー>プログラム>スタートアップ)。実行ファイルを入れないのは、設定ファイルと一緒だと、それまでメモ帳で開いてしまうからだ。しかし、そういう工夫も、要らなくなった。
WSS が、いわば、自動シャットダウン機能も備えているわけである。

だから、逆に――、
(たとえば夏休みなどで)、パソコン室にある当該PCを、長期にわたって利用しないような場合は、プラグごと抜いて電源断にしておいた方がいいかも知れない。さもないと、WSS は律儀に夜ごと、再起動をくり返すだろう。ムダである。
筆者のいる環境では、前述したよう、24時間360日間ほど開館してるため、それが出来ないが、一条校でのパソコン室が、全部が全部、そのような完璧なオープンスペースで使われているとは思えないので、一応、留意されたし、と付言しておく次第である。
むろん、夏休みなどが終わった後は、電源投入と同時に、速攻でウイルス定義を更新するのを忘れないように。


このページのトップに戻る




△ Literacy  ▲General Index
      Next >>




Last Updated: 2010.09.17