Jak oznaczać treści AI, by nie dostać kary? Zapisz się na bezpłatne szkolenie o AI Act
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
17 sierpnia startuję Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂
Jak oznaczać treści AI, by nie dostać kary? Zapisz się na bezpłatne szkolenie o AI Act
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
17 sierpnia startuję Dni Otwarte Sekurak.Academy. Dołącz bezpłatnie 🙂
Podczas tegorocznej edycji konferencji DEF CON 34 badacze z firmy Tenet Security zaprezentowali, jak łatwo można zmusić agentów AI do wykonania konkretnej czynności. Atak nazwany GhostJacking (będący rozwinięciem znanej techniki AgentJacking) polega na zatruwaniu treści w zaufanych środowiskach (logi, alerty bezpieczeństwa, raporty błędów, zgłoszenia incydentów), tak aby analizujący je agent wykonał polecenia przemycone przez cyberprzestępców.
TLDR:
Pokazany schemat ataku wykorzystuje fakt, że modele językowe już nie tylko odczytują dane z systemów monitorujących oraz zabezpieczających infrastrukturę, ale również mogą reagować niemal natychmiast na zaistniałe zdarzenia. Wystarczyło umieścić złośliwe instrukcje w samej telemetrii, aby agent zinterpretował je jako polecenie i skrupulatnie wykonał w systemie. Oczywiście w kontekście posiadanych uprawnień.
Zaprezentowany mechanizm jest uniwersalny i działa niezależnie od dostawcy środowiska. Badacze przeprowadzili testy na platformach Cloudflare, Datadog oraz Sentry. Wyniki nie napawają optymizmem, każde z powyższych rozwiązań okazało się podatne.
W jednym ze scenariuszy firma Tenet wykorzystali żądanie, które zapora sieciowa (Cloudflare) poprawnie zablokowała i odnotowała w logach. Choć mechanizm bezpieczeństwa zadziałał prawidłowo, to na skutek analizy logów przeprowadzonej przez agenta AI udało się zmienić konfigurację DNS firmy, skutecznie przejmując kontrolę nad domeną.

Inny scenariusz zaprezentowany przez badaczy polegał na umieszczeniu złośliwych instrukcji w fałszywym alercie diagnostycznym w systemie Datadog. Agent bezkrytycznie wykonał ukryte w alercie polecenia, co pozwoliło na przejęcie sekretów środowiskowych, tokenów dostępu oraz poświadczeń do serwisów chmurowych.
Ostatni przykład pokazał atak na ekosystem złożony z kilku agentów AI. Wykorzystano do tego celu złośliwy raport z Sentry. Agent wbudowany w system wygenerował “poprawkę” opartą na spreparowanym kontekście, a następnie przekazał ją do innego agenta odpowiadającego za kwestie programistyczne. Ten z kolei uznał ją za wiarygodną i automatycznie wdrożył w systemie.
Zaprezentowane schematy ataku są szczególnie niebezpieczne, ponieważ nie wykorzystują pojedynczej, konkretnej luki bezpieczeństwa tylko wynikają bezpośrednio z błędów w samej architekturze rozwiązań agentowych. Sztuczna inteligencja odczytuje dane z zewnętrznych systemów, bezkrytycznie zakłada, że są one zaufane (co jest fundamentalnym błędem), a następnie podejmuje na ich podstawie konkretne działania. Często są one związane z modyfikacją konfiguracji infrastruktury, uruchomieniem dowolnego kodu lub eksfilatracją sekretów.
Co więcej, w zaprezentowanych scenariuszach ataku nie dochodzi do nieautoryzowanego dostępu. To sam agent, korzystając ze swoich uprawnień wykonuje złośliwe polecenia przesyłane przez atakującego.
Projektując aplikacje używające agentów AI należy pamiętać o zasadzie least privilege. Agent pracujący z artefaktami przetwarzanymi przez system nie powinien mieć możliwość wykonywania zmian w infrastrukturze. A co najważniejsze, w całym tym procesie musi być obecny człowiek, który zaakceptuje zasugerowane poprawki lub je odrzuci.
Należy pamiętać, że zarówno nagłówki żądania User-Agent, Referer, jak i komunikaty błędów należy zawsze traktować w taki sam sposób zakładając, że są to niezweryfikowane dane wejściowe od użytkownika.
Źródło: tenetsecurity.ai/blog
~_secmike