Linux-вредонос sedexp два года атаковал системы, оставаясь в тени

Linux-вредонос sedexp два года атаковал системы, оставаясь в тени

Linux-вредонос sedexp два года атаковал системы, оставаясь в тени

Вредоносная программа для Linux, получившая имя sedexp, около двух лет беспрепятственно атаковала системы, оставаясь незамеченной. Зловред может модифицировать содержимое в памяти, добавляя туда вредоносный код.

На активность sedexp указали специалисты компании Aon Insurance. По их словам, программа позволяет операторам создавать обратные оболочки для удалённого доступа.

В отчёте исследователи пишут, что тактика sedexp (а именно — правила udev) пока недокументированна MITRE ATT&CK. Отмечается также сложность киберугрозы sedexp, которую можно встретить на обычных сайтах.

Как уже отмечалось выше, вредоносная программа использует udev, систему управления устройствами для ядра Linux, чтобы обеспечить закрепление в атакованной системе.

Правила udev представляют собой текстовые файлы конфигурации, которые говорят менеджеру, как обрабатывать определённые устройства или события. Эти файлы лежат в директориях «/etc/udev/rules.d/» и «/lib/udev/rules.d/».

Правила udev могут содержать три параметра, определяющие применяемость (ACTION== «add»), имя устройства (KERNEL== «sdb1») и конкретный скрипт, который будет запускаться при выполнении указанных условий (RUN+=«/path/to/script»).

В скомпрометированных системах sedexp добавляет следующее udev-правило:

ACTION=="add", ENV{MAJOR}=="1", ENV{MINOR}=="8", RUN+="asedexpb run:+»

Оно подключается каждый раз при добавлении нового устройства в систему, проверяя при этом, совпадают ли его основные и второстепенные номера с «/dev/random».

Заключительный компонент правила (RUN+= «asedexpb run:+») выполняет скрипт самого вредоноса — «asedexpb». Таким образом операторы обеспечивают регулярный запуск зловреда в системе.

 

Здесь интересен следующий нюанс: /dev/random является важным системным компонентом, который защитные программы не проверяют. Именно так sedexp удалось оставаться незамеченным два года.

Контроллер памяти 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