Re: Контроль запуска приложений
От: okman Беларусь https://searchinform.ru/
Дата: 23.03.18 08:35
Оценка:
Здравствуйте, Evgeniy Skvortsov, Вы писали:

ES>Есть способ контролировать запуск программ в винде из юзермода?

ES>То есть моя программа должна разрешать или запрещать запуск некоторых программ в зависимости от условий.
ES>Меня не интересуют все процессы в системе, только определенный набор приложений.

ES>Платформа Windows 10


Ничего лучше PsSetCreateProcessNotifyRoutine, PsSetCreateProcessNotifyRoutineEx и PsSetCreateProcessNotifyRoutineEx2
все равно нету. А юзермодные подходы плохи тем, что система просто не даст загружать свою dll в некоторые
процессы, равно как и запускать в них свои удаленные потоки или выделять память с правами на выполнение.
В Windows, особенно на Windows 8.1 и Windows 10, появилась масса встроенных защит: PPL-процессы, mitigation policies
(см., например, SetProcessMitigationPolicy и DynamicCodePolicy/ProcessSignaturePolicy), а еще всякие linux-процессы
(подсистема WSL), trustlet-процессы, metro-приложения и т.п.

Попробуй интереса ради вгрузиться в какой-нибудь metro-шный Скайп на Win10, например. Не важно как — через хук,
CreateRemoteThread, угон потоков (SetThreadContext) или еще как-нибудь. Скорее всего, ничего не выйдет (из-за
ограничений "песочницы" AppContainer и запрета загрузки в него чужих dll).

А в ядре блокировка таких процессов делается в два счета.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.