Spam-experiment: de resultaten!

Computers

Hoera, hoera, hoera! Het spam-experiment dat ik sinds een half jaar (18 april) aan het voeren ben via deze weblog, is afgesloten, en het is dus de hoogste tijd voor resultaten. Statistiekjes! Cijfertjes! Grafiekjes! Conclusies!

En ja, er is hoop! Want ik heb hopen spam te slikken gekregen, maar er blijken manieren te zijn om je e-mail-adres te beveiligen tegen die vieze spammers.

In dit artikel krijg je te lezen in woorden, statistiekjes en grafiekjes hoeveel spam mijn honeypot te slikken heeft gekregen, welke e-mail-adressen uit mijn tweede experiment bevuild zijn, en in welke mate, en welke e-mail-adressen gevrijwaard zijn gebleven.

De gevrijwaarde adressen zijn technisch vaak ook het moeilijkst te implementeren, en daarom biedt Webpalet aan alle webmasters een eenvoudig tooltje aan om deze spamveilige methodes te gebruiken op de eigen website. Meer over deze tool verderop dit artikel.

Tijd voor cijfers en grafieken!

Grafiek van de spam-hoeveelheden op mijn lok-adressen

Historiek

Voor we aan de eigenlijke cijfers en de uitleg van bovenstaande grafiek beginnen, graag even een chronologisch overzichtje van het hele experiment.

  • 18 april: ik laat voor de eerste keer een link naar het nieuwe adres honeypot@titeca.net achter, als verborgen link achter een afbeelding in een artikel.
  • 14 juli: een kleine update, met een stand van zaken, en een nieuwe publicatie van hetzelfde adres.
  • 28 juli: uitbreiding van het experiment. Om te kijken welke link-methodes veilig zijn, en welke niet, publiceer ik negen nieuwe adressen, elk op een aparte manier.
  • 16 september: de negen adressen worden nog even opnieuw gepubliceerd.
  • 10 oktober: de statistieken worden afgesloten. De mail-adressen echter nog niet, zodat ik in de toekomst nog wijzigingen in de gaten kan houden.

De bevuilde adressen

Het eerste adres dat ik vrijelijk op de wereld heb losgelaten, was honeypot@titeca.net. Dat adres werd twee keer verborgen achter een afbeelding, en een drietal keer in plain text bekend gemaakt, en sindsdien is de mailbox netjes beginnen vollopen.

Totaal aantal mails op honeypot@titeca.net

Op de bovenstaande grafiek zie je het verloop van het totaal aantal mails in de honeypot-mailbox van 18 april tot 10 oktober. De grijze, verticale lijnen duiden de momenten aan waarop het adres opnieuw gepubliceerd werd op de blog, en na 9 mei en 14 juni zie je dan ook een duidelijke verhoging van de dagelijkse hoeveelheid spam. Na de volgende publicaties is er geen significante stijging meer merkbaar, de spam blijft gewoon in een vrij continu stijgende lijn binnenkomen.

Concreet in cijfers registreerde ik rond 9 mei 0,20 mails per dag, rond 14 juni 1,6 per dag, rond 14 juli nog steeds 1,6 per dag, rond 28 juli 2,2 mails per dag en op het eind van de proefperiode zo’n 5 mails per dag. Het hoogste aantal mails op één dag was 10, op 19 juni. De mailbox tikte af op 359 mails.

Dat je adres zomaar open en bloot op een website publiceren, schadelijk kan zijn, mag dus wel duidelijk zijn. Maar hoé dan wel een adres publiceren?

Om spam te vermijden bestaan een aantal beproefde methodes. De veiligste methode is je adres niet publiceren, en bv. een contact-formulier beschikbaar stellen op je website. Maar naar gebruiksvriendelijkheid toe is dat niet altijd wat je wenst. Neen, soms wil je gewoon je adres aan de mensen doorgeven.

In mijn experiment-uitbreiding van 28 juli heb ik negen methodes getest, op negen gloednieuwe e-mail-adressen. De uitgebreide bespreking van de methodes lees je in het start-artikel van dit deelexperiment.

