Оказалось, что API вроде
inotify в Linux, FileObserver в Android и вызовы файловых событий в Windows текут метаданными даже там, где у непривилегированного пользователя нет никаких прав. Код с реализацией методов атак опубликован под лицензией MIT.Самый красивый вектор провернули в Linux: обычный юзер не может напрямую читать сырые данные клавиатуры из
/dev/input/event4, зато может подписаться на метаданные родительской папки /dev/input. Каждое нажатие клавиши микроскопически дергает каталог, а по задержкам между таймингами (пальцы тянутся к «Q» или «X» дольше, чем к соседним клавишам) статистика легко восстанавливает вводимый текст. В свежих ядрах лазейку уже прикрыли, запретив каталогам генерировать события на спецфайлах, но сам факт чтения ввода без рута впечатляет.❤️ Впрочем, Linux отделался малой кровью... В KDE Plasma исследователи настроили слежку за обращением к бинарнику
/usr/bin/pkexec: как только система пытается спросить пароль суперпользователя, зловред мгновенно выкатывает поверх родного окна фейковую форму авторизации Polkit и уводит пароль.❤️ На Android через банальный
FileObserver удалось без особых разрешений мониторить приватную папку WhatsApp, вытягивая имена пересылаемых файлов и фиксируя активность переписки.❤️ А на Windows всё оказалось совсем просто: подписка на события корневого диска
C:\ сливает пути вообще ко всем файловым операциям в ОС в обход любых разграничений прав, позволяя в реальном времени вычислять открытые сайты в Firefox по именам создаваемых папок кэша.Кстати, в Microsoft заявили, что возможность подглядывать за файлами всех пользователей и процессов системы — это не уязвимость, а «недокументированная возможность».
Linux / Линукс 🥸
