コンピューター用語では、マクロウイルスとはマクロ言語で記述されたウイルスのことです。マクロ言語とは、ソフトウェアアプリケーション(ワープロソフトや表計算ソフトなど)に組み込まれたプログラミング言語です。Microsoft Office、Excel、PowerPointなどの一部のアプリケーション では、マクロプログラムをドキュメントに埋め込むことができ、ドキュメントを開くとマクロが自動的に実行されます。これは、悪意のあるコンピューター命令が拡散する独特のメカニズムとなります。電子メールの添付ファイルを予期せず開くことが危険な理由の一つはここにあります。多くのウイルス対策ソフトはマクロウイルスを検出できますが、マクロウイルスの挙動は依然として検出が難しい場合があります。
マクロとは、一連のコマンドとアクションで構成され、特定のタスクの自動化に役立つものです。通常は非常に短くシンプルなプログラムです。マクロは作成方法に関わらず、保存されたコマンドを解釈するシステムによって実行される必要があります。マクロシステムの中には、独立したプログラムとして存在するものもあれば、複雑なアプリケーション(例えばワープロソフト)に組み込まれ、ユーザーがコマンドのシーケンスを簡単に繰り返せるようにしたり、開発者がアプリケーションをローカルなニーズに合わせてカスタマイズできるようにしたりするものもあります。
マクロウイルスは、電子メールの添付ファイル、リムーバブルメディア、ネットワーク、インターネットを介して拡散し、検出が非常に困難であることが知られています。[ 1 ]マクロウイルスがコンピュータに感染する一般的な方法は、通常のマクロをウイルスに置き換えることです。マクロウイルスは、同じ名前の通常のコマンドを置き換え、コマンドが選択されると実行されます。これらの悪意のあるマクロは、ユーザーの知らないうちに、ドキュメントを開いたり閉じたりしたときに自動的に起動する場合があります。[ 2 ]
マクロウイルスを含むファイルが開かれると、ウイルスはシステムに感染する可能性があります。起動すると、他のドキュメントやテンプレートに自身を埋め込み始めます。このアプリケーションのマクロがアクセスできるリソースによっては、システムの他の部分が破損する可能性があります。感染したドキュメントが他のユーザーやシステムと共有されると、ウイルスが拡散します。マクロウイルスは、自動化されたキー操作を使用してインターネットからソフトウェアをダウンロードしてインストールできるため、ユーザーの同意なしにシステムにソフトウェアをインストールする方法として使用されてきました。しかし、インストールされたソフトウェアは通常ユーザーに気づかれてアンインストールされるため、ウイルス作成者にとって通常は利益にならないため、これはまれです。[ 3 ]
マクロウイルスはオペレーティングシステムではなくアプリケーションに依存するため、標的となるアプリケーションが移植されているオペレーティングシステムを実行しているコンピュータであれば、どのシステムでも感染する可能性があります。特に、Microsoft WordはMacintoshコンピュータでも利用できるため、WordマクロウイルスはWindowsプラットフォームに加えて一部のMacも攻撃する可能性があります。[ 1 ]
マクロウイルスの例としては、 1999年3月に出現したメリッサウイルスが挙げられます。ユーザーがメリッサウイルスを含むMicrosoft Word文書を開くと、コンピュータが感染します。その後、ウイルスは自身のアドレス帳の最初の50人に電子メールで自身を送信します。これにより、ウイルスは急速に増殖しました。[ 4 ]
すべてのマクロウイルスがウイルス対策ソフトウェアで検出されるわけではありません。[ 5 ]メール添付ファイルやその他のドキュメントを開く際に注意することで、感染する可能性を減らすことができます。
マクロウイルスの蔓延により、Microsoft Office 2007以降、Microsoftはマクロを含むOfficeファイルに「m」で終わる別のファイル拡張子を割り当て、ユーザーが本来マクロを含むことを意図していないマクロウイルスに感染したファイルを開くことを防ぐようにしました。[ 6 ]
Microsoft Officeの現行バージョンでは、インターネットから取得したファイル内のマクロがデフォルトでブロックされるようになりました。この変更は2022年4月に初めて導入されました。[ 7 ]