• AI-robotar pressar Kernel.org – miljontals automatiska anrop varje dag

    Kernel.org, en av de viktigaste infrastrukturerna bakom utvecklingen av Linux, utsätts för miljontals automatiska förfrågningar varje dygn. En stor del tros komma från AI-relaterade insamlingsrobotar. Nu går omkring en femtedel av serverkapaciteten åt till att hantera trafiken.

    Linux utvecklas helt öppet. Källkod, ändringar, diskussioner och historik finns tillgängliga för vem som helst att läsa och ladda ner. Det är en av grundidéerna bakom öppen källkod.

    Men öppenheten har också fått en oväntad baksida.

    Kernel.org, som bland annat driver git.kernel.org och tillhandahåller en stor del av Linuxkärnans utvecklingshistorik, får i dag omkring sex miljoner förfrågningar per dygn som försöker öppna enskilda ändringar, så kallade commits.

    En mycket stor del av trafiken verkar komma från automatiserade insamlingsprogram.

    Konstantin Ryabitsev, som arbetar med Kernel.orgs infrastruktur, beskriver situationen som en ständig bakgrundsbelastning på servrarna.

    Enligt honom används omkring 14–16 processorkärnor kontinuerligt enbart till att omvandla Git-data till webbsidor åt automatiserade besökare.

    Totalt förfogar infrastrukturen över omkring 90 processorkärnor fördelade på fem geografiska platser.

    Det innebär att ungefär 20 procent av den samlade beräkningskapaciteten periodvis används för att hantera denna typ av trafik.

    Informationen finns redan att ladda ner

    Det märkliga är att nästan all information som robotarna försöker samla in redan går att hämta betydligt effektivare.

    Git är konstruerat för att hela kodarkiv ska kunna kopieras.

    Den som vill analysera Linuxkärnans utvecklingshistorik kan därför klona ett Git-arkiv och sedan arbeta med materialet lokalt.

    Även Linux Kernel Mailing List, LKML, och andra utvecklingsarkiv går att ladda ner.

    Trots det försöker många automatiserade system i stället öppna webbsidan för varje enskild kodändring.

    Det är ungefär som att vilja läsa ett uppslagsverk men, i stället för att hämta hela boken, ringa biblioteket och be personalen kopiera en enda sida åt gången – miljontals gånger.

    Problemet är att varje sådan webbsida måste skapas av servern.

    Git-datan ska hämtas, tolkas och omvandlas till HTML innan den skickas till besökaren.

    1,48 miljoner ändringar – och hundratals kopior

    Linuxkärnans huvudsakliga Git-arkiv innehåller omkring 1,48 miljoner commits.

    Men git.kernel.org innehåller dessutom hundratals så kallade forks, alltså utvecklingsgrenar och kopior som bygger på samma kodhistorik.

    Ryabitsev uppger att det finns omkring 922 sådana varianter.

    För Kernel.org är detta normalt inget större lagringsproblem eftersom samma Git-objekt kan återanvändas.

    För en webbrobot ser situationen annorlunda ut.

    Samma ändring kan förekomma under ett stort antal olika webbadresser i olika arkiv.

    Dessutom kan webbgränssnittet visa informationen på flera olika sätt: som vanlig webbsida, patch, diff, rå text och olika jämförelser mellan versioner.

    Resultatet blir ett närmast astronomiskt antal möjliga webbadresser.

    En dåligt konstruerad insamlingsrobot kan därför fortsätta följa länkar och begära nya sidor under mycket lång tid, trots att stora delar av informationen är identisk.

    Från tydliga robotar till förklädda webbläsare

    Till en början gick problemet relativt enkelt att hantera.

    Automatiserade robotar identifierade sig ofta genom sin så kallade user-agent, den text en webbläsare skickar till servern för att tala om vilket program den använder.

    Kernel.org kunde därför blockera de mest aggressiva robotarna.

    När robotarna började låtsas vara vanliga webbläsare gick administratörerna i stället över till att blockera IP-adresser.

    Även det fungerade ett tag.

    Servrar som skickade onormalt stora mängder förfrågningar kunde identifieras och spärras.

    Men även den metoden började så småningom förlora sin effekt.

    Trafiken började komma från vanliga hem

    Ett betydligt svårare problem uppstod när förfrågningarna började komma från mängder av vanliga bostads- och mobilnät.

    En enskild IP-adress kunde skicka några få anrop och sedan aldrig återkomma.

    Det gjorde traditionell IP-blockering nästan meningslös.

    Bakgrunden är marknaden för så kallade residential proxies.

    Genom sådana nätverk kan trafik skickas via vanliga internetanslutningar i hem, mobiltelefoner eller andra uppkopplade enheter.

    För en server kan trafiken därför se ut som om den kommer från helt vanliga användare.

    I vissa fall byggs proxyfunktioner in i appar och annan konsumentprogramvara. En användares internetanslutning kan då bli en del av ett kommersiellt proxynätverk.

    För Kernel.org innebär det att en automatiserad insamlingsrobot inte längre behöver komma från ett lättidentifierat datacenter.

    Den kan i stället dyka upp från tusentals eller miljontals olika konsumentanslutningar.

    Anubis skulle göra robotarna dyrare

    För att bromsa utvecklingen införde Kernel.org systemet Anubis.

    Principen bygger på så kallad proof-of-work.

    Innan en besökare får komma åt webbplatsen måste datorn utföra en mindre matematisk beräkning.

    För en människa som besöker enstaka sidor är kostnaden relativt liten.

    För en robot som vill hämta miljontals sidor kan samma beräkning däremot bli mycket kostsam.

    Till en början fungerade lösningen bra.

    Robotarna försvann i stor utsträckning.

    Men efter några månader började automatiserade system även lösa dessa beräkningsuppgifter.

    Kernel.org höjde då svårighetsgraden.

    Problemet var att även vanliga användare drabbades.

    På exempelvis en mobiltelefon kunde beräkningen ta flera sekunder och samtidigt belasta processorn så mycket att telefonen blev märkbart varm.

    Så småningom började även robotarna klara den högre svårighetsgraden.

    Två tredjedelar stoppas – resten fortsätter

    I dag stoppas omkring 66 procent av förfrågningarna redan vid Anubis-kontrollen.

    Men ungefär en tredjedel av trafiken klarar beräkningen och går vidare till själva git.kernel.org.

    Det innebär fortfarande miljontals förfrågningar.

    Det är svårt att med säkerhet skilja en automatiserad besökare från en människa när båda använder vanliga IP-adresser och beter sig som moderna webbläsare.

    Men enligt Kernel.orgs uppskattningar kan legitim mänsklig trafik utgöra så lite som omkring två procent av den totala belastningen på tjänsten.

    Ett typiskt exempel är gamla commits i övergivna utvecklingsgrenar. Det är osannolikt att tusentals människor samtidigt sitter och klickar sig igenom sådant material manuellt.

    Linuxkoden är attraktiv för AI

    En anledning till det stora intresset är att Linuxkärnans utvecklingshistorik är ett ovanligt värdefullt dataset.

    Här finns miljontals exempel på riktig programkod tillsammans med förändringar, kommentarer, diskussioner och utvecklingshistorik som sträcker sig långt tillbaka i tiden.

    Dessutom är en stor del av materialet skapat innan dagens generativa AI-system slog igenom.

    För företag som bygger eller tränar modeller för programmering är sådant material potentiellt mycket attraktivt.

    Det går däremot inte att avgöra exakt vilken organisation eller vilket ändamål som ligger bakom varje automatiserad förfrågan.

    Begreppet ”AI-crawler” används därför ofta som en samlingsbeteckning för den nya våg av aggressiva datainsamlare som blivit vanlig i takt med AI-boomen.

    Öppen information kan bli svårare att läsa på webben

    Kernel.org planerar nu ytterligare begränsningar.

    En möjlighet är att minska antalet webbadresser som automatiserade system kan följa.

    Vissa funktioner som kräver mycket serverkapacitet kan också komma att begränsas för anonyma besökare.

    Det betyder inte att Linux utvecklingsdata ska göras privat.

    Tvärtom betonar Kernel.org att källkod och historik även fortsättningsvis ska gå att ladda ner.

    Skillnaden är att den som vill samla in mycket stora datamängder kan behöva använda effektivare metoder, exempelvis Git, i stället för att begära miljontals individuellt genererade webbsidor.

    Ett växande problem för det öppna internet

    Kernel.org är långt ifrån ensamt.

    Webbplatser, arkiv, dokumentationsprojekt och olika open source-tjänster har under de senaste åren rapporterat kraftigt ökande belastning från automatiserade insamlingsrobotar.

    Problemet skapar en svår balansgång.

    Internet och öppen källkod bygger i stor utsträckning på att information ska vara tillgänglig.

    Samtidigt kostar varje serverförfrågan resurser i form av processorkraft, bandbredd och elektricitet.

    När en människa öppnar några sidor är kostnaden försumbar.

    När ett automatiserat system gör samma sak miljontals gånger förändras situationen helt.

    För Kernel.org har den skillnaden nu blivit mycket konkret: en betydande del av infrastrukturen arbetar dygnet runt med att skapa webbsidor åt automatiserade system – trots att samma information redan går att ladda ner betydligt effektivare.

    Det är ett exempel på en ny konflikt på nätet.

    Frågan är inte längre bara vem som får läsa offentlig information.

    Den handlar också om hur mycket resurser en maskin ska få använda för att läsa den.

    https://people.kernel.org/monsieuricon/creepy-crawlies

    > FAKTA: AI-TRAFIKEN MOT KERNEL.ORG

    Dagliga förfrågningar: cirka 6 miljoner

    Stoppas av Anubis: cirka 66 %

    Förfrågningar som tar sig igenom: cirka 33 %

    Beräknad legitim trafik: omkring 2 %

    Serverkapacitet: 90 CPU-kärnor på fem geografiskt distribuerade noder

    Kapacitet som används för scrapers: cirka 14–16 CPU-kärnor kontinuerligt

    Andel av total CPU-kapacitet: omkring 20 %

    Linux huvudarkiv: cirka 1,48 miljoner commits

    Forks på git.kernel.org: omkring 922

    root@kernel.org:~$ Problemet är inte att informationen är hemlig – den går redan att hämta via Git. Belastningen uppstår när automatiserade system begär miljontals individuellt renderade webbsidor.

Etikett: bots

  • AI-robotar pressar Kernel.org – miljontals automatiska anrop varje dag

    Kernel.org, en av de viktigaste infrastrukturerna bakom utvecklingen av Linux, utsätts för miljontals automatiska förfrågningar varje dygn. En stor del tros komma från AI-relaterade insamlingsrobotar. Nu går omkring en femtedel av serverkapaciteten åt till att hantera trafiken. Linux utvecklas helt öppet. Källkod, ändringar, diskussioner och historik finns tillgängliga för vem som helst att läsa och…