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

NordVPN опровергла взлом после утечки данных на BreachForums

Компания NordVPN опровергла информацию о взломе после того, как на киберпреступном форуме BreachForums появились данные, якобы вытащенные с её серверов. По словам самой компании, утечка не имеет отношения ни к инфраструктуре NordVPN, ни к данным клиентов.

Заявление о взломе появилось 4 января. Неизвестный злоумышленник утверждал, что получил доступ к «серверу разработки NordVPN» и вытащил оттуда исходный код, а также данные из систем Salesforce и Jira.

В качестве доказательства он выложил фрагменты и предложил полный архив для скачивания пользователям форума с платным доступом.

 

Уже на следующий день NordVPN прокомментировала ситуацию. Компания сообщила, что проводит расследование, но первичный анализ не выявил никаких признаков компрометации серверов или внутренней продакшн-инфраструктуры.

Более того, по данным NordVPN, опубликованные материалы вообще не относятся к её внутренним системам. Как выяснилось, источником данных, скорее всего, является сторонняя платформа для автоматизированного тестирования, которую компания рассматривала около полугода назад. В рамках пилота был развёрнут изолированный тестовый стенд, но в итоге NordVPN выбрала другого подрядчика.

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

«Утверждения о взломе наших серверов разработки Salesforce не соответствуют действительности. Опубликованные элементы — вроде API-таблиц и схем баз данных — могут быть лишь артефактами изолированной тестовой среды стороннего поставщика», — заявили в NordVPN.

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

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