Уязвимость, позволяющая обойти блокировку хранителя экрана
19 января 2012 года
В X.Org Server 1.11 обнаружена (Архивная копия от 22 ноября 2015 на Wayback Machine) уязвимость, позволяющая через манипуляции с клавиатурой обойти режим блокировки экрана и получить доступ к заблокированному рабочему окружению пользователя. Проблема проявляется в дистрибутивах, перешедших на 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 и удалить из неё привязки клавиатурных комбинаций к событиям XF86_Ungrab и XF86_ClearGrab. В частности, следует закомментировать строки 44-49 в файле /usr/share/X11/xkb/compat/xfree86 с блоками "interpret XF86_Ungrab {...};" и "interpret XF86_ClearGrab {...};", после чего выполнить "setxkbmap $(setxkbmap -query | grep layout | awk '{print $2}')". Другим методом является использование для блокирования экрана в отдельной консоли программы vlock (Архивная копия от 6 марта 2012 на Wayback Machine), которая блокирует переключение между виртуальными консолями.
Дополнение: данные привязки также удалены в недавно выпущенном xkeyboard-config 2.5.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.