Новости Аппаратный баг, который нельзя починить патчем: в процессорах Loongson нашли утечку данных из кэша L1

NewsMaker

I'm just a script
Премиум
29,109
46
8 Ноя 2022
Новая уязвимость LoongLeak обходит ASLR и ворует AES-ключи из ядра Loongson.

<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1200/669;margin-bottom:2rem;overflow:hidden">
8v76voe1zloxfsceanhttfsgeql2aj2j.jpg

<div itemprop="articleBody">В китайских процессорах Loongson обнаружили аппаратную уязвимость LoongLeak, позволяющую без прав администратора читать данные других программ и операционной системы из кэша L1. В число потенциальных целей входят ключи шифрования, хеши паролей и сведения, необходимые для обхода защиты памяти.

Специалисты немецкого Центра информационной безопасности имени Гельмгольца CISPA нашли дефект с помощью дифференциального фаззера. Инструмент сравнивал выполнение инструкций на реальном процессоре и в эмуляторе QEMU. Уязвимость затрагивает модели Loongson 3A5000 и 3A6000, построенные на собственной архитектуре LoongArch.

Причиной утечки стала инструкция FLD.S. Инструкция загружает 32 бита из памяти в 64-битный регистр для операций с плавающей точкой, но оставляет старшие 32 бита в неопределенном состоянии. При использовании 256-битного расширения LASX неопределенная область увеличивается до 224 бит, или 28 байт.

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

LoongLeak передает до 28 байт за одну операцию со скоростью более 300 МБ/с. Механизм не требует высокоточных таймеров и побочных каналов, поскольку данные напрямую попадают в векторные регистры процессора. Уязвимость связана с архитектурной ошибкой и не относится к атакам класса Spectre или Meltdown.

В ходе экспериментов авторы исследования извлекли из ядра полные AES-ключи шифрования диска, получили часть хеша пароля учетной записи root и обошли механизмы защиты памяти ASLR и stack canary. Операции заняли несколько секунд.

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

Устранить аппаратный дефект программным обновлением нельзя, но администраторы могут снизить риск с помощью очистки кэша L1 при переходе от ядра к пользовательскому коду. Очистка снижает производительность максимум на 1,4%, а в большинстве тестов замедление не превышает 0,1%. Для защиты Loongson 3A6000 потребуется дополнительно отключить один логический поток на каждом ядре, что заметно сократит вычислительную мощность.

Loongson подтвердила проблему, воспроизвела утечку и исправила дефект в новой аппаратной ревизии 3A6000. Процессоры компании используют преимущественно в Китае, включая государственные и административные учреждения, поэтому мировой масштаб угрозы остается ограниченным. Специальных инструментов для обнаружения эксплуатации LoongLeak пока нет.
 
Источник новости
www.securitylab.ru

Похожие темы