Recenti ricerche condotte dagli accademici dell’Università del Wisconsin-Madison hanno evidenziato una problematica davvero rilevante, legata alla gestione delle estensioni nel browser Chrome. Le estensioni Chrome possono infatti rubare password dai campi di input di testo presenti nelle pagine Web. Si tratta di un’eventualità concreta che si può presentare anche quando l’estensione rispetta i più recenti standard di sicurezza, ad esempio adottando Manifest V3.
In passato ne abbiamo parlato, ma l’indagine svolta in queste settimane ha il merito di aver riacceso un faro su un tema a nostro avviso scottante e troppo spesso trattato con “sufficienza”.
Cos’è Manifest V3
Manifest V3 è uno standard di sviluppo per le estensioni del browser Google Chrome. L’obiettivo principale di Manifest V3 è migliorare la sicurezza e le prestazioni delle estensioni, nonché garantire una maggiore trasparenza sulle azioni svolte dai componenti aggiuntivi che possono essere installati all’interno del browser. Con Manifest V3, Google ha voluto introdurre regole e linee guida ancora più stringenti per gli sviluppatori che creano estensioni per Chrome.
Basti pensare che Manifest V3 limita l’accesso delle estensioni alle risorse Web e impedisce loro di scaricare codice da fonti esterne. Richiede inoltre agli sviluppatori di dichiarare esplicitamente le autorizzazioni necessarie e pone dei paletti piuttosto severi sulle modalità con cui le estensioni per Chrome possono interagire con i contenuti delle pagine Web.
Le estensioni Chrome possono comunque rubare password e altri dati personali: ecco perché
I ricercatori della Wisconsin-Madison avevano già scoperto migliaia di estensioni Chrome pericolose per i dati personali degli utenti. In questi giorni hanno creato un’estensione di prova per Google Chrome in grado di rubare password e l’hanno sottoposta al processo di revisione del Chrome Web Store.
La pubblicazione dell’estensione, camuffata da assistente basato sul modello generativo GPT con funzionalità simili a quelle di ChatGPT, ha permesso di ottenere un “via libera” senza riserve ottenendo l’autorizzazione a interfacciarsi con qualunque sito Web.
Nonostante il Manifest V3 e a dispetto degli sforzi compiuti da Google, le estensioni continuano ad avere accesso completo e illimitato al Document Object Model (DOM) di ogni pagina Web visitata dall’utente. Il DOM è una rappresentazione di una pagina Web che è conservata in memoria da parte del browser che può essere “interrogata” e modificata in tempo reale.
Quando il browser carica un’estensione questa è a sua volta integrata nell’albero DOM. Essa ha quindi un accesso illimitato a tutti gli elementi del DOM tramite l’utilizzo di apposite API. È questo il problema di fondo che noi stessi abbiamo a più riprese evidenziato: non c’è comunque una separazione netta tra l’estensione e il DOM. Ecco perché è bene bloccare le estensioni troppo affamate di dati.
Sono tante le estensioni Chrome che possono rubare i dati degli utenti
Il confine molto sfumato tra le estensioni e il DOM delle pagina Web porta le prime, dotate dei necessari privilegi, ad avere a disposizione tutti gli strumenti per leggere e modificare il contenuto dei campi di testo, compresi quelli in cui si inseriscono nomi utente e password.
I ricercatori statunitensi affermano che la maggior parte dei 10.000 siti Web più popolari è esposto a questo problema, compresi siti come google.com
, facebook.com
, gmail.com
, cloudflare.com
e amazon.com
, tra gli altri.
L’estensione proof-of-concept (PoC) realizzata dagli universitari della Wisconsin-Madison è stata ovviamente rimossa su richiesta degli stessi ricercatori dopo il superamento del processo di revisione Google.
Stabilito che un’estensione dannosa capace di superare il processo di revisione, può impossessarsi delle credenziali degli utenti a loro insaputa, i ricercatori hanno analizzato le estensioni già presenti sul Chrome Web Store scoprendo che il 12,5% di esse dispone delle autorizzazioni utili a “spiare” il contenuto dei campi di testo. 190 estensioni pubblicate sul Chrome Web Store, inoltre, accedono direttamente ai campi password presenti nei form di login dei vari siti.
Il funzionamento dell’estensione proof-of-concept per rubare le password
L’estensione sviluppata dai ricercatori della Wisconsin-Madison è sfuggita ai sistemi di rilevamento automatizzati di Google e alla verifica del codice. Attingendo al DOM della pagina in corso di visualizzazione, catturava il codice HTML e, servendosi di espressioni regolari, estraeva ad esempio i dati di login.
Sfruttando i selettori CSS individuava i campi di input target ed estraeva le informazioni inserite dall’utente utilizzando la proprietà .value
. Quest’ultima è una caratteristica di JavaScript che permette di ottenere o impostare il valore di un elemento HTML, come un campo di input di testo, una casella di controllo o un elemento di selezione all’interno di una pagina Web.
L’aspetto più preoccupante deriva dal fatto che un’estensione come quella congegnata dai programmatori del polo universitario statunitense non è percepita come una potenziale minaccia dai sistemi di Google e dunque ha superato i controlli ai fini della pubblicazione sul Chrome Web Store.
Le risposte di Google e le possibili soluzioni al problema delle estensioni Chrome potenzialmente pericolose
Abbiamo la sensazione che il problema sollevato dalla Wisconsin-Madison sia stato in generale preso un po’ “sotto gamba”. Amazon ha fatto presente che la sicurezza degli utenti clienti è una priorità assoluta e che la società adotta diverse misure per garantirla. “Le informazioni sui clienti immesse nei siti web di Amazon sono sicure“, ha commentato un portavoce della società di Jeff Bezos. “Incoraggiamo gli sviluppatori di browser ed estensioni a utilizzare le migliori pratiche di sicurezza per proteggere ulteriormente i clienti che utilizzano i loro servizi“.
Google, da parte sua, ha annunciato che sta esaminando con attenzione la questione sollevata dagli accademici. Per adesso dall’azienda di Mountain View si fa presente che le FAQ sulla sicurezza delle estensioni di Chrome non considerano l’accesso ai campi password un problema di sicurezza purché le relative autorizzazioni siano ottenute correttamente.
I ricercatori propongono invece due possibili soluzioni concrete: una “aggiunta” per i siti esposti e una modifica da applicare a livello di browser Web.
L’approccio consigliato ai gestori dei siti Web consiste nell’integrazione di codice JavaScript utile a impedire l’accesso, da parte delle estensioni sviluppate da soggetti terzi, al contenuto dei campi password.
Un’alternativa prevede la modifica del codice di Chrome per avvisare gli utenti ogni volta che una qualsiasi funzione JavaScript prova ad accedere ai campi password. Se Google si convincesse a imboccare questa strada, sarebbe forse la misura di protezione più efficace in assoluto.
Le immagini nell’articolo sono tratte dal documento di ricerca “Exposing and Addressing Security Vulnerabilities in Browser Text Input Fields“.