Измените порядок поиска по умолчанию в свойствах Visual Studio, чтобы избежать атак с предварительной загрузкой DLL. ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Измените порядок поиска по умолчанию в свойствах Visual Studio, чтобы избежать атак с предварительной загрузкой DLL.

Сообщение Anonymous »

Я работаю над приложением (язык C++), которое использует определенные библиотеки Windows. Например, я могу найти версию любого приложения, используя Version.lib. Я добавил библиотеку в настройки компоновщика Visual Studio. Я не могу указать точное местоположение библиотеки, поскольку это библиотека Windows.
По умолчанию порядок поиска в библиотеке следующий:
  • Каталог, из которого загружено приложение
  • Текущий рабочий каталог (CWD)
  • Системный каталог
  • 16-битный системный каталог
  • Каталог Windows
  • Каталоги, перечисленные в Переменная среды PATH
В связи с тем, что мое приложение используется из каталога пользователя, Предварительная загрузка DLL атаки могут произойти, когда хакер может поместить собственный файл Version.dll в тот же каталог, из которого загружено мое приложение. Эта пользовательская версия.dll будет загружена, поскольку приложение изначально загружает всю библиотеку dll. Как можно решить эту проблему?
Я даже пытался указать путь к Version.lib в дополнительной зависимости компоновщика, но он все равно сначала выполняет поиск в текущем каталоге. Я использовал Process Monitor, чтобы узнать, что dll сначала ищется в текущем каталоге.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -preloadin

Вернуться в «C++»