Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Możliwość wstrzyknięcia złośliwego promptu w Slack AI

23 sierpnia 2024, 15:03 | W biegu | 0 komentarzy

Na łamach sekuraka nieraz opisywaliśmy wpadki związane z szeroko pojętym AI, które szturmem zdobywa kolejne rynki. Zachwyt technologią oraz jej powszechne wdrażanie, sprowadza na użytkowników końcowych produktów nowe zagrożenia. Tak też stało się tym razem – badacze odkryli sposób na doprowadzenie do wycieku informacji z prywatnych kanałów popularnego rozwiązania do komunikacji wewnątrz zespołów – Slacka. Wszystko za sprawą asystenta opartego o LLM – Slack AI.

Slack AI reklamowany jest jako rozwiązanie pozwalające na przeszukiwanie kanałów z wykorzystaniem języka naturalnego (NLP). Od 14 sierpnia 2024 wspiera także funkcję przetwarzania uploadowanych dokumentów zarówno lokalnie jak i z dysku Google Drive. 
Okazuje się, że złośliwy użytkownik Slacka w organizacji może wykonać atak typu prompt injection. Model może zinterpretować wiadomość złośliwego aktora jako fragment promptu, który zostanie uwzględniony przy generowaniu odpowiedzi. W efekcie tego, możliwe jest pozyskanie inną drogą (out-of-bound) sekretów z prywatnych kanałów, do których atakujący nie ma dostępu.

Rysunek 1. Model generuje wiadomość, która doprowadzi do wycieku klucza po kliknięciu w link (źródło: promptarmor.substack.com)

Atakujący może utworzyć publiczny kanał (do którego ofiara nie musi dołączyć), w którym umieści wiadomość zawierającą złośliwe instrukcje dla modelu LLM.

Rysunek 2. Atakujący dodaje instrukcje dla modelu wewnątrz własnego, publicznego kanału (źródło: promptarmor.substack.com)

W efekcie czego, w momencie wykonania zapytania korzystającego z modelu LLM, znaleziony sekret (np. klucz API) zostanie umieszczony w odpowiedzi bota w linku. Zgodnie z instrukcją podany URL może prowadzić do zewnętrznego serwera, pod kontrolą atakującego. Dzięki temu (np. poprzez analizę logów) atakujący jest w stanie pozyskać dostęp do informacji, które nie były dla niego dostępne. 

Rysunek 3. Slack AI posłusznie umieszcza klucz API w szablonie odpowiedzi dostarczonej przez atakującego na innym kanale (źródło: promptarmor.substack.com)

Badacze zaprezentowali też inną metodę ataku polegającą na wykorzystaniu LLM do phishingu. W momencie utworzenia zapytania, model odpowiada prośbą o uwierzytelnienie kierując ofiarę na spreparowaną stronę.

Rysunek 4. Phishing z wykorzystaniem LLM (źródło: promptarmor.substack.com)

Problem został zgłoszony do zespołu Slacka i po wymianie wiadomości mającej na celu wyklarowanie szczegółów podatności, został on sklasyfikowany jako “intended behavior”.

August 19th: Slack responds that they have reviewed this and deemed the evidence insufficient, and states that “In your first video the information you are querying Slack AI for has been posted to the public channel #slackaitesting2 as shown in the reference. Messages posted to public channels can be searched for and viewed by all Members of the Workspace, regardless if they are joined to the channel or not. This is intended behavior.”

Zespół bezpieczeństwa stwierdził, że dostęp do publicznych kanałów jest otwarty dla wszystkich, więc model zachowuje się zgodnie z przewidywaniami. Nawet jeśli jest to zamierzone zachowanie, to jednak prompty tworzone przez użytkowników, nie powinny wpływać na odpowiedzi generowane z wiedzy znajdującej się w prywatnych kanałach. Model nie powinien traktować wiadomości wysyłanych przez innych użytkowników jako fragmentów systemowego prompta. 

Dodając do tego fakt, że od niedawna Slack AI ma też dostęp do wiedzy zawartej w plikach – możliwe jest wykonanie podobnych ataków np. przy pomocy białego tekstu w dokumencie, niewidocznego dla użytkownika. To powoduje, że sposoby ataku mogą być bardziej dyskretne, a sam atakujący nie musi mieć nawet dostępu do serwera na Slacku. 

Aby ograniczyć możliwości przeprowadzania ataków typu indirect prompt injection najlepiej… po prostu wyłączyć funkcję Slack AI. Opis jak tego dokonać został zamieszczony tutaj – proces wymaga wysłania maila z adresu należącego do administratora organizacji. Dodatkowo istnieje też możliwość wyłączenia obsługi plików, szczegóły znajdują się pod tym linkiem. 

~fc

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz