AktualnościKryptoAtak na Polymarket wyczyścił 2,7 mln USD z 737 portfeli poprzez przejęty skrypt zewnętrznego dostawcy

Atak na Polymarket wyczyścił 2,7 mln USD z 737 portfeli poprzez przejęty skrypt zewnętrznego dostawcy

Autor: Crypto Adventure·

Najważniejsze informacje

  • •Skompromitowany skrypt DebugBear mógł uzyskać dostęp do uwierzytelnionych sesji i wywołać nieautoryzowane transakcje oraz wypłaty przez legalną infrastrukturę Polymarketu.
  • •Śledczy powiązali atak ze stratami około 2,73 mln USD na 737 kontach, a środki wymieniono na POL i przemieszczano między wieloma portfelami.
  • •Polymarket wznowił międzynarodowy handel po usunięciu dotkniętej zależności, a oddzielna platforma Polymarket US — według doniesień — nie została dotknięta.
  • •Polymarket obiecał pełny zwrot środków, ale nie podał harmonogramu wypłat ani nie potwierdził, ile skradzionych pieniędzy można odzyskać.
  • •Incydent uwypukla ryzyko bezpieczeństwa związane z integracjami zewnętrznych skryptów na stronach platform kryptowalutowych działających w przeglądarce.
Atak na Polymarket wyczyścił 2,7 mln USD z 737 portfeli poprzez przejęty skrypt zewnętrznego dostawcy

Polymarket, platforma prognostyczna, na której użytkownicy handlują wynikami wydarzeń ze świata rzeczywistego, doświadczył 29 października naruszenia bezpieczeństwa, w ramach którego atakujący wyprowadzili około 2,7 mln USD z setek portfeli użytkowników, kompromitując zewnętrzną usługę monitoringu i wstrzykując złośliwy kod na stronę platformy.

Atak wymierzony był w międzynarodowy interfejs handlowy Polymarketu poprzez DebugBear — dostawcę usług monitorowania wydajności stron, którego skompromitowany kod JavaScript został wykorzystany do wykonania nieautoryzowanych transakcji. Analiza blockchaina ujawniła 737 dotkniętych kont o łącznych stratach około 2,73 mln USD, a środki przepłynęły przez istniejącą infrastrukturę wypłat Polymarketu.

Polymarket tymczasowo zawiesił handel, wyłączył przetwarzanie transakcji i usunął dotkniętą integrację przed przywróceniem operacji. Firma potwierdziła incydent bezpieczeństwa, przekazała sprawę brytyjskiej policji i zobowiązała się zwrócić środki wszystkim poszkodowanym traderom. Naruszenie nie wiązało się z potwierdzoną luką w smart kontraktach Polymarketu — wykorzystano natomiast oprogramowanie dostarczane przez zaufaną usługę zewnętrzną.

Skompromitowany skrypt DebugBear wyczyścił setki portfeli

Atak wyszedł od złośliwego kodu JavaScript rozpowszechnianego poprzez infrastrukturę Real User Monitoring (RUM) firmy DebugBear, służącą do śledzenia wydajności i aktywności użytkowników. Badacze bezpieczeństwa odkryli, że skompromitowany skrypt zawierał funkcjonalność opróżniania portfeli, zdolną do interakcji z uwierzytelnionymi sesjami handlowymi Polymarketu. Po załadowaniu do przeglądarki użytkownika złośliwy kod mógł sprawdzać salda kont, identyfikować otwarte pozycje i inicjować nieautoryzowane transfery aktywów.

Strony internetowe rutynowo ładują skrypty zewnętrzne do analityki, reklam i monitorowania wydajności, a taki kod wykonuje się w przeglądarce odwiedzającego obok kodu samej strony. Gdy skrypt dostawcy zostanie skompromitowany, złośliwy ładunek może dotrzeć do każdej strony, która go osadza — to schemat określany jako atak na łańcuch dostaw oprogramowania.

Skrypt próbował likwidować pozycje na platformie prognostycznej i przekierowywać kryptowaluty na adres kontrolowany przez atakującego, korzystając z istniejącej infrastruktury transakcyjnej Polymarketu. W odróżnieniu od klasycznego exploita smart kontraktów atak nie wymagał złamania leżących u podstaw kontraktów blockchainowych — nadużył legalnych funkcji handlu i wypłat po uzyskaniu dostępu przez frontend strony.

DebugBear przyznał, że incydent bezpieczeństwa dotknął jego infrastrukturę i wezwał klientów korzystających z usługi monitoringu do usunięcia osadzonego kodu JavaScript ze swoich stron. Polymarket następnie usunął skompromitowaną zależność — jego build produkcyjny zawierał aktualizację wymierzoną konkretnie w integrację z monitoringiem DebugBear.

