マクロウイルスを防ぐには

世界でコンピューターウイルスの主流となったマクロウイルスは、日本でも広まっているようです。このリンクは毎日新聞のものですが、その元となっているのは、情報処理振興事業協会(JPA)という政府の関係機関が集めているデータです。ここのホームページでは、最近のウイルス被害の状況を、一覧でみることができます。例えば、先月(2月)にこの機関に届けられたウイルス被害のうち、ほとんどがマクロウイルスで、さらにExcelにつくLarouxがその中の3分の2を占めています。感染の仕方では、電子メールに同封されたファイルから感染するのが53%と多いのが気になります。なぜなら、フロッピーなどの場合は機械に入れる動作が伴うので、ウイルスに気をつけようとする人はウイルス検査をしようと思うでしょう。ところが、電子メールの場合、特に受信と同時に勝手に復元してしまう設定の電子メールソフトですと、いつのまにかウイルスに感染したファイルが自分のディスクにできている、という事になります。ちなみに、被害情報ページには、ウイルス検査・除去に使われたソフトの名前も載っているで、シェアがばれてしまうというおまけもあります(^^)。

マクロウイルスというのは、マイクロソフト社のソフトであるExcel(表計算ソフト)やWord(ワープロ)に内蔵されているマクロ機能を使って、ソフトの設定を変えてたり、ディスク上の任意のファイルの内容を変えてしまうものです。例えば、2月の被害届で2位にランクされている、CapというWordマクロウイルスはメニューバーからマクロメニューを消してしいます。3位のNiknatは、テンプレートとマクロのメニューを消したうえ、「Windows保護違反」の窓を開くという技をだします。さらに、Windowsのレジストリもいじるというから、ただのマクロだと思ってはいけません。ここで、マクロ機能というのは、きまりきったソフトの操作を記録しておいて、それをボタンやメニューにいれておくものです。これはWordやExcelのデータファイルに組み込まれるので、ある人がマクロウイルスをWordの文書ファイルに組み込めば、そのファイルにくっついて複数の人の手に渡ることになります。さらに、そのファイルを開くことで、ソフトが起動時に読み込む基本のマクロファイルに感染し、それ以降は、ソフトを使うたびに他のファイルに感染してくようになります。

JPAの被害届リストで、一番人気(失礼)のマクロウイルスLaroux(ラルーまたはラルークス)は、Excelで動いた初めてのマクロウイルスと言われている老舗です。ただ、これがやることは、新規ブックにLarouxというシートが混じるだけなので、悪さはしないが気持ちが悪い寄生虫みたいなものですね。このウイルスは次のような手順で感染します。まず感染したファイルをExcelで開くと、auto_openという自動起動マクロが実行されます。このマクロは、check_filesマクロを起動してエクセルの初期実行ディレクトリのパス名を調べ、初期実行ディレクトリのPERSONAL.XLSファイルにLarouxという名前のモジュールシートを付け加えます。つまり、最初に動くのは自動起動マクロで、これが感染の手順を実行します。これは、ファイルを開いたり、閉じたりするタイミングで自動的に起動されるマクロで、ExcelとWordでは名前が異なるようですが、Wordの場合ですと次のような種類があります。

    AutoExec ソフトの起動時に動作する。ソフトの環境設定の変更に使う。
    AutoNew 「新規作成」メニューを使った時に動作する。新規文書の初期設定に使う。
    AutoOpen 「開く」メニューを使った時に動作する。
    AutoClose 「閉じる」メニューを使った時に動作する。
    AutoExit ソフトの終了時に動作する。

つまり、こうした名前のマクロが自分のWordのマクロメニューの中に入っていたら、すでに何かに感染している可能性があります。そもそも、これらの自動起動型のマクロは、WordやExcelで定型の文書やシートを使うためのアプリケーションを開発する目的で組み込まれたと考えられます。例えば、テンプレートを起動して、表示される質問に答えると必要な申請書がプリントアウトされる、みたいなアプリケーションです。ここで問題となるのは、ソフトの設定を変えられるばかりでなく、関係ないディスク上の任意のテキストファイルも操作できることです。Windowsであれば、Autoexec.batにc:ドライブの初期化を仕組んだり、OSの設定をしているレジストリファイルを操作してシステムを壊すことも可能です。さらに、マクロには動作しているOSを検査するコマンドもありますから、起動したOSにしたがってシステムへの妨害を使い分けることもできるはずです。なお、ExcelとWordのマクロでは仕様が違うので、WordマクロウイルスとExcelマクロウイルスは互換性はありません。Excelのマクロウイルスが、Word程、致命的な問題を起こしていないのは、ワープロと表計算ソフトの機能の違いが原因かも知れませんね。だれも、表計算ソフトを使ってレジストリを触ろうとは思いませんから。

マクロウイルスの恐いところは、プラットフォームに依存しないこと。感染する方法を見つけられれば、誰にでも作れることですね。現に、ExcelのウイルスLarouxは、本家も含めて15種類も報告されています。居るんですね、ちょっとコードに変更を加えてから世間にばらまいて、被害報告書の中に自分の作品が登録されるのを楽しみに待っている人間が。マクロウイルスを防ぐ方法というと、検査ソフトを買って自分のパソコンにインストールすることがすぐに思い浮かびます。でも、一番安全なのは、マイクロソフトのExcelやWordの文書を共有しないことです。どうしても、Word文書を送りたかったら、ここは一つ我慢してRTFで送る。Excelの場合は、マクロが使えないころのバージョンのフォーマットで送る。全世界のWord/Excelユーザーがウイルス検査ソフトを使っているわけではないですから、こうでもしないと被害は止まらないと思いますね。下にリンクした、マカフィの提供しているウイルスリストを見ると、その種類の多さにがく然とします。ウイルス検査ソフトは、これらを、全部網羅しているんだろうか。でもね、日本の場合は、LarouxとCapを押さえておけば、ほとんど恐れることはないとも言えますが。

マクロウイルスに関する情報は、例えば次のWebサーバーから得られます。

1998.03.20
ひとつ戻る HOME つぎに進む