Опубликована техника обхода SMEP-защиты при эксплуатации Linux уязвимостей

Опубликована техника обхода SMEP-защиты при эксплуатации Linux уязвимостей

В ядре Linux 3.0 была представлена поддержка режима SMEP (Supervisor Mode Execution Protection), присутствующего в процессорах Intel на базе архитектуры Ivy Bridge. Использование SMEP не даёт переходить из режима ядра к выполнению кода, находящегося на пользовательском уровне, что позволяет блокировать эксплуатацию многих уязвимостей в ядре Linux (shell-код не будет выполнен, так как он находится в пространстве пользователя).

Один из исследователей безопасности опубликовал интересный способ эксплуатации уязвимостей в ядре в обход защиты SMEP (существуют и другие пути обхода SMEP, но данный метод заслуживает внимания в силу своей оригинальности), сообщает opennet.ru.

Метод построен на основе организации подстановки последовательности инструкций в исполняемую область JIT-компилятора (например, подсистемы BPF - Berkeley Packet Filter), генерирующего код на основе входных данных, которые могут контролироваться атакующим. Так как JIT-компилятор контролирует генерацию кода, так просто подставить инструкции не получится. Но можно воспользоваться тем, что входящие данные используются в качестве аргументов генерируемых инструкций. Например, для входных данных "$0xa8XXYYZZ" и "$0xa8PPQQRR" будет сгенерирован код:

b8 ZZ YY XX a8 mov $0xa8XXYYZZ, %eax
b8 RR QQ PP a8 mov $0xa8PPQQRR, %eax
b8 ...

Если пропустить байт с кодом инструкции mov (b8) и передать управление на следующий за ним байт (ZZ) будет выполнен машинный код "ZZ YY XX". При этом переданные в хвосте данные "a8" будут обработаны как ничего не значащая команда test с аргументом из кода команды mov (b8):

ZZ YY XX (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al
RR QQ PP (подконтрольные атакующему инструкции)
a8 b8 test $0xb8, %al

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

Уязвимость в Apex Legends позволяет управлять чужими персонажами

В популярном игре-батле Apex Legends обнаружили критическую уязвимость, которая позволяет злоумышленникам удалённо управлять вводом других игроков. Разработчик игры, компания Respawn Entertainment, уже подтвердил, что проблема реальна и уязвимость активно эксплуатируется.

Проще говоря, в ходе атаки посторонний человек может заставить персонажа двигаться, выполнять действия или, наоборот, полностью лишить игрока контроля — и всё это без взлома системы или внедрения кода.

По словам разработчиков, для атаки не требуется удалённое выполнение кода (RCE) или внедрение вредоносных файлов. Уязвимость работает на уровне самой игры — в механизмах обработки пользовательского ввода и взаимодействия клиента с сервером.

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

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

В подобных сценариях атака возможна из-за:

  • слабой проверки подлинности игровых команд;
  • ошибок в сетевом взаимодействии;
  • некорректной валидации изменений состояния персонажа.

В результате злоумышленник может принудительно перемещать персонажа, активировать способности или мешать нормальному управлению.

Сколько именно игроков уже столкнулись с проблемой — неизвестно. Однако сам факт публичного заявления Respawn говорит о том, что уязвимость эксплуатируется «в дикой природе», а не является чисто теоретической.

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

Respawn Entertainment уже работает над устранением проблемы, но сроков выхода патча пока не называет. Пока обновление не выпущено, разработчики советуют:

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

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

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