Incydent przypomina atak z czerwca, w którym z portfeli użytkowników Polymarketu wyprowadzono około 2,94 mln USD, gdy inna skompromitowana zależność zewnętrzna pozwoliła na dotarcie złośliwego kodu do frontendu platformy. Oba incydenty pokazują, jak zewnętrzne integracje software'owe mogą narazić aktywa użytkowników, nawet gdy kluczowe smart kontrakty platformy pozostają sprawne.

Analiza blockchaina śledzi 2,73 mln USD z 737 kont

Ślad transakcyjny z 29 października ujawnił 737 dotkniętych kont Polymarketu i około 2,73 mln USD nieautoryzowanych wypłat między 17:10 a 18:10 UTC. Śledczy zarejestrowali w tym oknie 985 pojedynczych transakcji opróżniających, z największym ich nasileniem między 17:25 a 18:10 UTC. W szczycie aktywności w ciągu jednej minuty odnotowano aż 40 transakcji. Cztery konta odpowiadały za około 43% zidentyfikowanych strat, a dotknięte były także setki mniejszych portfeli.

Transfery przepływały przez legalną infrastrukturę relayerów Polymarketu, która przekazuje transakcje w imieniu użytkowników, z wykorzystaniem ważnych autoryzacji transakcyjnych. Skradzione aktywa następnie wymieniono na POL — natywną kryptowalutę sieci Polygon, na której działa aktywność handlowa Polymarketu — po czym rozdzielono je na kolejne portfele. Główny adres odbiorczy, 0x3F99139F1C5854bb628c2e576Aaf638e99dFfc18, zgromadził podczas incydentu około 28,6 mln POL.

Atakujący przeniósł później środki do trzech dodatkowych portfeli, a część aktywów skierowano do Ethereum przez usługi mostów międzyłańcuchowych. O 19:49 UTC około 2,17 mln USD z prześledzonych środków znajdowało się nadal na Polygonie, podczas gdy pozostałe wpływy zaczęły przemieszczać się między sieciami.

Śledztwo on-chain ujawniło też jedną dodatkową wypłatę o wartości około 11 USD o 19:11 UTC, już po ogłoszeniu przez Polymarket, że problem został naprawiony. Transakcja dotyczyła konta wcześniej dotkniętego atakiem, co rodzi pytania, czy wszystkie złośliwe autoryzacje zostały unieszkodliwione natychmiast. Polymarket nie potwierdził samodzielnie szacunku strat w wysokości 2,73 mln USD ani zgłaszanej liczby dotkniętych kont.

Polymarket przywraca handel i obiecuje pełne zwroty środków

Polymarket początkowo przełączył swoją międzynarodową giełdę w tryb cancel-only około 18:05 UTC, pozwalając użytkownikom anulować istniejące zlecenia, blokując nowe transakcje i wstrzymując działanie relayerów. Platforma zidentyfikowała i usunęła skompromitowaną integrację, po czym ogłosiła o 18:37 UTC, że luka została załatana. Handel wznowiono około 19:05 UTC, kończąc przerwę trwającą około godziny. Nie odnotowano, aby oddzielna platforma Polymarket US została dotknięta.

Polymarket zobowiązał się zrekompensować straty wszystkim poszkodowanym traderom, choć nie ujawnił liczby uprawnionych użytkowników, harmonogramu wypłat ani tego, czy odzyskano jakiekolwiek skradzione środki. Firma przekazała także incydent brytyjskiej policji — DebugBear ma siedzibę w Wielkiej Brytanii — podczas gdy śledczy ustalają, jak doszło do kompromitacji infrastruktury dostawcy monitoringu.

Trudny okres dla bezpieczeństwa platform krypto

Naruszenie przypada w trudnym okresie dla bezpieczeństwa platform kryptowalutowych. Tego samego dnia Binance potwierdził naruszenie bezpieczeństwa o wartości 6,3 mld USD, przy czym około 3 mld USD aktywów zamrożono po nieautoryzowanych transferach w wielu blockchainach. Nie ma dowodów łączących oba incydenty, a podejrzewane metody ataku zasadniczo się różnią.

Dla Polymarketu najnowszy exploit ponownie rodzi pytania o zależności od podmiotów zewnętrznych i ochronę transakcji kryptowalutowych w przeglądarce. Nawet bez bezpośredniego dostępu do kluczy prywatnych użytkowników i bez luki w smart kontraktach złośliwy kod dostarczony przez zaufaną integrację strony był w stanie wywołać nieautoryzowane transakcje i wypłaty.

Polymarket przywrócił normalny handel i zobowiązał się pokryć straty użytkowników, ale pełne techniczne wyjaśnienie kompromitacji DebugBear, ostateczny wpływ finansowy i proces odzyskiwania środków pozostają nieznane.

Źródło: Crypto Adventure