Quando Chrome può trasformarsi in uno spyware, con una manciata di comandi

Un ricercatore ha scoperto che alcuni flag dei browser basati su Chromium possono essere sfruttati per catturare screenshot dello schermo senza il consenso dell’utente.

Tra le molteplici opzioni disponibili nei browser basati su Chromium (come Google Chrome, Microsoft Edge, Brave e altri), esistono switch da riga di comando utilizzabili da sviluppatori e tester che, se utilizzati impropriamente, possono compromettere la privacy degli utenti. Lo dimostra un ricercatore indipendente, mr.d0x, che spiega come combinando alcuni comandi si possa configurare Chrome, o altri browser derivati da Chromium, per acquisire screenshot di quanto visualizzato sul PC e trasferirli a terzi.

Il ricercatore si sofferma in particolare sul flag --auto-select-desktop-capture-source, che consente la cattura automatica dello schermo del dispositivo senza alcuna interazione e illustra un esempio tecnico di come un malintenzionato potrebbe sfruttare questa caratteristica per produrre screenshot a getto continuo. Lo scopo è ovviamente informativo e difensivo: aiutare amministratori di sistema, analisti e sviluppatori a riconoscere e neutralizzare eventuali abusi.

L’API getDisplayMedia e la sicurezza progettuale

Parte di WebRTC, l’API getDisplayMedia consente alle pagine web di richiedere l’accesso alla condivisione dello schermo. Per motivi di sicurezza, l’uso di questa API è vincolato a un’interazione dell’utente (clic o pressione di un tasto), un contesto attivo di pagina (la scheda del browser deve essere visibile e in primo piano), una scelta esplicita da parte dell’utente di cosa condividere (schermo intero, finestra o scheda). Queste restrizioni sono progettate per impedire l’abuso automatico da parte di siti malevoli.

Tuttavia, Chromium include un flag pensato per contesti legittimi (ad esempio per kiosk, automazione o test automatizzati) che permette di bypassare l’interazione utente. Ciò avviene con un flag da riga di comando, come accennato in precedenza.

Quando usato insieme con una pagina HTML contenente codice JavaScript che invoca getDisplayMedia, il flag forza il browser a selezionare automaticamente una sorgente (ad esempio lo “schermo intero”) senza mostrare il prompt di conferma.

Cattura dello schermo e upload remoto

Una volta ottenuto lo stream video dello schermo dell’utente, uno script JavaScript può creare un elemento <video> nascosto per ricevere il flusso, acquisire un frame con l’apposita funzione drawImage, convertirlo in PNG e trasmetterlo a un server remoto.

Il ricercatore spiega che la versione headless di Chrome disattiva l’interfaccia grafica (pur producendo screenshot di qualità inferiore). In alternativa, si può posizione una finestra del browser fuori dall’area visibile dello schermo.

Quanto è reale la minaccia di un browser che può trasformarsi in spyware

Chiariamo subito che l’utilizzo dello switch da riga di comando che attiva l’acquisizione degli screenshot, non solo del browser, ma di qualunque contenuto visualizzato sullo schermo del PC può concretizzarsi su un sistema già precedentemente compromesso.

In alternativa, gli aggressori remoti devono persuadere l’utente ad eseguire un file malevolo. Chiavette USB lasciate incustodite e contenenti il comando che attiva una finestra nascosta di Chromium/Chrome, possono essere altrettanto pericolose. Alcune chiavette USB possono eseguire comandi semplicemente collegandole al sistema Windows, in quanto riconosciute come tastiere o dispositivi di input.

Ti consigliamo anche

Link copiato negli appunti