LLMjacking

Co je LLMjacking?

LLMjacking je útok, při kterém útočník zneužije odcizené přihlašovací údaje, API klíče nebo nezabezpečená rozhraní k tomu, aby na cizí účet využíval velké jazykové modely (LLM) a další služby umělé inteligence. Výpočetní kapacitu i kvóty modelů spotřebovává útočník nebo ten, komu přístup přeprodá, zatímco účet za ně platí majitel kompromitovaného účtu. Název vznikl spojením zkratky „LLM“ a slova „hijacking“, tedy „únos“. LLMjacking má podobný princip jako cryptojacking. Kromě financí může být motivací k LLMjackingu nedostupnost konkrétní AI služby v určité zemi nebo omezení obsahu, který modely mohou vytvářet.

Podstata LLMjackingu

Poskytovatelé modelů AI účtují služby podle skutečné spotřeby, obvykle podle počtu zpracovaných tokenů. Přístup k modelu přitom zajišťuje API klíč nebo přihlašovací údaje k cloudovému účtu. Kdo je získá, může modely volat stejně jako jejich oprávněný majitel. Poskytovatel obvykle nedokáže spolehlivě rozpoznat, že požadavek neodeslal zákazník, ale útočník. Odpovědnost za ochranu přihlašovacích údajů leží v modelu sdílené odpovědnosti na zákazníkovi.

Na rozdíl od běžné kompromitace cloudových služeb nemusí útočník při LLMjackingu spouštět vlastní servery, instalovat škodlivý kód ani zasahovat do infrastruktury oběti. Stačí mu posílat požadavky na rozhraní, které už organizace používá nebo které si může snadno zpřístupnit. Takový provoz se na první pohled neliší od legitimního používání a organizace se o útoku často dozví až z faktury nebo z upozornění na překročení rozpočtu.

Útočníci obvykle odcizený přístup nevyužívají sami, ale nabízejí ho dalším zájemcům. Používají k tomu reverzní proxy servery, které shromažďují desítky až stovky odcizených klíčů k různým službám a navenek se tváří jako jediné rozhraní. Uživatel proxy serveru získá na základě svého účtu přístup k modelům různých poskytovatelů, aniž by znal příslušné klíče nebo věděl, komu patří.

Historie a vývoj

Termín LLMjacking zavedl tým Sysdig Threat Research Team, který v květnu 2024 popsal útok zahájený zneužitím zranitelnosti v PHP frameworku Laravel. Útočníci z napadeného systému získali přihlašovací údaje ke cloudovému účtu a ověřovali s nimi přístup k modelům řady poskytovatelů AI služeb. Na podzim 2024 zařadila společnost MITRE LLMjacking do znalostní báze ATT&CK jako příklad techniky Cloud Service Hijacking, spadající pod zneužití prostředků (Resource Hijacking).

Průběh útoku

Konkrétní podoba útoku závisí na prostředí oběti, typický průběh LLMjackingu však zahrnuje tyto kroky:

  1. Získání přístupu – útočník získá API klíč nebo přihlašovací údaje ke cloudovému účtu. Nejčastějším zdrojem jsou klíče omylem zveřejněné ve zdrojovém kódu, v konfiguračních souborech nebo v mobilních aplikacích. Útočníci je mohou získat také zneužitím zranitelností webových aplikací, odcizit je pomocí malwaru (infostealeru) nebo phishingem zaměřeným na vývojáře.
  2. Ověření a průzkum – automatizované skripty prověří, zda klíč funguje, ke kterým modelům umožňuje přístup, jaké má limity a kolik už majitel za služby utrácí. Útočníci přitom volí metody, které nevyvolávají náklady ani upozornění.
  3. Rozšíření přístupu – pokud má klíč dostatečná oprávnění, aktivuje útočník další modely, zvýší kvóty a vytvoří nové uživatele nebo klíče. Současně se snaží deaktivovat nebo obejít zaznamenávání své činnosti.
  4. Zpeněžení – ověřené přístupy útočník zapojí do proxy serveru a nabídne je dalším uživatelům, případně je prodá. Kupující pak model používají, dokud majitel útok neodhalí a klíče nezneplatní.

