В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В ядро Linux внесены исправления, призванные ограничить использование устаревшего приема — фиктивной операции ожидания, тормозящей CPU при его переводе в состояние сна. Современные системы AMD и Intel не нуждаются в такой помощи, более того, при определенных рабочих нагрузках трюк, в котором нет необходимости, может вызвать существенное снижение производительности.

В 2002 году в Linux была добавлена поддержка стандарта ACPI (Advanced Configuration and Power Interface), согласно которому управление энергопотреблением осуществляется на уровне операционной системы. Спецификации предусматривают возможность перевода устройства в состояние сна разной степени, а также использование технологий мгновенной готовности (пробуждение по сигналу).

Однако некоторые чипсеты оказались неспособными быстро реагировать на сигнал STPCLK# (stop-clock, вызывает состояние функционирования C2, при котором питание процессора отключается, но регенерация ОЗУ продолжается; для возврата в рабочий режим требуется время). В связи с этим был придуман обходной маневр — имитация ожидания, при которой система просто считывает данные ввода-вывода, задерживая обработку инструкций.

Соответствующий код появился в Linux вместе с поддержкой ACPI и присутствует до сих пор. Современные процессоры Intel его не используют, так как давно засыпают с помощью инструкции MWAIT — ее использование обеспечивает более тонкое управление энергопотреблением неактивного состояния (их семь против трех по ACPI).

Чипсетам AMD фейковая операция ожидания тоже больше не требуется, однако для них альтернативы нет. В то же время трюк двадцатилетней давности при определенных условиях может оказаться губительным. Недавнее исследование показало, что он может сильно замедлить работу AMD Zen 3 при рабочих нагрузках Linux с быстрым переключением состояний занятости и простоя. Падение производительности особенно заметно на платформах Ryzen Threadripper и EPYC, которые используют многоядерные процессоры.

Во избежание таких потерь был предложен патч для Linux, который лимитирует использование потерявшего актуальность кода: он пускается в ход только на старых платформах (в случае с Intel это системы с микроархитектурой древнее Nehalem). Концепцию заплатки подхватил Линус Торвальдс; в итоге долгожданный фикс был добавлен в новую сборку ядра Linux (6.0), выпуск которой запланирован на 2 октября.

Исследователь заставил Kaspersky Endpoint Security записать DLL в System32

Независимый исследователь под псевдонимом Nightmare Eclipse опубликовал экспериментальный эксплойт HardBreacher для уязвимости в Kaspersky Endpoint Security. По его словам, неизвестная ранее брешь позволяет обычному пользователю обойти ограничения Windows и создать файл в защищённой директории C:\Windows\System32.

Эксплойт тестировался на полностью обновлённой Windows 11 25H2 с Kaspersky Endpoint Security 14.0.0.504.

При успешном запуске эксплойт создавал в System32 файл MY_SNAKE_IS_SOLID.dll, после чего предоставлял текущему непривилегированному пользователю полный доступ к нему. В нормальной ситуации стандартная учётная запись проделать такой трюк не может.

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

 

Сам автор признаёт, что HardBreacher работает нестабильно: запуски часто заканчиваются ошибкой, поэтому попытки приходится повторять. Стабильное выполнение произвольного кода с правами SYSTEM также не продемонстрировано.

Независимые специалисты пока не воспроизвели результат. Уязвимость не получила CVE, а «Лаборатория Касперского» публично не подтвердила проблему и не назвала возможные затронутые версии. Делать выводы обо всей линейке продуктов по одному испытанному выпуску рано.

Однако опубликованный код уже привлекает внимание. Ранее инструменты Nightmare Eclipse для обхода Microsoft Defender пытались применять в реальных атаках, хотя большинство попыток провалилось.

Update:

Официальный комментарий «Лаборатории Касперского»:

«"Лаборатория Касперского" устранила недостаток, обнаруженный с помощью экспериментальной утилиты HardBreacher. Обновление с необходимыми исправлениями выпущено и устанавливается автоматически — при необходимости пользователи также могут запустить его вручную».

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