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.
👁 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.
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.
Cały tydzień w AI, w jednym mailu
Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.
Zapisz się za darmo →


