Spam à base de mots aléatoires

a marqué ce sujet comme résolu.

Bonjour,

J’ai un imbécile sur mon site web qui a trouvé comment passer outre l’anti-spam que j’ai mis en place sur ma page contact. Il m’envoie des e-mails qui ne contiennent que des mots aléatoirs dans le sujet et le message. Par exemple "nbwqxjzphfsl".

Y aurait-il un moyen pas trop compliqué de détecter ces mots, à priori totalement aléatoires, et les différencier de réels mots existants dans une sélection de langues supportées/autorisées (p.ex. français, anglais, espagnol, portugais, italien, allemand).

Evidemment, je n’ai pas trop envie d’installer 36 dictionnaires, sans compter que la vérification dans ceux-ci doit sûrement être assez longue et que tous les mots qui doivent être permis ne sont pas forcément dans le dictionnaire (je pense aux déterminants par exemple). Il ne faudrait pas non plus qu’un message légitime se fasse éjecter à cause d’une bête faute de frappe ou d’orthographe.

L’idée serait ensuite que si le ratio de mots qui ne veulent rien dire dans aucune langue vs. les vrais mots atteint une certaine limite qu’il va falloir expérimenter, alors le message est refusé silencieusement.

Indépendament de sa faisabilité, que pensez-vous de cette idée ?

Possibiilité alternative: y a-t-il moyen de faire vérifier le message par SpamASsassin depuis PHP ? ET de l’aider à postériori en lui indiquant si un message est du spam ou pas ? Celui-ci est déjà installé sur le serveur. JE suis en PHP5 mais c’est un site relativement ancien (6 ans déjà) entièrement codé à la main (donc sans framework genre Symfony)

Je bloque déjà les messages qui contiennent plus de 2 URL, et on ne peut taper que du texte (donc on ne peut pas m’envoyer de messages-images ou de pièces jointes depuis cette page).

Merci pour vos réponses

+1 -0

Hum…

Je suis quasi certain que quand on tape n’importe quelle character, il y a un pattern qui ce repete. Si c’est simple, il ferait des truc du genre: qwerty s’il est sur QWERTY. C’est evidement pas ca, mais, tu peux nous montrer des emails, histoire de voir?

ou sinon, tu peux bloquer son IP (il envoie des mail depuis ton site, ou depuis une adresse email), ou sinon tu peux bloquer son email.

Outre les outils ’du marché’, si tu veux analyser toi-même le contenu du message, à partir du mot exemple que tu donnes, je verrais bien l’analyse des voyelles vs consonnes.

Un sigle qui ne contient que des consonnes, ou en tout cas beaucoup de consonnes, ça peut exister ( SNCF, DGGCRF …) mais dans ce cas, tout le monde l’écrit en majuscule. Si tu as beaucoup de mots avec trop de consonnes, et en minuscules, ce n’est pas normal.

Pour moi je pense que la vérification de l’adresse IP et l’ajout d’un captcha serait le plus simple. (Et je trouve que les nouveaux Captcha Google sont bien, ils sont rapide à mettre en place et rapide à utiliser, c’est pas comme ces caractères illisible que l’on doit retaper à la main, suffit de cocher une case ;) )

Bonsoir,

JE suis contre les CAPTCHA. Personnellement c’est le truc qui me casse les pieds et pour lequel je dois me reprendre à 12 fois avant d’y arriver; donc hors de question que j’en mette un, sauf s’il n’y a vraiment pas d’autre solution. Je ne eux pas infliger cette m#### aux utilisateurs légitimes.

A noter que je suis non-voyant, et donc 1/la plupart des CAPTCHA ne proposent pas une version audio, et 2/La version audio, si elle existe, est en général 36 fois pire que la version image (essayez vous-mêmes et vous verrez). La dernière fois que j’ai eu à faire à un CAPTCHA Google, j’ai abandonné après 5 ou 6 essais; c’était pour un bug report sur un GoogleCode, dommage pour l’auteur et le logiciel mais le CAPTCHA m’a saoulé.

