„Zanieczyszczone wspomnienia ChatGPT”: LayerX odkrywa pierwszą lukę w zabezpieczeniach przeglądarki OpenAI Atlas, umożliwiającą wstrzykiwanie złośliwych instrukcji do ChatGPT

 

Firma LayerX odkryła pierwszą lukę w zabezpieczeniach nowej przeglądarki ChatGPT Atlas firmy OpenAI, umożliwiającą cyberprzestępcom wstrzykiwanie złośliwych instrukcji do „pamięci” ChatGPT i zdalne wykonywanie kodu. Ten exploit może pozwolić atakującym na infekowanie systemów złośliwym kodem, przyznawanie sobie uprawnień dostępu lub instalowanie złośliwego oprogramowania.

Luka dotyczy użytkowników ChatGPT w dowolnej przeglądarce, ale jest szczególnie niebezpieczna dla użytkowników nowej przeglądarki agentowej OpenAI: ChatGPT Atlas. Firma LayerX odkryła, że ​​Atlas nie zawiera obecnie żadnych znaczących zabezpieczeń antyphishingowych, co oznacza, że ​​użytkownicy tej przeglądarki są nawet o 90% bardziej narażeni na ataki phishingowe niż użytkownicy tradycyjnych przeglądarek, takich jak Chrome czy Edge.

O wykorzystaniu luki poinformowano organizację OpenAI w ramach procedur odpowiedzialnego ujawniania informacji. Poniżej zamieszczono jej podsumowanie. Nie ujawniono jednak informacji technicznych, które mogłyby umożliwić atakującym powtórzenie tego ataku.

TL/DR: Jak działa ten exploit:

Firma LayerX odkryła, jak atakujący mogą wykorzystać żądanie CSRF (Cross-Site Request Forgery) do „podczepienia się” do danych uwierzytelniających ChatGPT ofiary, aby wstrzyknąć złośliwe instrukcje do pamięci ChatGPT. Następnie, gdy użytkownik spróbuje użyć ChatGPT w uzasadnionych celach, zainfekowane pamięci zostaną wywołane i mogą wykonać zdalny kod, który pozwoli atakującemu przejąć kontrolę nad kontem użytkownika, jego przeglądarką, pisanym przez niego kodem lub systemami, do których ma dostęp.

Chociaż luka ta dotyczy użytkowników ChatGPT korzystających z dowolnej przeglądarki, jest ona szczególnie niebezpieczna dla użytkowników przeglądarki ChatGPT Atlas, ponieważ domyślnie są oni zalogowani do ChatGPT, a testy LayerX wskazują, że przeglądarka Atlas jest nawet o 90% bardziej narażona na ataki phishingowe niż Chrome i Edge.

Wyjaśnienie krok po kroku:

  1. Początkowo użytkownik loguje się do ChatGPT i przechowuje w swojej przeglądarce plik cookie lub token uwierzytelniający.
  2. Użytkownik klika złośliwy link, który kieruje go na zainfekowaną stronę internetową.
  3. Złośliwa strona wywołuje żądanie CSRF (Cross-Site Request Forgery) w celu wykorzystania istniejącego uwierzytelnienia użytkownika w ChatGPT
  4. Exploit CSRF wstrzykuje ukryte instrukcje do pamięci ChatGPT bez wiedzy użytkownika, „zanieczyszczając” w ten sposób główną pamięć LLM.
  5. Gdy użytkownik następnym razem wyśle ​​zapytanie do ChatGPT, przywołane zostaną skażone wspomnienia, co umożliwi wdrożenie złośliwego kodu, który może dać atakującym kontrolę nad systemami lub kodem.

Użycie Cross-Site Request Forgery (CSRF) w celu uzyskania dostępu do LLM:

Atak typu cross-site request forgery (CSRF) polega na tym, że atakujący oszukuje przeglądarkę użytkownika, zmuszając ją do wysłania niezamierzonego żądania zmieniającego stan do witryny, w której użytkownik jest już uwierzytelniony, w wyniku czego witryna wykonuje działania jako ten użytkownik bez jego zgody. 

