Исследователь из компании enSilo Йотам Готтесман обнаружил простой способ обойти контроль учётных записей Windows (UAC) - очередной за последнее время (первая, вторая уязвимости). Он применим ко всем версиям операционной системы Windows и позволяет атакующему выполнять команды с повышенными привилегиями. Техника основана на методах взаимодействия и контроля переменных окружения. Эти переменные представляют собой ряд временных настроек для каждого процесса Windows.
Существует класс системных переменных окружения, применимых ко всей системе Windows. Туда входят имя пользователя, домена, пути к файлам в разных папках, таких как Windows, AppData, Пользователь и т.д. Эти переменные хранятся в реестре Windows, поэтому они сохраняются после перезагрузки системы и могут быть изменены командами set и setx.
Существуют специальные приложения, которые при запуске пользователями запускают процессы с повышенными привилегиями (Диспетчер задач, Очистка диска, Журнал событий). При их запуске UAC не отображает диалоговое окно с запросом разрешения. Хакеры могут изменить переменные окружения для создания вредоносного процесса у доверенного приложения и провести атаку.
Готтесман описал пять типов атак, которые могут сочетаться друг с другом. Например, можно создать копию папки C:\Windows и изменить системные переменные для указания на ложную папку. Эта настройка включается после перезагрузки и позволяет загружать вредоносные файлы DLL. При запуске доверенных программ эти DLL могут использоваться, позволяя менять файлы приложений.
Исследователь поставил в известность Microsoft, которая не рассматривает возможность обойти UAC как проблему системы безопасности. По этой причине с выпуском патча разработчики торопиться не будут.