Ciągłe wzmacnianie zabezpieczeń ChatGPT Atlas przed atakami typu „wstrzykiwanie poleceń”
Zautomatyzowane testy z udziałem zespołu czerwonego – wspieranie przez uczenie przez wzmacnianie – pomagają nam aktywnie wykrywać i usuwać rzeczywiste luki w zabezpieczeniach agentów, zanim zostaną one wykorzystane w warunkach rzeczywistych.
Tryb agenta w przeglądarce ChatGPT Atlas jest jedną z najbardziej uniwersalnych funkcji agenta, jakie dotychczas wprowadziliśmy. W tym trybie agent przeglądarki wyświetla strony internetowe i wykonuje czynności, kliknięcia oraz naciśnięcia klawiszy w przeglądarce, tak jak robiłby to użytkownik. Dzięki temu ChatGPT może pracować bezpośrednio nad wieloma codziennymi zadaniami, korzystając z tej samej przestrzeni, kontekstu i danych.
Jako że agent przeglądarki pozwala użytkownikom wykonywać coraz więcej zadań, staje się on zarazem coraz bardziej atrakcyjnym celem dla ataków adwersarialnych. To sprawia, że bezpieczeństwo sztucznej inteligencji nabiera szczególnego znaczenia. Na długo przed uruchomieniem przeglądarki ChatGPT Atlas nieustannie budowaliśmy i wzmacnialiśmy zabezpieczenia przed nowymi zagrożeniami, które były skierowane konkretnie przeciwko nowemu paradygmatowi „agenta w przeglądarce”. Wstrzykiwanie poleceń (prompt injection) jest jednym z najważniejszych zagrożeń, przed którym staramy się aktywnie chronić, aby zapewnić bezpieczne działanie przeglądarki ChatGPT Atlas dla użytkowników.
W ramach tych działań niedawno udostępniliśmy aktualizację zabezpieczeń dla agenta przeglądarki Atlas zawierającą nowy model wytrenowany adwersarialnie oraz wzmocnione zabezpieczenia dodatkowe. Ta aktualizacja powstała w następstwie wykrycia nowej klasy ataków typu „wstrzykiwanie poleceń” podczas naszych wewnętrznych automatycznych testów penetracyjnych.
W tym poście wyjaśniamy, w jaki sposób może powstać ryzyko związane z wstrzyknięciem poleceń w przypadku agentów internetowych, a także przedstawiamy pętlę szybkiego reagowania, którą tworzymy w celu nieustannego wykrywania nowych rodzajów ataków i szybkiego wprowadzania środków zaradczych – czego wyrazem jest niedawna aktualizacja zabezpieczeń.
Postrzegamy wstrzykiwanie poleceń jako długoterminowe wyzwanie związane z bezpieczeństwem sztucznej inteligencji i będziemy musieli nieustannie wzmacniać nasze zabezpieczenia przed atakami tego typu (podobnie jak w przypadku stale ewoluujących oszustw internetowych, których celem są ludzie). Nasz najnowszy cykl szybkiego reagowania już na wczesnym etapie okazuje się obiecującym narzędziem w ramach tej misji: odkrywamy nowe strategie ataków wewnętrznie, zanim pojawią się one w środowisku zewnętrznym. Nasza długoterminowa wizja polega na pełnym wykorzystaniu (1) naszego dostępu do wnętrza naszych modeli, (2) dogłębnego zrozumienia naszych zabezpieczeń oraz (3) skali obliczeniowej, aby być o krok przed zewnętrznymi atakującymi – poprzez wykrywanie luk w zabezpieczeniach na wcześniejszym etapie, szybsze wprowadzanie środków zaradczych i ciągłe usprawnianie procesu. W połączeniu z pionierskimi badaniami nad nowymi technikami przeciwdziałania wstrzykiwaniu poleceń i wzmożonymi inwestycjami w inne środki kontroli bezpieczeństwa ten cykliczny proces może sprawić, że ataki staną się coraz trudniejsze i kosztowne, co znacznie zmniejszy rzeczywiste ryzyko wystąpienia ataków polegających na wstrzyknięciu polecenia w świecie rzeczywistym. Naszym ostatecznym celem jest, aby użytkownicy mogli zaufać agentowi ChatGPT w zakresie korzystania z przeglądarki tak samo, jak ufają kompetentnym i świadomym kwestii bezpieczeństwa współpracownikom lub znajomym.
Atak polegający na wstrzyknięciu polecenia jest kierowany przeciwko agentom AI poprzez osadzenie złośliwych instrukcji w treści przetwarzanej przez agenta. Instrukcje te mają na celu zastąpienie lub przekierowanie zachowania agenta – przejęcie kontroli nad nim, tak aby realizował zamiary atakującego, a nie użytkownika.
W przypadku agenta przeglądarki, takiego jak ten w ChatGPT Atlas, wstrzyknięcie polecenia stanowi nowe zagrożenie wykraczające poza tradycyjne ryzyka związane z bezpieczeństwem w sieci (takie jak błędy użytkowników lub luki w oprogramowaniu). Zamiast atakować ludzi metodą phishingową lub wykorzystywać luki w zabezpieczeniach przeglądarki atakujący bierze na cel agenta działającego w jej obrębie.
W hipotetycznym przykładzie osoba atakująca mogłaby wysłać złośliwą wiadomość e-mail, próbując nakłonić agenta do zignorowania prośby użytkownika i przekazania poufnych dokumentów podatkowych na adres e-mail kontrolowany przez hakera. Jeśli użytkownik poprosi agenta o przejrzenie nieprzeczytanych wiadomości e-mail i podsumowanie kluczowych kwestii, agent może pobrać tę złośliwą wiadomość e-mail podczas wykonywania zadania. Jeśli zastosuje się do wstrzykniętych instrukcji, może zboczyć z wyznaczonego zadania i błędnie udostępnić poufne informacje.
To tylko jeden konkretny scenariusz. Ta sama ogólność, która zapewnia użyteczność agentów przeglądarek, zwiększa również ryzyko: agent może natknąć się na niezaufane instrukcje na praktycznie nieograniczonej powierzchni – wiadomościach e-mail i załącznikach, zaproszeniach z kalendarza, udostępnionych dokumentach, forach, postach w mediach społecznościowych i dowolnych stronach internetowych. Ponieważ agent może wykonywać wiele takich samych czynności, jakie użytkownik może wykonać w przeglądarce, skutki udanego ataku mogą być hipotetycznie równie rozległe: przekazywanie poufnych wiadomości e-mail, wysyłanie pieniędzy, edytowanie lub usuwanie plików w chmurze i nie tylko.
Jak informowaliśmy we wcześniejszym poście, poczyniliśmy postępy w zakresie ochrony przed atakami typu wstrzykiwanie poleceń dzięki zastosowaniu wielopoziomowych zabezpieczeń. Jednak wstrzykiwanie poleceń pozostaje otwartym wyzwaniem dla bezpieczeństwa agentów i przewidujemy, że będziemy pracować nad tą kwestią jeszcze przez wiele lat.
Aby wzmocnić nasze zabezpieczenia, nieustannie wyszukujemy nowe rodzaje ataków polegające na wstrzykiwaniu poleceń przeciwko systemom agentowym w środowisku produkcyjnym. Wykrywanie tych ataków jest niezbędnym warunkiem wstępnym do opracowania skutecznych środków zaradczych. Pomaga nam zrozumieć rzeczywiste ryzyko, ujawnia luki w naszych zabezpieczeniach i skłania do wprowadzenia konkretnych poprawek.
Aby osiągnąć to na dużą skalę, stworzyliśmy automatycznego atakującego opartego na LLM i wytrenowaliśmy go do wyszukiwania ataków typu wstrzykiwanie poleceń, które mogą skutecznie zaatakować agenta przeglądarki. Wyszkoliliśmy tego atakującego od początku do końca za pomocą uczenia przez wzmacnianie, dzięki czemu uczy się on na podstawie własnych sukcesów i porażek, aby poprawić swoje umiejętności w zakresie testów z udziałem zespołu czerwonego . Pozwalamy również na „wypróbowanie przed wprowadzeniem”, co oznacza, że podczas procesu rozumowania atakujący może zaproponować potencjalne wstrzyknięcie i wysłać je do zewnętrznego symulatora. Symulator przeprowadza kontrfaktyczną symulację przebiegu działania, w której docelowy agent ofiary (obrońca) zachowuje się tak, jakby otrzymał wstrzyknięcie, a następnie zwraca pełny ślad rozumowania i działań agenta ofiary. Atakujący wykorzystuje ten ślad jako informację zwrotną, powtarza atak i ponownie uruchamia symulację, powtarzając tę pętlę wielokrotnie, zanim przystąpi do ostatecznego ataku. Dzięki temu atakujący otrzymuje bogatsze informacje zwrotne w danym kontekście niż w przypadku pojedynczego sygnału powodzenia/niepowodzenia. Zwiększa to również zasoby obliczeniowe atakującego w czasie testów. Ponadto uprzywilejowany dostęp do śladów rozumowania obrońcy (których nie ujawniamy użytkownikom zewnętrznym) daje naszemu wewnętrznemu atakującemu asymetryczną przewagę – zwiększa jego szanse, że ubiegnie zewnętrznych przeciwników.
Dlaczego stosujemy uczenie przez wzmacnianie (RL)? Wybraliśmy uczenie przez wzmacnianie do treningu automatycznego atakującego z wielu powodów:
- Optymalizacja długoterminowych i nieciągłych celów atakujących. Naszym celem jest wyszukiwanie ataków typu wstrzykiwanie poleceń, które mogą nakłonić agenta do wykonania zaawansowanych zadań adwersarialnych (np. wysyłanie e-maili, transakcje bankowe), które mogą mieć miejsce w rzeczywistości. Te zadania adwersarialne są z natury długoterminowe, wymagają wielu kroków rozumowania i interakcji z otoczeniem oraz mają rzadkie i opóźnione sygnały sukcesu. Uczenie przez wzmacnianie jest dobrze dostosowane do tej struktury rzadkich i opóźnionych nagród.
- Wykorzystanie najnowszych możliwości LLM. Wytrenowaliśmy pionierskie modele LLM bezpośrednio jako automatyczne czerwone zespoły, dzięki czemu atakujący zyskuje bezpośrednie korzyści płynące z ulepszeń w zakresie rozumowania i planowania w pionierskich modelach. Wraz ze wzrostem mocy modeli podstawowych atakujący naturalnie staje się bardziej skuteczny, co pozwala w sposób skalowalny wywierać presję na nasze systemy obronne w miarę ewolucji naszych modeli.
- Skalowanie mocy obliczeniowej i naśladowanie adaptacyjnych atakujących. Uczenie przez wzmacnianie doskonale sprawdza się w skalowaniu obliczeń poświęconych na wyszukiwanie ataków przy dużej liczbie prób i etapów uczenia się, a także ściśle odzwierciedla sposób działania adaptacyjnych atakujących: iteracyjne testowanie strategii, wyciąganie wniosków z wyników i wzmacnianie pomyślnych zachowań.
Nasz zautomatyzowany atakujący potrafi odkrywać nowe, realistyczne ataki wstrzyknięcia polecenia od początku do końca. W przeciwieństwie do większości wcześniejszych automatycznych testów z udziałem zespołu czerwonego, które ujawniały proste błędy, takie jak wywołanie określonych ciągów danych wyjściowych lub uruchomienie niezamierzonego jednokrokowego wywołania narzędzia przez agenta, nasz atakujący wyszkolony z wykorzystaniem uczenia przez wzmacnianie może nakłonić agenta do wykonania zaawansowanych, długoterminowych szkodliwych procedur, które rozwijają się w ciągu dziesiątek (a nawet setek) kroków. Zaobserwowaliśmy również nowe strategie ataku, które nie pojawiły się w naszej kampanii testów z udziałem zespołów czerwonych ani w zewnętrznych raportach.
Poniższa demonstracja przedstawia wykorzystanie konkretnej luki poprzez wstrzyknięcia polecenia, wykryte przez naszego zautomatyzowanego atakującego, które następnie wykorzystaliśmy do dalszego wzmocnienia zabezpieczeń przeglądarki ChatGPT Atlas. Atakujący wprowadza do skrzynki odbiorczej użytkownika złośliwą wiadomość e-mail zawierającą wstrzyknięcie polecenia, które nakazuje agentowi wysłać list rezygnacyjny do dyrektora generalnego pracodawcy użytkownika. Później, gdy użytkownik prosi agenta o sporządzenie odpowiedzi z informacją o nieobecności, agent natyka się na wiadomość podczas normalnego wykonywania zadania, traktuje wstrzyknięte polecenie jako autentyczne i wykonuje je. Nie wysyła się informacji o nieobecności w biurze, zamiast tego agent składa rezygnację w imieniu użytkownika.