Atak ma miejsce, gdy ofiara loguje się do witryny docelowej, która przechowuje pliki cookie sesji w przeglądarce. Ofiara odwiedza lub zostaje przekierowana na złośliwą stronę, która wysyła spreparowane żądanie (za pośrednictwem formularza, znacznika obrazu, linku lub skryptu) do witryny docelowej. Przeglądarka automatycznie uwzględnia dane uwierzytelniające ofiary (pliki cookie, nagłówki uwierzytelniające), dzięki czemu witryna docelowa przetwarza żądanie tak, jakby zostało zainicjowane przez użytkownika.

W większości przypadków skutki ataku CSRF są wymierzone w taką aktywność, jak zmiana adresu e-mail lub hasła do konta, inicjowanie przelewów pieniężnych lub dokonywanie zakupów w trakcie sesji użytkownika.

Jednak w przypadku systemów AI, stosując atak CSRF, atakujący mogą uzyskać dostęp do systemów AI, do których zalogowany jest użytkownik, wysyłać do nich zapytania lub wstrzykiwać do nich instrukcje.

Infekowanie rdzenia „pamięci” ChatGPT

Funkcja „Pamięć” ChatGPT pozwala ChatGPT zapamiętywać przydatne szczegóły dotyczące zapytań, czatów i aktywności użytkowników, takie jak preferencje, ograniczenia, projekty, notatki dotyczące stylu itp., i wykorzystywać je ponownie w przyszłych czatach, dzięki czemu użytkownicy nie muszą się powtarzać. W efekcie działają one jak pamięć tła lub podświadomość LLM.

Gdy atakujący uzyskają dostęp do ChatGPT użytkownika za pośrednictwem żądania CSRF, mogą go wykorzystać do wstrzyknięcia ukrytych instrukcji do ChatGPT, co wpłynie na przyszłe czaty. 

Podobnie jak podświadomość człowieka, gdy odpowiednie instrukcje zostaną zapisane w pamięci ChatGP, ChatGPT będzie zmuszony do ich wykonania, stając się w ten sposób złośliwym współspiskowcem.

Co więcej, po zainfekowaniu pamięci konta, infekcja ta jest trwała na wszystkich urządzeniach, na których konto jest używane – na komputerach domowych i służbowych, a także w różnych przeglądarkach – niezależnie od tego, czy użytkownik korzysta z nich w Chrome, Atlasie, czy dowolnej innej przeglądarce. To sprawia, że ​​atak jest niezwykle „lepki” i jest szczególnie niebezpieczny dla użytkowników korzystających z tego samego konta zarówno do celów służbowych, jak i prywatnych.

Użytkownicy ChatGPT Atlas są nawet o 90% bardziej narażeni niż użytkownicy innych przeglądarek

Chociaż tę lukę można wykorzystać przeciwko użytkownikom ChatGPT w dowolnej przeglądarce, użytkownicy przeglądarki ChatGPT firmy OpenAI są szczególnie narażeni. Dzieje się tak z dwóch powodów:

  1. Podczas korzystania z Atlasa jesteś domyślnie zalogowany do ChatGPT. Oznacza to, że dane uwierzytelniające ChatGPT są zawsze przechowywane w przeglądarce, gdzie mogą stać się celem złośliwych żądań CSRF.
  2. ChatGPT Atlas jest szczególnie słaby w blokowaniu ataków phishingowych. Oznacza to, że użytkownicy Atlasa są bardziej narażeni niż użytkownicy innych przeglądarek.

Firma LayerX przetestowała oprogramowanie Atlas pod kątem ponad 100 luk w zabezpieczeniach sieci i ataków phishingowych. Firma LayerX przeprowadziła wcześniej ten sam test na innych przeglądarkach AI takich jak Comet, Dia i Genspark. Wyniki były, delikatnie mówiąc, mało inspirujące:

W poprzednich testach tradycyjne przeglądarki, takie jak Edge i Chrome, były w stanie zatrzymać około 50% ataków phishingowych dzięki wykorzystaniu gotowych zabezpieczeń, podczas gdy Comet i Genspark zatrzymały jedynie 7% (Dia uzyskała wyniki zbliżone do wyników Chrome).