Evidemment, les listes noires d’IP et/ou d’adresse e-mail, c’est trop facile.... j’ai bien une liste de domaines interdits, mais comme de toute façon l’utilisateur entre lui-même l’adresse e-mail où il veut être contacté en retour, il peut mettre n’importe quoi et ce n’est pas vérifié puisqu’aucun e-mail n’est envoyé à ce moment-là. En l’occurence, lui il met systématiquement des adresses hotmail, qui n’existent évidemment pas au final, mais je ne peux pas bloquer tout hotmail, il y a plein d’utilisateurs que ça gênerait.

Je ne sais pas trop s’il a fait ça à la main ou pas en fait. Vu le nombre que j’en ai reçu (pas loin de 1000 en 3 jours), s’il l’a fait à la main il a vraiment du temps à perdre. Mais en même temps deux messages sont espacés parfois de 4 secondes, parfois de quelques heures. Si c’est un bot, il faut quand même avoir de la suite dans les idées pour en faire un qui attend un temps random.

J’ai tout supprimé ce que j’ai reçu donc je n’ai plus d’exemples pour le moment. Pour l’instant je note vos pistes qui me paraissent toutes bonnes à priori :

  • consonnes vs. voyelles: j’ai pas de version du site en tchèque donc ça pourrait sûrement fonctionner :D
  • longueur des mots: je préssens que ça doit être très très variable d’un message à l’autre, donc à part les mots anormalement longs, ça me paraît chaud
  • Analyse fréquencielle: pour celui-là j’ai peur que les textes soient beaucoup trop courts pour que l’analyse soit vraiment pertinentes par contre… j’ai aussi des boulets qui écrivent "I can’t connect please help"; c’est pas du spam à proprement parler même si on n’arrive à rien d’utile avec ce genre de message. Les spams aléatoires ne sont pas nécessairement longs, ils sont même relativement courts.

En fait le top ce serait de pouvoir faire tester le contenu du message avec un truc genre SpamAssassin avant de l’enregistrer. Parce qu’en fait, je n’envoie pas réellement d’e-mail, c’est stocké en base de données pour une consultation facile sur une page admin. ET de toute manière même si j’envoyais réellement un e-mail, ce qui provient de localhost n’est jamais vérifié par l’antispam.

Merci

+0 -0

Evidemment, les listes noires d’IP et/ou d’adresse e-mail, c’est trop facile.... j’ai bien une liste de domaines interdits, mais comme de toute façon l’utilisateur entre lui-même l’adresse e-mail où il veut être contacté en retour, il peut mettre n’importe quoi et ce n’est pas vérifié puisqu’aucun e-mail n’est envoyé à ce moment-là. En l’occurence, lui il met systématiquement des adresses hotmail, qui n’existent évidemment pas au final, mais je ne peux pas bloquer tout hotmail, il y a plein d’utilisateurs que ça gênerait.

Oui mais tu peux récupéré l’adresse IP de l’utilisateur qui demande la page, en PHP par exemple: $_SERVER['REMOTE_ADDR'] (De mémoire, c’est peut-être pas exactement ça).

JE suis contre les CAPTCHA. Personnellement c’est le truc qui me casse les pieds et pour lequel je dois me reprendre à 12 fois avant d’y arriver; donc hors de question que j’en mette un, sauf s’il n’y a vraiment pas d’autre solution. Je ne eux pas infliger cette m#### aux utilisateurs légitimes.

As-tu déjà vu les nouveaux Captcha de Google ? (Ceux ou il faut simplement coché une case pour valider ?) Et ces Captcha font en sorte que s’il détecte une tentative de Spam, il demande de reconnaître des images, genre "Indiquer toutes les images où il y a une rivière".
Je ne sais pas du tout comment ça marche avec les mal-voyant, mais franchement je trouve que ce système de captcha est bien meilleur.

Image utilisateur

Salut,

Comment fonctionne le système antispam que tu utilises ?

