Cookie di terze parti e CSRF

1

I cookie di terze parti aprono la possibilità di CSRF dove potrebbe non esistere? Stavo consultando un post del blog e un Bozza IETF sui cookie same-site che fanno sembrare che i cookie di terze parti potrebbero fai succedere la CSRF.

La mia confusione - CSRF si verifica quando i cookie di sessione sono presenti durante una richiesta di aggiornamento all'applicazione web. Questo perché i cookie di sessione potrebbero essere cookie di terze parti? Affinché CSRF si verifichi, sarà comunque necessario a) la corretta struttura della richiesta b) i cookie di sessione. In che modo i cookie di terze parti aiutano CSRF? L'unica angolazione a cui posso pensare è che la "terza parte" avrebbe probabilmente autorizzato la CORS nella "prima parte" come dominio del richiedente legale. Se la terza parte si basa esclusivamente sulla stessa politica di origine per la mitigazione di CSRF, potrebbe essere nei guai.

Qualsiasi possibile scenario di attacco sarebbe molto apprezzato!

    
posta katrix 13.01.2017 - 17:07
fonte

2 risposte

1

Gli attacchi CSRF avvengono facendo richieste legittime al tuo sito, ma senza il permesso dell'utente.

Un esempio standard è un bonifico bancario. Hai effettuato l'accesso a mybank.com . Quando si utilizza quel sito, è possibile inviare un modulo per trasferire denaro. Ora, visiti malicious-site.com , e in background la pagina invia una versione nascosta di quel modulo di trasferimento; il tuo browser inoltra la richiesta a mybank.com e invia tutti i cookie mybank.com insieme e, di conseguenza, hai trasferito denaro senza averlo mai realizzato.

Il tuo browser non sa quali cookie contengono dati di sessione del sito web; semplicemente invia tutti quelli corrispondenti ad ogni richiesta.

Allo stesso modo, i "cookie di terze parti" sono definiti come qualsiasi cookie appartenente a un dominio diverso da quello che stai visitando.

L'attuale impostazione cookie di terze parti nei browser è finalizzata alla privacy e regola quindi i cookie impostazioni . Cioè, se carichi example.com e fa una richiesta a cool-analytics.com , quella richiesta secondaria non è autorizzata a impostare nuovi cookie.

L'attributo SameSite proposto è invece finalizzato a prevenire CSRF, e quindi influenza quando i cookie di terze parti sono inviati . Nell'esempio sopra riportato, il valore ( Lax o Strict ) invierebbe la richiesta a mybank.com senza nessuno dei cookie memorizzati nel browser per quel dominio che ha quell'attributo impostato; il risultato sarebbe che la tua banca non riconoscerebbe il tuo account e quindi negherebbe il trasferimento.

    
risposta data 13.01.2017 - 20:29
fonte
2

Interpreto la tua domanda come "Impostando il mio browser per accettare i cookie di terze parti, mi sto rendendo più vulnerabile a un attacco CSRF?"

La risposta è no. Un attacco CSRF, noto anche come "session riding", comporta l'utilizzo di un cookie già esistente, ad es. un cookie di sessione per un sito al quale si è effettuato l'accesso. Non comporta la creazione di nuovi cookie; in effetti, l'attaccante in uno scenario CSRF non ha idea di quale sia il valore del cookie (che è il motivo per cui deve cavalcare il cookie di qualcun altro), e quindi non ha modo di impostarne uno.

Il rischio principale con i cookie di terze parti ha a che fare con la privacy. La possibilità per un sito di impostare un cookie di terze parti significa che la prima parte può comunicare a una terza parte dove si è visitato, ad esempio, Amazon può dire a un aggregatore di marketing di aver sfogliato un prodotto specifico e che tale aggregatore può causare annunci per quel prodotto per apparire su Facebook o altri siti. Questo ha un considerevole fattore di "raccapricciante", anche se non esiste alcuna comunicazione effettiva tra Amazon e Facebook, e nessuna informazione reale viene rubata da una terza parte che non è stata invitata a farlo da una delle prime parti.

    
risposta data 13.01.2017 - 18:31
fonte

Leggi altre domande sui tag