setodaNote

忘れる用のメモ書き for Cybersecurity

Microsoft Defender Antivirus を無効化する

追記

===(追記:2022/08/14)===
Sh1n0g1 さんが Windows10 でも無効化できる方法を紹介されていました。  
https://twitter.com/Sh1n0g1/status/1557999958141579264  
https://gist.github.com/Sh1n0g1/24dad286047e92c1762470483b15faa9  

手元の環境でも再起動してもリアルタイム保護が無効化のままの状態になることを再現できました。
なお試した環境では「改ざん防止」をオフにしてから再起動する必要がありました。  

===(追記:2021/05/17)===
最新版の Windows 10 (20H2 19042.985 など) では記事に
書いたような Autoruns を用いた方法でも  
Microsoft Defender Antivirus を無効化できなくなっていました。  
 
===(追記:2021/03/13)  ===  
記載の方法で Microsoft Defender Antivirus を無効化した場合、  
他の Windows 機能が正常に動作しない場合があります。  
例:Windows ファイアウォールの設定変更ができない。電卓が起動しない。 など。

Windows 10 には Microsoft Defender Antivirus (または Windows Defender Antivirus)を設定から無効化したとしても、再起動等で自動的に有効化される仕組みが備わっています。 各種ツールを扱う場合に少し邪魔になる場合があり、再起動しても無効化した状態が保たれるようにしたかったのでその方法について調べました。 *1

Microsoft Defender Antivirus を無効化したい図

Microsoft Defender Antivirus 無効化

最終的に、スマートな方法ではないですが Autoruns というツールを用いて関連するスタートアップをことごとく止めることで無効化することができました。

この操作のためには設定にある「リアルタイム保護」をあらかじめ手作業で無効化しておく必要があります。

Powershell などコマンドベースで無効化する方法について調べていろいろと試したのですが、Microsoft Defender Antivirus は思っていた以上に無効化が難しく、最新に近い Windows 10 で有効な方法はどうしても見つけることができませんでした。*2 *3

動作を確認した環境

  • Microsoft Windows 10 Pro 1909 [Version 10.0.18363.1316]

Autoruns の入手

Autoruns は以下のサイトから入手できます。

Autoruns for Windows v13.98

ダウンロードした zip ファイルを展開すると Autoruns の実行ファイルが確認できます。

「リアルタイム保護」をオフにする

Microsoft Defender Antivirus 関連の設定は変更できないように制限がかかっているので、Autoruns での設定変更に先立ってまずは設定から「リアルタイム保護」を無効化しておきます。*4

  • 設定からたどる方法
    設定 -> 更新とセキュリティ -> Windows セキュリティ ->Windows セキュリティを開く -> ウイルスと脅威の防止 -> 設定の管理 -> リアルタイム保護 をオフにします

  • スタートからたどる方法
    スタートに「改ざん防止」と入力 -> リアルタイム保護 をオフにします

リアルタイム保護をオフにする

Microsoft Defender Antivirus 関連のスタートアップを止める

「リアルタイム保護」がオフになっていることを確認してから Autoruns (Autoruns64.exe) を管理者権限で起動します。

起動したらオプションを開き「Hide Empty Locations」以外のチェックをすべて外した状態にします。

Autoruns のオプション設定

次にフィルター欄に「Windows Defender」と入力します。

Autoruns のフィルター

表示される内容は環境によって若干異なりますが、以下の2つのカテゴリにある PolicyAgent 以外の項目のチェックを外します。

  • Task Scheduler
  • HKLM\System\CurrentControlSet\Services

Autoruns で Microsoft Defender 関連のスタートアップを無効にする

この状態で再起動すると Microsoft Defender が無効化された状態が維持されます。

  • 設定:Windows セキュリティ

Microsoft Defender Antivirus が無効化されている図(1/4)

もしくは

Microsoft Defender Antivirus が無効化されている図(2/4)

  • Get-Service WinDefend
PS C:\> Get-Service WinDefend

Status   Name               DisplayName
------   ----               -----------
Stopped  WinDefend          Microsoft Defender Antivirus Service

Microsoft Defender Antivirus が無効化されている図(3/4)

  • Get-MpPreference
PS C:\> Get-MpPreference
(snip)
DisableRealtimeMonitoring                     : True

Microsoft Defender Antivirus が無効化されている図(4/4)

参考文献

再現できた方法

その他の方法

Microsoft Defender に関して

付録: Windows 10 1909 以降でうまくいかなかった方法集

Set-MpPreference -DisableAutoExclusions $true

Windows 10 の Windows Defender 無効化 で調べると Set-MpPreference -DisableAutoExclusions $true を Powershell で入力することで無効化できるという記事がたくさん見つかりますが、再現させることができませんでした。 *5

Get-Service WinDefend | Stop-Service -Force

FLARE-VM では Get-Service WinDefend | Stop-Service -Force といったコマンドを Powershell で実行することで無効化しようとしていますが、これも確認した限りでは再現させることができませんでした。 *6

PS C:\> Get-Service WinDefend | Stop-Service -Force
Stop-Service : Service 'Microsoft Defender Antivirus Service (WinDefend)' cannot be stopped due to the following error:
 Cannot open WinDefend service on computer '.'.
At line:1 char:25
+ Get-Service WinDefend | Stop-Service -Force
+                         ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (System.ServiceProcess.ServiceController:ServiceController) [Stop-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.StopServiceCommand

グループポリシーの「Microsoft Defender ウイルス対策を無効にする」を有効にする

グループポリシーで「Microsoft Defender ウイルス対策を無効にする」を有効にすることで無効化できるという記事もありましたが、確認した限りでは再起動することで未構成に強制変更されてしまっており、目的とする形の無効化はできませんでした。

レジストリに「DisableAntiSpyware」を加える

レジストリに DisableAntiSpyware と書き加えることで無効化にできるという記事もいくつかありましたが、確認した限りでは再現させることができませんでした。*7

更新履歴

  • 2021/02/11 新規作成
  • 2021/02/15 誤字を修正
  • 2021/03/13 Windows の機能が正常に動作しなくなる可能性についての注意書きを追加。
  • 2021/05/17 最新の Windows 10 では無効化できなくなっている点について注意書きを追加。

*1:方法としてサードパーティー製のアンチウィルスソフトを導入することでも無効化されるという記事もありましたが、今回の目的には合わなかったこともあり試していません。

*2:Autoruns の設定変更自体は実態としてはレジストリの変更のようなので、コマンドで再現できそうではあるのですが、その前提となる「リアルタイム保護」の無効化をコマンドベースで実行する方法が見つけられませんでした。

*3:仮に見つけられていたら記事にしていなかったと思います。

*4:確認した環境では「改ざん防止」は有効状態でも問題ありませんでしたが、もし設定変更に失敗するようであれば同様に無効化するといいかもしれません。

*5:コマンド自体は特にエラーなく完了しているように見えますが、設定値を確認すると反映がされていませんでした。また、その他の項目や挙動などからも無効化は確認できませんでした。

*6:実行時にエラーが発生します。

*7:これについてはレジストリとして削除された(機能しないように仕様変更された)という記事もいくつかありました。