最近になって、PCのスタートメニューにあったはずのショートカットが削除されており、Win+Sからアプリ名で検索してアプリの実行ができなくなってました。
当初はまーたWindows 11の不具合かなぁと思っていたのですが、どうやらそっちではなくMicrosoft Defender Antivirusの攻撃面の減少(ASR)周りの不具合だったことが分かりました。
上記のTech Communityの記事にあるとおり、
On January 13th, Windows Security and Microsoft Defender for Endpoint customers may have experienced a series of false positive detections for the Attack Surface Reduction (ASR) rule “Block Win32 API calls from Office macro” after updating to security intelligence builds between 1.381.2134.0 and 1.381.2163.0. These detections resulted in the deletion of files that matched the incorrect detection logic primarily impacting Windows shortcut (.lnk) files.
https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/recovering-from-attack-surface-reduction-rule-shortcut-deletions/ba-p/3716011
との表記があります。
Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラムのビルド 1.381.2134.0 から 1.381.2163.0 に更新した後に「Office のマクロコードからのWin32のインポート」を「ブロック」と定義していた場合、誤検知が発生してショートカット(.lnk)が削除されたようです。
確かに、僕の自宅環境では「Office のマクロコードからのWin32のインポート」を「ブロック」と定義していたので、しっかりと影響対象になっていました。
目次
復元手順
Microsoftが本件の復旧用スクリプトを用意していたので、そちらをテスト環境で実行してみました。
上記のMicrosoftのGitHubリポジトリにある「AddShortcuts.ps1」を適当な場所に保存します。
ローカルで実行する場合、ターミナルもしくはPowerShellを管理者権限で実行し、下記を実行すればOK。
Set-ExecutionPolicy Bypass -Scope Process -Force
.\AddShortcuts.ps1
こちらを実行すると、上図の通り復旧スクリプトが走ります。
Intune管理下端末に配布する場合は、「デバイス」→「Windows」→「PowerShell スクリプト」から「追加」をクリックし、上図の通り「AddShortcuts.ps1」を登録すればOKです。
今回この不具合があまり大きな話題とならなかったのは、Microsoft Defender for Endpointを導入していてかつ、攻撃面の減少(ASR)を動作した環境でしか発生していなかったためかなぁと。