Mais en même temps deux messages sont espacés parfois de 4 secondes, parfois de quelques heures.

Son bot attaque probablement d’autres sites. Après, je ne vois pas trop ce qu’il en tire ; à part s’il te connaît, pour te faire c****.

Est-ce qu’il tente des chaînes de caractères qui pourraient casser un site ou fourni un URL ou un numéro de téléphone payant dans les e-mails ?

As-tu déjà vu les nouveaux Captcha de Google ? (Ceux ou il faut simplement coché une case pour valider ?) Et ces Captcha font en sorte que s’il détecte une tentative de Spam, il demande de reconnaître des images, genre "Indiquer toutes les images où il y a une rivière". Je ne sais pas du tout comment ça marche avec les mal-voyant, mais franchement je trouve que ce système de captcha est bien meilleur.

Juste cocher une case ? Moi quand j’essaie de cocher la case, il me demande systématiquement de faire autre chose genre reconnaître quelque chose dans des images, justement. ET pour les malvoyants c’est pas du tout cool, c’est pas forcément évident voire impossible. Ca ne m’est jamais arrivé que la case se coche du premier coup sans rien me demander d’autre.

Les versions audio n’ont rien à voir. Ce n’est pas identique, on ne te demande pas d’écouter 4 ou 5 sons et de dire lequels sont des bruits de chutes d’eau. On te donne un code alphanumériques avec des voix tellement bouillés que c’est juste incompréhensible.

Comment fonctionne le système antispam que tu utilises ?

Du côté des véritables e-mails, en fait j’en sais pas grand chose. JE sais juste que quand on envoie un mail, postfix exécute un antispam avant de le faire atterrir dans la mailbox. Ce n’est pas moi qui l’ai configuré et l’administration système n’est pas mon fort. j’en sais assez pour configurer apache, PHP et bind9 à peu près correctement, mais pas assez pour postfix.

Son bot attaque probablement d’autres sites. Après, je ne vois pas trop ce qu’il en tire ; à part s’il te connaît, pour te faire c****.

Pour moi c’est un mec qui veut juste me faire ch###. Je ne vois pas non plus ce qu’il peut tirer d’autre de ses messages. Aucune idée s’il me connaît ou pas par contre.

Est-ce qu’il tente des chaînes de caractères qui pourraient casser un site ou fourni un URL ou un numéro de téléphone payant dans les e-mails ?

Non il n’y a pas beaucoup de chiffres, et les chaînes n’ont pas l’air autrement suspectes. Genre on pourrait croire qu’il a posé son chat sur le clavier.

+0 -0

Pour le captcha, tu pourrais peut-être passer à des calculs simples à résoudre en texte brut (« 1 + 2 × 3 » par exemple). C’est pas ultra efficace, mais c’est toujours ça en plus. Ça fonctionnera tant que ton spammeur ne cherchera pas à parser le captcha.

Ou en plus dur à casser, tu pourrais proposer une liste de mots, et demander à l’utilisateur de recopier celui qui est un fruit/légume/fleur/couleur/…

Avec la 2ème proposition de pseudo-captcha, le spammer va donner une réponse au hasard, et dans 25% des cas, sa réponse sera bonne. Donc si on fait la balance positifs/négatifs, côté négatif, on aura dépensé pas mal d’énergie pour mettre en place ce captcha, on aura embêté tous les utilisateurs sains, et côté positif, on aura divisé par 4 le nombre de spams.

Bilan positif ?

Sur ton site, il utilise toujours la même IP ?

Je pense que c’est la meilleur solution, mais le captcha, je pense que ca serait interessant de trouver une bonne solution… Je me creuse la tete mais je galere… J’avais pense a un systeme de devinette, du genre:

  • Qu’elle est la blague la plus drole
  • qu’elle est l’animal le plus mignon: chat, crocodile, elephant, serpent
  • sur quoi dort tu la nuit

Je ne sais pas si c’est facile pour une AI de deviner ca…

En tout cas, un truc avec l’humour est pour l’instant la meilleure solution je trouve.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte