Konstantin Ryabtsev, infrastrukturadministrator for kernel.org, har offentliggjort resultaterne af analysen af trafikken fra tjenesten git.kernel.org, der gør det muligt at se indholdet af git-repositorier relateret til udviklingen af Linux-kernen. Tjenesten håndterer dagligt omkring 6 millioner anmodninger om oplysninger om commits, hvoraf 66% kommer fra bots, som kan blokeres ved hjælp af Anubis-systemet. 33% af anmodningerne gennemgår Anubis-systemet, som kun tillader adgang efter at have fundet en værdi på JavaScript, hvis SHA-256 hash i kombination med den udstedte serverstreng indeholder et bestemt antal ledende nuller (denne opgave kræver CPU-ressourcer til løsning, men kræver ikke ressourcer til verifikation).
Det er umuligt at bestemme præcist, hvem af disse 33%, der er mennesker, og hvem der er avancerede bots, men ud fra karakteren af henvendelserne er det konkluderet, at den samlede andel af legitime anmodninger er cirka 2%, mens de resterende 98% kommer fra scrapers. Et af kendetegnene ved bots er direkte anmodninger om gamle commits i tilfældige gamle grene, som det er usandsynligt, at mennesker vil have brug for i deres arbejde. Botternes aktivitet skaber en enorm parasitær belastning på servere da bots i stedet for at downloade hele koden og historien om commits på én gang via operationen 'git clone' sender milliarder af anmodninger, hvor de prøver alle mulige måder at tilgå gennem webinterfacet og gentagne gange anmoder om de samme data med forskellige parametre.
Blokeringen af bots via IP-adresser og autonome systemer holdt ikke længe, da bots begyndte at sende anmodninger fra millioner af tilfældige IP-adresser fra hjemmenetværk eller mobile netværk, opnået gennem botnets eller monetisering af browserudvidelser. Fra hver adresse sendes kun 4-5 anmodninger, hvorfor det er nytteløst at blokere dem på niveauet for firewall.
Et stykke tid hjalp Anubis-systemet med at blokere bots, men med tiden tilpassede bots sig til at udføre de beregninger, der blev tilbudt i Anubis. Blandt andet lærte bots at løse opgaven på sværhedsgrad 5, og det er problematisk at hæve sværhedsgraden videre, da selv femte niveau kræver flere sekunders beregninger og generer legitime brugere.
Som resultat skal mere ressourcer bruges på at håndtere forespørgsler fra skrabere i infrastrukturen kernel.org end på alle andre former for legitime operationer, herunder "git clone". På 5 servere, der betjener git.kernel.org, er 14-16 af de 90 tilgængelige CPU-kerner konstant optaget af at vise git-commits for bots. For at reducere belastningen forsøger administratorerne nu at trimme tjenestemulighederne, deaktivere nogle ressourcekrævende operationer, begrænse anonym adgang og mindske antallet af links, der er tilgængelige for navigering.
Kilde: opennet.ru
