2 listopada oszuści wyprowadzili aktywa z gorących portfeli Mercado Bitcoin, najstarszej i największej giełdy kryptowalut w Brazylii, jednocześnie w dziesięciu sieciach blockchain. Szacunki strat wahają się od 30 do 49 mln dolarów. Giełda wstrzymała wpłaty i wypłaty i nie podaje, kiedy je przywróci. Rano 3 listopada platforma wciąż była w trybie konserwacji.
Mercado Bitcoin działa od 2013 roku i określa się jako pierwszy krypto-broker w kraju. Według różnych danych ma od 4,5 do 4,8 mln klientów. 27 października giełda złożyła wniosek o licencję Banku Centralnego Brazylii. W lipcu Tether został mniejszościowym udziałowcem jej holdingu 2TM.
Jak to przebiegało
Według AuditKey przygotowania zaczęły się już 1 listopada około 21:20 czasu moskiewskiego. Pierwszy przelew wyszedł o 04:36 w sieci Arbitrum. Następnie, jak opisuje analityk CertiK Dixon Wu, napastnik przez około cztery godziny testował małe kwoty w mniejszych sieciach. Główna wypłata trwała mniej więcej pół godziny, od 09:19 do 09:53: gorące portfele opustoszały w dziesięciu sieciach, w tym w Bitcoin, Ethereum, Solana, Stellar, Tron i Avalanche.
Nie było tu luk w smart kontraktach. To zwykłe przelewy podpisane ważnymi kluczami giełdy. Nie wiadomo, jak napastnik uzyskał prawo do podpisu. AuditKey podkreśla, że na podstawie blockchaina nie da się odróżnić ataku z zewnątrz od działania insidera czy awarii u podwykonawcy.
„Atak opanowany”, a wypłaty trwały dalej
O 15:56 czasu moskiewskiego Mercado Bitcoin poinformowała, że incydent w „jednym z systemów” wykryto i szybko opanowano, klienci nic nie stracą, a dane nie wyciekły. Na blockchainie działo się jednak co innego. Według wyliczeń Bitquery od 15:27 do 19:56 napastnik opróżnił 36 042 adresy depozytowe klientów w sieci Ethereum, a w BNB Chain wyczyścił jeszcze 143 adresy do 21:08. Wypłacał więc środki jeszcze przez około cztery godziny po oświadczeniu giełdy.
Kwota jest tu niewielka, około 266 tys. dolarów: na 91% tych adresów było mniej niż 10 dolarów. Ważniejsze jest co innego. Napastnik miał klucze nie tylko do gorących portfeli, lecz także do adresów, na które klienci zasilają konta. „Ktokolwiek to zrobił, może wypłacać pieniądze również z adresów depozytowych klientów” – mówi Wu. Badacze, z którymi rozmawiał The Record, kwestionują zapewnienia giełdy, że środki klientów nie ucierpiały. Formalnie giełda ma rację: monety na adresach depozytowych przechowuje ona, a klient ma jedynie zapis salda. Właśnie dlatego wszystko zależy od tego, czy dotrzyma obietnicy.
Ile wyprowadzono: od 30 do 49 mln dolarów
- AuditKey: 30,3 mln USD, uwzględniono tylko tokeny o wiarygodnej cenie.
- Hypernative: ponad 40 mln USD w co najmniej dziesięciu sieciach.
- Bitquery: 48,6 mln USD, bez tokena EVA 47,4 mln USD.
- Chainalysis, do której giełda zwróciła się o pomoc: około 49 mln USD w 17 sieciach. Według Bitquery wśród tych 17 sieci są też te, w których przemieszczano pieniądze z cudzych portfeli, a straty samej giełdy dotyczą dziesięciu.
Sama Mercado Bitcoin w wieczornej aktualizacji podała dwie liczby: około 11 mln USD zablokowano, około 38 mln USD „jeszcze nie zablokowano”. Razem to mniej więcej 49 mln USD. Część mediów podała 38 mln USD jako całość strat. W rzeczywistości to tylko niezamrożona część. Według Hypernative wśród skradzionych aktywów są 106 BTC, 2852 ETH, 10,7 tys. SOL, 6,7 mln XLM, 1,7 mln TRX i ponad dwieście innych tokenów. Bitcoiny, według Bitquery, na razie się nie ruszyły.
Zamrożenie: tym razem pomogło
Tether przeprowadził pierwszą blokadę o 13:21 czasu moskiewskiego, Circle dołączył mniej więcej sześć godzin później. Bitquery naliczyło 11,4 mln USD zamrożonych środków: 5,9 mln USD w Tether, 3,9 mln USD w Circle, 1,5 mln USD w Paxos i około 145 tys. USD w Agora i Ripple. Kolejne 358 tys. EURC pozostawały niezamrożone. Chainalysis podaje inne liczby: prawie 10 mln USD, w tym ponad 9 mln USD w Tether. Na razie nie da się tych danych pogodzić.
Tutaj zamrożenie zadziałało na korzyść poszkodowanych. Ale to ten sam przycisk: emitent może zatrzymać USDT lub USDC na dowolnym adresie, także Państwa, i to on podejmuje decyzję. BTC, ETH, SOL i XLM nie może zamrozić nikt, dlatego większość łupu napastnik spokojnie wymieniał przez serwisy wymiany Mayan i Bridgers.
Obietnica bez pokrycia
Giełda powtarza, że klienci nic nie stracą. Skąd wezmą się pieniądze i do kiedy, nie mówi: ani słowa o rezerwach, ubezpieczeniu czy akcjonariuszach. Wypłaty wrócą, „gdy będzie to bezpieczne”. Do rana 3 listopada Bank Centralny Brazylii, komisja papierów wartościowych i policja federalna nie zabrały publicznie głosu. Giełda osobno ostrzega przed oszustami, którzy oferują „pomoc w odzyskaniu środków”. Jeśli są Państwo klientami Mercado Bitcoin, prosimy nie odpowiadać na takie propozycje i nie wysyłać niczego na stare adresy depozytowe, dopóki giełda nie ogłosi, że są bezpieczne.
Otwarte pytania
- Jak napastnik uzyskał prawo do podpisu: przez klucze, system podpisu, pracownika czy podwykonawcę?
- Dlaczego giełda nazwała atak opanowanym, skoro wypłaty z adresów klientów trwały jeszcze cztery godziny?
- Czy klucze adresów depozytowych zostały wymienione i czy można znów zasilać konto według starych danych?
- Z jakich pieniędzy giełda pokryje niezamrożone 38 mln USD?
- Kiedy i w jakiej kolejności zostaną przywrócone wypłaty?
- Jaka jest ostateczna kwota i ile sieci zostało dotkniętych: dziesięć czy siedemnaście?
Co z tego wynika
Saldo na giełdzie to obietnica giełdy. Dopóki wypłaty są zamknięte, Państwa monety istnieją tylko jako wiersz w jej bazie danych, a dostęp do nich wróci wtedy, gdy ona zdecyduje. Na giełdzie warto trzymać to, czym Państwo handlują, a resztę w portfelu, do którego klucze mają tylko Państwo. Trzeba przy tym pamiętać, że stablecoiny emitent może zamrozić także w Państwa własnym portfelu.
Dla kontekstu: trzy dni wcześniej o włamaniu do własnych systemów poinformowała Chainalysis – ta sama firma, która teraz pomaga Mercado Bitcoin śledzić skradzione środki.