Для реализации этой угрозы не требуются права администратора или установка вредоносных программ.

Исследователи из Австрийского технологического института представили на конференции NDSS 2026 подробный анализ и усовершенствование атак через кэш страниц операционных систем. Работа под названием «Eviction Notice» демонстрирует, как уязвимости в механизмах управления кэшем позволяют проводить атаки побочного канала без привилегий и с минимальными системными правами.
Кэш страниц — это часть оперативной памяти, в которую операционная система помещает недавно использованные данные с диска, чтобы ускорить повторный доступ. Такой подход значительно увеличивает производительность, однако создаёт и потенциальные риски. Если злоумышленник может определить, какие страницы файлов находятся в кэше, он может сделать выводы о действиях других пользователей — например, о том, была ли введена парольная форма или происходил доступ к определённому веб-сайту.
В 2019 году уже были описаны первые атаки на кэш страниц, но новая работа пошла дальше. Команда описала четыре ключевых примитива — механизма взаимодействия с кэшем: загрузку (reload), удаление (flush), вытеснение (evict) и мониторинг (monitor). Сочетая их, можно построить пять разных техник атак, включая Flush+Monitor и Evict+Reload. Эти методы позволяют, к примеру, фиксировать нажатия клавиш, определять, открыт ли графический интерфейс аутентификации, или следить за действиями внутри приложений.
Одним из наиболее значимых открытий стало использование системного вызова «posix_fadvise» с флагом «POSIX_FADV_DONTNEED», который позволяет не только удалять страницы из кэша, но и — при точном измерении времени выполнения — определять, находилась ли страница в кэше до этого. Это превращает удаление в ещё один источник утечки информации.
Кроме того, авторам удалось обойти встроенный в ядро Linux механизм «read-ahead», который предсказывает, какие страницы будут запрошены в будущем, и загружает их заранее. Для этого применялись две стратегии: чтение файла в обратном порядке и использование системного вызова «readahead», который позволяет точно управлять тем, какие страницы загружаются в кэш, без активации автоматической предзагрузки.
Для мониторинга наличия страниц в кэше без их загрузки использовался системный вызов «preadv2» с флагом «RWF_NOWAIT», который возвращает ошибку, если нужная страница не находится в памяти. Другой механизм — «cachestat», появившийся в ядре Linux версии 6.5 — был признан уязвимым и уже получил идентификатор CVE-2025-21691. Благодаря своевременному уведомлению команды разработчиков ядра, уязвимость была устранена в начале 2025 года.
Однако два основных механизма — упомянутые «posix_fadvise» и «preadv2» — по-прежнему остаются без защиты. Их изменения могут повлечь за собой поломку обратной совместимости, что затрудняет внедрение ограничений. При этом именно они позволяют создавать наиболее точные и устойчивые методы побочного анализа.
Авторы продемонстрировали, как на базе описанных техник можно реализовать скрытые каналы связи между процессами, определять наличие активности внутри контейнеров Docker, выявлять события в браузерах и даже проводить атаку на интерфейс аутентификации. Это поднимает вопросы не только безопасности пользовательских данных, но и защиты систем в изолированных средах.
Работа подчёркивает необходимость пересмотра архитектурных решений в современных операционных системах. Учитывая, что атаки могут выполняться без прав суперпользователя и не требуют использования уязвимостей в традиционном смысле, подходы к защите должны адаптироваться к новым видам угроз.