Отслеживать изменения в файловой системе, по уму во всей, а чтобы не изучать обновления майкрософт, параллельно 'изучать' на чистом окружении точно такую же установку, сравнив их обе при получении отличий, сигнализировать.
Если оперативность изменений не критична (например раз в сутки) то можно простыми скриптами собирать списки файлов, сортировать их и получать их разницу с помощью diff, в полученном списке искать к примеру exe (напоминаю что это не единственный способ получить исполняемый файл, к примеру это может быть скрипт WSH)
Если оперативность изменений критична, от нужен софт, анализирующий операции с файлами на лету, какой-нибудь sysinternails filemon, он пишет в огромный лог файл прописанные в настройках действия с файлами, своим скриптом его анализируешь по той же схеме
p.s. формально имен файлов недостаточно, если злоумышленник пожелает скрыть свое приложение в уже существующем файле, поэтому придется дополнительно собирать хеши содержимого (или хотя бы размеры)
Ну и в догонку, в ntfs есть именованные потоки, в которые так же можно складывать запускаемый файл и запускать его, собирать эти данные можно к примеру с помощью fsutil