Uso di Google Analytics di JSONP, quali sono i rischi per la sicurezza?

5

In questi giorni Google Analytics utilizza una richiesta JSONP per caricare ga.js nelle pagine Web degli utenti tramite una funzione di callback. Secondo Wikipedia, JSONP può "iniettare qualsiasi contenuto in un sito web."

Che cosa significa esattamente? C'è un modo per accedere alla memoria locale, le variabili nella RAM (chiavi private per esempio)? Gli attacchi sono limitati agli attacchi dell'interfaccia utente (come una finta finestra di dialogo)?

Non sarebbe molto meglio avere uno script JavaScript più facilmente leggibile sul sito web dell'utente che pubblica su ga.js in un iframe tramite postMessage ? Sembra che potresti postare tutto ciò che vuoi in questo modo, mentre rendi chiaro in un audit del sito quali informazioni vengono inviate proteggendo il JavaScript remoto.

link link

Possibile soluzione (se necessario, sotto forma di domanda)

È conforme a Google Analytics HIPAA? Come posso scoprirlo?

    
posta jcalfee314 25.07.2015 - 10:45
fonte

1 risposta

3

Ogni volta che includi uno script da un dominio esterno ti stai fidando di quel dominio. per esempio. se il tuo sito è example.com e hai il seguente codice sulla tua home page

<script src="//example.edu/tracking_script.js"></script>

allora example.com è completamente fidato di example.edu a non fare nulla di dannoso dentro tracking_script.js . example.edu avrà il pieno controllo dello scripting lato client e potrebbe fare tutto ciò che uno script lato client ospitato su example.com potrebbe fare.

Lo stesso vale per Google Analytics: stai aggiungendo il codice dello script alla tua pagina che crea il riferimento esterno js . Se Google volesse, potrebbe adattare il proprio script per fare qualsiasi cosa sul lato client delle tue pagine. Lo stesso vale per una situazione in cui il sito Web di Google Analytics è compromesso: qualsiasi utente malintenzionato controllerà tutti i domini tramite Analytics.

Scontando qualsiasi cosa dannosa, il vantaggio di Google è che possono aggiornare il codice lato client di Analytics senza che i webmaster debbano fare aggiornamenti dalla loro parte. Quindi, se aggiornano una funzione lato server, possono aggiornare la controparte lato client in modo appropriato e ogni sito nel mondo eseguirà automaticamente il nuovo codice lato client per i propri visitatori.

postMessage , pur mantenendo un perimetro di sicurezza tra il tuo dominio e GA, non consentirebbe alcun aggiornamento di script sul lato client che potrebbe essere necessario affinché GA funzioni dopo un aggiornamento lato server. (Nota che non hai bisogno di un IFrame per comunicazioni cross-domain sicure, CORS abilitati da parte di Google consentirebbe al tuo sito per inviare una richiesta HTTP POST per registrare ogni visita di pagina.)

Quando utilizzi un prodotto Google, sarai al sicuro, incluso il riferimento ai copioni, quindi non è necessario che ciò avvenga in un modo diverso. Tuttavia, avere riferimenti di script a entità meno conosciute la cui sicurezza potrebbe non essere del tutto all'altezza dello standard di Google può essere motivo di preoccupazione. In questi casi sarebbe prudente fare affidamento su una tecnologia lato client più sicura piuttosto che su quella di JSONP.

    
risposta data 25.07.2015 - 11:24
fonte

Leggi altre domande sui tag