De afgelopen jaren is de hoeveelheid botverkeer enorm toegenomen, aangewakkerd door cybercriminelen die doorlopend zoeken naar nieuwe tactieken om slachtoffers te maken.
Botverkeer bestaat uit alle niet-menselijke interactie met websites en online-applicaties. Bots, een afkorting van robots, zijn computerprogramma’s die zijn geschreven om repetitieve taken automatisch uit te voeren. Bots voltooien taken sneller en nauwkeuriger dan mensen en kunnen activiteiten gemakkelijker schalen. Ze zijn dan ook goed voor meer dan de helft van het internetverkeer. Waar bots vroeger alleen simpele taken konden uitvoeren, zijn moderne bots zeer geavanceerd. Sommige bevatten zelfs zelflerende algoritmen.
Goedaardige vs. kwaadaardige bots
Er zijn veel verschillende bots, zowel goedaardige als kwaadaardige. Het meest voorkomende voorbeeld van ‘goede’ bots zijn de spiders. Deze bots worden door zoekmachines gebruikt om websites te ontdekken en hun inhoud te catalogiseren. Zonder deze bots kunnen zoekmachines geen relevante zoekresultaten bieden. Het kan overigens voorkomen dat te veel goedaardige bots de prestaties of klantervaring van een website of applicatie nadelig beïnvloeden.
Daarnaast bestaan kwaadaardige bots. Deze kunnen bijvoorbeeld een website of applicatie overspoelen met meer verkeer of verzoeken dan het aankan. Dergelijke distributed denial of service (ddos)-aanvallen kunnen een volledige website plat leggen, met alle gevolgen van dien. Soms richten kwaadaardige bots zich specifiek op e-commerce-sites. Denk aan inventory hoarders die herhaaldelijk producten aan een winkelwagentje toevoegen, met behulp van meerdere nepaccounts. De meeste webshops zullen hierdoor na een tijdje automatisch aangeven dat een artikel niet meer op voorraad is, waarna legitieme klanten geen items kunnen kopen.
Botverkeer detecteren
Om websites en applicaties te laten bedienen door goede bots en te beschermen tegen slechte bots, is het belangrijk dat organisaties een mechanisme hebben om botverkeer te detecteren. Dit is verre van eenvoudig. Een grote klacht van webmasters is dat het moeilijk is onderscheid te maken tussen menselijk verkeer en botverkeer in web-consoles zoals Google Analytics. Dit maakt het moeilijker om gebruikersgedrag te begrijpen en het succes van pagina’s, functies en advertenties bij te houden.
Kwaadaardige bots zijn nog lastiger te detecteren. Ze zijn te herkennen aan ongewone of zeer hoge website- of app-activiteit. Het kan ook voorkomen dat er grote hoeveelheden spam binnenkomen of plotselinge pieken ontstaan in page views of kliks. Zelfs als deze indicatoren zijn te markeren voor automatische identificatie, worden waarschijnlijk alleen de meest elementaire bots gedetecteerd. Bovendien zijn moderne bots buitengewoon goed in het omzeilen van detectie-oplossingen. Cybercriminelen ontwerpen daarom steeds vaker bots om menselijk gedrag na te bootsen. Sommige geavanceerde bots bevatten zelfs zelflerende algoritmen om onder de radar te blijven.
Kwaadaardige bots voorkomen
Hoewel er verschillende maatregelen zijn om de schade veroorzaakt door botverkeer te beperken, zijn de meeste slechts gedeeltelijk effectief. Het is bijvoorbeeld mogelijk om regels voor bots in te stellen met behulp van een eenvoudig bestand met de naam ‘robots.txt’. Dit is een standaardcomponent van elke website. Hoewel dit een belangrijke stap is, heeft dit alleen gevolgen voor goede bots zoals crawlers van zoekmachines. Slechte bots zullen deze instructies gewoon negeren.
Andere standaardvoorzorgsmaatregelen zijn snelheidsbegrenzers, die het aantal toegestane verzoeken beperken van een enkel ip-adres binnen een bepaalde periode. Deze benadering heeft enige waarde, maar is meestal niet effectief tegen slecht botverkeer, omdat veel bots betaalde anonieme proxyservices gebruiken door miljoenen unieke ip-adressen te roteren. Hierdoor kunnen bots verkeer van residentiële ip’s imiteren, waardoor ze praktisch niet te onderscheiden zijn van legitieme gebruikers. Bovendien hebben veel destructieve bots slechts een handvol verzoeken nodig om hun doelen te bereiken. Web application firewalls (waf’s) kunnen sommige bots identificeren, maar alleen als ze als ze op een zwarte lijst staan of als ze proberen een website of applicatie op een voor de hand liggende manier aan te vallen (bijvoorbeeld met SQL Injection). Menselijke observaties en analyses kunnen effectief zijn voor kleine websites met weinig verkeer, maar zijn niet schaalbaar. Zelfs deskundige analisten kunnen meestal moderne bots niet volgen.
Bewustwording over bots noodzakelijk
Om websites en online-applicaties voldoende te beschermen tegen bots, is het belangrijk dat organisaties continu monitoren en controleren welke bots er binnenkomen. Gezien dit handmatig lastig is, doen organisaties er goed aan te kiezen voor een oplossing die automatisch en realtime kan controleren welke bots er binnenkomen. Daarnaast is het verstandig om regelmatig penetratietests uit te voeren om te ontdekken of de maatregelen succes hebben. Verder is kennis over bots een cruciaal element om een organisatie te beschermen. Botverkeer kan immers in een mum van tijd evolueren naar iets ernstigs, zoals een ddos-aanval.
Het is daarom belangrijk dat organisaties zelf hun kennis over bots up-to-date te houden. Ook al zijn er de nodige maatregelen genomen en is de security geautomatiseerd of uit handen gegeven door een specialist. Op deze manier kunnen organisaties betere keuzes maken en oplossingen kiezen die het beste bij hun past. Kortom, alleen met bewustwording, snelheid en continu monitoren is het mogelijk om slecht botverkeer te verminderen, de infrastructuur te beschermen en een veiliger internet voor iedereen te creëren.