Vier van de negen gebruikte methodes helpen geen zier tegen de vraatlustige spamrobotten.

  • het adres in de tekst vermelden, maar zonder er een link achter te steken (aardbei@titeca.net)
  • het adres in de tekst vermelden met een link erachter (de standaardmanier) (appel@titeca.net)
  • de hyperlink verbergen achter een afbeelding in plaats van een tekst (druif@titeca.net)
  • ieder karakter binnen de hyperlink in HTML vervangen door hexadecimale codes (framboos@titeca.net)

Op de eerste grafiek bij dit artikel (bovenaan) zie je het spamvolume per week op elk van de vier getroffen adressen. Wat je direct ziet aan de kleurverdeling, is dat de spam per adres vrij gelijk op gaat, alle vier de adressen werden even erg getroffen, en alle vier de methodes zijn dus even ineffectief tegen spammers.

In totaal werden in de testperiode van 28 juli tot 10 oktober 322 spam-mails ontvangen, waarvan 86 voor aardbei, 79 voor appel, 81 voor druif en 76 voor framboos. Op de zwaarste dagen kwamen tot 8 mails per dag aan op één adres.

Het gelijk opgaan liep wel niet dag per dag. Op sommige dagen werd het ene adres meer gespamd dan het andere, maar dat maakte het andere dan na een paar dagen weer goed. Dat zie je min of meer op onderstaande grafiek, waar je per adres het aantal spams per dag ziet, en waar je ziet dat de vier kleuren een soortgelijk patroon vertonen, maar toch niet helemaal gelijk.

Grafiek met de dagelijkse mails per mailadres

De piek in beide grafieken na 16 september is te wijten aan het opnieuw publiceren van de negen lokadressen.

De propere adressen

Vijf van de negen test-adressen zijn volledig gevrijwaard gebleven van spam. Om in de toekomst evoluties nog in de gaten te kunnen houden, worden hieronder enkel de fruitsoorten vermeld, en niet het volledige adres, dat eindigt op @titeca.net. Opnieuw geldt: uitgebreide bespreking van de methodes lees je in het start-artikel van dit deelexperiment.

  • een e-mail-adres ontbinden in afzonderlijke stukken. voorbeeld@example.com wordt dan: voorbeeld [at] example [dot] com (ananas)
  • een e-mail-adres vervangen door een afbeelding (zonder link achter!) die de tekst toont. De tekst is dus enkel leesbaar voor mensen, of voor geavanceerde programma’s die afbeeldingen kunnen “lezen” (banaan)
  • een eenvoudig JavaScript, waarbij de @ vervangen wordt door een variabele, met als inhoud ‘@’ (kiwi)
  • een ingewikkelder JavaScript, waarbij elke letter vervangen wordt door een overeenkomstige code. Moeilijker om zelf te schrijven, maar er kan minder bij mislopen dan bij het vorige JavaScript (mango)
  • een CSS-oplossing, waarbij een e-mail-adres omgekeerd wordt geschreven, en via CSS weer omgedraaid wordt. Nadeel is dat deze methode lang niet overal werkt, en bijvoorbeeld door feedreaders ook slecht geïnterpreteerd wordt. (peer)

Deze adressen zijn (momenteel nog!) spamvrij gebleven, en de methodes bieden dus een vrij goede bescherming.

Implementatie op je eigen pagina’s: een tool

Van de veilige methodes is enkel de eerste (@ vervangen door [at] enzovoort) makkelijk zelf te implementeren. De methode werkt zeker, maar enige intelligentie van de lezer wordt vereist, en de link is niet aanklikbaar.

Alle methodes vallen echter te automatiseren. Methode 2 (de afbeelding) is nog het moeilijkst om te automatiseren, zeker als je rekening wil houden met specifieke lettertypes en layout van een website. Maar de JavaScript- en CSS-methodes zijn zeer eenvoudig in een programmaatje te gieten.

En dat heb ik dan ook gedaan. Webpalet biedt u op webpalet.titeca.net/securemail een gratis tooltje aan om uw e-mail-adres om te zetten in de veilige methodes, zodat u deze code snel kan overnemen op uw persoonlijke website.

