Сайд-канал спекулятивного исполнения
Что такое Сайд-канал спекулятивного исполнения?
Сайд-канал спекулятивного исполненияКласс микроархитектурных уязвимостей: процессор утекает данные через кеши и предсказатели после спекулятивного исполнения инструкций по путям, которые не должны были выполняться.
Сайд-каналы спекулятивного исполнения используют фундаментальные оптимизации современных процессоров: предсказание ветвлений, внеочередное исполнение и спекуляцию, которые исполняют инструкции до того, как архитектурное состояние подтверждает их выполнение. При ошибке предсказания транзитные результаты отбрасываются, но оставляют измеримые следы в кешах, store-буферах и предсказателях, которые атакующий считывает через временные оракулы. Семейство Spectre (v1, v2, BHI, RSB, Spectre-NG), Meltdown, MDS, L1TF, Foreshadow и Downfall используют этот примитив для чтения защищённой памяти между процессами, виртуалками, песочницами браузера или анклавами. Меры защиты — обновления микрокода, retpoline/IBRS, KPTI, Site Isolation в браузерах и защитные шаблоны кода.
● Примеры
- 01
Spectre v1: обход проверки границ массива с утечкой данных ядра через кеш-тайминги.
- 02
Браузерные Spectre-PoC до Site Isolation читали межсайтовые секреты.
● Частые вопросы
Что такое Сайд-канал спекулятивного исполнения?
Класс микроархитектурных уязвимостей: процессор утекает данные через кеши и предсказатели после спекулятивного исполнения инструкций по путям, которые не должны были выполняться. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Сайд-канал спекулятивного исполнения?
Класс микроархитектурных уязвимостей: процессор утекает данные через кеши и предсказатели после спекулятивного исполнения инструкций по путям, которые не должны были выполняться.
Как работает Сайд-канал спекулятивного исполнения?
Сайд-каналы спекулятивного исполнения используют фундаментальные оптимизации современных процессоров: предсказание ветвлений, внеочередное исполнение и спекуляцию, которые исполняют инструкции до того, как архитектурное состояние подтверждает их выполнение. При ошибке предсказания транзитные результаты отбрасываются, но оставляют измеримые следы в кешах, store-буферах и предсказателях, которые атакующий считывает через временные оракулы. Семейство Spectre (v1, v2, BHI, RSB, Spectre-NG), Meltdown, MDS, L1TF, Foreshadow и Downfall используют этот примитив для чтения защищённой памяти между процессами, виртуалками, песочницами браузера или анклавами. Меры защиты — обновления микрокода, retpoline/IBRS, KPTI, Site Isolation в браузерах и защитные шаблоны кода.
Как защититься от Сайд-канал спекулятивного исполнения?
Защита от Сайд-канал спекулятивного исполнения обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Сайд-канал спекулятивного исполнения?
Распространённые альтернативные названия: Уязвимость класса Spectre, Атака на транзитное исполнение.
● Связанные термины
- vulnerabilities№ 1074
Spectre
Семейство микроархитектурных атак, использующих спекулятивное исполнение в CPU для утечки данных через границы безопасности по кэш-каналам.
- vulnerabilities№ 665
Meltdown
Микроархитектурная уязвимость (CVE-2017-5754), позволяющая непривилегированному коду читать память ядра, используя внеочередное исполнение и отложенную проверку прав.
- vulnerabilities№ 1038
Атака по сторонним каналам
Атака, восстанавливающая секреты по наблюдаемым физическим или реализационным характеристикам — времени, мощности, электромагнитному излучению, кэшам, звукам — а не по логическим ошибкам.
- appsec№ 1051
Изоляция сайтов
Архитектура безопасности Chromium, помещающая документы разных сайтов в отдельные процессы ОС, чтобы скомпрометированный рендерер не мог читать данные других сайтов.
- appsec№ 129
Песочница браузера
Слой изоляции уровня ОС, ограничивающий рендерер и вспомогательные процессы браузера, чтобы скомпрометированный веб-код не мог читать файловую систему или другие приложения.
- cryptography№ 848
Атака по анализу энергопотребления
Атака по сторонним каналам, восстанавливающая секретные ключи путем измерения колебаний энергопотребления криптографического устройства во время операций.
● См. также
- № 564JIT-распыление
- № 1182Уязвимость путаницы типов