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

Треть звонков от организаций не маркируется

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

Как пишут «Известия», до трети звонков от компаний остаются анонимными.

По данным источников издания, такие вызовы чаще всего проходят через фиксированные сети небольших операторов, которых в России насчитывается около тысячи. В целом же, отмечают собеседники «Известий», в маркировке звонков не заинтересованы ни сами операторы, ни их корпоративные клиенты. Особенно это касается банков и микрофинансовых организаций.

Как сообщил РБК со ссылкой на источники, с 27 января вся «большая четвёрка» мобильных операторов перестала маркировать звонки от крупнейших банков, включая Сбербанк, ВТБ и Альфа-банк. Причиной, по данным источников на финансовом рынке, стало отсутствие договоров между банками и операторами связи.

«По нашим данным, примерно одна треть от общего количества звонков, поступающих нашим клиентам ежемесячно, не маркируется, — сообщили “Известиям” в “Вымпелкоме” (Билайн). — При этом доля таких вызовов может меняться от месяца к месяцу. Как правило, речь идёт о звонках от компаний финансового сектора и небольших операторов связи».

Официальный представитель Т2 Дарья Колесникова оценила долю немаркированных звонков в 35–40%. По её словам, корпоративные заказчики, особенно из финансового сектора, сферы недвижимости и числа небольших операторов, зачастую не заинтересованы в подключении услуги из-за нежелания оплачивать маркировку.

Источники «Известий» также указывают, что такую позицию усиливает отсутствие прямой ответственности за саботаж маркировки. На эту проблему обращали внимание ещё в феврале 2020 года, когда инициатива только обсуждалась. Тогда Минцифры обещало проработать механизм ответственности, однако соответствующие изменения так и не были реализованы.

Партнёр ComNews Research Леонид Коник напомнил, что в правительственном постановлении, регулирующем маркировку звонков от организаций, прямо не прописан характер договоров между операторами и коммерческими заказчиками — в том числе, должны ли они быть возмездными. По его оценке, сама операция обходится оператору в среднем в 30 копеек за звонок, вне зависимости от того, состоялось соединение или нет. Малые операторы и бизнес-клиенты компенсировать эти расходы, как правило, не готовы.

«Многие компании и индивидуальные предприниматели не заключили со своими операторами договоры на маркировку. Причём зачастую речь идёт вовсе не о мелком бизнесе», — констатирует Леонид Коник.

«Поскольку наибольшую долю среди немаркированных звонков составляют кредитно-финансовые организации, мы ожидаем от Банка России указаний о необходимости обязательной идентификации таких вызовов, — заявила Дарья Колесникова. — Это критически важно, поскольку маркировка не только снижает раздражение абонентов от нежелательных звонков, но и помогает бороться с телефонным мошенничеством».

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

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

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