Windows Firewall: Правило для Windows Defender

Графический интерфейс утилиты «Windows Defender» запускается отсюда:
C:\Program Files\Windows Defender\MSASCui.exe
Если нажать на кнопку «Update definitions», в интернет попытается выйти тот же процесс
C:\Program Files\Windows Defender\MSASCui.exe

Иногда Process Explorer показывает такую строку для запуска:

"C:\ProgramData\Microsoft\Windows Defender\platform\4.18.1902.2-0\MpCmdRun.exe" SpyNetServiceDss -RestrictPrivileges -AccessKey CB5CEFD6-222A-C953-6093-63D01EDEC226 -Reinvoke

Запуск был от имени NT AUTHORITY\NETWORK SERVICE, соответственно уровень целостности (Integrity) = System. Если для SRP это означает, что никаких проблем нет (процесс не блокируется, даже если не внесён в белый список), то Firewall блокирует все попытки связаться с облаком.

Несмотря на то, что утилита сканирования MpCmdRun.exe есть в этой папке:
«C:\Program Files\Windows Defender\MpCmdRun.exe»
Тем не менее, запускается процесс из другой папки («4.18.1902.2-0»):
«C:\ProgramData\Microsoft\Windows Defender\platform\4.18.1902.2-0\MpCmdRun.exe»
Он же и требует выхода в интернет. Но, если Windows Defender обновился, то меняется и папка запуска.
Сейчас у меня там три папки:
4.18.1812.3-0
4.18.1901.7-0
4.18.1902.2-0
При этом настроить правило для Firewall по маске (*) нельзя…
Раньше папка была одна, но после одного апдейта ЗАЧЕМ-ТО стали менять название папки.
Актуальное название этой папки можно узнать из задачи в Планировщике заданий:
\Microsoft\Windows\Windows Defender\Windows Defender Scheduled Scan
На вкладке Action можно увидеть строку для запуска программы:
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.1902.2-0\MpCmdRun.exe
с аргументом:
Scan -ScheduleJob -ScanTrigger 55
Но аргумент мне сейчас не важен, а важен путь для запуска — его-то и нужно добавлять в белый список Firewall.
Ещё один вариант (он получше) узнать актуальный путь с текущей версией Windows Defender — это посмотреть в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\
InstallLocation = "C:\ProgramData\Microsoft\Windows Defender\platform\4.18.1902.2-0\"

Теперь нужно придумать, как всё это автоматизировать, чтобы после обновления Defender менялся путь в Firewall. Может у кого есть какие-то мысли? Может вообще есть отдельные настройки, о которых я не знаю…

update:
Выяснил, что для SmartScreen используется разрешение не по пути к приложению, а по её PackageSid.
Для Windows Defender SmartScreen он такой:

Get-NetFirewallRule -DisplayName "Windows Defender SmartScreen" | get-netfirewallapplicationfilter
Program : Any
Package : S-1-15-2-1255970798-2717750985-493741290-1721212560-3530798636-1829112236-3118580706

Этому PackageSid соответствует Microsoft.Windows.Apprep.ChxApp_cw5n1h2txyewy
Хотя, для MpCmdRun.exe так не получится сделать.

Сегодня запись в Журнале такая:

The Windows Filtering Platform has blocked a connection.

Application Information:
Process ID: 3996
Application Name: \device\harddiskvolume4\programdata\microsoft\windows defender\platform\4.18.1903.4-0\msmpeng.exe

Network Information:
Direction: Outbound
Source Address: 192.168.0.73
Source Port: 1624
Destination Address: 40.115.119.185
Destination Port: 443
Protocol: 6

Filter Information:
Filter Run-Time ID: 73250
Layer Name: Connect
Layer Run-Time ID: 48

Пока сделал так:

New-NetFirewallRule -DisplayName 'Windows Defender (msmpeng)' -Description 'C:\ProgramData\Microsoft\Windows Defender\Platform\x.xx.xxxx.x-x\MsMpEng.exe' -Direction Outbound -Group "USER" -Protocol TCP -RemoteAddress "40.115.119.185" -RemotePort @('443')

Обсуждение.



Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments