Бесплатно Экспресс-аудит сайта:

02.07.2024

Google открывает доступ к USB-устройствам для изолированных веб-приложений

Google тестирует новую функцию под названием «Unrestricted WebUSB», которая позволит доверенным изолированным веб-приложениям обходить ограничения безопасности в API WebUSB.

WebUSB — это JavaScript API, который даёт возможность веб-приложениям взаимодействовать с локальными USB-устройствами на компьютере. Согласно спецификации WebUSB, некоторые классы интерфейсов защищены от доступа веб-приложений, чтобы предотвратить доступ вредоносных скриптов к потенциально чувствительным данным.

К защищённым классам интерфейсов относятся HID (Human Interface Device), накопители, смарт-карты, видео, аудио/видео устройства и беспроводные контроллеры.

Кроме того, спецификация WebUSB включает блок-лист конкретных USB-устройств, которые не могут быть доступны через API, таких как YubiKey, Google Titan и ключи безопасности Feitian, используемые для многофакторной аутентификации.

Именно на такие случаи Google разрабатывает функцию Unrestricted WebUSB, позволяющую изолированным веб-приложениям получать доступ к этим ограниченным устройствам и интерфейсам.

На платформе Chrome Platform Status компания отметила: «Спецификация WebUSB определяет блок-лист уязвимых устройств и таблицу защищённых классов интерфейсов, доступ к которым заблокирован через WebUSB».

С этой функцией изолированные веб-приложения с разрешением на использование функции «usb-unrestricted» смогут получить доступ к устройствам из блок-листа и защищённым классам интерфейсов.

Изолированные веб-приложения — это приложения, не размещённые на реальных веб-серверах, а упакованные в Web Bundles, подписанные их разработчиком и распространённые среди конечных пользователей. Обычно они создаются для внутреннего использования компаниями. Для работы этой функции веб-приложения должны иметь разрешение на использование «usb-unrestricted».

Когда приложение с таким разрешением пытается получить доступ к USB-устройству, система сначала проверяет, находится ли устройство в блок-листе уязвимых устройств. Если да, то устройство обычно удаляется из списка доступных. Однако это ограничение обходится для веб-приложений с разрешением «usb-unrestricted».

Система также проверяет, находится ли устройство в списке разрешённых устройств приложения. Если нет, доступ отклоняется. Дополнительно производится проверка, является ли доступный интерфейс защищённым. Если да, и у приложения нет разрешения «usb-unrestricted», доступ отклоняется.

Новая функция Google позволит доверенным изолированным веб-приложениям получить доступ к более широкому спектру USB-устройств, что обеспечит большую функциональность в доверенной среде. Google планирует начать тестирование этой функции в Chrome 128, релиз которого намечен на август 2024 года.