Исследователи из Амстердамского свободного университета представили технику атаки SLAM (Spectre Linear Address Masking), предлагающую новый способ эксплуатации микроархитектурных уязвимостей класса Spectre, в котором утечка данных происходит при трансляции неканонических адресов, а для обхода проверок каноничности привлекаются предоставляемые в новых процессорах расширения для маскировки линейных адресов.
Экспертами опубликован инструментарий с реализацией метода и предложена демонстрация, показывающая, как можно извлечь из памяти ядра данные, соответствующие определённой маске (показано, как за несколько десятков секунд в Ubuntu выделить из памяти ядра строку с хэшем пароля пользователя root).
Атака может быть совершена на системах с процессорами Intel, поддерживающими расширение LAM (Linear Address Masking), процессорами AMD с расширением UAI (Upper Address Ignore) и процессорами ARM с расширением TBI (Top Byte Ignore). Указанные расширения позволяют использовать часть битов 64-разрядных указателей для хранения не связанных с адресацией метаданных (для обычных программ не требуется столько памяти, что могут адресовать 64-разрядные указатели, поэтому верхние биты могут быть задействованы, например, для проверок, связанных с обеспечением безопасности). Интересно, что процессоры Intel, AMD и ARM с поддержкой LAM, UAI и TBI ещё только анонсированы, но массово не производятся, что делает SLAM первой спекулятивной атакой на будущие CPU.
Источник: OpenNET.