Браузер превращается в операционную систему. К каким устройствам сайт уже может получить доступ

60
Браузер превращается в операционную систему. К каким устройствам сайт уже может получить доступ

Современный сайт может работать с камерой и микрофоном, USB- и Bluetooth-устройствами, HID, последовательными портами, локальными файлами, буфером обмена и GPU. Прямого доступа ко всему компьютеру сайт не получает: между веб-кодом и оборудованием остаются браузерные API, операционная система, драйверы и правила разрешений.

В сентябре 2026 года исследователь Ауберон Лопес показал Deathray: страница через WebGPU могла довести Mac до kernel panic и перезагрузки. Apple не признала такой сбой уязвимостью безопасности, поскольку он не давал доступ к данным или дополнительным привилегиям, хотя принудительная перезагрузка после открытия страницы явно выходит за привычные ожидания от браузера.

Для камеры, USB, Bluetooth, HID, последовательных портов и файлов действует модель «запрос и выбор»: сайт просит доступ, а пользователь разрешает конкретную возможность или выбирает устройство. WebGPU работает иначе. Страница получает вычислительный доступ к GPU без отдельного окна «разрешить видеокарту», примерно как возможность выполнять JavaScript или WebAssembly.

Как сайт получает доступ к камере, USB, Bluetooth, портам и файлам

Как сайт собирает информацию о пользователе через браузер

Для большинства аппаратных интерфейсов браузер выдаёт право на конкретный ресурс, а не общий доступ ко всей категории устройств. Поэтому сайт обычно не может незаметно просмотреть всё USB-оборудование, открыть произвольную папку или подключиться к любому Bluetooth-устройству.

Возможность Как сайт получает доступ Что может сохраниться
Камера и микрофон Браузер показывает запрос через getUserMedia(). Право может быть разовым или сохраниться для сайта.
USB WebUSB открывает окно выбора конкретного подходящего устройства. Сайт может снова увидеть ранее разрешённое устройство, пока право не отозвано.
Bluetooth Web Bluetooth требует действия пользователя и выбора подходящего устройства. Браузер может помнить устройство и разрешённые службы.
HID WebHID предлагает выбрать устройство. Ранее разрешённые устройства можно получить повторно. Чувствительные HID-интерфейсы браузер ограничивает.
Последовательный порт Web Serial открывает выбор порта. Сайт может получить ранее разрешённые порты через getPorts().
Локальные файлы File System Access API позволяет выбрать файл или папку. Браузер может запомнить выбранный объект и право доступа.
Буфер обмена Clipboard API позволяет читать и записывать данные с учётом ограничений браузера. Чтение обычно требует действия пользователя, разрешения или другого подтверждения. Точные правила зависят от браузера.
GPU WebGPU выдаёт логический GPU-адаптер через браузер без обычного окна разрешения. Постоянного разрешения по модели камеры или USB здесь нет.

Даже после разрешения веб-приложение работает через браузерный интерфейс, а не получает универсальный прямой доступ к железу. File System Access API, например, выдаёт объект выбранного файла или каталога, а не весь диск. WebUSB, WebHID и Web Serial ограничивают работу тем оборудованием, на которое сайт получил право.

Почему разрешения браузера не защищают от всего

Какую информацию о пользователе получает сайт после разрешения

Окно разрешения отвечает прежде всего на вопрос, может ли сайт обратиться к ресурсу. Такое окно не гарантирует, что каждая команда после выдачи права окажется безопасной. Если веб-приложение получило доступ к программатору, последовательному порту или нестандартному HID-устройству, последствия зависят также от протокола и возможностей самого оборудования.

WebGPU показывает другой вариант той же проблемы. Пользователь не выбирает физическую видеокарту, а браузер самостоятельно выдаёт странице ограниченный интерфейс. Спецификация WebGPU предусматривает проверку команд, изоляцию памяти и ограничения на сведения об оборудовании, но браузер всё равно передаёт работу нижним слоям графической системы. Ошибка в драйвере, прошивке или механизме остановки зависшего шейдера способна превратить допустимую браузерную операцию в системный сбой.

Есть и проблема усталости от разрешений. По данным Chrome, пользователи игнорировали или закрывали около 85% запросов на уведомления. Чем чаще браузер задаёт подобные вопросы, тем выше вероятность того, что человек нажмёт «разрешить», не читая текст. Поэтому Chrome ввёл менее навязчивые запросы и разовые разрешения для части чувствительных возможностей.

Практическое правило простое. Запрос должен соответствовать действию, которое пользователь только что начал. Видеозвонок логично требует камеру, страница настройки оборудования может запросить USB или Bluetooth. Если обычный сайт внезапно просит последовательный порт, папку на диске или неизвестное устройство, безопаснее отказать и выяснить причину.

Сам факт появления системного окна не подтверждает, что сайту можно доверять. Браузер лишь сообщает, какую возможность страница хочет получить.

Вопросы и ответы

Может ли сайт увидеть все USB-устройства на компьютере?

Обычно нет. WebUSB предлагает пользователю выбрать подходящее устройство. Ранее разрешённое оборудование сайт может получить повторно, пока право сохраняется.

Нужно ли разрешение браузера для WebGPU?

Отдельного запроса «разрешить GPU» обычно нет. Браузер выдаёт странице ограниченный интерфейс WebGPU и проверяет команды перед передачей графической системе.

Почему Apple не считает Deathray проблемой безопасности?

Apple отнесла результат к сбою, зависанию или восстановимой потере данных без повышения привилегий и утечки информации. Лопес пишет, что многие опрошенные им специалисты по безопасности согласны с такой технической классификацией, тогда как обычные пользователи чаще воспринимают принудительную перезагрузку компьютера как проблему безопасности.

Может ли сайт читать весь диск через File System Access API?

Нет. Пользователь выбирает конкретный файл или каталог, после чего браузер выдаёт сайту объект для работы с выбранным ресурсом.

Сохраняются ли разрешения после закрытия браузера?

Это зависит от API, браузера и выбора пользователя. Некоторые права действуют один раз, другие могут сохраняться до ручного отзыва.

Заключение

Браузер давно перестал быть программой только для показа страниц. Веб-приложения работают с камерой, файлами, USB, Bluetooth, HID-устройствами, последовательными портами и GPU. При этом часть возможностей требует явного выбора ресурса, а WebGPU предоставляет вычислительный интерфейс без отдельного разрешения на физическую видеокарту.

Deathray показывает предел такой модели. Браузер может не давать странице читать чужие файлы или выполнять произвольный системный код, но ошибка ниже уровня браузера всё равно способна повлиять на весь компьютер. Спор вокруг классификации Deathray показывает ещё одну границу: специалисты могут считать системный сбой отказом в обслуживании без нарушения модели безопасности, тогда как пользователь воспринимает принудительную перезагрузку после открытия ссылки как нарушение доверия к браузеру.

Материал предназначен для безопасного изучения веб-технологий и защиты собственных устройств. Не запускайте страницы, способные вызвать отказ в обслуживании, на чужих компьютерах без разрешения владельца. Соблюдайте законодательство РФ и правила владельцев информационных систем.

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
QUANTUM
Сегодня в канале
В Пекине бар наливает пиво и бесплатный ИИ
IBM собирает квантовый компьютер из «холодильников»
Обычный день в «Изобретая будущее»
Подписаться
Реклама

Комнатный Блогер

Объясняю новую цифровую реальность