Przeprowadzenie tego samego testu na urządzeniu Atlas dało jeszcze bardziej zaskakujące wyniki: 

Spośród 103 ataków przeprowadzonych w warunkach rzeczywistych przez LayerX, ChatGPT Atlas pozwolił na przeprowadzenie 97 ataków, co daje aż 94.2% niepowodzeń. 

W porównaniu z Edge (który zatrzymał 53% ataków w teście LayerX) i Chrome (który zatrzymał 47% ataków), Przeglądarce ChatGPT Atlas udało się skutecznie zatrzymać zaledwie 5.8% złośliwych stron internetowych, co oznacza, że ​​użytkownicy przeglądarki Atlas byli o prawie 90% bardziej narażeni na ataki phishingowe w porównaniu do użytkowników innych przeglądarek.

Oznacza to, że nie tylko użytkownicy ChatGPT Atlas są podatni na złośliwe wektory ataków, które mogą prowadzić do wstrzyknięcia złośliwych instrukcji do ich kont ChatGPT, ale Ponieważ Atlas nie zawiera żadnej znaczącej ochrony przed phishingiem, jego użytkownicy są narażeni na większe ryzyko.

Dowód koncepcji: Wstrzykiwanie złośliwego kodu do kodu „Vibe” 

Poniżej znajduje się ilustracja wektora ataku wykorzystującego tę lukę w zabezpieczeniach na użytkownika przeglądarki Atlas, który zajmuje się kodowaniem wibracyjnym:

„Kodowanie klimatu” to styl współpracy, w którym programista traktuje sztuczną inteligencję jako partnera kreatywnego, a nie wykonawcę linijka po linijce. Zamiast narzucać konkretną składnię, programista dzieli się intencją i charakterem projektu (np. celami architektonicznymi, tonem, odbiorcami, preferencjami estetycznymi itp.) oraz innymi wymaganiami niefunkcjonalnymi.

Następnie ChatGPT wykorzystuje ten całościowy opis do wytworzenia kodu, który działa oraz dopasowuje się do żądanego stylu, zmniejszając lukę między pomysłami wysokiego poziomu a implementacją niskiego poziomu. Rola programisty przesuwa się z ręcznego kodowania na sterowanie i udoskonalanie interpretacji sztucznej inteligencji.

Jednak ta elastyczność może być również nadużywana. Atakujący może nakłonić asystenta AI do wygenerowania kodu, który wygląda na nieszkodliwą funkcję lub szybkie rozwiązanie, ale po cichu dodaje tylne furtki, umożliwia ukrytą eksfiltrację danych lub inne manipulacje.

Na przykład w tym przypadku z perspektywy użytkownika nic nie wydaje się niezwykłe, ale gdy poprosi on ChatGPT o napisanie kodu, asystent może zastosować się do prośby oraz Przemycić instrukcje kierowane przez atakującego. Wygenerowany skrypt mógłby na przykład pobrać zdalny kod (np. z wrogiego serwera) i spróbować go uruchomić z podwyższonymi uprawnieniami.

Dla zobrazowania, w tym przypadku, na podstawie złośliwych instrukcji, czat dodał zdalny kod do tego skryptu, który użytkownik nieświadomie pobierze na swój komputer z server.rapture:

Chociaż ChatGPT oferuje pewną ochronę przed złośliwymi instrukcjami, jej skuteczność może się różnić w zależności od stopnia zaawansowania ataku i sposobu, w jaki niepożądane zachowanie dostało się do pamięci. 

W niektórych przypadkach użytkownik może zobaczyć łagodne ostrzeżenie; w innych próba może zostać zablokowana. Jednak sprytnie zamaskowany kod może całkowicie uniknąć wykrycia. Na przykład, oto subtelne ostrzeżenie, które otrzymał ten skrypt. W najlepszym razie jest to dodatkowa uwaga, którą łatwo przeoczyć w tym gąszczu tekstu: