Приложение, которое может запускаться разными пользователями (Admin, Non-Admin) на Windows одновременно. У него есть критическая секция, которая не может быть выполнена одновременно другим (или одним и тем же) пользователем.
Чтобы не использовать Global Mutex из WinApi, позвоните по номеру: CreateMutex(NULL, true, "Global\\MyMutex");
, а затем после завершения задания сделано Mutex выпущен. Глобальный префикс добавлен, чтобы сделать Mutex видимым между всеми сеансами Windows. (Это необязательно, но я хочу представить, что этот Mutex не является локальным).
А теперь проблема:
Предположим, что существует злоумышленник, который хочет предотвратить выполнение критического раздела кем-либо поэтому она создала программу, которая создает мьютекс с именем "Global\\MyMutex"
и никогда не освобождает его ... Таким образом, она смогла выполнить DoS-атаку на мое приложение для других пользователей, поскольку они не могут добраться до критической секции.
Вопрос в том, как я могу предотвратить такой сценарий атаки с помощью Global Mutex?