Уязвимость протокола CTF затрагивает все версии Windows (с Windows XP)

Уязвимость протокола CTF затрагивает все версии Windows (с Windows XP)

Уязвимость протокола CTF затрагивает все версии Windows (с Windows XP)

Малоизвестный протокол Microsoft под названием CTF используется всеми версиями Windows, начиная с Windows XP. Эксперт Google Project Zero Тэвис Орманди считает, что CTF небезопасен и злоумышленник легко может проэксплуатировать протокол в ходе атаки.

Выяснилось, что присутствующий в системе вредонос может использовать CTF для захвата любого привилегированного приложения и даже всей системы целиком.

В настоящее время патча для уязвимостей протокола не существует и его скорого выхода также ждать не стоит — брешь очень прочно обосновалась в самом сердце CTF. По словам Орманди, ему не удалось найти упоминание CTF в документации Microsoft. То есть эксперт даже не может пока расшифровать эту аббревиатуру.

Единственное, что нашёл Орманди в отношении этого протокола: CTF является частью Windows Text Services Framework (TSF) — системы, отвечающей за отображение текста внутри Windows и приложений.

Когда пользователь запускает приложение, Windows параллельно запускает CTF-клиент для этого приложения. Клиент получает инструкции от сервера относительно системного языка ОС и устройств для ввода текста.

Тэвис Орманди обнаружил, что коммуникация между CTF-клиентом и его сервером не требует аутентификации и не имеет других средств защиты. В результате любой желающий может вмешаться в процесс взаимодействия клиента и сервера.

«Таким образом, вы можете подключиться к активной сессии другого пользователя. Это позволит скомпрометировать любое приложение или подождать входа администратора, чтобы перехватить его сессию», — объясняет Орманди.

В результате атакующий сможет отправлять команды приложению, играя роль сервера. Для демонстрации проблемы Орманди записал специальное видео, с которым можно ознакомиться ниже:

Орманди также выложил на GitHub специальный инструмент, который поможет исследователям проверить протокол на другие проблемы безопасности.

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

Дальше выяснилось, что деинсталлятор некорректно работал с системными API: использовал неправильное соглашение о вызовах функций и неверно обрабатывал параметры стека. Из-за этого при каждой неудачной операции данные из стека удалялись неправильно.

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

RSS: Новости на портале Anti-Malware.ru