I browser Web richiedono l’accesso a determinate risorse e funzionalità del sistema operativo e del dispositivo per consentire agli utenti di navigare su Internet e fruire dei contenuti pubblicati online. Questi privilegi, noti come permessi browser, mettono in comunicazione il software che si usa abitualmente per navigare sul Web con il sistema sottostante.
Certi permessi vanno accordati al momento dell’installazione del browser e risultano necessari per il corretto funzionamento del programma. Altri, sono richiesti dalle applicazioni Web, quindi dai siti che si raggiungono con il browser. Alcuni siti Web, ad esempio, richiedono l’accesso alla fotocamera o al microfono per consentire chiamate video o registrazioni audio; altri richiedono la posizione dell’utente per fornire informazioni localizzate (provano ad attivare la cosiddetta geolocalizzazione); altri ancora possono richiedere il permesso di inviare notifiche push all’utente attraverso il browser.
I browser possono anche utilizzare la memoria locale per salvare dati, ad esempio informazioni utili per il funzionamento di un’applicazione Web: anche in questo caso è necessaria l’autorizzazione dell’utente.
Permessi browser: come provarli
La soluzione grafica e le modalità di interfacciamento con l’utente differiscono da browser a browser. In altre parole, i vari programmi di navigazione mostrano un messaggio di avviso differente quando un’applicazione Web chiede di usare un permesso specifico. In generale, però, compare un messaggio informativo nella parte iniziale della barra degli indirizzi.
Avete però idea di quanti e quali permessi browser esistono? Il sito Web permission.site è un eccellente progetto destinato in primis agli sviluppatori che però si rivela utilissimo anche per i normali utenti. Cliccando sui vari pulsanti presenti in pagina, è possibile generare una notifica al momento dell’utilizzo di ciascun permesso specifico. Quando l’utente accorda un permesso, il pulsante corrispondente si illumina di verde; diversamente diventa rosso.
I pulsanti per provare i permessi browser
Ecco una spiegazione dettagliata dei vari pulsanti e a cosa corrispondono in termini di permessi del browser:
- Notifications (Notifiche): Permette a un sito Web di inviare notifiche push verso il dispositivo.
- Location (Posizione): Consente a un sito Web di accedere ai dati di geolocalizzazione forniti dal dispositivo in uso.
- Camera (Fotocamera): L’applicazione Web può accedere alla fotocamera del dispositivo.
- Microphone (Microfono): Consente a un sito Web di usare il microfono del dispositivo per registrazioni audio o chiamate vocali.
- Camera + Microphone (Fotocamera + Microfono): Autorizza sia l’accesso alla fotocamera che al microfono del dispositivo.
- Pan-Tilt-Zoom (PTZ): Permette a un sito Web di controllare il movimento e lo zoom di una fotocamera con funzione PTZ. Quest’ultimo è un acronimo che si riferisce alle funzionalità di movimento di alcune videocamere e dispositivi di sorveglianza. La sigla sta per Pan, Tilt e Zoom: le tre azioni fondamentali che questi dispositivi possono eseguire.
- Pan-Tilt-Zoom + Microphone (PTZ + Microfono): Consente l’accesso alla fotocamera PTZ e al microfono.
- Screen Share (Condivisione dello schermo): Autorizza la condivisione dello schermo del dispositivo.
- MIDI (Musical Instrument Digital Interface): Permette l’accesso a dispositivi MIDI, come tastiere musicali e controller.
- MIDI + SysEx: Oltre all’accesso MIDI, è previsto l’utilizzo dei messaggi SysEx. Si tratta di messaggi speciali MIDI utilizzati per la configurazione avanzata dei dispositivi musicali.
- Bluetooth: Consente l’accesso ai dispositivi Bluetooth connessi con il dispositivo in uso.
- USB: Permette l’accesso ai dispositivi USB collegati.
- Serial: Consente l’accesso alle porte seriali del dispositivo.
- HID (Human Interface Device): Permette l’accesso a dispositivi di interfaccia utente come mouse e tastiere.
- Encrypted Media (EME): Autorizza l’accesso a contenuti multimediali protetti da DRM (Digital Rights Management).
- Idle Detection (Rilevamento di inattività): Consente ai siti Web di rilevare se l’utente è inattivo.
- Persistent Storage (Archiviazione persistente): Permette di memorizzare dati localmente, in modo persistente.
- Protocol Handler (Gestore di protocollo): Il sito Web può registrare protocol handler personalizzati per gestire determinati tipi di link.
- WebAuthn Attestation: Consente l’utilizzo di WebAuthn per l’autenticazione con dispositivi esterni.
- NFC (Near Field Communication): Consente l’accesso alle funzionalità NFC e quindi attiva l’uso del chip corrispondente.
- Virtual Reality (VR): Permette l’accesso alle funzionalità di realtà virtuale.
- Augmented Reality (AR): Consente l’accesso alle funzionalità di realtà aumentata.
- Device Orientation (Orientamento del dispositivo): Autorizza l’accesso ai dati di orientamento del dispositivo.
- Device Motion (Movimento del dispositivo): Consente l’accesso ai dati di movimento del dispositivo.
- Keygen: Meccanismo precedentemente utilizzato per generare coppie di chiavi per l’uso nei form di autenticazione.
- Fullscreen (Schermo intero): Consente a un sito Web di entrare in modalità schermo intero.
- Pointer Lock (Blocco del puntatore): Permette di bloccare il puntatore del mouse all’interno di un elemento specifico, utile per giochi e applicazioni interattive.
- Copy (Copia): Permette a un sito Web di accedere alla funzione di copia negli appunti del dispositivo.
- Auto Download (Download automatico): Autorizza automaticamente il download di file senza richiedere l’approvazione dell’utente.
- Popup: Consente la visualizzazione di finestre a comparsa.
- Popup, delayed 5 seconds (Popup con ritardo di 5 secondi): Predispone la visualizzazione di popup con un ritardo di 5 secondi.
- Async Clipboard API: Prevede l’accesso asincrono all’area degli Appunti del dispositivo in uso.
- Read text (Leggi testo): Permette a un sito Web di leggere il testo sul dispositivo.
- Write text (Scrivi testo): Consente a un sito Web di scrivere testo sul dispositivo.
- Read text, delayed (Leggi testo con ritardo): Autorizza la lettura del testo con un ritardo di tempo.
- Write text, delayed (Scrivi testo con ritardo): Consente la scrittura del testo con un certo ritardo.
Ogni permesso è progettato per bilanciare la funzionalità richiesta da un’applicazione Web con la protezione della privacy e la sicurezza dell’utente. Questi ha il controllo su molti dei permessi e può concessi o negarli a seconda delle proprie preferenze. Soltanto alcuni vengono concessi senza mostrare una richiesta di autorizzazione esplicita: l’applicazione permission.site aiuta a fare luce proprio su questi comportamenti.
È interessante notare che per impostazione predefinita, il sito di test consente di effettuare le prove da una pagina HTTPS. Com’è facile verificare, spostando l'”interruttore” superiore su HTTP, la stragrande maggioranza dei permessi non funziona e il browser Web non espone alcun messaggio. Questo è dovuto al fatto che buona parte delle informazioni trasferibili usando i vari permessi contengono dati personali: sarebbe sconsigliato veicolare tali dati attraverso una connessione con un server remoto che non usa alcuna forma di cifratura.
Digitando chrome://settings/content
nella barra degli indirizzi di Chrome o Chromium oppure edge://settings/content
in Microsoft Edge, è possibile verificare quali permessi sono stati eventualmente assegnati a ogni siti Web aperto con il browser.
Credit immagine in apertura: iStock.com/Muharrem huner