Опубликована техника обхода 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-код в пространстве пользователя.

AirSnitch рушит защиту Wi-Fi: перехват трафика возможен даже при шифровании

Исследователи показали новый вектор атак на Wi-Fi под названием AirSnitch. По их словам, проблема кроется не в конкретной версии шифрования вроде WEP или WPA, а глубже — на самых нижних уровнях сетевой архитектуры. AirSnitch позволяет обойти механизм изоляции клиента — ту самую функцию, которую производители роутеров обещают как защиту от «соседа по Wi-Fi».

Идея изоляции проста: устройства внутри одной сети не должны напрямую «видеть» друг друга.

Но исследователи обнаружили, что из-за особенностей работы на уровнях Layer 1 и Layer 2 (физический и канальный уровни) можно добиться рассинхронизации идентификации клиента в сети. В итоге атакующий получает возможность провести полноценную двустороннюю атаку «человек посередине» (MitM) — перехватывать и изменять трафик.

Причём речь идёт не о каком-то одном бренде. Уязвимости подтвердились на роутерах Netgear, D-Link, TP-Link, ASUS, Ubiquiti, Cisco, а также на устройствах с DD-WRT и OpenWrt. Все протестированные модели оказались уязвимы хотя бы к одному варианту атаки.

 

Если соединение не защищено HTTPS, атакующий может читать и изменять весь трафик: логины, пароли, cookies, платёжные данные. Даже при использовании HTTPS возможны атаки через DNS-отравление или перехват доменных запросов.

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

В теории это также открывает путь к атакам на RADIUS — систему централизованной аутентификации в корпоративных сетях.

В отличие от старых атак вроде взлома WEP, здесь злоумышленнику нужно уже иметь доступ к сети (или к связанной инфраструктуре). Это не атака «из машины на парковке» по умолчанию. Тем не менее в публичных сетях риск очевиден.

Некоторые производители уже начали выпускать обновления, но часть проблем может требовать изменений на уровне чипсетов. А единого стандарта изоляции клиентов не существует — каждый вендор реализует его по-своему.

Исследователи и эксперты советуют:

  • избегать публичных Wi-Fi, если это возможно;
  • использовать VPN (понимая его ограничения);
  • по возможности раздавать интернет с мобильного устройства;
  • в корпоративной среде двигаться в сторону Zero Trust.

AirSnitch (PDF) не разрушает Wi-Fi в одночасье, но возвращает часть рисков «эпохи диких хотспотов», когда ARP-spoofing был повседневной практикой.

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