Un case study su Microsoft Teams mostra come un'estensione browser possa accedere ai dati di sessione presenti nel localStorage e consentire attacchi di Session Hijacking. L'attaccante può estrarre i token necessari, replicare la sessione della vittima e impersonarne l'identità senza conoscere le credenziali.
In questa analisi, abbiamo voluto comprendere un possibile scenario di utilizzo delle estensioni browser come vettore di attacco per la compromissione delle sessioni utente nelle moderne web application.
In particolare, viene presentato un case study su Microsoft Teams con l’obiettivo di mostrare come dati esposti nel contesto client-side possano portare a session replay. Vengono infine discusse possibili strategie di prevenzione e mitigazione.
Session management nelle web application moderne
Su numerose web application la gestione della sessione non è esclusivamente server-side, ma coinvolge anche il contesto di esecuzione del browser. Nel tempo si è diffuso l’utilizzo di token di autenticazione e di storage client-side. Questo ha portato ad avere maggiore flessibilità architetturale e, in alcuni casi, miglioramenti in termini di prestazioni.
Advertising
Tale evoluzione introduce tuttavia implicazioni di sicurezza, in particolare quando componenti eseguiti nello stesso contesto del browser hanno accesso a informazioni sensibili memorizzate in meccanismi accessibili al runtime JavaScript della pagina.
In questo scenario, elementi quali script di terze parti ed estensioni browser operano all’interno di un perimetro di fiducia condiviso, in cui la separazione tra codice legittimo dell’applicazione e codice esterno risulta meno netta.
Session Hijacking case study: Microsoft Teams
Nel video seguente viene mostrato come una semplice estensione browser installata nel contesto del browser dell’utente possa accedere a dati di sessione memorizzati nel localStorage all’interno della web application di Microsoft Teams.
L’accesso a tali informazioni consente di replicare la sessione della vittima e, pertanto, l’impersonificazione della stessa.
In particolare, l’estensione realizzata, ogniqualvolta l’utente visita una qualsiasi pagina della web application di Microsoft Teams, opera in background iniettando uno script JavaScript che estrae determinate coppie chiave-valore presenti nel localStorage e le invia tramite email all’attaccante (in alternativa può essere utilizzato un endpoint verso cui trasmettere le informazioni).
Advertising
L’attaccante, una volta ricevuti i dati di sessione, può inserirli nel localStorage della pagina di accesso di Microsoft Teams e replicare la sessione dell’utente, senza che quest’ultimo se ne accorga.
Inoltre, oltre agli scenari di session replay illustrati nel video, esistono potenziali rischi di session overwriting.
Prevenzione e mitigazioni
Un’obiezione frequente a questo tipo di analisi è che il rischio possa essere eliminato installando estensioni o componenti esclusivamente da fonti ufficiali, e in particolare, da store controllati dai principali browser vendor. Tuttavia, questo assunto non elimina il rischio.
Nel tempo sono stati documentati casi in cui estensioni pubblicate su store ufficiali, pur soggette a processi di revisione preventiva, hanno manifestato comportamenti malevoli. Ciò evidenzia come il modello di fiducia basato esclusivamente sulla provenienza ufficiale non sia sufficiente a garantire l’assenza di codice malevolo.
Lato utente, la riduzione della superficie di attacco associata alle estensioni browser richiede una gestione restrittiva dell’ambiente di navigazione e dei componenti installati nel browser. In particolare, è consigliabile verificare periodicamente i permessi richiesti e disattivare le estensioni non essenziali durante l’accesso a servizi sensibili.
Dal punto di vista architetturale, esistono diverse strategie di prevenzione e mitigazione. Tra queste, l’utilizzo di meccanismi di session binding basati su device fingerprinting (con adeguate considerazioni in termini di privacy) può contribuire a mitigare il riuso della sessione cross-device, eventualmente integrati con controlli adattivi in grado di rilevare anomalie rispetto al comportamento atteso dell’utente.
Tuttavia, eventuali approcci di prevenzione devono essere valutati alla luce del consueto trade-off tra sicurezza, prestazioni e user experience, poiché l’introduzione di controlli più stringenti può avere un impatto sulla latenza, sulla complessità computazionale e sulla fruibilità del servizio.
📢 Resta aggiornatoTi è piaciuto questo articolo? Rimani sempre informato seguendoci su Google Discover (scorri in basso e clicca segui) e su 🔔 Google News. Ne stiamo anche discutendo sui nostri social: 💼 LinkedIn, 📘 Facebook e 📸 Instagram. Hai una notizia o un approfondimento da segnalarci? ✉️ Scrivici
Diplomato in Informatica e Telecomunicazioni, laureato triennale in Ingegneria Informatica (indirizzo Sistemi Software e Web), attualmente studente magistrale in Ingegneria Informatica (indirizzo Cybersecurity).
RHC4Edu nasce dalla volontà della community di Red Hot Cyber di portare la cultura della cybersecurity, dell’intelligenza artificiale e del digitale direttamente nelle scuole, mettendo gratuitamente a disposizione degli studenti l’esperienza di professionisti, ricercatori e specialisti del settore. Il progetto è ufficialmente operativo e permette agli istituti interessati di richiedere workshop gratuiti e incontri con gli esperti della community, attraverso un coordinamento della redazione che mette in relazione le esigenze della scuola con le competenze e la disponibilità dei professionisti presenti sul territorio.
L’obiettivo di RHC4Edu non è trasformare gli studenti in tecnici informatici, ma aiutarli a sviluppare consapevolezza e pensiero critico davanti a un mondo sempre più digitale. Cybersecurity, truffe online, privacy, social network, cyberbullismo, fake news e intelligenza artificiale diventano così argomenti da affrontare con esempi concreti e con il contributo diretto di chi lavora quotidianamente nel settore. Un’iniziativa costruita sulla condivisione della conoscenza e sul volontariato della community, perché portare queste competenze nelle aule significa anche offrire ai ragazzi la possibilità di conoscere nuove professioni, sviluppare curiosità e imparare a vivere la tecnologia in modo più sicuro e consapevole.