Обнаружена новая угроза с кодовым названием GhostRace (CVE-2024-2193), зафиксированная исследовательскими группами из Амстердамского свободного университета и европейского отделения IBM Research. Уязвимость затрагивает базовые инструменты защиты операционных систем и может привести к серьезным последствиям, включая утечку данных и нарушение работы важных механизмов.
GhostRace использует особенности работы современных процессоров, а именно их способность предугадывать последовательность выполнения команд. Таким образом злоумышленники могут вызвать ошибки в синхронизации процессов операционной системы для несанкционированного доступа к данным и запуска вредоносного кода.
Проблема эксплуатирует механизм спекулятивного выполнения, создавая условия, при которых система может ошибочно считать, что память уже освобождена и доступна для повторного использования, когда в действительности она еще занята. Дефект позволит извлекать сведения из системной памяти с неожиданно высокой скоростью.
CVE-2024-2193 охватывает широкий круг устройств, поскольку касается всех основных производителей процессоров (Intel, AMD, ARM, IBM) и операционных систем, использующих стандартные механизмы синхронизации.
Исследователи также предложили методы борьбы с угрозой. AMD сосредоточилась на применении существующих способов защиты от атак, подобных Spectre-v1, а вот ответ Linux был более многоаспектным. Специалисты попытались выяснить, как устранить риск перегрузки процессора, не касаясь непосредственно корня проблемы.
По итогу, исследовательская команда рекомендовала сериализовать процесс спекулятивного исполнения внутри важнейших примитивов синхронизации, добавив всего две строки кода. Эти изменения, включая добавление инструкции lfence после операции lock cmpxchg, увеличивают нагрузку всего на 5%. Небольшое ухудшение производительности кажется разумной ценой за более прочную защиту ядра Linux от спекулятивных атак.