ARM прохудилась: обнаружилась исключительная уязвимость для атаки на спекулятивные вычисления
Для процессоров на широком спектре архитектур Armv8-A (Cortex-A) нашлась своя уникальная уязвимость для атаки по побочным каналам с использованием спекулятивных алгоритмов вычислений. Об этом сообщила сама ARM и предоставила патчи и руководства для смягчения найденной уязвимости. Опасность не так велика, но пренебрегать ею нельзя, ведь процессоры на архитектуре ARM есть везде, что делает риск утечек невообразимым по последствиям.
Найденная специалистами Google уязвимость в архитектурах ARM получила кодовое название Straight-Line Speculation (SLS) и официальное обозначение CVE-2020-13844. По словам ARM, уязвимость SLS? это одна из форм уязвимости Spectre, о которой (вместе с уязвимостью Meltdown) стало широко известно в январе 2018 года. Иначе говоря, это классическая уязвимость в механизмах спекулятивного вычисления с атакой по боковым (побочным) каналам.
Спекулятивные вычисления требуют обрабатывать данные заранее по нескольким возможным ветвям, хотя впоследствии они могут быть отброшены как ненужные. Атаки по побочным каналам позволяют красть такие промежуточные данные до их полного уничтожения. В результате мы имеем производительные процессоры и риск утечки данных.
Атака Straight-Line Speculation на процессоры с архитектурой ARM заставляет процессор всякий раз после изменения в потоке команд переходить на исполнение инструкций, найденных непосредственно в памяти, вместо того, чтобы следовать инструкциям в новом потоке команд. Очевидно, это не самый лучший сценарий выбора инструкций для исполнения, чем может воспользоваться злоумышленник.
К чести ARM, она не только выпустила руководство для разработчиков, которое поможет избежать риска утечки через атаку на Straight-Line Speculation, но также предоставила патчи для основных операционных систем, например, для FreeBSD, OpenBSD, Trusted Firmware-A и OP-TEE и выпустила патчи для компиляторов GCC и LLVM.
Также в компании заявили, что применение патчей не скажется на производительности ARM-платформ, как это произошло на x86-совместимых платформах Intel с блокированием уязвимостей Spectre и Meltdown. Впрочем, об этом мы сможем узнать от сторонних источников, что даст объективную картину о новой уязвимости.