Furto di sessione: Come funziona
Cosa troverai qui?
- 1. Punti chiave
- 2. Che cos'è il furto di sessione?
- 3. Come funziona il furto di sessione end-to-end?
- 4. Tipi più comuni di hijacking della sessione
- 5. I segni di una sessione compromessa
- 6. Implicazioni del Furto di Sessione
- 7. Difese pratiche contro il furto di sessione
- 8. Prevenire gli attacchi di furto di sessione
- 9. FAQ
Il furto di sessione è quando un attaccante prende il controllo di una sessione autenticata esistente rubando o manipolando i cookie di sessione o i token di accesso, che sono token che forniscono accesso a chiunque li possieda. Questo consente all’attaccante di eludere i controlli di sicurezza che vengono applicati solo al momento del login, come il limite di velocità o l’autenticazione a più fattori (MFA).
Punti chiave
- Difese di sessione forti combinano TLS ovunque, cookie rinforzati, brevi durate dei token, rotazione e revoca dei token, e autenticazione step-up basata su anomalie. Nelle implementazioni in stile OAuth, i token vincolati al mittente (ad esempio, DPoP o mTLS) possono ulteriormente ridurre il riutilizzo dei token dove supportato.
- I token di sessione rubati possono eludere la MFA se la MFA è applicata solo al login iniziale.
- I percorsi comuni includono l’intercettazione MitM, il furto di token XSS, il furto di dati da malware o browser, e la fissazione della sessione.
- Difese di sessione forti combinano TLS ovunque, cookie rinforzati, brevi durate dei token, binding o rotazione dei token, e ri-autenticazione basata su anomalie.
- I segnali di rischio del dispositivo e dell’utente possono aiutare a decidere quando intensificare l’autenticazione o terminare una sessione.
Che cos’è il furto di sessione?
In un attacco di furto di sessione (noto anche come takeover di sessione o attacco di riutilizzo del token), l’attaccante ruba il token di sessione (cookie, token di accesso, ecc.), utilizzato per autenticare un utente connesso. Questo consente all’attaccante di impersonare l’utente evitando la necessità di rubare le credenziali di accesso e di superare la MFA e difese simili. I bersagli comuni di questi attacchi includono app web per consumatori, sessioni SaaS, portali VPN, sessioni di accesso remoto e console di amministrazione privilegiate.
Come funziona il furto di sessione end-to-end?
Gli attacchi di furto di sessione si concentrano sul rubare un token per masquerarsi come un utente legittimo. Un flusso di attacco può apparire come segue:
- Aspettare o far sì che l’utente crei una sessione valida.
- Rubare un cookie di sessione o un token di accesso tramite malware, script malevoli, estensioni del browser o altri mezzi.
- Furto della sessione inviando una richiesta al server con il cookie rubato.
- Eseguire azioni dannose sull’account dell’utente con il token rubato prima che scada o venga revocato.
Gli attacchi di hijacking della sessione si basano sull’accesso al token, che può essere trovato in vari luoghi, inclusi lo storage del browser, i cookie, le intestazioni di autorizzazione, la memoria dell’app e i negozi del dispositivo. Gli aggressori potrebbero anche aver bisogno di modi per evitare di attivare la riautenticazione o i controlli di rischio, come abbinare le impronte digitali dei dispositivi, la reputazione dell’IP o i modelli di comportamento normali.
Tipi più comuni di hijacking della sessione
L’hijacking della sessione può essere eseguito in vari modi. Alcuni metodi ben noti includono:
- Fissazione della sessione: In un attacco di fissazione della sessione, l’utente è costretto ad autenticarsi utilizzando un ID di sessione noto all’aggressore, come uno incorporato in un link di phishing. Questo può verificarsi a causa di ID di sessione non rigenerati dopo il login, token prevedibili o invalidazione debole della sessione.
- Furto di token tramite XSS: Il cross-site scripting (XSS) incorpora script dannosi all’interno di una pagina web. Quando gli utenti visitano il sito, questi script possono rubare i token di sessione. I flag Secure, HttpOnly e SameSite possono aiutare a prevenire questo bloccando gli script dall’accesso ai cookie di sessione.
- Furto di dati tramite malware/browser: Il malware installato sul sistema di un utente o in estensioni del browser dannose può rubare i cookie dal filesystem, dal browser e da altre cache.
- Sidejacking: Gli attacchi di sidejacking comportano l’intercettazione dei token di sessione dal traffico di rete. Questo è in gran parte obsoleto a causa dell’uso di TLS per crittografare il traffico di rete.
- Intercettazione MitM: In un attacco man-in-the-middle (MitM) o on-path, un aggressore si inserisce nel percorso di comunicazione tra l’utente e il server. Questo consente loro di intercettare i cookie di sessione dal traffico di navigazione web dell’utente. Tuttavia, l’uso di TLS rende questo più difficile da eseguire.
Tutti questi metodi possono fornire accesso al token di sessione o al cookie. Successivamente, viene utilizzato in un attacco di riproduzione del cookie o “pass-the-cookie”, in cui il browser o il client API dell’attaccante lo utilizza per prendere il controllo della sessione dell’utente legittimo.
I segni di una sessione compromessa
Le sessioni compromesse coinvolgono un attaccante che utilizza una sessione dal proprio dispositivo/browser che ha preso da un utente legittimo. Alcuni indicatori di questo includono:
- Viaggi impossibili
- Nuova impronta del dispositivo
- ASN o geolocalizzazione insoliti
- Sessioni concorrenti
- Modelli di richiesta anomali
- Tentativi di escalation dei privilegi
- Azioni amministrative atipiche
- Riutilizzo del token da due posizioni
- Riproduzione del cookie di sessione senza intestazioni del browser normali
- Cambiamento improvviso nelle caratteristiche del client
Sebbene questi possano tutti indicare un attacco di hijacking della sessione, non sono tutti perfetti. Ad esempio, il churn dell’IP mobile, i cambiamenti di uscita VPN o un NAT condiviso possono causare rilevamenti falsi positivi. Per questo motivo, correlare più indicatori fornisce una rilevazione con maggiore fiducia.
Telemetria che aiuta a confermare il furto di sessione
Vari log e fonti di telemetria possono aiutare a confermare un attacco di furto di sessione sospetto, tra cui:
- Log Web/App: Eventi di autenticazione, modelli di aggiornamento del token e emissione e revoca della sessione.
- Log di Identità: Accessi del fornitore di identità (IdP), attivatori di accesso condizionale e sfide di step-up.
- Segnali di Rete e Endpoint: Destinazioni rischiose, avvisi di malware, segnali di integrità del browser e cambiamenti nella postura del dispositivo.
Implicazioni del Furto di Sessione
Gli attacchi di furto di sessione possono avere impatti aziendali significativi, come il takeover dell’account senza furto di password, accesso ai dati, transazioni fraudolente e compromissione della console di amministrazione. Spesso, le sessioni web sono un obiettivo principale perché i browser conservano i token, gli utenti riutilizzano i dispositivi e molte app assumono che “sessione equivale a fiducia”.
Il furto di sessione è così pericoloso perché sconfigge le difese chiave dell’identità, tra cui:
- Bypass MFA: Il furto di sessione può bypassare la MFA se la MFA è applicata solo al login. I token di sessione rimangono validi dopo il login, consentendo a un attaccante di prendere il controllo di una sessione e bypassare la MFA. Le migliori pratiche per prevenire ciò includono l’autenticazione step-up, la validazione continua, brevi TTL dei token e la revoca dei token per sessioni ad alto rischio.
- Ineffective ZTNA: Per impostazione predefinita, l’accesso alla rete zero-trust (ZTNA) è progettato per limitare i privilegi concessi agli utenti legittimi. Con il furto di sessione, un attaccante è considerato un utente legittimo, quindi ZTNA non offre protezione. La verifica continua gestisce questo rischio riesaminando regolarmente l’identità, la postura del dispositivo e i segnali di rischio durante l’intera sessione, non solo al login.
Difese pratiche contro il furto di sessione
Le organizzazioni possono implementare difese contro il furto di sessione a più livelli. Questo include lavorare esplicitamente per prevenire il furto di sessione e proteggere i token di sessione contro potenziali esposizioni.
Controlli di gestione delle sessioni che riducono il valore di ripetizione
Gli attacchi di furto di sessione comportano l’uso di un token rubato per prendere il controllo di una sessione legittima. Alcuni modi per mitigare questo rischio includono:
- Vite brevi e ri-autenticazione per azioni sensibili.
- Rotazione dei token, liste di revoca, invalidazione guidata da anomalie.
- Rilevamento dell’uso simultaneo di token da contesti client diversi.
Essenziali per il rafforzamento del browser e dei cookie
Gli attacchi di furto di sessione richiedono la capacità di rubare un token. Alcuni modi per prevenire questo includono:
- Uso di flag HTTP Sicuro, HttpOnly e SameSite per prevenire il furto di cookie tramite script (XSS) e cross-site scripting (CSF).
- Imporre l’uso di HTTPS per tutte le pagine.
- Proteggere i token memorizzati localmente (i token di localStorage sono accessibili tramite script).
Prevenire gli attacchi di furto di sessione
Il furto di sessione è una minaccia comune poiché i token di autenticazione sono preziosi e consentono a un attaccante di eludere le difese incentrate sul login. Le organizzazioni necessitano di difese stratificate e di una valutazione continua del rischio per identificare le sessioni compromesse dopo il login iniziale.
Quando si cercano attacchi di furto di sessione, cercare:
- Anomalie di sessione rilevate
- Tempo di revoca
- Tassi di autenticazione step-up per eventi rischiosi
- Riduzione degli incidenti di riutilizzo dei token.
FAQ
Può verificarsi il furto di sessione anche se MFA è abilitato?
Sì, perché MFA protegge solo l’evento di accesso, non il token di sessione utilizzato per generare dopo il login. Se un attaccante ruba il cookie o il token di sessione, può utilizzarlo per accedere a una sessione autenticata. Controlli come l’autenticazione step-up per azioni sensibili, brevi durate delle sessioni, rotazione dei token e revoca in caso di attività sospette riducono il rischio di questo; inoltre, le organizzazioni possono monitorare segnali come un nuovo dispositivo, una posizione insolita o comportamenti anomali per una sessione autenticata.
Il furto di sessione è lo stesso dello stuffing delle credenziali?
No, lo stuffing delle credenziali utilizza coppie di nome utente/password compromesse per accedere come utente, e MFA e limitazione della velocità possono aiutare a prevenire questo. Il furto di sessione prende il controllo di una sessione esistente, che può essere mitigato tramite una gestione forte delle sessioni e protezioni dei token.
Cos’è la fissazione della sessione e come viene prevenuta?
La fissazione della sessione è quando l’attaccante costringe la vittima ad autenticarsi utilizzando un ID di sessione noto all’attaccante. Questo è problematico se un’applicazione non crea un nuovo ID di sessione dopo l’autenticazione o i cambiamenti di privilegio. Le migliori pratiche per prevenire questo includono la rigenerazione degli ID di sessione al login e all’elevazione dei privilegi, l’invalidazione delle vecchie sessioni, il rifiuto degli ID di sessione negli URL e l’assicurazione di una gestione sicura dei cookie.
Quali log o segnali aiutano a confermare una sessione rubata?
Le sessioni rubate possono essere identificate utilizzando i log delle applicazioni web e dei fornitori di identità, inclusi i dati sull’emissione delle sessioni, i modelli di aggiornamento, gli eventi di accesso, i trigger di accesso condizionale e gli eventi di disconnessione o revoca. Indicatori ad alta confidenza di una sessione compromessa includono lo stesso token di sessione utilizzato da due località distanti, sessioni concorrenti che non corrispondono ai normali modelli utente, o cambiamenti improvvisi nelle caratteristiche del client. La rilevazione può essere potenziata utilizzando segnali come cambiamenti nella postura del dispositivo, rilevamenti degli endpoint, comportamenti sospetti del browser e sequenze anomale di azioni all’interno dell’app.
I cookie Secure, HttpOnly e SameSite fermano completamente il furto di sessione?
Questi flag sono progettati per ridurre il rischio che i cookie di sessione vengano rubati da script, attacchi di downgrade e alcuni modelli di abuso cross-site, ma non prevengono questi attacchi. Ad esempio, un attaccante può rubare un cookie di sessione con malware installato sul dispositivo dell’utente. L’uso di TLS ovunque, CSP, prevenzione XSS, sessioni di breve durata, rotazione dei token e autenticazione step-up basata su anomalie può contribuire a ridurre il rischio di furto di sessione.
This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.