Некоторое время назад появились сообщения о проблеме безопасности, затрагивающей около 40 различных приложений Windows. Microsoft быстро отреагировала на такие сообщения о потенциальных атаках нулевого дня против таких программ Windows, опубликовав обновление или инструмент для блокирования таких эксплойтов. Однако Microsoft также пояснила, что недостаток не в Windows.
Инструмент для блокировки атак по захвату DLL
Microsoft выпустила рекомендацию по безопасности (2269637) под названием «Небезопасная загрузка библиотеки делает возможным удаленное выполнение кода».
«Microsoft знает, что было опубликовано исследование, детализирующее вектор удаленной атаки для класса уязвимостей, который влияет на загрузку приложениями внешних библиотек. Эта проблема вызвана особыми небезопасными методами программирования, которые допускают так называемые «бинарные установки» или «атаки предварительной загрузки DLL». Эти методы могут позволить злоумышленнику удаленно выполнить произвольный код в контексте пользователя, выполняющего уязвимое приложение, когда пользователь открывает файл из ненадежного расположения ».
Microsoft также выпустила обновление, которое блокирует загрузку DLL из удаленных каталогов, тем самым предотвращая перехват DLL.
Это обновление представляет новый раздел реестра CWDIllegalInDllSearch, который позволяет пользователям управлять алгоритмом пути поиска DLL. Алгоритм пути поиска DLL используется API LoadLibrary и API LoadLibraryEx, когда библиотеки DLL загружаются без указания полного пути.
Когда приложение динамически загружает DLL без указания полного пути, Windows пытается найти эту DLL путем поиска в четко определенном наборе каталогов. Эти наборы каталогов известны как путь поиска DLL. Как только Windows находит DLL в каталоге, Windows загружает эту DLL. Если Windows не найдет DLL ни в одном из каталогов в порядке поиска DLL, Windows вернет ошибку операции загрузки DLL.
Более подробная информация и ссылки для скачивания на KB2264107.