Главная | IT | Атаки по сторонним каналам через механизм отслеживания изменений в ФС

Атаки по сторонним каналам через механизм отслеживания изменений в ФС

Исследователи из Грацского технического университета (Австрия) выявили серию атак по сторонним каналам (PDF), осуществляемых через механизмы отслеживания изменений в файловой системе. Атаки позволяют отслеживать активность других пользователей на основе анализа событий об обращении к файлам и каталогам через такие API, как inotify в Linux, FileObserver в Android, ReadDirectoryChangesW в Windows и File System Events в macOS. Полученные сведения могут использоваться для воссоздания информации, вводимой пользователем с клавиатуры, для определения открываемых сайтов или для организации clickjacking-атак, осуществляющих наложение содержимого на активное окно в момент перед кликом. Код с реализацией методов атак опубликован под лицензией MIT.

Наиболее опасный метод атаки продемонстрирован в Linux и вызван возможностью определения доступа к файлам внутри каталога, которые напрямую не доступны для чтения и отслеживания. При помощи функции inotifywatch можно косвенно отслеживать факты изменения файлов внутри каталога через мониторинг самого каталога.

Напрямую у непривилегированного пользователя нет прав доступа на чтение содержимого и отслеживание активности устройства /dev/input/event4, отражающего события клавиатурного ввода. Но события, происходящие с файлом /dev/input/event4, влияют на состояние родительского каталога и могут отслеживаться через мониторинг изменения метаданных каталога /dev/input. Изменение состояния /dev/input/event4 происходит при вводе данных и задержки между фиксируемыми через inotify событиями коррелируют с задержками между нажатиями клавиш на клавиатуре.

Используя методы статистического анализа и учитывая, что при наборе текста задержки между нажатиями зависят от расположения клавиш на клавиатуре, можно с определённой вероятностью воссоздавать вводимую информацию. Например, реакция при вводе буквы «F» быстрее, чем при вводе «Q» или «X», так как для нажатия требуется меньше движений пальцев, также быстрее осуществляется повторное нажатие одной клавиши и нажатие расположенных рядом клавиш («s» после «a» нажимают значительно быстрее, чем «g» после «s»).

Метод также применим для воссоздания ввода в SSH-сеансах при подключении двух разных пользователей к одному SSH-серверу. В этом случае один из пользователей может отслеживать события, возникающие при вводе данных другим пользователем, через мониторинг файла-устройства /dev/pts. Проблема была решена в январских обновлениях ядра 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.65 и 6.18.3 через запрет генерации событий ACCESS и MODIFY для родительского каталога при доступе или изменении специальных файлов внутри него.

Второй способ атаки позволяет определить момент вывода диалога c запросом параметров аутентификации подсистемой Polkit через отслеживание обращения к исполняемому файлу /usr/bin/pkexec.
В этот момент атакующий может сформировать фиктивное окно, стилизованное под диалог ввода пароля, и вывести его поверх реального запроса пароля. Не заметивший подмены пользователь может ввести пароль подтверждения операции в окне атакующего. Возможность проведения подобной атаки продемонстрирована в дистрибутивах со средой рабочего стола KDE Plasma.

Предоставляемый платформой Android API FileObserver можно использовать для отслеживания активности с файлами в приватных каталогах других приложений. Например, анализируя активность в каталоге /sdcard/Android/media/com.whatsapp/WhatsApp можно отследить факты удаления, отправки и получения файлов, видео или изображений в WhatsApp, а также узнать имена отправляемых или получаемых файлов.

В Windows оказалось, что включение отслеживания событий для корневого каталога (C:\) передаёт информацию, включая полный файловый путь, о любых событиях со всеми файлами в файловой системе, независимо от прав доступа к файлам. Исследователями продемонстрирована возможность использования данной особенности для отслеживания в реальном времени того, какие сайты пользователи открывают в Firefox (для БД IndexedDB и кэша в Firefox для каждого сайта создаётся отдельный каталог с именем сайта, обращение к которому можно отследить). Реакция Microsoft на данную проблему с безопасностью выдвинута на премию Pwnies Award 2026 в номинации самая неадекватная реакция производителя (Lamest Vendor Response), так как представители компании вначале заявили, что это не уязвимость, а недокументированная возможность.

Источник