叡智の三猿

〜森羅万象を「情報セキュリティ」で語る

当サイトは、アフィリエイト広告を使用しています。

マクロの浸透とウイルスへの感染

マクロの浸透と「マクロウイルス」による情報セキュリティのインシデントは表裏一体の歴史を歩んできたと思います。

マクロは生産性向上の手段として、面倒で複雑な作業を専門知識のない社員でも実行可能なツールです。その作りやすさから瞬く間に事務作業の現場にマクロは浸透したのですが、ほどなくしてウイルスの問題がでました。

そのきっかけとなったウイルスが Laroux(1996年)です。

Larouxウイルスは、Microsoft Excelのブック(.xlsファイル)に感染する初の本格的なマクロウイルスとして有名です。Excelブックを開くと自動的にマクロが実行される機能があります(Auto_Open機能)。

Sub Auto_Open()
MsgBox "ブックが開かれました!"
End Sub

VBAでこう書いておくと、対象のExcelファイルを開いたときに、自動的に Auto_Open 内の処理が実行されます。

このとき、ウイルスに感染したブックを保存すると、他のExcelファイルにも感染を拡大します。感染時に「Laroux」という名前の隠しシートが作成されます。

Excelは表計算ソフトとして企業で広く使用されてます。業務データの共有頻度も高いので、Larouxは急速に拡散しました。

実際は Laroux というウイルスは、データを破壊するなどの行為はしません。その意味では、イタズラのようなプログラムです。でも、Excel を使って業務を効率化を目指す部署にとっては、ウイルスがもたらす心理的な影響が大きく作用します。

「このExcelは使って、本当に問題ないのか?」という疑心暗鬼が広がりました。

Larouxにより、Excel という日常的に扱うデータファイルが感染源となり得ることが実証され、マクロウイルス対策の重要性が認識されるようになりました。

いまの Officeは、インターネットやメール経由の Excelファイル は既定でマクロが無効になります。

また、VBAの書き方も「ThisWorkbook に記述する Workbook_Open イベント」の方が推奨されています。

Auto_Open
  • 通常の標準モジュールに書く
  • 昔からある方法(古いExcelとの互換性のため残っている)
  • マクロのセキュリティ設定により無効化されやすい
標準モジュール
Workbook_Open
  • ThisWorkbook オブジェクトのイベントプロシージャに書く
  • Excelの標準的な推奨方法
  • 信頼性が高い
ThisWorkbook オブジェクトのイベントプロシージャ

コンピュータウイルスは90年代に於いて、既に使われてました。そこでは主に マクロウイルス が中心でした。Larouxをきっかけとして、1990年代後半、ExcelやWordのマクロ機能を悪用するウイルスが多数出現しました。ユーザーの業務を画期的に便利するはずのマクロも思わぬリスク源となりました。

わたしは、社内システムエンジニアとして利用者に Excel や Word 普及を推進する立場でした。PCインストラクターのスケジュールを管理し、定期的な教育を組んでました。ですので、利用者には単純にそれらを使う便利さを伝えたいのですが、経営者のなかには、ファイルを開くだけでウイルスが感染が広がる危険性を指摘されていると、当時の上司から聞くこともありました。

マクロが危険という情報源は「日経コンピュータ」などの紙媒体を経営者が読んで、急速に進むIT化の問題を指摘しているんだと思います。

そのことは理解できるのですが、若かったわたしのアタマの中は「だから、なにをしたいのか?」をはっきりして欲しいと思った思い出があります。確かにマクロウイルスが問題であることは分かります。では、会社としては「マクロは辞めろ!」と言いたいのか!? というと、どうもそうでもないのです。おそらく「慎重にすすめるべき」という、ことを伝えたいのかもしれませんが、それが具体策として示すことができなければ、利用者への教育に織り込むこともできません。

ウイルスの経緯となった「Laroux」などは、破壊的な被害は少なかったものの、業務ファイルが次々と汚染されることで、マクロ利用に対する警戒意識を社内に根付かせるきっかけになったことは確かでしょう。

便利なツールを安全に使うための教育と仕組みの重要性を痛感させるものでした。