Experimenty bezpečnostních firem, které záměrně zveřejnily funkční přístupové klíče ke cloudovým službám, ukázaly, že se útočníci pokusí klíče použít už během několika minut po jejich zveřejnění. Jako první přitom zjišťují náklady účtu a dostupnost modelů AI.

Motivace útočníků

Za LLMjackingem stojí různé typy útočníků s odlišnými motivy:

  • Finanční zisk z přeprodeje přístupu, který útočníka nic nestojí. LLMjacking vytvořil černý trh, na kterém se přístup k modelům nabízí formou služby podobně jako jiné nástroje v ekosystému kyberkriminality jako služby (Cybercrime as a Service, CaaS).
  • Úspora nákladů pro uživatele, kteří nechtějí za modely platit nebo si je nemohou dovolit, zejména pro rozsáhlé konverzace.
  • Obcházení sankcí a regionálních omezení, protože někteří poskytovatelé své služby v řadě zemí nenabízejí.
  • Obcházení obsahových omezení poskytovatelů. Uživatelé proxy serverů často generují obsah, který by na vlastním účtu vytvořit nemohli. LLMjacking zde úzce souvisí s jailbreakingem modelů AI.
  • Zakrytí vlastní identity při zneužívání AI k další trestné činnosti, například k tvorbě phishingových zpráv, dezinformací nebo škodlivého kódu. Zneužití účtu jiné organizace ztěžuje dohledání skutečného pachatele.

Dopady LLMjackingu

Nejviditelnějším dopadem jsou přímé finanční ztráty. Modely AI se účtují podle spotřeby, takže náklady rostou s každým požadavkem a během několika dnů mohou dosáhnout v přepočtu i milionů korun. Pokud útok probíhá v účtu bez nastavených rozpočtových limitů, organizace se o něm může dozvědět až po skončení zúčtovacího období.

Útok ale může zasáhnout i dostupnost služeb organizace. Po vyčerpání kvót přestanou fungovat aplikace oběti, které na modelech AI závisejí. Tento typ rizika se označuje jako neomezená spotřeba (Unbounded Consumption) a zahrnuje i útoky označované jako denial of wallet, tedy vyčerpání finančních prostředků oběti.

Vážné mohou být i právní a reputační následky. Obsah, který útočníci prostřednictvím účtu vytvoří, je spojen s identitou oběti. Pokud jde o obsah porušující podmínky poskytovatele, může poskytovatel účet zablokovat a organizace pak přijde o přístup ke službám, na kterých je závislá. Útočník s dostatečnými oprávněními může navíc číst záznamy konverzací nebo data, se kterými modely v rámci účtu pracují.

Samotné odcizení klíče bývá často jen vstupní branou. Přihlašovací údaje, které umožňují volat modely AI, mohou otevírat přístup i k dalším cloudovým službám. LLMjacking tak může být prvním signálem rozsáhlejší kompromitace cloudového prostředí.

LLMjacking může útočníkům posloužit i jako zdroj výpočetní kapacity pro další útoky. Výzkumníci už popsali útočný nástroj, který jako rozhodovací jádro využíval volně přístupný server s jazykovým modelem bez ověřování. Model v něm samostatně vyhodnocoval cíle, vyhledával odpovídající zranitelnosti a připravoval kód pro jejich zneužití.

Souvislosti LLMjackingu s dalšími hrozbami

LLMjacking je nejbližším příbuzným cryptojackingu a obecně neoprávněného coinminingu na cizí infrastruktuře. V obou případech útočník spotřebovává cizí prostředky a náklady nese oběť. Rozdíl spočívá v tom, že LLMjacking cloudových služeb nevyžaduje instalaci žádného softwaru a nezvyšuje zátěž systémů oběti. Nelze jej proto odhalit sledováním výkonu serverů, ale jen sledováním volání cloudových služeb a výdajů.

