modal - Les scripts d'analyse JavaScript ne sont-ils pas sensibles aux hacks de données faciles?



javascript modal confirm (1)

Oui, mais la partie dangereuse ne vient pas pour le Javascript. Par exemple, vous pouvez utiliser le protocole de mesure pour inonder les données d'un compte. Ici, vous pouvez voir beaucoup de gens dans la même communauté ayant des bulles avec cela (et c'est calme simple à résoudre.) Https://stackoverflow.com/search?q=spam+google+analytics

Tous ces systèmes de mesure utilisent des appels HTTP pour remplir les données de votre "base de données". Si vous êtes capable de construire l'appel correct, vous pouvez Spam Tout le monde et partout (mais ne le faites pas, ne soyez pas mauvais).

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

Cette page de Google Analytics explique ce qu'est la mesure du protocole, Javascript ne fonctionne que comme framework pour construire et envoyer le hit.

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

Mais, tout n'est pas perdu. Par exemple, si vous essayez de faire cela sur votre navigateur avec ce code, la limite de Google Analytics FrameWork à 1 appel par seconde et 150 par session (ou valeur de cookie). Oui, ce n'est pas compliqué de franchir cette barrière, mais après cela d'autres barrières viendront.

Donc, si vous utilisez le framework Javascript, vous êtes sûr. Maintenant, imaginez que vous faites la même chose avec python, en envoyant http au serveur Google Analytics. C'est possible mais: Voici donc 2 choses importantes à dire.

  • Google Analytics a un "pare-feu" proactif, pour détecter les spammeurs et les bannir (comment et quand ils le font n'est pas public), mais dans mon cas je vois beaucoup moins de spammeurs qu'il ya quelques années.

  • Il y a aussi quelques bonnes pratiques pour éviter cela. Par exemple, stocker uniquement les domaines sous une liste blanche, en créant un filtre pour autoriser uniquement le trafic provenant de votre domaine https://support.google.com/analytics/answer/1033162?hl=fr

  • Aussi, c'est une très bonne pratique pour vous protéger du commerce électronique, en utilisant un filtre pour inclure uniquement les données de certains magasins ou avec certains paramètres, "par exemple marque == ma marque" ou "CustomDimension == true". Exclure les transactions avec des produits de plus de 1 000 $ (vérifiez vos limites et appliquez des filtres proactifs). Toute cette barrière rend complexe à brisée.

Si vous faites cela, vous protégerez beaucoup votre domaine (parce que c'est trop compliqué de connaître la combinaison UA ​​+ Domaine Valide lorsque vous créez un robot), mais vous savez, tout le système peut être cassé. Dans mon expérience, je ne vois que 2 ou 3 cas de dommages provenant de spammeurs ou de personnes qui veulent blesser, et dans tout ce cas pourrait être évité si je créais un filtre proactif. Habituellement, les spammeurs ne diffusent que des pubs sur votre compte, ne veulent presque jamais vous faire de mal. Facebook, Piwik et d'autres outils se produisent plus ou moins la même chose.

Dans les environnements de production, les scripts d'analyse basés sur JavaScript (Google Analytics, Facebook Pixel, etc.) sont injectés dans la plupart des applications Web, avec l'identifiant unique ID / Pixel, en langage Javascript.

Par exemple, airbnb utilise Google Analytics. Je peux ouvrir ma console de développement et courir

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

ce qui entraînera la demande du pixel analytique toutes les secondes, pour toujours. C'est 3600 demandes par heure à partir de ma machine seule.

Maintenant, cela peut facilement être fait de manière distribuée, provoquant des millions de requêtes par seconde, ce qui fausse complètement les données de Google Analytics pour l'événement pageview . Je comprends que l'énorme quantité de données recueillies corrigerait cette distorsion dans une certaine mesure, mais cela peut être facilement compensé en augmentant le nombre de demandes.

Ma question est la suivante: y a-t-il des garanties pour empêcher les concurrents ou les individus malveillants de détruire l'intégrité des données des applications de cette manière? GA ou Facebook offre-t-il de telles options?





data-integrity