1. Poproszenie agenta o pomoc w zarządzaniu pocztą e-mail

2. Otwarcie ostatniej nieprzeczytanej wiadomości e-mail przez agenta

3. Wiadomość e-mail zawiera złośliwe instrukcje

4. Wysłanie przez agenta niezamierzonej wiadomości e-mail z rezygnacją

5. Po aktualizacji zabezpieczeń tryb agenta skutecznie wykrywa próbę wstrzyknięcia polecenia
Charakter wstrzykiwania poleceń sprawia, że deterministyczne gwarancje bezpieczeństwa są trudne do osiągnięcia, ale dzięki skalowaniu naszych automatycznych badań nad bezpieczeństwem, testów adwersarialnych i usprawnieniu naszej pętli szybkiego reagowania jesteśmy w stanie poprawić odporność i zabezpieczenia modelu – zanim dojdzie do ataku w rzeczywistych warunkach.
Udostępniamy tę demonstrację, aby użytkownicy i badacze mogli lepiej zrozumieć charakter tych ataków oraz sposób, w jaki aktywnie się przed nimi bronimy. Uważamy, że stanowi to granicę możliwości automatycznych testów z udziałem zespołu czerwonego i bardzo się cieszymy, mogąc dalej prowadzić te badania.
Nasze zautomatyzowane testy z udziałem zespołu czerwonego stymulują proaktywną pętlę szybkiego reagowania – gdy zautomatyzowany atakujący odkrywa nową klasę skutecznych ataków typu wstrzykiwanie poleceń, natychmiast tworzy konkretny cel dla ulepszenia zabezpieczeń.
Trening adwersarialny w celu ochrony przed nowo wykrytymi rodzajami ataków. Nieustannie trenujemy zaktualizowane modele agentów w oparciu o naszego najlepszego automatycznego atakującego — nadając priorytet atakom, na które docelowe agenty są obecnie podatne. Celem jest nauczenie agentów ignorowania wrogich instrukcji i postępowania zgodnie z intencjami użytkownika, zwiększając odporność na nowo odkryte strategie wstrzykiwania poleceń. To „wbudowuje” odporność na nowe, silne ataki bezpośrednio w punkcie kontrolnym modelu. Na przykład niedawne zautomatyzowane testy z udziałem zespołu czerwonego bezpośrednio doprowadziły do stworzenia nowego, wytrenowanego adwersarialnie punktu kontrolnego agenta przeglądarki, który został już wdrożony dla wszystkich użytkowników ChatGPT Atlas. Pozwala to skuteczniej chronić naszych użytkowników przed nowymi rodzajami ataków.
Wykorzystanie śladów ataków do poprawy szerszego stosu zabezpieczeń. Wiele ścieżek ataku odkrytych przez nasz zautomatyzowany test z udziałem zespołu czerwonego ujawnia również możliwości poprawy poza samym modelem – na przykład w zakresie monitorowania, instrukcji bezpieczeństwa, które umieściliśmy w kontekście modelu, a także zabezpieczeń na poziomie systemu. Te ustalenia pomagają nam udoskonalać cały stos zabezpieczeń, a nie tylko punkt kontrolny agenta.
Reagowanie na aktywne ataki. Ta pętla może również pomóc w lepszym reagowaniu na aktywne ataki w środowisku naturalnym. Analizując nasze globalne działania pod kątem potencjalnych ataków, możemy wykorzystać techniki i taktyki stosowane przez zewnętrznych atakujących, wprowadzić je do tej pętli, naśladować ich działania i wprowadzać zmiany w zakresie zabezpieczeń na całej naszej platformie.
Wzmocnienie naszych możliwości w zakresie agentów zespołu czerwonego oraz wykorzystanie naszych najskuteczniejszych modeli do automatyzacji części tej pracy pomaga zwiększyć niezawodność agenta przeglądarki Atlas poprzez skalowanie pętli, od wykrywania do poprawki. Te działania na rzecz poprawy zabezpieczeń potwierdzają znaną zasadę z zakresu bezpieczeństwa: ciągłe testowanie rzeczywistych systemów pod kątem odporności na obciążenia, reagowanie na awarie i dostarczanie konkretnych poprawek to sprawdzony sposób na wzmocnienie ochrony.
Przewidujemy, że atakujący będą nieustannie dostosowywać się do zachodzących zmian. Problem wstrzykiwania poleceń, podobnie jak oszustwa i inżynieria społeczna w sieci, prawdopodobnie nigdy nie zostanie w pełni „rozwiązany”. Jednak optymistycznie zakładamy, że proaktywna, wysoce responsywna pętla szybkiego reagowania może z czasem nadal znacząco zmniejszać faktyczne ryzyko. Dzięki połączeniu automatycznego wykrywania ataków z treningiem adwersarialnym i zabezpieczeniami na poziomie systemu możemy identyfikować nowe wzorce ataków na wcześniejszym etapie, szybciej usuwać luki i stale podnosić koszty wykorzystywania luk.
Tryb agenta w przeglądarce ChatGPT Atlas jest niezwykle skuteczny, ale jednocześnie zwiększa zakres powierzchni zagrożeń bezpieczeństwa. Świadomość tego kompromisu jest częścią odpowiedzialnego rozwoju. Naszym celem jest zwiększenie bezpieczeństwa przeglądarki Atlas w każdej iteracji: poprawa odporności modelu, wzmocnienie otaczającej go struktury zabezpieczeń oraz monitorowanie nowych wzorców nadużyć w warunkach rzeczywistych.
Będziemy kontynuować inwestowanie w badania i wdrażanie, opracowując lepsze zautomatyzowane metody testów odporności z udziałem zespołu czerwonego, wprowadzając wielowarstwowe środki zaradcze i szybko wprowadzając iteracje w miarę zdobywania nowych informacji. Będziemy również dzielić się naszymi doświadczeniami z szerszą społecznością.
Kontynuujemy wzmacnianie przeglądarki Atlas na poziomie systemowym, ale użytkownicy mogą również podjąć pewne kroki, aby zmniejszyć ryzyko związane z korzystaniem z agentów.
Ograniczenie dostępu po zalogowaniu, jeśli to możliwe. W dalszym ciągu zalecamy użytkownikom korzystanie z trybu wylogowania(otwiera nowe okno) podczas korzystania z Agenta w przeglądarce Atlas, gdy zalogowanie się do witryny nie jest wymagane do wykonania bieżącego zadania, lub ograniczenia dostępu do określonych witryn, do których użytkownik loguje się podczas wykonywania zadania.
Dokładne sprawdzanie próśb o potwierdzenie. W przypadku niektórych działań, takich jak sfinalizowanie zakupu lub wysłanie wiadomości e-mail, agenci są zaprogramowani tak, aby przed wykonaniem czynności poprosić użytkownika o potwierdzenie. Gdy agent poprosi użytkownika o potwierdzenie działania, należy poświęcić chwilę na sprawdzenie, czy działanie jest prawidłowe, a udostępniane informacje są odpowiednie w danym kontekście.
Przekazywanie agentom jasnych instrukcji, gdy jest to możliwe. Należy unikać zbyt ogólnych poleceń, takich jak „przejrzyj moje e-maile i wykonaj niezbędne działania”. Duża swoboda działania ułatwia ukrytym lub złośliwym treściom wywieranie wpływu na agenta, nawet jeśli wprowadzono odpowiednie zabezpieczenia. Najbezpieczniej jest poprosić agenta o wykonanie konkretnych, dobrze zdefiniowanych zadań. Nie eliminuje to ryzyka, ale utrudnia przeprowadzenie ataków.
Jeśli agenci mają stać się zaufanymi partnerami w wykonywaniu codziennych zadań, muszą być odporni na manipulacje, które umożliwia otwarta sieć. Wzmocnienie ochrony przed wstrzykiwaniem poleceń to długoterminowe zobowiązanie i jeden z naszych najwyższych priorytetów. Wkrótce udostępnimy więcej informacji na temat tej pracy.


