---
title: "マクロウイルスとは？Office文書を悪用する攻撃【SG試験】"
description: "マクロウイルスは、WordやExcelなどのOffice文書に含まれるマクロ機能を悪用するマルウェアです。VBScriptとの違いも動く場所で整理します。 試験対策として重要語の定義・具体例・よくある誤解をまとめ、短時間で復習できるように整理しています。"
last_modified_at: "2026-05-08"
canonical_url: "https://stemtazoo.github.io/sg/macro-virus/"
section: "sg"
---

## まず結論

マクロウイルスは、**WordやExcelなどの文書ファイルに含まれるマクロ機能を悪用して動作するマルウェア**です。

SG試験では、**マクロウイルスとVBScriptを混同させる問題**に注意します。

判断のポイントは、次のとおりです。

- Word、Excel、文書ファイル、表計算ファイル → マクロウイルス
- HTMLメール、Webページ、`.vbs`ファイル → VBScript

どちらも「スクリプトっぽい処理」に見えますが、試験では**何に埋め込まれて動くか**で切り分けます。

---

## 直感的な説明

マクロウイルスは、**便利な自動化機能を悪用したウイルス**と考えるとわかりやすいです。

Excelのマクロは、本来は次のような業務を楽にするための機能です。

- 毎月の集計表を自動で作る
- 決まった書式に整える
- 入力チェックを自動で行う
- ボタン1つで処理をまとめて実行する

しかし、この「自動で処理を実行できる」という性質が悪用されると、攻撃に使われます。

たとえば、メールに添付されたExcelファイルを開いたときに、

> マクロを有効化してください

と表示され、利用者が有効化してしまうと、不正な処理が動くことがあります。

SG試験では、ここを**利用者操作をきっかけに動くマルウェア**として理解しておくと、科目Bのケース問題でも判断しやすくなります。

---

## 定義・仕組み

マクロウイルスは、**アプリケーションソフトのマクロ機能を悪用して感染・動作するウイルス**です。

代表例は、WordやExcelなどのOffice文書に含まれるVBAマクロを悪用するものです。

Microsoftの公式ドキュメントでも、VBAはOfficeアプリケーションで操作を自動化したり、機能を拡張したりするために使われるものとして説明されています。  
参考：[Office Visual Basic for Applications documentation - Microsoft Learn](https://learn.microsoft.com/en-us/office/vba/api/overview/)

基本的な流れは次のようになります。

1. 攻撃者が悪意あるマクロを含む文書ファイルを用意する
2. メール添付やダウンロードで利用者に開かせる
3. 利用者にマクロを有効化させる
4. マクロが実行され、不正な処理が行われる

不正な処理の例としては、次のようなものがあります。

- 外部サイトへ接続する
- 別のマルウェアをダウンロードする
- ファイルを改ざんする
- 情報を外部へ送信する
- 他の文書ファイルへ感染を広げる

SG試験では、細かいプログラムの仕組みよりも、**Office文書のマクロ機能が悪用される点**を押さえることが大切です。

---

## どんな場面で使う？

マクロウイルスは、SG試験では主に**メール添付ファイルを使った攻撃**や**マルウェア感染経路**の文脈で出てきます。

次のような表現があれば、マクロウイルスを疑います。

- ワープロの文書ファイルに感染する
- 表計算ファイルに感染する
- WordやExcelのマクロ機能を悪用する
- 関連するアプリケーションソフトを利用して動作する
- 添付文書を開かせ、マクロを有効化させる

実務では、次のような対策が重要です。

- 不審なOffice文書を開かない
- マクロを不用意に有効化しない
- インターネットから入手した文書のマクロを制限する
- メールフィルタで危険な添付ファイルを検査する
- マルウェア対策ソフトを導入する
- 利用者教育で「マクロを有効にしてください」という誘導に注意させる

科目Bでは、単に「マクロウイルスを知っているか」ではなく、**利用者にどのような注意喚起をするべきか**、**どの段階で感染を防げるか**が問われやすいです。

---

## よくある誤解・混同

マクロウイルスで一番混同しやすいのは、**VBScript**です。

どちらもVisual Basic系の名前が出てくるため、同じもののように見えます。

ただし、SG試験では次のように切り分けます。

| 用語 | 判断基準 |
|---|---|
| マクロウイルス | Word、Excel、文書ファイル、表計算ファイル、マクロ機能 |
| VBScript | HTMLメール、Webページ、`.vbs`ファイル、スクリプト |
| ブートセクタウイルス | ブートセクタ、起動領域、OS起動前 |

特に注意したいひっかけは、次の考え方です。

> WordやExcelのマクロもVisual Basic系だから、VBScriptと同じでは？

名前の系統は近いですが、SG試験では**動く場所が違う**と考えます。

- Office文書に入っている → マクロウイルス
- HTMLメールや`.vbs`ファイルで動く → VBScript

また、マクロウイルスは「文書を開いたら必ず感染する」と単純に覚えるのも危険です。

環境や設定によっては、マクロの自動実行が制限されます。  
そのため、攻撃では利用者に**マクロを有効化させる誘導**が行われることがあります。

選択肢では、**文書ファイルを利用するのか、HTMLメールのスクリプトなのか**を見て切り分けましょう。

---

## まとめ（試験直前用）

マクロウイルスは、**WordやExcelなどのOffice文書のマクロ機能を悪用するマルウェア**です。

SG試験では、VBScriptとの違いを問われることがあります。

判断基準は次の3つです。

- Word・Excel・文書ファイル → マクロウイルス
- HTMLメール・Webページ・`.vbs` → VBScript
- ブートセクタ・OS起動前 → ブートセクタウイルス

迷ったら、**言語名ではなく、どこに埋め込まれて動くか**で判断しましょう。
