Google sta lavorando a una nuova funzionalità Unrestricted WebUSB su Chrome, che consente alle app web isolate e affidabili di aggirare le restrizioni di sicurezza nell'API WebUSB. Quest’ultima è un'API JavaScript che consente alle applicazioni web di accedere ai dispositivi USB locali su un computer. Come parte della specifica WebUSB, esistono alcune classi di interfaccia protette dall'accesso tramite web app per impedire a script dannosi di accedere a dati potenzialmente sensibili. L'elenco delle classi di interfaccia protette inclue audio, HID (Human Interface Device), memoria di massa, smart card, video, dispositivi audio/video e controller wireless. Inoltre, la specifica WebUSB include un elenco di blocchi di dispositivi USB specifici a cui non è possibile accedere dall'API. Queste includono YubiKeys, chiavi Google Titan e chiavi di sicurezza Feitian, che vengono utilizzate per l'autenticazione a più fattori.
Google sta ora testando una funzionalità "Unrestricted WebUSB" che consente alle web app isolate di accedere a questi dispositivi e interfacce limitati. Come ha osservato Big G sul suo sito ufficiale: "la specifica WebUSB definisce una lista bloccata di dispositivi vulnerabili e una tabella di classi di interfacce protette a cui è bloccato l'accesso tramite WebUSB. Con questa funzionalità, le web app isolate con l'autorizzazione ad accedere alla funzionalità Policy di autorizzazione "usb-unrestricted" potranno accedere ai dispositivi bloccati e alle classi di interfaccia protette". Le web app isolate sono applicazioni non ospitate su server web attivi ma raggruppate in pacchetti web, firmate dal relativo sviluppatore e distribuite agli utenti finali. Sono comunemente create per essere utilizzate internamente dalle aziende. Per far sì che funzionino, queste web app devono disporre dell'autorizzazione per utilizzare la funzionalità "Unrestricted USB".
Chrome: primi test in arrivo con la versione 128 del browser
Quando un'app con questa autorizzazione tenta di accedere a un dispositivo USB su Chrome, il sistema controlla se è presente nella blocklist dei dispositivi vulnerabili. In caso affermativo, il dispositivo viene normalmente rimosso dall'elenco di accesso. Tuttavia, questa restrizione viene ignorata per le web app con l'autorizzazione "Unrestricted USB". Il sistema controlla anche se il dispositivo è presente nell'elenco dei dispositivi consentiti dell'app. In caso contrario, l'accesso verrà negato. Inoltre, il sistema controllerà se l'interfaccia a cui si accede è contrassegnata come protetta. Se lo è e l'app non dispone dell'autorizzazione "Unrestricted USB", l'accesso viene negato. La funzionalità proposta da Google consente alle web app isolate e affidabili di accedere a una gamma più ampia di dispositivi USB. Ciò consente una maggiore funzionalità in un ambiente affidabile. Google afferma di voler avviare i test in Crhome 128, che dovrebbe essere rilasciato nell'agosto 2024.