sg sg-security-measures malware threat_vulnerability
まず結論
VBAマクロは、WordやExcelなどのOffice文書の中で処理を自動化する機能です。
SG試験では、VBAマクロとVBScriptを混同させる問題に注意します。
判断のポイントは、どちらもVisual Basic系に見えることではなく、どこで動くかです。
- Word、Excel、文書ファイル、表計算ファイル → VBAマクロ
- HTMLメール、Webページ、
.vbsファイル → VBScript
「Visual Basicだから同じ」と考えると迷いやすいので、Office文書ならマクロ、HTMLメールならVBScriptと切り分けます。
直感的な説明
VBAマクロは、ExcelやWordの中に入れられる自動操作の手順書のようなものです。
たとえば、Excelで次のような作業を自動化できます。
- 表の形を整える
- 決まった計算を実行する
- ボタンを押すと処理を始める
- 複数の作業をまとめて行う
本来は、業務を効率化する便利な機能です。
しかし、悪意のあるマクロが文書ファイルに入っていると、ファイルを開いた利用者の操作をきっかけに、不正な処理が実行されることがあります。
SG試験では、ここをマクロウイルスや不正な添付ファイルの文脈で問われることがあります。
VBScriptと似て見える理由は、どちらもVisual Basic系の名前が出てくるからです。
でも、直感的には次のように分けるとわかりやすいです。
| 見るポイント | VBAマクロ | VBScript |
|---|---|---|
| 動く場所 | Word、ExcelなどのOffice文書 | HTMLメール、Webページ、.vbsファイル |
| きっかけ | 文書ファイルを開く、マクロを有効化する | スクリプトを実行する、HTMLメールなどを開く |
| 試験での見え方 | マクロウイルス | スクリプト型のウイルス |
定義・仕組み
VBAは、Visual Basic for Applicationsの略です。
Microsoft Officeなどのアプリケーション上で、作業を自動化するために使われるプログラミング言語です。Microsoftの公式ドキュメントでも、VBAはOfficeアプリケーションで操作を自動化したり、機能を拡張したりするために使われるものとして説明されています。
参考:Office Visual Basic for Applications documentation - Microsoft Learn
VBAマクロは、主に次のような流れで使われます。
- WordやExcelなどの文書ファイルにマクロを保存する
- 利用者がその文書ファイルを開く
- マクロを有効化すると、登録された処理が実行される
通常の業務では便利な自動化機能ですが、攻撃者が悪用すると、次のような被害につながることがあります。
- 不正なプログラムを実行する
- 外部サイトへ接続する
- 情報を外部へ送信する
- 別のマルウェアをダウンロードする
SG試験では、VBAの文法を覚える必要はありません。
大切なのは、Office文書に埋め込まれた処理が、利用者の操作によって実行されるリスクを理解することです。
どんな場面で使う?
VBAマクロは、本来は業務効率化のために使います。
たとえば、次のような場面です。
- Excelの定型レポートを自動作成する
- Word文書の書式をまとめて整える
- 入力チェックを自動化する
- 複数ファイルの処理をまとめて行う
一方で、セキュリティの文脈では、メール添付されたOffice文書に注意が必要です。
SG試験では、次のような表現が出たらVBAマクロを疑います。
- ワープロの文書ファイルに感染する
- 表計算ファイルに感染する
- 関連するアプリケーションソフトを利用して動作する
- マクロ機能を悪用する
- 文書ファイルを開かせ、マクロを有効化させる
実務での対策としては、次のようなものがあります。
- 不審な添付ファイルを開かない
- マクロを不用意に有効化しない
- インターネットから取得したOffice文書のマクロを制限する
- 信頼できる送信元か確認する
- マルウェア対策ソフトやメールフィルタを利用する
- 利用者教育で「マクロを有効化してください」という誘導に注意させる
選択肢では、便利な自動化機能としての説明なのか、悪用されたマクロウイルスとしての説明なのかを見分けることが大切です。
よくある誤解・混同
VBAマクロで一番混同しやすいのは、VBScriptです。
どちらもVisual Basic系の名前が出てくるため、同じもののように感じやすいです。
ただし、SG試験では次のように分けて考えます。
| 混同しやすいもの | 判断基準 |
|---|---|
| VBAマクロ | Word、Excel、文書ファイル、表計算ファイル、マクロ機能 |
| VBScript | HTMLメール、Webページ、.vbsファイル、スクリプト |
| ブートセクタウイルス | ブートセクタ、起動領域、OS起動前 |
特に注意したいのは、次のひっかけです。
WordやExcelのマクロもVisual Basic系だから、VBScriptの説明として正しいのでは?
これは迷いやすいですが、SG試験では動く場所が違うと考えます。
- Office文書の中で動く → VBAマクロ
- HTMLメールやスクリプトとして動く → VBScript
また、次のような強い表現にも注意します。
- すべてのOSで動作する
- 必ず感染する
- 開いただけで必ず実行される
SG試験では、こうした断定表現は誤り選択肢になりやすいです。
特にマクロは、設定や環境によっては自動実行が制限されることがあります。
そのため、「マクロを有効化させる誘導」も攻撃の重要なポイントになります。
まとめ(試験直前用)
VBAマクロは、WordやExcelなどのOffice文書で処理を自動化する機能です。
SG試験では、VBScriptとの違いを問われることがあります。
判断基準は次の3つです。
- Word・Excel・文書ファイル → VBAマクロ
- HTMLメール・Webページ・
.vbs→ VBScript - ブートセクタ・OS起動前 → ブートセクタウイルス
迷ったら、名前ではなく、どこに埋め込まれて、何を使って動くかで切り分けましょう。
🔗 関連記事
- アクセス制御モデルとは?RBAC・ABAC・DAC・MACの違いを整理【SG試験】
- 入退室管理とは?物理アクセス制御の基本【SG試験】
- アクセス管理とは?特権IDとneed-to-knowで権限を適切に制御【SG試験】
- AESとは?鍵長とラウンド数も押さえる共通鍵暗号【SG試験】
- アンチパスバックとは?不正な入退室を防ぐ仕組み【SG試験】