Malwarebytes Labsは10月8日(米国時間)、「At long last, Microsoft is disabling Excel 4.0 macros by default - Malwarebytes Labs|Malwarebytes Labs」において、Microsoftが同社の表計算アプリ「Excel」について、「Excel 4.0 マクロ」機能をデフォルトで無効にする方針を決定したと伝えた。Excel 4.0 マクロは悪意のある攻撃者によって悪用されるケースが多く、長年にわたってセキュリティ上の大きな懸念材料となっていた。

Excel 4.0 マクロは別名XLMマクロとも呼ばれ、スプレッドシートのセルにコマンドを記述することで任意の処理を実行できる機能。1992年に登場したが、その後すぐにVBA(Visual Basic for Applications)に置き換えられた。しかし、Excel 4.0 マクロは下位互換性の理由から削除されることはなく、現在でもデフォルトで有効に設定されている。

問題なのは、この機能を悪用することで悪意のあるコードも実行できてしまう点だ。そのため、サイバー攻撃者に好まれており、マルウェアなどを蔓延させるきっかけになっていた。

Malwarebytes Labsによれば、Microsoftは顧客向けに送信したメールの中で、2021年末までにすべてのMicrosoft 365ユーザーに対してExcel 4.0 マクロをデフォルトで無効にする方針を伝えたという。Insiderプログラムの参加者を含めた正確なスケジュールは次のように伝えられている。

  • Insider-Slow: 11月上旬に完了
  • Current Channel: 11月中旬までに完了
  • Monthly Enterprise Channel: 12月中旬までに完了

Microsoftによると、この変更を待たずにExcel 4.0 マクロを無効にしたい場合は、手動で設定を変更する必要がある。まず、Excelの[ファイル]タブから[その他]→[オプション]と選択し、「Excelのオプション」ウィンドウで[トラスト センター]を開く。そして[トラスト センターの設定]ボタンをクリックして、下図のように左のメニューから[マクロの設定]を選択する。

  • トラスト センターでExcel 4.0 マクロの有効/無効を設定する

    トラスト センターでExcel 4.0 マクロの有効/無効を設定する

このページで「VBA マクロが有効な場合に Excel 4.0 マクロを有効にする」のチェックを外せば、Excel 4.0 マクロを実行できなくなる。この設定項目は2021年7月に追加されたもので、これによってVBAマクロを有効にしたままでもExcel 4.0 マクロのみを無効にするという選択が可能になった。

現在、Excel 4.0 マクロを積極的に利用しているExcelファイルは、悪意のあるファイルを除けばごくわずかと考えられる。特に理由がない限りは無効にしておくことが推奨されている。