OrBit: новый скрытный Linux-бэкдор с необычным угоном потока выполнения

OrBit: новый скрытный Linux-бэкдор с необычным угоном потока выполнения

OrBit: новый скрытный Linux-бэкдор с необычным угоном потока выполнения

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

Зловред с кодовым именем OrBit устанавливается в систему как временный либо постоянный имплант. Стойкость ему придает возможность перехвата ключевых функций; основными задачами новобранца являются кража учетных данных, регистрация tty-команд и обеспечение удаленного доступа к зараженной машине по SSH.

Атака начинается с ELF-файла — дроппера с полезной нагрузкой (libdl.so), которая извлекается и добавляется к библиотекам общего пользования, загружаемым линкером. (Уровень детектирования на VirusTotal в обоих случаях 11/60, по состоянию на 7 июля.)

Вредонос умеет перехватывать функции трех библиотек — libc, libcap и PAM (подключаемый модуль аутентификации). Загрузка вредоносного разделяемого объекта в память при этом может осуществляться двумя способами: через добавление его в конфигурационный файл, используемый загрузчиком, или патчинг самого бинарника.

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

Перехват функций — хорошо известный прием бесфайловых вредоносных программ, но для подмены разделяемого объекта в памяти они обычно модифицируют переменную окружения LD_PRELOAD. Такую технику используют, например, Linux-бэкдоры HiddenWasp, BPFDoor, Symbiote. Новобранца OrBit отличает от них новаторский способ хукинга — по словам Intezer, почти «непроницаемый» (hermetic), который позволяет зловреду закрепиться в системе и уклоняться от обнаружения, параллельно воруя информацию и открывая SSH-дверь.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

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

 

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

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

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

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