Обнаружена новая уязвимость, позволяющая похищать данные процессоров Intel
Программный инженер из Amazon Web Services (AWS) Павел Вечоркевич (Pawel Wieczorkiewicz) обнаружил в процессорах Intel очередную уязвимость, позволяющую похищать данные из внутренней памяти ЦП. Разработанная Вечоркевичем атака получила название Snoop-assisted L1 Data Sampling или просто Snoop.
В ходе осуществления атаки Snoop используются такие механизмы процессора, как многоуровневый кэш, согласованность (когерентность) кэша и слежение за шиной.
В настоящее время большинство процессоров имеют многоуровневую память (кэш), где данные хранятся во время их обработки процессором. В зависимости от характеристик ЦП кэш может быть одноуровневым (L1), двухуровневым (L2) или даже трехуровневым (L3). Чаще всего используется уровень L1, который разделяется на два. Один раздел (L1D) используется для обработки данных пользователя, а второй (L1I) - для обработки кода инструкции самого ЦП.
Из-за многоядерной архитектуры и многоуровневого кэша обычно данные одновременно хранятся в нескольких кэшах процессора и даже в оперативной памяти. Согласованность кэша - это процесс, синхронизирующий все уровни кэша таким образом, чтобы в L1, L2 и оперативной памяти хранились одни и те же данные, что и в L1D - месте, где они начинают меняться.
Слежение за шиной представляет собой операцию, в ходе которой ЦП обновляет все уровни кэша, когда в L1D начинают меняться данные.
Как выяснил Вечоркевич, при определенных условиях вредоносный код может вмешаться в процесс слежения за шиной и вызвать ошибки, способные привести к утечке данных из процесса согласованности кэша, а именно - данные, в тот момент изменяемые в L1D. Однако, в отличие от Meltdown и Spectre, Snoop не позволяет похитить большие объемы данных. Кроме того, как уверяют в Intel, необходимые для осуществления атаки условия очень сложно обеспечить.
Инженер уведомил Intel о проблеме, однако, изучив уязвимость, специалисты компании пришли к выводу, что выпущенный в 2018 году патч для уязвимости Foreshadow (L1TF) исправляет и ее. Со списком уязвимых процессоров Intel можно ознакомиться здесь.