Kernel.org-infrastruktuurin ylläpitäjä Konstantin Ryabtsev julkaisi git.kernel.org-palvelun liikenteen analyysin tulokset. Palvelun avulla voi tarkastella ytimen kehittämiseen liittyvien projektien Git-arkistojen sisältöä. LinuxPalvelu käsittelee päivittäin noin 6 miljoonaa commit-tietopyyntöä, joista 66 % tulee botteilta, jotka Anubis-järjestelmä estää. Anubis-järjestelmä vahvistaa 33 % pyynnöistä ja sallii niiden syöttämisen vasta, kun JavaScript-arvo, jonka SHA-256-tiiviste yhdistettynä palvelimen lähettämään merkkijonoon sisältää tietyn määrän etunollia, on pakotettu raa'alla pakotuksella (tämä tehtävä vaatii CPU-resursseja ratkaisemiseen, mutta ei vaadi resursseja vahvistukseen).
On mahdotonta määrittää tarkalleen, mitkä näistä 33 prosentista ovat ihmisiä ja mitkä edistyneitä botteja, mutta pyyntöjen luonteen perusteella on päätelty, että laillisten pyyntöjen kokonaisosuus on noin 2 % ja loput 98 % tulevat kaapijoilta. Yksi bottien indikaattori on suorat pyynnöt vanhoista commiteista satunnaisissa vanhoissa haaroissa, joita ihmiset eivät todennäköisesti tarvitse. Bottien toiminta luo valtavan loiskuormituksen serveria Koska sen sijaan, että botit lataisivat kaiken koodin ja commit-historian kerran "git clone" -operaation kautta, ne lähettävät miljardeja pyyntöjä kokeillen kaikkia mahdollisia vaihtoehtoja web-käyttöliittymän kautta ja pyytäen toistuvasti samoja tietoja eri parametreilla.
Bottien estäminen IP-osoitteet ja autonomiset järjestelmät lakkasivat nopeasti toimimasta, kun botit siirtyivät lähettämään pyyntöjä miljoonilta satunnaisilta IP-osoitteilta koti- tai mobiiliverkoista, jotka oli saatu bottiverkkojen toiminnan tai selaimen lisäosien kaupallistamisen kautta. Jokainen osoite lähettää vain 4–5 pyyntöä, joten niiden estäminen palomuuritasolla on hyödytöntä.
Anubis-järjestelmä auttoi jonkin aikaa estämään botteja, mutta ajan myötä botit sopeutuivat suorittamaan Anubisin tarjoamia laskelmia. Botit oppivat muun muassa ratkaisemaan 5. vaikeustason tehtäviä, mutta vaikeustason nostaminen on ongelmallista, sillä jo taso 5 vaatii useita sekunteja laskemista ja on erittäin ärsyttävää laillisille käyttäjille.
Tämän seurauksena kernel.org-infrastruktuurin kaavinpyyntöjen palveleminen kuluttaa enemmän resursseja kuin minkään muun tyyppiset lailliset toiminnot, mukaan lukien "git clone". palvelimetMillä tahansa hetkellä 14–16 git.kernel.orgia palvelevista 90 suorittimen ytimistä on jatkuvasti varattu näyttämään Git-committeja boteille. Kuormituksen vähentämiseksi ylläpitäjät yrittävät nyt supistaa palvelun ominaisuuksia, poistaa käytöstä joitakin resursseja kuluttavia toimintoja, rajoittaa anonyymiä pääsyä ja vähentää navigoinnissa käytettävissä olevien linkkien määrää.
Lähde: opennet.ru