Probeer de tool zelf uit.

Conclusies

Wat leren we uit dit hele verhaal? De eerste en belangrijkste conclusie (die al zeer snel getrokken was), is dat je e-mail-adres dat je zomaar zonder codering op een website plaatst, een vogel voor de kat is. Enige codering is nodig.

Vrij goede bescherming hoef je helemaal niet ver te zoeken, en kan bijvoorbeeld met het tooltje dat ik gemaakt heb.

Alleen blijft het een eeuwige strijd tussen spammers en beveiligers: methodes die vandaag veilig zijn, zijn dat morgen niet meer. Want telkens als wij een overwinning vieren in de strijd tegen de spammers, is het andere kamp alweer op zoek naar methodes om de beveiliging te omzeilen. En dan zijn wij weer aan zet.

Ik blijf er bij: e-mail in zijn huidige vorm is niet lang meer houdbaar. Maar tot die tijd kunnen we ons maar beter goed beschermen. Veel succes ermee!

22 thoughts on “Spam-experiment: de resultaten!

  1. Zeer interessant.

    Wat je nog tekort hebt in je tooltje is een tag; immers, als JavaScript gefilterd wordt is het resultaat helemaal leeg…

    Oh ja, als ik hier in dit commentaar nu je spam-vrije emailadressen open en bloot zou vermelden, zou je dan kwaad zijn… ?

  2. Ja zeg, nu is de tag die ik vermeld gewoon eruit gevallen door één of andere filter… De tekst was dus : “(…) in je tooltje is een [kleiner dan]noscript[groter dan] tag; (…)”

  3. Mjah, dat probleem van een onzichtbaar adres in geval van geen JavaScript heb ik me vannacht liggen bedenken, en ik denk ook dat ik er een oplossing voor weet. Nu zo snel mogelijk implementeren.

    Wat het vermelden van de spamvrije adressen: liever niet, ik wil nog even de mailbox verder opvolgen. Maar gewoon spreken over peer, mango, … kan uiteraard geen kwaad.

  4. Trouwens, wat het wegvallen van je tags betreft: je kan in deze editor een beetje HTML gebruiken. Als je dus je [kleiner dan] en [groter dan] schrijft als de HTML-codes &lt; en &gt;, dan krijg je hem wel netjes. <noscript>

  5. OK, nu staat de <noscript> in je gegenereerde code, maar bij “resultaat” zie ik nog steeds niets; ik neem aan dat je daar gewoon nog de oude code gebruikt (of ‘t ligt aan mijn Naviscope…)

  6. cool! niet gedacht dat de ananas methode zo goed zou werken… ik dacht dat die toch nog vrij gemakkelijk gedecodeerd zou worden. nu ja, misschien vinden de spammers nog genoeg adressen op de standaard methode…

  7. Ewel, ik sta er eigenlijk zelf ook van versteld dat die een vrij goede afscherming biedt.

    Des te beter eh, ge ziet: het moet niet moeilijk zijn om effectief te zijn :-)

  8. Ik heb zonet via jouw tooltje mijn email-adres (gmail) beschermd op mijn fotoblog. Ben benieuwd of spammers er ooit in gaan slagen om het te vinden!

  9. ach, je mag je emailadres dan wel spam-vrij op een site zetten, elke vriendenkring telt wel een niet al te snugger persoon dat dat emailadres gebruikt in een online quizje, een kettingmail, een mail via een vrienden-netwerk-site …

    onbegonnen werk :)

  10. Pingback: Blogging Marnik » links for 2007-01-10

  11. Pingback: Webspam experiment | Webcraft webdesign en webdevelopment

  12. Pingback: Spam-experiment: hoe je adres beveiligen? at Webpalet

  13. Een van de betere artikels dat ik de laatste tijd nog gelezen heb! Uitstekend werk, hierop zat ik al lang te wachten. Proficiat!

    Freddie > Gewoon geen vrienden hebben, that’s the sollution!

  14. Pingback: Wapiwapi » Blog Archief » Linkdump voor vandaag (21/05/07)

Reageer!