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

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.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Уязвимость, позволяющая обойти блокировку хранителя экрана», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.