Процессоры Intel уязвимы для новой атаки Snoop
Применение исправлений для атаки Foreshadow (L1TF), раскрытой в 2018 году, также блокирует атаки Snoop.
Процессоры Intel уязвимы для новой атаки, которая может привести к утечке данных из внутренней памяти ЦП, также известной как кэш.
Атака, описанная как «Выборка данных L1 при помощи Snoop» или просто Snoop (CVE-2020-0550), была обнаружена Павлом Визоркевичем, инженером-программистом в Amazon Web Services (AWS).
Wieczorkiewicz сообщил об этой проблеме в Intel, и после дальнейших исследований производитель ЦП пришел к выводу, что исправления, выпущенные в августе 2018 года для уязвимости Foreshadow (L1TF), также применимы к этой новой атаке.
Список процессоров Intel, уязвимых для атак Snoop, доступен здесь. В список включены серии Intel, такие как процессоры Core и Xeon.
На техническом уровне новая атака Snoop использует преимущества механизмов ЦП, таких как несколько уровней кэша, согласованность кэша и отслеживание шины. Ниже приведено простое нетехническое объяснение того, почему атака существует и как она работает.
Сегодня большинство современных процессоров располагают несколькими уровнями (кэш) памяти для хранения данных во время их обработки внутри ЦП.
В зависимости от спецификаций ЦП может существовать кэш уровня 1 (L1), уровня 2 (L2) и даже кэш уровня 3 (L3).
Наиболее используемым уровнем кэша является L1, который разделен на две части, одна часть выделена для обработки пользовательских данных (L1D), а вторая - для обработки собственного кода инструкции ЦП (L1I).
Image: Kartik Khare on Medium
Из-за многоядерных архитектур и уровней нескольких кешей данные часто хранятся одновременно в нескольких кэшах ЦП и даже в ОЗУ.
Когерентность кэша - это процесс, который синхронизирует все уровни кэша, поэтому L2, L3 и RAM имеют те же данные, что и в кэше L1D, место, где они обычно меняются первыми.
«Отслеживание шины» - это операция, посредством которой ЦП обновляет все уровни кэша, когда происходит изменение в L1D.
Wieczorkiewicz обнаружил, что при определенных условиях вредоносный код может подключиться к операции отслеживания шины и вызвать ошибки, которые приводят к утечке данных из процесса когерентности кэша, а именно данных кэша, которые в настоящее время изменяются в кэше L1D, и эффективно утечки данных из внутреннего процессора.
Атаки SNOOP НЕ РАБОТАЮТ, ЕСЛИ ВЫ ПРИМЕНИЛИ L1TF-патчи
Основным недостатком этой атаки является то, что вредоносный код, работающий на ядре ЦП, может пропускать данные из других ядер, что является проблемой в облачных вычислениях и виртуальных средах.
Хорошая новость заключается в том, что эту атаку невероятно трудно осуществить, и она не возвращает большое количество данных (в отличие от первоначальных уязвимостей Meltdown и Spectre).
Кроме того, Intel говорит, что атака также требует условий, которые трудно удовлетворить в реальном мире.
«В связи с многочисленными сложными требованиями, которые должны быть выполнены для успешного выполнения, Intel не считает, что выборка данных Snoop Assisted L1 является практичным методом в реальных условиях, где ОС доверяют», - сказала Intel.
Пользователям, использующим системы высокого риска, производитель микросхем рекомендует применять исправления Foreshadow (L1TF), выпущенные в августе 2018 года.
Кроме того, отключение функции Intel TSX (Transactional Synchronization Extensions) также значительно уменьшает поверхность атаки и делает атаки Snoop еще сложнее.
Snoop может быть трудно осуществить, но она все еще заслуживает внимания, поскольку она раскрывает новый вектор атаки внутри операций отслеживания шины, область современной архитектуры ЦП, которая ранее не рассматривалась как потенциальная поверхность атаки.