How to monitor Windows Defender real time protection?

10

3

I love how Microsoft made third party anti virus protection obsolete with Defender - it just works.

Unfortunately for me as a developer this sometimes means it works a bit too well, and slows down processes I know are secure - for example Gradle builds in Android Studio. I know I can exclude some files and processes from the scanning - but I don't actually know which ones to exclude. The UI of Android Studio? OpenJDK? My Android Emulator?

Some other anti virus product like Avira offered a view of files and programs that it scanned, even offering direct "exclude from scan" buttons.

Is there a way to monitor what real time protection is scanning, which files or processes are causing it to spin up and max my CPU?

janpio

Posted 2017-10-05T15:33:31.253

Reputation: 975

You should find out what process is responsible for the real time protection. Then you can monitor it with the performance monitor included in windows 10. – marsh-wiggle – 2017-10-18T17:09:44.587

Per the first answer this would be MsMpEng.exe - how could I monitor that with the included performance monitor? – janpio – 2017-10-18T20:56:28.830

performance monitoring: http://digital.ni.com/public.nsf/allkb/BF3082871516A32D86256F2B00447A2E

– marsh-wiggle – 2017-10-19T06:32:58.137

Why don't you just exclude all the suspected folders? This will take much less time than analyzing file accesses. – harrymc – 2017-10-19T10:25:08.497

This might very well be the conclusion to draw at the end of this ;) (You might want to post it as an answer...) – janpio – 2017-10-19T10:49:31.173

Answers

12

You can do this using ProcMon from SysInternals: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

  1. Run ProcMon as administrator.
  2. Open the Filter (Filter > Filter...).
  3. Create a Filter where Process Name - is - MsMpEng.exe then Include.
  4. Click Add and OK.

Your list should now filter and you can view and log files the engine touches as it touches them.

Another tool that can add information to this process is Process Explorer, also from SysInternals: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

Run ProcExp when you are running ProcMon and as you find entries in the ProcMon log that you suspect may be causing the slowness, find them in ProcExp's list of processes.

ProcExp shows applications in a hierarchical view ("tree view") that lists processes as parents and children. It also allows you to search for individual threads and in-use files and identify the process(es) that are using them.

However I think you're complicating the problem.

What you want to do first is identify and whitelist not each individual file being run in the SDKs and emulators, but the executables in the SDK and the emulators themselves that are running the files.

Do this first, and only proceed to whitelisting the individual files if the first step doesn't solve the problem.

music2myear

Posted 2017-10-05T15:33:31.253

Reputation: 34 957

Awesome - and frightening. So much stuff... any other useful filter options? This only lists the files though, not the processes, correct? Any way to correlate this to CPU load of the process? – janpio – 2017-10-18T20:51:44.660

A process is a file in use, more or less. If you're looking for info on which processes you should whitelist, this will collect the necessary information for you. I don't see a simple way to view the CPU time involved in each process, though using Process Explorer (also from SysInternals) should help in that regard. – music2myear – 2017-10-18T20:55:35.397

I am not sure if I understand: I now have a list of files being accessed by this process. How do I go from the files to the process name to exclude? (unless it is obvious by the path of course) – janpio – 2017-10-18T20:59:56.887

Winword.exe is a file. It sits inside your Program Files. When you open a .doc file or click one of the various shortcuts to open Word, Winword.exe is opened and becomes a process. At that time, MsMpEng.exe grabs Winword.exe and checks it out and if the program passes the tests, it is allowed to run. If winword.exe was triggered by opening a .doc file, the AV also checks the .doc file. – music2myear – 2017-10-18T21:04:20.820

I don't have the SDKs you mention on my computer. But if you have those programs closed, set up ProcMon and get it logging, and then open the programs and run the processes you find are slow and suspect are due to Defender's scanning engine, you'll then be able to review that log to find clues that will point you in the right direction. – music2myear – 2017-10-18T21:05:25.270

Ok, that I get, will do. I think the excluding processes in Defender means that also the files manipulated by these processes are not scanned. So I would need another step from "files" in procmon to processes manipulating these files, correct? – janpio – 2017-10-18T21:13:44.017

1If you want to know the process (file in use) that is calling/running specific files, use Process Explorer and look for the file you see in the ProcMon logs in the ProcExp tree. This will show you which process called that file. You may want to check and see if it is more effective to exclude the processes that are running, or the files that are being called. – music2myear – 2017-10-18T21:18:18.127

@janpio have you had a chance to see if this has resolved your problems? – music2myear – 2017-10-20T19:02:16.970

3

Process Hacker can be used to view the files that are being scanned as well. Once installed, run the program as an Administrator, or click Show details for all processes in the Hacker dropdown menu.

From there, go to the Disk tab. All files that are being read or written to will be displayed; any file in that list that says it is being read by MsMpEng.exe (Defender's main executable) is being scanned. It's easier to see what is being scanned if you paste MsMpEng.exe into the search bar at the top right of the window and then click the File column to sort alphabetically, as this filters the list so that only the files being scanned by Defender appear.

MoonRunestar

Posted 2017-10-05T15:33:31.253

Reputation: 288