Office マクロの影響
Visual Basic for Application(VBA、マクロ) の課題 †
Office のマクロは文書を開いた際に自動実行させることができます。また、マクロはコマンドラインインターフェースや PowerShell を呼び出せるため、これらを組み合わせて、Office文書を開いた瞬間に、外部から悪意のあるプログラムを呼び込む「ダウンローダー」と呼ばれる機能が実装できます。この手口は攻撃者に好んで使われており、2019年12月から急拡大している Emotet でも、Word のマクロを悪用して大きな被害をもたらしています。
この Emotet の出現以降、悪意あるプログラムをメールに添付して送信する際に、組織内の送信者になりすまして、被害者を安心させマクロ付きOffice文書を開かせるという手口は、今後、さらに巧妙化し主流となってくると予想できます。
・L1 Word 2016 のグループポリシーでの対策 †
・L1 Word 2016 などでは、[ユーザーの構成]>[ポリシー]>[管理用テンプレート]>[Microsoft Word 2016]>[Word のオプション]>[セキュリティ]>[セキュリティセンター]>[VBA マクロ通知設定] が [有効:通知してすべてを無効にする] としており、マクロの実行はできない設定となっています。この設定は Excel などの他のOfficeアプリケーションでも同様です。
業務で必要なマクロを実行したい場合 †
一方で、業務を効率よくするためにマクロが欠かせない業務も存在します。このため、このポリシーが全社に展開されると、業務に支障をきたすことになります。しかし、マルウェアの被害を軽減することも重要です。そこで、通常は、マクロ禁止の設定をしておき、マクロを含むファイルを開くときだけマクロを有効にする設定を行うことで、万一、メールに添付された悪意あるマクロ付き Office 文書を開いても、マクロの実行を停止することができます。
設定手順 †
- マクロを実行する端末を特定し、コンピュータグループを作成、登録します。
- [AllowMacro] などの わかりやすい OU を作成し、コンピュータグループを登録します。
- コンピュータグループが登録された OU の グループポリシー で [VBA マクロ通知設定] で [すべてのマクロを有効にする(推奨しません)] を設定します。
- 端末ごとに以下のバッチファイルを作成します。このバッチは、レジストリでマクロを有効にしてマクロが登録されたExcelファイルを開き、Excelの終了後、再びレジストリでマクロを禁止する設定を行います。これによって、メールやインターネットからダウンロードされたマクロ付きExcelファイルを開いても、マクロが実行されず、被害が緩和されます。
@echo off REM すべての Excel マクロを有効にする reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d "1" /f REM マクロを実行したい Excel 文書のファイルパス "C:\Users\User_Name\Documents\abc.xlsm" REM 警告を表示してすべての Excel マクロを無効にする reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d "2" /f exit
Office アプリ | レジストリキー | 値の名前 | 型 | 値 |
Access 2016/2019 | HKCU\SOFTWARE\Microsoft \Office\16.0\Access\Security | VBAWarnings | REG_DWORD | 1 → すべてのマクロを有効にする 2 → 警告を表示してすべてのマクロを無効にする【既定】 3 → デジタル署名されたマクロを除き、すべてのマクロを無効にする 4 → 警告を表示せずにすべてのマクロを無効にする |
Excel 2016/2019 | HKCU\SOFTWARE\Microsoft \Office\16.0\Excel\Security | |||
PowerPoint 2016/2019 | HKCU\SOFTWARE\Microsoft \Office\16.0\Excel\Security | |||
Word 2016/2019 | HKCU\SOFTWARE\Microsoft \Office\16.0\Excel\Security |
- 他のバージョンは [\16.0] を適宜、置き換えてください。なお、Office 2019 のメジャーバージョンは 2016と同じで、同じレジストリを使用します。
トレーニング †
従業員には、マクロが有効になっている端末がマルウェアの侵入口であることに、十分な理解を得てください。外部から、関係者を装った悪意のある添付ファイルをみだりに開かず、必ず保護ビュー(サンドボックスなどともいいます)で開き、マクロを実行しないように注意を呼び掛けてください。