Уязвимость, позволяющая обойти блокировку хранителя экрана

В X.Org Server 1.11 обнаружена уязвимость, позволяющая через манипуляции с клавиатурой обойти режим блокировки экрана и получить доступ к заблокированному рабочему окружению пользователя. Проблема проявляется в дистрибутивах, перешедших на X.Org Server 1.11 (Fedora 16, Arch Linux, Gentoo, тестовый выпуск Debian Wheezy), для большинства хранителей экрана и систем блокировки экрана, включая gnome-screensaver (GNOME) и kscreenlocker (KDE).

Проблема вызвана тем, что в выпуске X.Org Server 1.11 в состав XKB была интегрирована функция принудительного завершения работы процесса, который обрабатывает текущий ввод. Функция не отражена в официальной пользовательской документации и предназначена для отладочных целей при разработке программ, эксклюзивно перехватывающих ввод (при зависании таких программ ранее было не обойтись без перезапуска X-сервера). Примечательно, что до 2008 года в состав X.Org Server входила похожая функция, управляемая опцией «Option AllowClosedownGrabs» (Ctrl+Alt+Keypad-Multiply), но данная функция была по умолчанию отключена и позднее совсем удалена из X.Org. В версии X.Org Server 1.11 работа комбинации Ctrl+Alt+Keypad-Multiply возвращена, при этом в Debian Wheezy распознаётся по умолчанию.

Работа программ блокировки экрана сводится к обеспечению постоянного перекрытия текущего содержимого рабочего стола через создание окна в полноэкранном режиме и перехвата всех событий ввода. Используя вышеотмеченную функцию, активируемую через специальную клавиатурную комбинацию (Ctrl+Alt+F11 или Ctrl+Alt+умножить на цифровой панели), можно принудительно завершить работу процесса, обслуживающего блокировку экрана, и таким образом получить доступ к рабочему столу без ввода пароля. Кроме того, среди появившихся в X.Org Server 1.11 отладочных функций также представлена возможность отключения эксклюзивного захвата событий ввода (Ctrl+Alt+F10), которую также можно использовать для обхода хранителя экрана.

В качестве обходного пути по защите от проявления уязвимости предлагается вручную отредактировать конфигурацию xkb и удалить из неё привязки клавиатурных комбинаций к событиям XF86Ungrab и XF86ClearGrab. Другим методом является использование для блокирования экрана в отдельной консоли программы vlock, которая блокирует переключение между виртуальными консолями.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.