Зловредные npm-пакеты для Amazon, Slack используют путаницу зависимостей

Зловредные npm-пакеты для Amazon, Slack используют путаницу зависимостей

Зловредные npm-пакеты для Amazon, Slack используют путаницу зависимостей

В репозитории npm обнаружены вредоносные NodeJS-пакеты, предназначенные для использования в приложениях Amazon, Zillow, Lyft и Slack. Внедрение зловредов, нацеленных на кражу паролей, осуществляется посредством эксплуатации уязвимости, известной как dependency confusion (путаница зависимостей).

Новый способ атаки на цепочку поставок, использующий dependency confusion, обнаружил ИБ-исследователь Алекс Бирсан (Alex Birsan). Разрабатывая свой PoC, он использовал тот факт, что при подключении компонента, размещенного и в открытом, и во внутреннем репозитории компании, приложение отдает предпочтение первому. Если пакет в публичном хранилище окажется зараженным, злоумышленнику удастся внедрить зловреда в сеть атакуемой компании.

Созданный Бирсаном PoC-эксплойт быстро подхватили другие баг-хантеры, но злонамеренного использования до сих пор замечено не было. Однако недавно в репозитории npm были обнаружены несколько поддельных пакетов на основе этого PoC с добавлением откровенно вредоносного кода.

По именам эти фейки (amzn, zg-rentals, lyft-dataset-sdk, serverless-slack-app) схожи с легитимными проектами, размещенными на GitHub и во внутренних хранилищах целевых компаний. Проведенное в Sonatype тестирование показало, что amzn и zg-rentals крадут файл паролей из папки /etc/shadows, а также внедряют шелл-код, открывающий удаленный доступ к зараженной системе.

Пакеты lyft-dataset-sdk и serverless-slack-app нацелены на кражу файла .bash_history, в котором хранится история данных и команд, введенных с использованием командной строки Bash, — в том числе пароли, передаваемые в качестве аргумента.

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

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