Исследователи из Технического университета Граца (Австрия) обнаружили ошибки в реализации функций уведомлений ОС о файловых операциях — они затронули платформы Android, Linux, macOS и Windows. Из-за этих ошибок возникает угроза утечки конфиденциальной информации.
Источник изображения: Boitumelo / unsplash.com
Проблема затрагивает механизмы Linux inotify (с 2005 года), Google Android FileObserver (с 2008 года), Microsoft Windows ReadDirectoryChangesW (с 2000 года) и Apple macOS FSEvents в (с 2007 года). Они уведомляют ОС о том, что файл был открыт, изменён, записан или удалён. Данные функции не раскрывают содержимого файлов, но информация о событиях с ними служит побочным каналом, который помогает гипотетическому злоумышленнику делать выводы о действиях других пользователей компьютера. Располагая сведениями о файловых событиях, можно осуществлять атаки, основанные на анализе временных интервалов между нажатиями клавиш — это позволяет перехватывать вводимые пользователем данные, причём не только локально, но и по SSH; можно также производить атаки для выявления посещаемых сайтов и атаки с подменой интерфейса для кражи учётных данных.
Проблема состоит в том, что у непривилегированных пользователей есть доступ к подсистеме уведомлений о файловых операциях; причём в Linux и Windows информация о файлах доступна даже в отсутствие прав на их чтение. Сценарии атак предполагают, что у злоумышленника есть доступ к учётной записи с файлами, читать которые имеют право несколько пользователей — список файлов, доступных для чтения всем пользователям, весьма обширен. «В Linux отслеживание доступной для чтения директории приводит к утечке информации о событиях с файлами внутри неё, включая те, права на чтение которых отсутствуют: мониторинг „/dev/input“ позволяет получать уведомления о каждом нажатии клавиши, которые мы использовали для в локальной атаки с анализом интервалов между нажатиями с точностью распознавания 93,1–100 % для семи пользователей и удалённой атаки через SSH с точностью 100 %», — рассказали авторы исследования. Была смоделирована атака с подменой интерфейса запроса аутентификации в среде KDE Plasma 6; идентификация сайтов для сотни самых посещаемых ресурсов дала точность 87,9 %. Уязвимость в (CVE-2025-68788) была частично устранена в декабре 2025 года для версий ядра 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.64 и 6.18.3 — патч блокирует генерацию событий доступа и изменения для специальных файлов в директории «/dev/».
Источник изображения: KeepCoding / unsplash.com
«В Android механизм FileObserver работает в обход средства FUSE, предназначенного для изоляции хранилищ отдельных приложений. В результате приложение без специальных разрешений может отслеживать, например, закрытую папку WhatsApp и по именам файлов и временным меткам точно определять моменты отправки, получения или удаления фотографий, видео и документов», — отметили эксперты. В период с августа по октябрь 2025 года они сообщили о своих открытиях разработчикам Linux, Android, Windows и macOS. Разработчики Android никаких мер, предположительно, не приняли. Наименьший объём информации удалось получить при работе с Apple macOS — не удалось найти способов найти ограничения на чтение закрытых директорий. Тем не менее, подсистема FSEvents позволяет отслеживать различные изменения файлов, отражаемые в файлах формата .plist. Эти изменения включают переключения аудиовхода и аудиовыхода, изменение настроек питания, обновления информации о Bluetooth-устройствах и принтерах, изменения DNS при подключении сетевого кабеля, а также события подключения и отключения томов.
«В Windows мониторинг корневого каталога „C:\“ позволяет получить полный путь к любому файлу, к которому происходит обращение в системе — независимо от того, какой пользователь выполняет действие, и без учёта прав доступа. Этого оказалось достаточно, чтобы в реальном времени отследить какие сайты посещает другой пользователь в браузере Firefox — с точностью 97,8 %», — предупредили исследователи. В Microsoft, однако, ответили, что это предусмотренная архитектурой недокументированная функция. Эксперты предлагают распространить механизм проверки прав доступа на мониторинг собственных файлов пользователя: в Windows — запретить мониторинг целых дисков; в Windows и macOS — на уровне ядра внедрить систему разграничения прав доступа.