Získání a rozšíření přístupu často souvisí s eskalací oprávnění. Útočník s klíčem, který má administrátorská práva, si může v cloudovém účtu vytvořit vlastní identity a zpřístupnit modely, ke kterým původní aplikace přístup neměla. Podobně jako u útoků na dodavatelský řetězec může jediný klíč uniklý od dodavatele nebo vývojáře ohrozit celou organizaci.

Častým zdrojem uniklých klíčů je shadow AI. Zaměstnanci a vývojáři, kteří s modely AI experimentují mimo dohled IT, vytvářejí klíče s širokými oprávněními a bez omezení rozpočtu a ukládají je do kódu, skriptů nebo sdílených dokumentů.

Obrana proti LLMjackingu

Před LLMjackingem se lze bránit pouze důslednou ochranou přihlašovacích údajů a průběžným sledováním spotřeby služeb velkých jazykových modelů:

  • Správa přístupu zahrnuje ukládání klíčů do specializovaných trezorů namísto zdrojového kódu a konfiguračních souborů, automatické prohledávání repozitářů a zabránění zveřejnění klíče už při ukládání kódu.
  • Krátkodobé přihlašovací údaje nahrazují dlouhodobé statické klíče dočasnými tokeny nebo přístupem prostřednictvím rolí, jak to odpovídá konceptu just in time. Odcizený údaj s krátkou platností má pro útočníka jen omezenou hodnotu.
  • Princip minimálních oprávnění znamená, že klíč pro aplikaci smí volat jen konkrétní modely a nemůže aktivovat další služby, vytvářet uživatele ani měnit nastavení zaznamenávání činnosti.
  • Rozpočtové limity a kvóty omezují maximální možnou útratu. Upozornění na neobvyklý nárůst výdajů a detekce anomálií ve spotřebě pomáhají odhalit útok během několika hodin, nikoli až z měsíční faktury.
  • Zaznamenávání a monitorování volání modelů umožňuje rozpoznat neobvyklé chování, například požadavky z nových IP adres a regionů, používání nových modelů, pokusy o vypnutí záznamů nebo náhlý nárůst objemu požadavků. Na tyto signály může navazovat automatizovaná reakce na incidenty, která podezřelý klíč okamžitě zneplatní.
  • Zabezpečení vlastních modelů vyžaduje, aby servery s jazykovými modely nebyly bez ověření přístupné z internetu a byly chráněny stejně jako ostatní citlivé služby. Některé nástroje pro lokální provoz modelů nemají vlastní ověřování uživatelů, takže po zpřístupnění do sítě je může použít kdokoli.
  • Správa zranitelností a ochrana koncových zařízení vývojářů omezuje nejčastější způsoby, kterými útočníci klíče získávají.

Pokud k LLMjackingu dojde, je nutné kompromitované klíče okamžitě zneplatnit, prověřit všechny změny v cloudovém účtu, zejména nově vytvořené identity a aktivované modely, a ověřit, k jakým dalším službám měl útočník přístup.

Budoucí vývoj LLMjackingu

LLMjacking se z ojedinělých případů změnil v organizovanou činnost s vlastním trhem, nástroji a komunitami. S rostoucím počtem modelů, poskytovatelů a aplikací, které modely AI využívají, přibývá i klíčů, které mohou uniknout. Nové modely přitom útočníci zapojují do svých nástrojů už během několika dnů od jejich vydání.

Rostoucí riziko představují modely provozované přímo organizacemi. Na internetu je veřejně dostupné velké množství serverů s nástroji pro lokální provoz modelů a mnohé z nich podporují volání externích nástrojů. Napadení takového serveru nemusí znamenat jen zneužití výpočetního výkonu, ale také spuštění akcí v systémech, ke kterým je model připojen