В сентябре 2024 года группа исследователей из Университета Флориды и Техасского технологического университета представилаДля просмотра ссылки необходимо нажать Вход или Регистрацияс описанием весьма замысловатой методики перехвата текстовой информации, которую вводит пользователь гарнитуры виртуальной/дополненной реальности Apple Vision Pro.
Изобретенный ими способ атаки на пользователей Vision Pro исследователи назвали GAZEploit. В этом посте мы попробуем разобраться, как работает эта атака, насколько она эффективна, реалистична и опасна для владельцев VR/AR-устройств Apple и как лучше
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Как устроен ввод информации в Apple visionOS
Сперва немного поговорим о том, как вообще устроен ввод информации в visionOS — операционной системе, на базе которой работает Apple Vision Pro. Одной из наиболее впечатляющих инноваций гарнитуры смешанной реальности Apple стало чрезвычайно эффективное использование
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, то есть отслеживания движения глаз пользователя.Направление взгляда служит в качестве основного метода взаимодействия пользователя с интерфейсом visionOS. Точность отслеживания положения глаз пользователя настолько высока, что ее достаточно для работы даже с очень небольшими элементами интерфейса — в том числе с виртуальной клавиатурой.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Для ввода текста в visionOS используется виртуальная клавиатура и окулография
Хотя в visionOS присутствует опция диктовки, все же для ввода текстовой информации основным средством остается
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. При вводе конфиденциальной информации вроде паролей в системе предусмотрена защита от чужих глаз: в случае совместного использования экрана в visionOS и клавиатура, и вводимый пользователем пароль автоматически скрываются.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
При совместном использовании экрана visionOS автоматически скрывает пароли, которые вводит пользователь Vision Pro
Вторая важная особенность AR-гарнитуры Apple — в способе реализации видеозвонков с участием пользователя Vision Pro. Поскольку устройство располагается непосредственно на лице пользователя, для передачи видеоизображения пользователя стандартный вариант с условной фронтальной камерой не работает. А использовать для видеоконференций отдельную внешнюю камеру было бы не по-яблочному сложно, да и видео участника в шлеме на голове выглядело бы довольно странно.
Поэтому в Apple придумали чрезвычайно оригинальную технологию, в которой используется так называемая виртуальная камера. На основе 3D-скана лица пользователя Vision Pro создает его цифровой аватар (в Apple называют его
Для просмотра ссылки необходимо нажать
Вход или Регистрация
), который и участвует в видеоконференциях. Persona может использоваться как в FaceTime, так и в других приложениях для видеозвонков.Благодаря использованию большого количества биометрических данных цифровой аватар Persona в visionOS выглядит действительно реалистично.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
При этом лицо пользователя отслеживается в режиме реального времени датчиками AR-гарнитуры, чтобы аватар мог полностью копировать все, что делает пользователь, — движения головы, губ, мимику и так далее.
GAZEploit: Как подсмотреть, что вводит пользователь Apple Vision Pro
Самая важная для авторов исследования GAZEploit особенность цифрового аватара заключается в том, что Persona, помимо прочего, аккуратнейшим образом повторяет за пользователем и движения глаз, используя для этого чрезвычайно точные данные от встроенных в Vision Pro датчиков. Именно в этом механизме исследователи и обнаружили уязвимость, позволяющую перехватывать вводимый пользователем текст.Основная идея атаки довольно проста: хотя система аккуратно скрывает ввод паролей во время видеоконференции, по движению глаз пользователя, которые дублирует его цифровой аватар, можно реконструировать символы, вводимые с виртуальной клавиатуры, точнее, виртуальных клавиатур, которых в visionOS три: цифровая для ввода PIN-кодов, буквенная и символьно-цифровая. Это усложняет процесс распознавания, поскольку стороннему наблюдателю неизвестно, какая именно клавиатура используется в данный момент.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
На самом деле в visionOS есть три разные виртуальные клавиатуры: цифровая для ввода PIN-кодов (a), буквенная (b) и символьно-цифровая (с)
Но благодаря использованию нейросетей атака GAZEploit эффективно автоматизируется. На первом этапе атаки нейросеть используется для того, чтобы распознавать сеансы ввода текстовых данных. Дело в том, что паттерн движения глаз во время работы с виртуальной клавиатурой сильно отличается от обычного: частота морганий значительно снижается, а направление взгляда становится более упорядоченным.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Сперва с помощью нейросети распознаются моменты ввода данных с виртуальной клавиатуры
На втором этапе нейросеть по изменению стабильности направления взгляда выделяет моменты выбора глазами отдельных символов, а по характерному паттерну — моменты нажатий на виртуальные клавиши. Далее по направлению взгляда делается предположение о том, на какую именно клавишу был направлен взгляд пользователя.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Затем нейросеть распознает отдельные моменты нажатия на виртуальные клавиши и символы, которые вводит пользователь
На самом деле все работает немного сложнее, чем может показаться из приведенного выше графика. В итоге вычислений на базе положения глаз цифрового аватара получается карта вероятных точек на виртуальной клавиатуре, на которые мог быть направлен взгляд пользователя в отдельные моменты сеанса ввода текстовых данных.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Пример распознавания отдельной последовательности букв, введенных на виртуальной клавиатуре visionOS: карта вероятных точек (а), предсказание модели (и) и реальный ввод (c). Точность не идеальная, но достаточно высокая
Далее построенная исследователями модель преобразует собранную информацию в список из K наиболее вероятных виртуальных клавиш, «нажатых» пользователем. При этом модель предусматривает несколько различных сценариев ввода данных (пароль, адрес почты/ссылка, PIN-код, произвольное сообщение), учитывающих особенности каждого из них.
Также нейросеть использует словарь и дополнительные приемы, помогающие лучше интерпретировать ввод. Например, клавиша «пробел» из-за своего размера часто попадает в топ-5 кандидатов, создавая большое количество ложноположительных срабатываний, которые необходимо отфильтровывать. А клавишу backspace необходимо вообще обрабатывать отдельно: в случае правильной догадки ее нажатие будет означать, что предыдущий символ был удален, но если догадка неправильная, то можно ошибочно «выкинуть» сразу два символа.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Система распознавания GAZEploit предлагает топ-5 наиболее вероятных символов
Приведенная разработчиками детальная картина ошибок распознавания показывает, что GAZEploit часто путает расположенные рядом клавиши: в режиме максимальной точности (K=1) правильно угадываются около трети введенных символов. Однако для групп из пяти наиболее вероятных символов (K=5) точность в зависимости от конкретного сценария составляет уже от 73 до 92%.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Точность распознавания GAZEploit в различных сценариях
Насколько атака GAZEploit опасна с практической точки зрения
Подобная точность на практике означает, что потенциальные атакующие, вероятнее всего, не смогут получить пароль в готовом виде, однако могут существенно — на многие порядки — уменьшить количество попыток, необходимых для его подбора методом брутфорса.Как заявляют исследователи, в случае PIN-кода из шести цифр для того, чтобы перебрать четверть всех наиболее вероятных комбинаций, понадобится всего 32 попытки. А в случае 8-символьного случайного пароля, состоящего из букв и цифр, количество попыток снижается с сотен триллионов до сотен тысяч (с 2,2×1014 до 3,9×105), что делает взлом пароля возможным даже на доисторическом компьютере с процессором Pentium.
Исходя из этого, GAZEploit мог бы стать достаточно серьезной угрозой и найти практическое применение в высокоуровневых целевых атаках. К счастью, уязвимость уже исправлена: в последних версиях visionOS Persona приостанавливается при активации виртуальной клавиатуры.
В принципе, в Apple могли бы защитить пользователей от подобных атак и более элегантным способом: достаточно было добавить немного случайных искажений к точным биометрическим данным, на которых основаны движения глаз цифрового аватара.
Так или иначе, обладателям Apple Vision Pro стоит обновить свои устройства до последней версии visionOS — и можно жить спокойно. Напоследок посоветуем как им, так и всем остальным все же осторожнее относиться к вводу паролей во время видеозвонков — по возможности избегать этого, всегда использовать как можно более надежные (длинные и случайные) комбинации символов, а для их создания и хранения пользоваться
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.
Для просмотра ссылки необходимо нажать
Вход или Регистрация