Uso de Google Analytics de JSONP, ¿cuáles son los riesgos de seguridad?

4

En estos días, Google Analytics utiliza una solicitud JSONP para cargar ga.js en las páginas web del usuario a través de una función de devolución de llamada. Según la Wikipedia, JSONP puede "inyectar cualquier contenido en un sitio web".

¿Qué significa esto exactamente? ¿Hay alguna forma de acceder al almacenamiento local, variables en la RAM (claves privadas, por ejemplo)? ¿Los ataques están limitados a ataques de IU (como un diálogo falso)?

¿No sería mucho mejor tener una secuencia de comandos JavaScript más legible y más avanzada en el sitio web del usuario que publica en ga.js en un iframe a través de postMessage ? Parece que podrías publicar lo que quieras de esta manera y aclarar en una auditoría del sitio la información que se envía al proteger el JavaScript remoto.

enlace enlace

Posible solución (si es necesario, en forma de una pregunta)

¿Cumple Google Analytics HIPAA? ¿Cómo puedo averiguarlo?

    
pregunta jcalfee314 25.07.2015 - 10:45
fuente

1 respuesta

2

Cada vez que incluyas una secuencia de comandos de un dominio externo, estás confiando en ese dominio. p.ej. si su sitio es example.com y tiene el siguiente código en su página de inicio

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

entonces example.com confía plenamente en que example.edu no haga nada malicioso dentro de tracking_script.js . example.edu tendrá el control total de los scripts del lado del cliente y podría hacer cualquier cosa que un script del lado del cliente alojado en example.com pudiera hacer.

Lo mismo ocurre con Google Analytics: está agregando el código de script a su página que crea la referencia externa js . Si Google quisiera, podrían adaptar su script para hacer cualquier cosa del lado del cliente a sus páginas. Lo mismo ocurre con una situación en la que el sitio web de Google Analytics está en peligro: cualquier atacante controlará todos los dominios con Analytics.

Al descontar cualquier cosa maliciosa, la ventaja de esto para Google es que pueden actualizar el código del lado del cliente de Analytics sin que los webmasters tengan que hacer actualizaciones por su parte. Por lo tanto, si actualizan una función del lado del servidor, pueden actualizar la contraparte del lado del cliente de manera adecuada y cada sitio del mundo ejecutará automáticamente el nuevo código del lado del cliente para sus visitantes.

postMessage , mientras mantiene un perímetro de seguridad entre su dominio y los GA, no permitiría ninguna actualización de script del lado del cliente que pueda ser necesaria para que GA funcione después de una actualización del lado del servidor. (Tenga en cuenta que no necesita un IFrame para la comunicación segura entre dominios, CORS habilitado en el lado de Google le permitiría sitio para enviar una solicitud HTTP POST para registrar cada visita de página.)

Cuando utilice un producto de Google, estará bastante seguro, incluida la referencia de los scripts, por lo que hay pocos requisitos para que esto se haga de una manera diferente. Sin embargo, tener referencias de guiones a entidades menos conocidas cuya seguridad podría no ser del todo estándar de Google puede ser motivo de preocupación. En esos casos, sería prudente confiar en una tecnología del lado del cliente más segura que en la de JSONP.

    
respondido por el SilverlightFox 25.07.2015 - 11:24
fuente

Lea otras preguntas en las etiquetas