Passer au contenu

Le spam sur Twitter

Se désintéresser d’un “vieux” problème du seul fait qu’il est “vieux”, justement, n’aide pas vraiment à le résoudre.

Dans mon précédent billet j’ai abordé le spam au Trending Topic, après avoir découvert et vu éclore, pratiquement sous mes yeux, une centaine de faux comptes dans la soirée du 13 février. Trop heureux de l’aubaine, j’ai décidé de suivre ces comptes pour étudier le comportement des spammeurs d’une part, et la réaction de Twitter de l’autre.

Hier à 17h, je faisais la mise à jour suivante :

Pratiquement 12 heures après (…), j’ai voulu voir de plus près la situation, qui a empiré considérablement. En revisitant le lien sur le trending topic spammé, j’ai remonté le fil des tweets autant que possible. Voici ce que ça donne (en 12 heures et pour un seul TT) :

– 192 messages provenant de 117 faux comptes, avec 50 liens (45 bit.ly, 4 tiny.cc et 1 ow.ly), soit 26% de liens, arrondissons par excès à 1 lien posté tous les 4 messages ;
– au moment où je les ai visités, ces 117 faux comptes avaient posté un total de 15 675 tweets, soit pratiquement 140 par compte ! Or si l’on applique le taux de liens, ça nous donnerait 15 675 x 26% = 4 075 liens (vers combien de malwares, de virus, etc. ?)

Entre-temps, plusieurs commentateurs faisaient avancer le schmilblick, dont Frédéric, que je cite intégralement :

Il y a deux éléments différents traités dans cet article :

le spam à la bombasse
le spam au trending topic

Ce sont deux techniques de spam assez différentes.

La première repose sur trois choses :
* Le fait qu’une personne mette un avatar augmente les chances de follow back de 50% (je ne sais plus d’où vient le chiffre)
* Le fait qu’il s’agisse d’une jeune et jolie (mais pas trop quand même) fille le démultiplie.
* Beaucoup d’utilisateurs Twitter font du follow back
Partant de là, il est assez facile de créer de tels comptes afin d’en faire des comptes « légitimes » (followers et following réells) afin d’envoyer des messages qui iront spammer la timeline de ces gens (+ mentions pour attirer l’attention des gens qui ne sont pas dans ce schéma).

Le spam au trending topic est un peu différent : il s’agit de prendre un trending topic à fort taux de clics (genre au hasard une paire de nichons), puis de créer (ou d’utiliser) des comptes qui viendront poster des choses en rapport avec le TT, mais des liens spammy. La timeline d’un TT évolue tellement vite qu’il faut un grand nombre de comptes pour être certain que le message soit vu par un maximum de monde.
Peut-on vraiment s’en protéger ?

C’est difficile, d’abord parce qu’il se crée quotidiennement des millions de comptes sur Twitter. Les spambots sont donc difficiles à repérer. Ensuite parce qu’il est normal que des utilisateurs (éventuellement nouveaux) puissent poster sur un trending topic. Enfin, parce que les comptes avec 500 followings, 0 followers et quelques publications ne sont pas aberrants. Il est cependant possible de détecter des schémas, mais cela nécessite à chaque fois de valider humainement les suspects, faute de quoi on va se retrouver avec de véritables scandales. Et l’intervention humaine ça coute cher.

Je réagissais, plus précisément sur la possibilité de détecter des schémas, en suggérant certains traits communs que j’avais identifiés parmi les comptes spammeurs :

– dans la description des profils, mix de certains mots clés sans un sens bien précis
– dans les photos : que des nanas, certaines limite porno
– dans les messages : aucun sens, des phrases courtes automatiquement créées par des moteurs en mélangeant les mots et en ajoutant le TT
– pratiquement 0 followers et 0 following

Pour vérifier mes intuitions, j’ai donc relevé une nouvelle fois tous les messages sur le TT “Adrianna David” en isolant les faux profils, à 24h de distance de ma première mise à jour. Voici quelques chiffres :

Sur les 117 comptes fictifs identifiés hier, il n’y en a plus que 108 aujourd’hui. J’en ai éliminé 1 que j’avais inséré par erreur dans mon calcul, et 8 ont été supprimés par Twitter, dont 7 qui correspondent à un template différent de celui des 108 comptes encore actifs, et 1 ayant le même template.

