javascript facebook google-analytics analytics data-integrity

¿Los scripts analíticos de Javascript no son susceptibles de piratear datos fácilmente?



facebook google-analytics (1)

En los entornos de producción, las secuencias de comandos analíticas basadas en JavaScript (Google Analytics, Facebook Pixel, etc.) se inyectan en la mayoría de las aplicaciones web, junto con el ID único / ID de píxel, en Javascript simple.

Por ejemplo, airbnb usa Google Analytics. Puedo abrir mi consola de desarrollo y ejecutar

setInterval(function() {ga(''send'', ''pageview'');}, 1000);

lo que hará que el píxel de análisis se solicite cada 1 segundo, para siempre. Eso es 3600 solicitudes por hora desde mi máquina sola.

Ahora, esto se puede hacer fácilmente de forma distribuida, causando millones de solicitudes por segundo, desviando completamente los datos de Google Analytics para el evento de vista de pageview . Entiendo que la enorme cantidad de datos recopilados corregiría este sesgo en cierta medida, pero que se puede compensar fácilmente aumentando la cantidad de solicitudes.

Mi pregunta es esta: ¿existen medidas preventivas para evitar que competidores o personas malintencionadas destruyan la integridad de los datos de las aplicaciones de esta manera? ¿GA o Facebook ofrecen tales opciones?


Sí, pero la parte insegura no viene para el Javascript. Por ejemplo, puede usar el protocolo de medición para transferir datos a una cuenta. Aquí puede ver a muchas personas en la misma comunidad que tienen problemas con esto (y es muy sencillo de resolver) https://.com/search?q=spam+google+analytics

Todos estos sistemas de medición utilizan llamadas HTTP para completar los datos en su "base de datos". Si puede construir la llamada correcta, puede enviar correo no deseado a todos y en todas partes (pero no lo haga, no sea malo).

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

Esta página de Google Analytics explica qué es la medición del protocolo, JavaScript solo funciona como marco para crear y enviar el hit.

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

Pero, entonces no todo está perdido. Por ejemplo, si intenta hacer eso en su navegador con ese código, The Google Analytics FrameWork limita a 1 llamada por segundo y 150 por sesión (o valor de cookie). Sí, no es complicado saltar esa barrera, pero después vendrán otras barreras.

Por lo tanto, si usa el marco de JavaScript es seguro. Ahora imagine que hace lo mismo con Python, enviando http al servidor de Google Analytics. Es posible pero: aquí hay 2 cosas importantes que decir.

  • Google Analytics tiene un "firewall" proactivo para detectar Spammers y prohibirlos (cómo y cuándo lo hacen no es público), pero en mi caso veo mucho menos spam que hace unos años.

  • También hay un par de buenas prácticas para evitar esto. Por ejemplo, almacene solo dominios bajo una lista blanca, creando un filtro para permitir solo el tráfico de su dominio https://support.google.com/analytics/answer/1033162?hl=en

  • También es una muy buena práctica proteger su comercio electrónico, utilizando un filtro para incluir solo datos de ciertas tiendas o con ciertos parámetros, "por ejemplo, marca == mi marca" o "CustomDimension == true". Excluya transacciones con productos de más de $ 1,000 (controle sus límites y aplique filtros proactivos). Toda esta barrera es compleja hasta la quiebra.

Si hace esto, protegerá mucho su dominio (porque es demasiado complicado conocer la combinación de UA + Domain Valid cuando crea un robot), pero todo el sistema se puede romper. En mi experiencia, solo veo 2 o 3 casos de daños provenientes de spammers o personas que quieren lastimarse, y en todo caso, podría evitarse si creara un filtro proactivo. Por lo general, enviar spam spam solo a su cuenta, casi nunca quiere lastimarlo. Facebook, Piwik y otras herramientas son más o menos lo mismo.