Há muito tempo eu notei que os spammers tinham ficado sofisticados ao ponto de seus comentários nos fóruns só poderem ser notados por quem está prestando muita atenção à thread. Mensagens anunciando viagra em um texto sobre DivX são muito fáceis de notar, mas esses spammers são mais sutis: eles fazem um comentário sobre DivX, mas com uma assinatura que tem um link para um site que vende viagra.
O que leva você a notar que não é um humano que está comentando, apesar do comentário estar dentor do tópico, é que há sempre algo “estranho” com o texto. Ou não se encaixa no fluxo da conversa ou tem algum outro problema. Para um humano, seria um deficiente (oops… hoje a gente tem que chamar de “especial”), mas para um bot, seria inteligentíssimo. Eu tinha a curiosidade de saber como era feito.
Então, em 16/02/12 eu recebi o seguinte comentário para moderar:
Como libertar X-Rumer 7.0.10 ?? Dê-me por favor URL! É o melhor programa para massa postagem em fóruns ! XRumer pode quebrar a maioria dos tipos de captchas !
A mensagem me pareceu curiosíssima por razões que vão além do que está escrito. Ela parece uma mensagem legítima, mas eu tinha certeza de que se tratava de um spambot, por três razões:
- O blog onde ela foi postada era meu blog pessoal, com absolutamente nada a ver com a parte técnica do meu site. OK, muito humano “sem noção” faz a mesma coisa, mas juntando isso aos itens seguintes…
- Esse blog tinha sido desativado há meses e nenhum humano consegue postar comentários nele, por causa de um dispostivo de redirecionamento que instalei para o novo blog. O blog acabou virando um “honeypot” involuntário. Se quiser testar, visite http://jeff-ryan.blogspot.com. Não é impossível para um humano comentar lá, mas basta parar para ler o post que não dá tempo, antes do redirecionamento para o meu domínio ser ativado;
- Apesar de parecer estar em português brasileiro, basta prestar atenção para notar que é obra de tradutor automático.
Mas por que alguém faria um spam sem um link?
Uma rápida pesquisa no Google respondeu essa e outras perguntas. XRumer tem até uma página na Wikipedia dedicada e ele. O programa está em operação pelo menos desde 2008 e é possivelmente o mais sofisticado sistema de inteligência artificial dedicado à nojenta prática do webspam. Entre outras coias, o programa é capaz de responder perguntas anti-bot do tipo “quanto é 2+2” e decifrar captchas, incluindo o reCAPTCHA da Google (@Luciano, este é o quinto possível motivo para estarem passando pelo seu captcha). O mecanismo tem inclusive o cuidado de comentar apenas em tópicos “antigos” e/ou secundários (como os rotulados de “off topic”) na esperança de que passem despercebidos por outros usuários e pela moderação.
A razão do comentário em meu blog? Se fosse publicado, o bot responderia em outra conta com o link para o site do programa.
Eu tiro o meu chapéu para o programador (pouco antes de dar um murro na cara, claro). Ele é um bandido, porco, filho da p*ta, mas é realmente competente.
Pois é… o xrumer se encaixa na opção C (já existe algum robot com um bom OCR que acerta alguns captchas) visto que ele quebra os captchas.
Mas lendo na wikipédia uma coisa que discute-se é o uso de um campo no formulário de comentário que deva ser deixado necessariamente em branco, pois parece que o xrumer preenche todos os campos do form, mesmo os ocultos.
Se isso for verdade, acredito que juntando 3 coisas seja possível suprimir 99% dos spam robotizados.
Seria: 1) Campo oculto no form, ou mesmo visível que deverá ser sempre deixado em branco, 2) Lista de palavras proibidas, inclusive estou pensando em fazer um plugin pro WP com base naquele script que você encontrou 3) Postar o comentário comente com dupla checagem, você escreve o comentário normalmente, ao clicar em enviar, antes de postar o WP dá um “preview” com o comentário na tela (como se ele tivesse sido postado) e exibe um segundo botão [publicar comentário] atrelado a um timer decrescente, algo pequeno como 2 ou 3 segundos para liberar o botão.
Penso que isso já deve driblar boa parte dos robots, mas precisa ver se isso não confunde os usuários mais “amebas”.
No caso acima, pode-se dispensar o captcha pra ver como a coisa se comporta.
Topas testar algo nesse sentido? Se sim, eu penso em como modificar o template (ou adicionando ao functions.php) do WP pra fazer isso, sem interferir no core do WP.
Oops… tem razão!
Depois de aplicar a lista de palavras proibidas o número de spams caiu para 2 por dia. E sem usar CAPTCHA. Eu topo testar uma versão que seja transparente para os leitores. Criar complicações não vale a pena com minha atual taxa de spam.
Muito interessante esse bot de spam.
Mas fiquei com uma dúvida. Nenhum plugin antispam do WordPress protege dele?
Eu tenho usado o Bad Behavior (junto com o Akismet), e ele protege legal contra spambots
http://www.bad-behavior.ioerror.us/
Vocês conhecem?
Não sei dizer. Eu não tenho como saber se meu blog é alvo do XRumer até mesmo porque nem CAPTCHA uso, mas em teoria somente o modo de operação “distribuído” do Akismet é capaz de ajudar a detê-lo.
Jefferson, e o Bad Behavior? Não ajuda?
Saulo, parece bem interessante o “Bad Behavior”. Vou instalar para testar o comportamento dele.
No meu blog, o maior problema são os registros “falsos” feitos por bots, para poder comentar como usuários legítimos. Só que como os comentários são moderados, não passa spam para o blog, mas fica aquele monte de lixo na fila de moderação. A maioria o akimet pega, mas sempre passam alguns gatos pingados que tem que ser limpos a mão. O que espero que resolva com aquele filtro de palavras proibidas.
De domingo a tarde até agora, só pra ter ideia já ocorreram mais dois registros de usuários feitos por bot em meu blog, só pelo nome do usuário e o e-mail utilizado já da pra ver que vai vir spam dali.
Eu também tenho registros falsos no meu blog e não sei como me livrar deles. É um saco removê-los porque o wordpress é incapaz de ordenar usuários por data de cadastro. Eu recebo o aviso de um registro que é claramente de um spammer, mas além do wordpress não mandar junto um link para o cadastro do usuário, como faz o SMF, eu tenho que catar o perfil do usuário manualmente para apagar. É tão chato que eu deixo para fazer quando já tenho mais de uma dezena.
Ando recebendo muitos spammers ultimamente no meu blog.Normalmente,estão em inglês e aparecem como lista de Email em lugar do nome.Também,está cheio de links para esses sites.Adicionei um dos supostos visitantes do meu blog e este me disse que nunca sequer o visitou.As ferramentas do Akismet,apesar de ter configurado para barrarem direto esses comentários e não os mandarem para a fila de moderação,não dá conta de todos.Seu post me deu boas dicas.
ehhee más é de agora que se quebram captchas,
em uma breve pesquisa vai ver que tem empresas que te cobram
centavos para cada captcha quebrado com API e tudo mais, afinal tem muito
robo que tem que consultar coisas.
Em termos de SEO o google consegue detectar isso como spamw?
ou eleva o rank dos cara com o link criado?