En partant du décompte des 15675 tweets mesurés hier, ces 108 comptes ont posté depuis 52 tweets supplémentaires chacun, en moyenne, pour un total de 21286 tweets avec environ 5000 liens. Le TT “Adrianna David” ne totalise que 183 messages, soit 0,86% de l’ensemble. En d’autre termes, on pourrait supposer que sur 100 TT, 183 messages ont concerné celui-là, et les 21103 restants 99 autres TT (pour env. 50 liens par TT)…

J’ai découvert que le bot suivait l’ordre alphabétique des profils pour poster. Quant à la description de chaque profil, après avoir éliminé 4 doublons, j’ai regroupé toutes les descriptions, qui sont à l’évidence créées par un moteur, dans un fichier unique de 1284 mots pour 104 profils, soit 12,35 mots / par profil.

Il est assez surprenant, ou pas, de constater que toutes ces phrases sont construites autour de 103 mots seulement (en gros, c’est comme si chaque mot était utilisé 12,5 fois), dont voici le nuage correspondant aux 65 termes ayant plus de dix occurrences :

Sous forme de tableau, les 103 mots ayant servi à décrire les 108 profils :

1. Donc un premier ratio possible pour tirer un signal d’alerte pourrait être celui d’avoir une trop grande concentration des termes ci-dessus (en laissant tomber les mots vides comme A, TO, OF, ON, etc.) dans une description de 12 ou 13 mots. Un algortihme du même genre pourrait être appliqué aux messages : sur les 22186 postés, je crois qu’on peut compter sur les doigts de la main ceux qui ont un sens accompli.

2. Un deuxième ratio pourrait concerner le rapport Tweets/Followers, vu que ces comptes ont généralement très peu de followers : disons entre 5 et 15, mais ça reste négligeable par rapport au nombre de tweets postés sur 24 heures.

3. Un troisième ratio pourrait calculer le rapport Tweets/TT, puisque dans les 108 comptes presque tous les messages mentionnent un TT, ce qui ne correspond pas vraiment avec le comportement des twittos lambdas : ça peut arriver de suivre des TT ou des hashtags, mais certainement jamais sur 90% ou plus des tweets postés !

4. Un quatrième ratio serait “Nombre de mots / liens” par tweet, car énormément de messages n’ont qu’un lien plus un mot, le TT ou le hashtag. Donc comme précédemment, si ce ratio est important par rapport au nombre de tweets, c’est peut-être que quelque chose cloche quelque part.

Etc. etc. Il y a deux ans, en mars 2010, Twitter était optimiste sur la lutte contre le spam :

We’re constantly battling against spam to improve the Twitter experience and we’re happy to report that it’s working.

En clair, notre combat ne cesse pas, et ça porte ses fruits. Au point qu’en début d’année, ils annonçaient qu’ils travaillaient pour réussir à stopper le spam en temps réel, et plus encore, réussir à prévenir.

Or ma petite expérience montre qu’en moins de trois jours, une centaine de faux comptes peuvent spammer tranquille des messages par dizaines de milliers et des liens par milliers, Twitter étant parvenu à éliminer 8 faux comptes sur 116, soit un peu moins de 7% !

Donc si on met ça en proportion avec les 250 millions de tweets par jour, ça donne quoi ?

Allez, pour conclure, on va faire comme à l’école, quand les profs remettaient leurs carnets de notes aux élévès :

Discipline : SPAM / Élève : Twitter / Note finale : passable. Peut mieux faire !

📍 Pour ne manquer aucune actualité de Presse-citron, suivez-nous sur Google Actualités et WhatsApp.

Twitter
Twitter
Par : Twitter, Inc.
4.1 / 5
22,5 M avis
3 commentaires
3 commentaires
  1. Très intéressant cet article, merci pour tous ces détails. En effet, si les spammeurs prennent si peu de précautions (le nombre de mots utilisé pour générer les messages est aberrant) c’est bien que Twitter est un peu largué pour modérer les spammeurs. :S

  2. Analyse intéressante.

    Pour récupérer ces données depuis Twitter, vous utilisez des outils sur mesure que vous avez développé, ou des outils disponibles pour tous ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *