Polymarket, platforma predykcyjnych zakładów opartych na kryptowalutach, wstrzymała handel na około godzinę po ataku, który wyszedł od zewnętrznego dostawcy. Według badaczy Hudson Rock skradziono około 2,5 miliona dolarów. Złośliwy kod był umieszczony w infrastrukturze DebugBear, usługi mierzącej wydajność stron. Sprawa dotyczy także osób, które nie korzystają z kryptowalut, bo pokazuje, ile może kosztować jeden zewnętrzny skrypt wstawiony na stronę.
Kilka pojęć, zanim przejdziemy do faktów. Rynek predykcyjny to platforma, na której stawia się na wynik rzeczywistych wydarzeń. Portfel (wallet) to cyfrowy portfel przechowujący kryptowaluty. POL to kryptowaluta blockchaina Polygon. RUM oznacza Real User Monitoring i wskazuje skrypt JavaScript, który zbiera z przeglądarek odwiedzających dane o wydajności strony. C2 to serwer dowodzenia i kontroli, z którego malware odbiera polecenia.
Co się stało z Polymarket?
Według relacji Punto Informatico na stronie statusu platformy dochodzenie ruszyło o 19.05 po przerwaniu działania relayera. Włączono tryb «cancel-only», w którym można jedynie anulować zlecenia. Mniej więcej pół godziny później serwis poinformował, że wykrył i naprawił problem, ale na wszelki wypadek wstrzymał działanie.
Jak podaje BleepingComputer, firma w oficjalnym komunikacie napisała, że «jeden z naszych zewnętrznych dostawców został zaatakowany, a sprawę przekazaliśmy odpowiednim organom ścigania». Dodała, że poszkodowani zostaną zwróceni środki. Handel wznowiono około godzinę po pierwszym wstrzymaniu.
Problem dotyczył międzynarodowej platformy. Według Wired wersja dla USA, Polymarket US, nie została dotknięta. Z tego samego źródła wynika, że zaatakowany dostawca ma siedzibę w Wielkiej Brytanii i powiadomiono tamtejsze władze.
Jak działał złośliwy skrypt?
Hudson Rock wykrył złośliwy JavaScript rozpowszechniany z adresu w infrastrukturze DebugBear. Strona Polymarket ładowała ten skrypt jako część usługi RUM, więc kod działał w przeglądarce użytkowników. Według Punto Informatico, gdy ofiara loguje się na swoje konto, skrypt sprawdza saldo portfela i wysyła kryptowaluty przestępcom.
BleepingComputer przeanalizował kopię pliku i opisuje jego działanie szczegółowo.
- Sprawdza, czy odwiedzający jest zalogowany na Polymarket, i próbuje wykorzystać już uwierzytelnioną sesję.
- Sprawdza salda i pozycje, by oszacować wartość środków.
- W niektórych przypadkach próbuje automatycznie sprzedać pozycje, w innych przelać tokeny bezpośrednio na portfel atakującego.
- Próbuje zamienić kryptowaluty na aktywa, które można przenieść, korzystając z funkcji transakcji już obecnych na platformie.
Skrypt komunikował się też z serwerem DebugBear, by odbierać instrukcje i wysyłać dane o kontach, adresach i wynikach. Zdaniem BleepingComputer takie wykorzystanie tej samej infrastruktury jako dystrybucji i jako C2 rodzi pytania o to, jak głęboki dostęp mieli atakujący do systemów firmy.
Ile naprawdę ukradziono?
Liczby się nie zgadzają i żadnej nie potwierdził Polymarket. Poniższe zestawienie jest nasze, ale tylko zestawia dane źródeł.
- Hudson Rock mówi o około 28,6 miliona POL, czyli wartości około 2,57 miliona dolarów. Podają to Punto Informatico i BleepingComputer.
- BleepingComputer podaje, że podejrzany portfel zawierał około 2,19 miliona dolarów w chwili analizy Hudson Rock.
- Według Wired firma analityczna Bubblemaps szacuje, że dotkniętych zostało około 700 użytkowników, a skradziono około 2,7 miliona dolarów.
Polymarket, pytany przez Wired, nie chciał podać, ilu traderów zostało poszkodowanych ani ile stracono. Powtórzył, że zwróci środki zainteresowanym użytkownikom.
Dlaczego skrypty stron trzecich są ryzykowne?
Dlatego, że zewnętrzny skrypt działa z tymi samymi uprawnieniami co twoja strona w przeglądarce odwiedzającego. Jeśli dostawca zostanie zhakowany, kod się zmienia, a ty nie dotykasz ani jednej linijki. W tym przypadku usługa służyła tylko do mierzenia wydajności, ale z tego miejsca dało się działać w uwierzytelnionych sesjach.
DebugBear potwierdził incydent na X i według BleepingComputer poprosił klientów o usunięcie kodu RUM z ich stron. Jak sam napisał, «jesteśmy objęci trwającym incydentem bezpieczeństwa». Badacze Hudson Rock znaleźli też commit Polymarket o treści chore(polymarket) usunięcie skryptu RUM DebugBear, co wskazuje, że integracja została usunięta tuż przed ogłoszeniem.
Ten temat wiąże się z tym, o czym piszemy przy okazji włoskich MŚP i zautomatyzowanych ataków. Nie trzeba być platformą wartą miliardy, żeby mieć odsłoniętą powierzchnię ataku.
Ograniczenia, o których warto wiedzieć
- Polymarket nie podał, ilu użytkowników zostało dotkniętych, ile ukradziono ani jak będzie wyglądał zwrot.
- Nazwy dostawcy nie podał Polymarket. DebugBear pojawia się w analizie Hudson Rock i w jego własnym potwierdzeniu.
- Godziny z włoskich i amerykańskich źródeł podane są w różnych strefach czasowych i nie uzgadnialiśmy ich. Dlatego trzymamy się danej o około godzinie wstrzymania.
- Sprawcy ataku są nieznani. Nie wiemy, jak przejęli kontrolę nad DebugBear.
- BleepingComputer skontaktował się z obiema firmami i nie publikuje odpowiedzi, więc relacja może się zmienić.
- Punto Informatico zwraca uwagę, że platforma teoretycznie nie powinna być dostępna we Włoszech.
Co się zmienia dla osób pracujących w cyfrowym świecie
Pierwszy skutek jest praktyczny. Każdy fragment kodu wklejony na stronę, czy to analityka, czat, monitoring czy reklama, trzeba traktować jak kod, którego być może nie kontrolujesz. Jeśli strona obsługuje logowanie, płatności albo dane osobowe, ten kod ma dostęp do wszystkiego, co widzi użytkownik.
Dla osób tworzących strony ryzyko jest podwójne. Jest bezpieczeństwo użytkowników i jest odpowiedzialność wobec klienta, który nie rozróżnia kodu własnego od kodu dostawcy. Sklepy internetowe i systemy zarządzania także mają strony z logowaniem, więc ta logika dotyczy znacznie więcej niż kryptowalut. Kto prowadzi sklep internetowy, powinien wiedzieć, jakie skrypty ładuje na stronach koszyka i płatności.
Jest też kwestia czasu. Od usunięcia skryptu do wznowienia handlu minęła około godzina. Gotowa procedura odłączenia zhakowanego dostawcy oszczędza cenny czas.
Nasza opinia
Ten przypadek jest pouczający, bo błąd nie jest spektakularny. Usługa monitorowania wydajności wygląda niewinnie i właśnie dlatego nikt nie patrzy na nią podejrzliwie. A przecież, żeby działać, musi działać w przeglądarce każdego odwiedzającego. Wygoda wklejonej linijki kodu jest opłacana dostępem, który mało kto zadaje sobie trud ocenić.
Zachowanie Polymarket pod względem czasu wydaje się nam poprawne. Wstrzymał działanie, usunął skrypt, obiecał zwroty. Mniej przekonująca jest komunikacja. Nie wskazał dostawcy i nie wyjaśnił, ilu użytkowników dotknęła sprawa, zostawiając liczenie Hudson Rock i Bubblemaps. Wired przypomina dodatkowo wcześniejsze włamanie z ponad 2 milionami dolarów strat, a dwa podobne incydenty wskazują raczej na problem procesów niż na pech. Dla firm obowiązuje ta sama zasada. Kwestia perymetru, jak w innych przypadkach, którymi się zajmowaliśmy, zaczyna się od tego, co uważamy za oczywiste.
Najczęstsze pytania
Czy Polymarket został zhakowany bezpośrednio?
Nie, według źródeł atak przeszedł przez zewnętrznego dostawcę. Wired mówi o zhakowanym brytyjskim dostawcy, a nie o stronie samej platformy. Złośliwy kod działał jednak na stronach Polymarket.
Ile ukradziono?
Nie ma oficjalnej kwoty. Hudson Rock podaje około 2,57 miliona dolarów, Bubblemaps około 2,7 miliona i około 700 poszkodowanych użytkowników. Polymarket nie potwierdził tych liczb.
Czy użytkownicy dostaną zwrot?
Tak, według Polymarket. Firma deklaruje zwrot wszystkim zainteresowanym traderom. Nie wyjaśniła jednak, jak będzie wyglądał ten proces.
Czym jest DebugBear?
To usługa monitorowania wydajności stron internetowych. Jej produkt RUM używa JavaScriptu do zbierania metryk z przeglądarek odwiedzających. Firma potwierdziła incydent i poprosiła klientów o usunięcie kodu.
Jak się chronić, jeśli mam stronę z zewnętrznymi skryptami?
Zrób inwentaryzację skryptów i usuń te, których nie potrzebujesz. Ogranicz dostawców na stronach z logowaniem i płatnościami. Przygotuj procedurę szybkiego odłączenia ich.
Czego pilnować w najbliższych miesiącach
Do obserwowania pozostają śledztwo organów ścigania, wyjaśnienia DebugBear i zwroty od Polymarket. Tymczasem możesz działać na trzech frontach.
- Wypisz każdy zewnętrzny skrypt ładowany na twojej stronie i zastanów się, czy nadal jest potrzebny, zwłaszcza w strefach dla zalogowanych.
- Pilnuj aktualności serwerów i komponentów, także korzystając z zarządzanego hostingu z aktualizacjami bezpieczeństwa, i sprawdzaj komunikaty dostawców.
- Ustal, kto i jak może usunąć integrację w kilka minut, żeby nie improwizować w trakcie incydentu. Jeśli masz aplikacje na zamówienie, ten temat warto poruszyć z zespołem zajmującym się tworzeniem oprogramowania już na etapie projektu.
Żeby zrozumieć, jak automatyzacja przenosi ryzyko, przeczytaj też nasz artykuł o tym, co oznacza autonomiczny haker dla włoskich MŚP.




