Povzetek
V zadnjem obdobju opažamo porast avtomatiziranega pridobivanja (strganja, ang. scraping) vsebin s spletnih strani, pri čemer se zbrani podatki uporabljajo za treniranje velikih jezikovnih modelov (LLM – Large Language Models). V nekaterih primerih je lahko strganje vsebin tako obsežno, da povzroči težave v delovanju spletnega strežnika, in povzroči enak učinek kot DDoS napad.
Opis
Razvijalci orodij umetne inteligence za treniranje modelov potrebujejo ogromne količine podatkov, ki jih pogosto zbirajo z avtomatiziranimi boti. Ti boti obiskujejo spletne strani, kopirajo vsebine in jih nato vključijo v učne zbirke podatkov. Medtem ko je strganje podatkov v določenih okoliščinah pričakovano in običajno (npr. za arhiviranje ali potrebe spletnih iskalnikov), in ne povzroča težav, opažamo da boti, ki so uporabljeni za namen treniranja LLM modelov (v nadaljevanju AI boti), pogosto strgajo vsebine izredno obsežno in intenzivno. To lahko povzroči povečano obremenitev strežnikov in posledično motnje v delovanju spletnih mest. Pri tem opažamo, da AI boti v veliko primerih ne upoštevajo smernic strganja podatkov, ki jih vnaprej definirajo upravljavci, in lahko izvajajo aktivnosti, ki so bolj značilne za zlonamerne napade.
Med te aktivnosti lahko sodijo:
- neupoštevanje pravil strganja podatkov iz datoteke robots.txt;
- uporaba User-Agent vrednosti v glavi HTTP zahtevka, ki ne identificira bota, ampak je značilna za običajne brskalnike;
- uporaba večjega števila različnih User-Agent vrednosti;
- uporaba velikega števila različnih IP naslovov iz različnih omrežij;
- obvod morebitne blokade s pomočjo uporabe novih IP naslovov;
- uporaba lokalnih IP naslovov v primeru geoblokade.
Priporočila
Upravljavci spletnih strani se lahko na sporen promet vnaprej pripravijo s pomočjo različnih ukrepov, s katerimi lahko precej zmanjšajo možnost težav v času strganja podatkov. Med te ukrepe spadajo:
- omejitev dostopa z uporabo datoteke robots.txt, gl. primer na https://github.com/ai-robots-txt/ai.robots.txt. Ta datoteka je sicer namenjena zgolj podajanju smernic za robote in pravila v njej ne odsevajo dejanske zaščite vsebine na spletnem strežniku. Čeprav ta metoda ni zavezujoča, jo spoštujejo mnogi legitimni iskalni boti;
- uporaba zaščitnih mehanizmom na ravni spletne aplikacije, npr. CAPTHCA preverjanje;
- uporaba požarnega zidu za spletne aplikacije – WAF (Web Application Firewall), npr. apache modula mod_evasive in mod_security;
- preverite možnosti zaščite, ki jo nudi ponudnik gostovanja. Nekateri ponudniki gostovanja (tudi ponudniki t.i. reverse proxy storitev) že ponujajo enostavno možnost blokade AI botov.
V času povečanega prometa analizirajte dnevniške datoteke spletnega strežnika in poskušajte identificirati skupni imenovalec AI botov ter ga blokirajte na ustreznem nivoju (požarni zid, spletni strežnik, IPS…), npr.:
- blokada IP naslovov posameznih AI botov;
- blokada skupnega omrežja večjega števila AI botov;
- blokada odjemalcev na podlagi sporočenega polja User-Agent v glavi HTTP zahtevka;
- geoblokada (blacklisting) dostopa za določene države, oz. omogočanje dostopa samo za posamezne države (whitelisting)
Nekateri viri omenjajo tudi uporabo orodij, ki aktivno posežejo v delovanje AI botov, npr. na način, da jih obremenijo z neustreznimi oz. nesmiselnimi podatki (t.i. tar-pit orodja). Teh orodij na SI-CERT ne poznamo, odločitev o njihovi uporabi prepuščamo upravljavcem spletnih mest.
Zunanje povezave
- https://news.ycombinator.com/item?id=42549624
- https://github.com/ai-robots-txt/ai.robots.txt
- https://www.dev4press.com/blog/tutorials/2024/stop-ai-and-llm-bots-from-scrapping-your-website-content/
- https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/
- https://www.crowdsec.net/blog/protect-against-ai-crawlers
- https://developer.mozilla.org/en-US/docs/Glossary/Robots.txt
- https://radiostudent.si/druzba/tehno-klistir/vsiljivi-pajki