Przejdź do treści
Newsy

Copilot wykradał kody 2FA, bo AI nie odróżnia rozkazu od pułapki

Krytyczna dziura w M365 Copilot pozwalała wyciągać kody 2FA z maili ofiary - wystarczyło, że kliknęła w link.

4 min czytania
Ostatnia aktualizacja:
Copilot wykradał kody 2FA, bo AI nie odróżnia rozkazu od pułapki

👁 131 przeczytań

Powiem wprost: dopóki będziemy budować asystentów AI, którzy czytają cudze maile i klikają w cudze linki, dopóty będą nas okradać. Nie dlatego, że ktoś źle napisał kod, tylko dlatego, że cała ta architektura opiera się na założeniu, którego nie da się obronić - że model językowy odróżni polecenie od pułapki. Nie odróżni. I właśnie dostaliśmy na to kolejny piękny dowód.

W zeszły wtorek Microsoft załatał lukę w platformie M365 Copilot, którą sam ocenił jako maksymalnie krytyczną. W poniedziałek badacze z firmy Varonis, którzy ją zgłosili, pokazali, jak działał ich proof-of-concept. A działał wyśmienicie: pozwalał wyciągać z maili dostępnych Copilotowi kody dwuskładnikowego uwierzytelniania i inne wrażliwe dane. Ofiara nie musiała nic pisać. Klikała w link. Resztę robił asystent.

Choroba, nie błąd

Tu nie chodzi o jednego buga, który da się raz na zawsze zaszpachlować. Microsoft i reszta dostawców modeli mają fundamentalny problem: ich boty nie potrafią rozróżnić instrukcji od użytkownika i instrukcji przemyconych w treści, którą mają streścić, na którą mają odpowiedzieć albo na podstawie której mają coś zrobić. Granicy między „to mówi mój człowiek” a „to mówi przypadkowy mail od oszusta” po prostu nie ma jak zabezpieczyć. Zostaje stawianie kolejnych prowizorycznych płotków, które mają okiełznać skutki tej, jak ujęli to badacze, nieuleczalnej łatwowierności.

I te płotki rzeczywiście stoją. Copilot, jak większość dużych modeli, ma wbudowaną blokadę wysyłania formularzy, maili i podobnych akcji, którymi dałoby się wyciągnąć dane. Inny mechanizm opakowuje wyjście modelu w bloki <code>, żeby przeglądarka traktowała je jako zwykły tekst, a nie wykonywalny kod. Jest też lista dozwolonych domen - do serwerów Microsoftu Copilot może słać zapytania bez pytania o zgodę, do reszty już nie.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł

Jak przeskoczyć płotek

Badacze z Varonis zbudowali łańcuch exploitów, który przeskoczył to wszystko. Pierwszym elementem była technika, którą nazwali Parameter-to-Prompt Injection. To bliski krewny klasycznego prompt injection, tyle że złośliwa komenda nie siedzi w mailu ani w innej podejrzanej treści, lecz w parametrze zapytania w adresie URL - tym „q”, którym oznacza się przekazane do wyszukiwarki pytanie.

Atakujący wysyłał ofierze maila z linkiem o postaci https://m365.cloud.microsoft/search/?auth=2&origindomain=microsoft365&q=, gdzie w polu zapytania zaszyta była instrukcja. Copilot ją posłusznie wykonywał.

„Funkcja wyszukiwania to dokładnie to, czego potrzebują atakujący, bo nawet przy ograniczonych możliwościach wystarczy użytkownik z dostępem do krytycznych informacji. Żeby wyprowadzić dane, atakujący tworzy URL, który każe Copilotowi przeszukać maile użytkownika, wyciągnąć tytuł i osadzić go w adresie obrazka.”

- napisali badacze Varonis w poniedziałkowym opisie ataku.

Cały trik z eksfiltracją danych polega na języku znaczników. Zamiast wprost wysłać dane, owija się je w tagi takie jak <img> czy <form>. Gdy przeglądarka próbuje pobrać taki „obrazek”, uderza zapytaniem w serwer atakującego - a w logach tego serwera ląduje wykradziony sekret. Twój kod 2FA jako parametr w adresie URL grafiki, której nikt nigdy nie zobaczy.

A blokada opakowująca wyjście w <code>? Tu robi się naprawdę zabawnie. Okazało się, że ona odpala się dopiero po fazie „myślenia” modelu. Wcześniej Copilot generuje odpowiedź jako surowy HTML, który na moment ląduje w drzewie DOM przeglądarki. I ten moment w zupełności wystarczy, żeby tag <img> zdążył wystrzelić zapytanie. Zabezpieczenie przychodzi po fakcie, jak strażak po pożarze.

Microsoft dziurę załatał i chwała mu za szybkość. Ale popatrzmy na to bez złudzeń: to był łańcuch obejść jeden po drugim, a każdy z nich Microsoft uznał wcześniej za wystarczające zabezpieczenie. Łatamy pojedyncze ścieżki ataku, podczas gdy korzeń problemu - model, który ufa każdemu, kto się do niego odezwie - zostaje nietknięty.

Moja teza się nie zmienia: oddajemy asystentom AI dostęp do skrzynek, kalendarzy i dokumentów szybciej, niż branża potrafi zagwarantować, że nikt im przez ten dostęp nie zajrzy. Dopóki nie pojawi się sposób na twarde odróżnienie „to mówi mój człowiek” od „to mówi treść z internetu”, każdy taki łatany płotek będzie tylko kwestią czasu do następnego przeskoku.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.
Piotr Olszewski

Piotr Olszewski

ADMINISTRATOR

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony
🛒 Sklep Kinetyka Google AI Gemini Pro 300 zł CapCut Pro 600 zł/rok n8n Cloud Starter 320 zł/rok Zobacz wszystko →
× powiększenie