Зависимость времени выполнения инструкций от данных на CPU ARM и Intel
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Эрик Биггерс (Eric Biggers), один из разработчиков шифра Adiantum и мэйнтейнер подсистемы ядра Linux fscrypt, предложил набор патчей для блокирования проблем с безопасностью, возникающих из-за особенности процессоров Intel, не гарантирующей постоянное время выполнения инструкций для разных обрабатываемых данных. В процессорах Intel проблема проявляется начиная с семейства Ice Lake. Аналогичная проблема наблюдается и в процессорах ARM.
Наличие зависимости времени выполнения инструкций от обрабатываемых в этих инструкциях данных расценивается автором патчей как уязвимость в процессорах, так как такое поведение не может гарантировать безопасность производимых в системе криптографических операций. Многие реализации криптографических алгоритмов рассчитаны на то, что данные не влияют на время выполнение инструкций и нарушение этого поведения может привести к созданию атак по сторонним каналам, восстанавливающих данные на основе анализа времени их обработки.
Потенциально зависимость времени выполнения от данных также может использоваться для организации атак по определению данных ядра из пространства пользователя. По заявлению Эрика Биггерса, постоянное время выполнения по умолчанию не обеспечивается даже для инструкций, выполняющих операции сложения и XOR, а также для специализированных инструкций AES-NI (информация не подтверждена тестами, по другим данным при умножении векторов и подсчёте битов возникает задержка на один цикл).
Для отключения рассматриваемого поведения компании Intel и ARM предложили новые флаги: PSTATE-бит DIT (Data Independent Timing) для CPU ARM и MSR-бит DOITM (Data
Operand Independent Timing Mode) для CPU Intel, возвращающие старое поведение с постоянным временем выполнения. Компании Intel и ARM рекомендуют включать защиту по мере необходимости для особо важного кода, но на деле важные вычисления могут встречаться в любых частях ядра и пространства пользователя, поэтому рассматривается возможность постоянной активации режимов DOITM и DIT для всего ядра.
Для процессоров ARM в ветку ядра Linux 6.2 уже приняты патчи, меняющие поведение для ядра, но данные патчи рассматриваются как недостаточные, так как они охватывают только код ядра и не меняют поведение для пространства пользователя. Для процессоров Intel включение защиты пока находится только на стадии рецензирования. Измерение влияния патча на производительность пока не проводилось, но по данным из документации Intel включение режима DOIT снижает производительность (например, из-за отключения некоторых оптимизаций, таких как специфичная для определённых данных упреждающая загрузка) и в будущих моделях процессоров снижение производительности может усилиться.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://seclists.org/oss-sec/2...)
- OpenNews: Атака NetSpectre, приводящая к утечке содержимого памяти по сети
- OpenNews: Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях
- OpenNews: Техника предсказания содержимого буфера на основе анализа времени выполнения функции memcmp
- OpenNews: Техника определения RSA-ключей через анализ изменения шума от компьютера
- OpenNews: Новая техника атаки для выявления содержимого отдельных блоков SSL/TLS-соединений
Похожие новости:
- Предложен метод эксплуатации разыменования NULL-указателей в ядре Linux
- Опубликован код порта Doom для кнопочных телефонов на чипе Spreadtrum SC6531
- Компания Intel опубликовала Xe, новый Linux-драйвер для своих GPU
- Уязвимость в модуле ksmbd ядра Linux, позволяющая удалённо выполнить свой код
- В Fedora 38 планируют реализовать поддержку универсальных образов ядра
- Релиз ядра Linux 6.1
- Intel задействовал код DXVK в своих драйверах для Windows
- В ядро Linux 6.2 войдёт подсистема для ускорителей вычислений
- Уязвимость в драйвере GPU Intel для Linux
- Уязвимость в подсистеме io_uring, приводящая к повышению привилегий
Теги для поиска: #_intel, #_arm, #_cpu, #_timing, #_kernel
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Дек 22:42
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Эрик Биггерс (Eric Biggers), один из разработчиков шифра Adiantum и мэйнтейнер подсистемы ядра Linux fscrypt, предложил набор патчей для блокирования проблем с безопасностью, возникающих из-за особенности процессоров Intel, не гарантирующей постоянное время выполнения инструкций для разных обрабатываемых данных. В процессорах Intel проблема проявляется начиная с семейства Ice Lake. Аналогичная проблема наблюдается и в процессорах ARM. Наличие зависимости времени выполнения инструкций от обрабатываемых в этих инструкциях данных расценивается автором патчей как уязвимость в процессорах, так как такое поведение не может гарантировать безопасность производимых в системе криптографических операций. Многие реализации криптографических алгоритмов рассчитаны на то, что данные не влияют на время выполнение инструкций и нарушение этого поведения может привести к созданию атак по сторонним каналам, восстанавливающих данные на основе анализа времени их обработки. Потенциально зависимость времени выполнения от данных также может использоваться для организации атак по определению данных ядра из пространства пользователя. По заявлению Эрика Биггерса, постоянное время выполнения по умолчанию не обеспечивается даже для инструкций, выполняющих операции сложения и XOR, а также для специализированных инструкций AES-NI (информация не подтверждена тестами, по другим данным при умножении векторов и подсчёте битов возникает задержка на один цикл). Для отключения рассматриваемого поведения компании Intel и ARM предложили новые флаги: PSTATE-бит DIT (Data Independent Timing) для CPU ARM и MSR-бит DOITM (Data Operand Independent Timing Mode) для CPU Intel, возвращающие старое поведение с постоянным временем выполнения. Компании Intel и ARM рекомендуют включать защиту по мере необходимости для особо важного кода, но на деле важные вычисления могут встречаться в любых частях ядра и пространства пользователя, поэтому рассматривается возможность постоянной активации режимов DOITM и DIT для всего ядра. Для процессоров ARM в ветку ядра Linux 6.2 уже приняты патчи, меняющие поведение для ядра, но данные патчи рассматриваются как недостаточные, так как они охватывают только код ядра и не меняют поведение для пространства пользователя. Для процессоров Intel включение защиты пока находится только на стадии рецензирования. Измерение влияния патча на производительность пока не проводилось, но по данным из документации Intel включение режима DOIT снижает производительность (например, из-за отключения некоторых оптимизаций, таких как специфичная для определённых данных упреждающая загрузка) и в будущих моделях процессоров снижение производительности может усилиться. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Дек 22:42
Часовой пояс: UTC + 5