16:38
8/8/2014

Rzadko zdarza nam się zachwycać kunsztem atakujących, bo przytłaczająca większość masowych ataków to nudne phishingi i oklepane błędy w webaplikacjach albo małofinezyjne DDoS-y. Tym razem jednak jesteśmy pełni podziwu dla pomysłowości atakującego, który przy pomocy fałszowania tras BGP przejmował wykopywaną kryptowalutę Bitcoin i DOGE.

Przechwycono ruch od 19 operatorów

Na ślad ataku trafili badacze z Della. Informują oni, że atakującemu, który kontrolował router znajdujący się w serwerowni jednego z kanadyjskich ISP, udało się za pomocą wstrzykniętych przez siebie prefiksów BGP przekierować na swoje serwery ruch związany z kopaniem kryptowaluty. Przechwycony ruch pochodził z 57 podsieci od 19 ISP. Wśród ofiar znalazły się serwerownie Amazon, DigitalOcean i OVH.

EvilestThing

Ataków w sumie było 22, i były one bardzo krótkie — fałszywe trasy wstrzykiwano na zaledwie 30 sekund (pełną listę dat ataków i przechwyconych prefiksów znajdziecie tutaj). To jednak wystarczyło, aby klienci, którzy wymieniali w tym czasie dane z tzw. “kopalnią” (tzw. “górnicy”), zostali przekierowani i zapamiętali nowy, podstawiony przez atakującego adres IP jako adres kopalni aż do momentu restartu komputera. Fałszywa kopalnia także zlecała górnikom zadania do obliczenia (na tym polega “kopanie” kryptowaluty), ale nie nagradzała za odesłanie odpowiedzi.

Z hijackingiem tras BGP mieliśmy już do czynienia. Technika wcale nie jest innowacyjna. Ruch internautów do znanych usług przejmowała Białoruś i Islandia oraz Chiny (i to wielokrotnie). Niektóre z ataków na BGP były też przykrywane trwającymi w tym samym czasie bardziej widocznymi (i odciągającymi uwagę) atakami DDoS (por. atak DDoS/BGP na Spamhaus).

Atak przeszedł w większości niezauważony, bo większość górników nie sprawdzała statystyk wydobycia codziennie… Były jednak osoby, które już w marcu zauważyły nieprawidłowości — oto post jednego z użytkowników forum Bitcointalk.org:

page.intelligence.threats.bgp.hijacking.1

Atakujący działał od lutego 2014 roku do końca maja i miał uzyskiwać ze swojego procederu ok. 9 000 dolarów dziennie (28 000 PLN). Potwierdzono, że przez rachunki powiązane z atakującym przepłynęło w sumie ok. 83 000 dolarów (260 000 PLN). Dane te nie są jednak pewne, bo pracownik Della …złamał kostkę w trakcie projektu i z tego powodu zaprzestał monitoringu. Oto wykres prezentujący potwierdzone transakcje z rachunków skojarzonych z atakującym:

lrg.intelligence.threats.bgp.hijacking.6

Kto stoi za tym atakiem?

Fałszywe trasy BGP były wstrzykiwane przez router jednego z kanadyjskich ISP. Badacze nie podają jego nazwy, bo nie są pewni, czy za atakiem stał jeden z pracowników ISP, czy router został “zhackowany” przez kogoś z zewnątrz.

Mógł to także być były pracownik firmy — wielokrotnie opisywaliśmy “komputerowe zemsty” jakich dopuszczali się zwolnieni pracownicy, por.

Kopię kryptowalutę — co robić, jak żyć?

O ile przed samym przejęciem routingu z perspektywy użytkownika końcowego średnio możemy się zabezpieczyć, to pewien stopień ochrony zapewnia korzystanie z szyfrowanych protokołów. Nasz ruch zawsze może być przechwycony w przypadku udanego “porwania trasy BGP” — zostanie wysłany na inne serwery, a być może także przejdzie przez złośliwe serwery NSA, które będą chciały go modyfikować “w locie”, wstrzykując weń exploity (z takiej techniki skorzystało FBI w atakau na Free Hosting w sieci Tora). Jeśli jednak nasz ruch jest szyfrowany to atakujący nie będzie w stanie go podejrzeć i zmodyfikować.

Koparki BitCoinów najwyraźniej nie zaimplementowały poprawnie kryptografii… Większość koparek korzysta z protokołu o nazwie (nomen omen) Stratum, który nie wspiera szyfrowania, ani nie zapewnia integralności przesyłanym danym, co oczywiście umożliwia ataki MITM. Patrząc na pasmo spektakularnych faili osób związanych z kantorami i innymi usługami dotyczącymi kryptowalut, jakoś specjalnie nas nie dziwi wykorzystanie tak kiepskiego protokołu do kluczowych operacji koparek… Por.

Aby monitorować zmiany w naszych prefiksach BGP można skorzystać z usługi BGPMON, która umożliwia monitoring 5 prefiksów za darmo

Inne dziury w koparkach kryptowalut

Jeśli chcecie przeczytać ciekawe opracowanie błędów w popularnym oprogramowaniu do kopania kryptowalut (zwłaszcza SGMiner, CGMiner i BFGminer), zachęcamy do lektury tego dokumentu (oraz tego, tego i tego) — po ich lekturze, być może niektórym z was na myśl przyjdą jeszcze bardziej spektakularne ataki niż zatruwanie tras BGP… :-)

Przeczytaj także:

38 komentarzy

Dodaj komentarz
  1. Co to jest kostka?

    • http://pl.wikipedia.org/wiki/Kostka_(anatomia)

    • Hehehe ja też myślałem nad tym ze 2 minuty, “złamał kostkę” hmm to zabezpieczenie jakieś, czy co? Człowiek już mózg ma zryty od tych informatycznych rzeczy:-)

    • Haha, ja tak samo :)

    • Mnie bardziej zastanowił ten Por.

    • Ja przez chwilę myślałem, że to takie metaforyczne powiedzenie, że mu się przepełniła hurtownia danych :-).

    • “Złamał kostkę” -> pewnie chodzi o nadgarstek, bo to był sysadmin.

  2. Zawsze powtarzałem, że BGP to piękny protokół. :)

    • Gdzieś, kiedyś zobaczyłem polskie tłumaczenie tego, co oznacza “BGP”. Przetłumaczono to jako “Bardzo Groźny Protokół”. :)

      Nie pierwszy to news, w którym występuje BGP… Przy czym we wszystkich newsach, które czytałem, zawsze okazywało się, że to nie wina samego BGP, ale jego błędnej konfiguracji. No cóż, wychodzi, że jak zwykle… PEBKAC, a nie w samej implementacji BGP.

  3. SIemano tu eryk a czy VPN może uchronić przed atakiem na BGP ? a może VPN też tak można shakować,pytam bo ja sie łącze tylko przez VPNy i przez Tor i niewiem

    • VPN w którymś miejscu musi wychodzić na światło dzienne… Jeśli hacker przejmie ruter pomiędzy end-pointem Twojego VPNa, a serwerem z którym się łączysz to na zbyt wiele Ci się ten VPN nie przyda… VPNy przydają się, jeśli wiesz, że do ataku może dojść na trasie od Twojego komputera do end-pointa VPNu, np w publicznej sieci wi-fi albo u Twojego dostawcy internetu…

  4. No cóż gratulację dla upstremów tego ISP którzy najwidoczniej nie filtrują prefiksów tylko akceptują wszystko jak leci (ewentualnie filtrują na bazie as-setów co jak widać ma opłakane skutki ;) )

    • A kto powiedział, że upstreamowi można rozgłaszać tylko swoje prefiksy??? Przecież ktoś mógł sobie zestawiać peering z innymi sieciami i trzeba dla tych sieci tworzyć alternatywną trasę czyli przez nasz BGP. Ponadto ktoś może mieć pod sobą jakiś klientów z adresacją Provider Independent i własnymi AS. Tych klientów też trzeba jakoś uwidocznić na zewnątrz.

  5. Witam. Mam 24 lata i żonę. Chciałbym wiedzieć co to ten bitcoin, bo ja nie wiem a chcę go kopać z kolegami. Jaki szpadel się do tego nadaje? Cheers

    • Na kopanie szpadlem nie traciłbym czasu. Łatwiej będzie KOPARKĄ ;)

    • To zależy w dużej mierze od sygnatury żony (tzw. WAF).
      Jeśli się nie zgadza, to być może ktoś ją podmienił…

    • no i niejakąś tam małą koparką, musisz sobie wielką taką z wielkim zabierakiem cobyś mógł nagrabić sporo bo ciężko się kopie w ostatnim czasie…

    • Krzysiek moje dobre rady.
      Po pierwsze szpadel jest konieczny i to nie ulega wątpliwości. Pamiętaj że czasem musisz klęknąć i w tej pozycji pogrzewać w bitglebie żeby lepiej i szybciej wyciągnąć małe bitcoiny. Tutaj zalecałym ochraniacze na kolana (takiej jak czasem używa się na budowie lub przez ogrodników), jako że kopanie gołymi rękami (bez rękawiczek, bitcoiny są bardzo delikatne i można je szybko stracić) zalecam Ci żebyś przed kopaniem użyj mydła i podrap go (żeby ziemia nie wchodziła Ci pod paznokcie, to bardzo ważne. Krzysiek również ważnym narzędziem są google, jak długo będziesz w kopalni, cząstki bitwęgla może Ci się osadzać wokół oczu, bo bardzo nie ładnie wygląda, a co ważniejsze nie da się tego łatwo zmyć.

  6. Ciekawe czy podobny atak można by przeprowadzić, gdyby zamiast BGP był użyty soBGP ?

  7. Bitcoin to jedno wielkie g… . Ktoś dobrze pomyślał i nakręcił trochę ruch w interesie firmom sprzedającym płyty, karty, etc. Nice :-)

    • Nie używa się ani płyt, ani kart ani etc.

    • karty graficzne GPU lub płyty główne z układami scalonymi ASIC

  8. Zdarza się, że jak siedzi się na d%#$^ przez kilka godzin nad analizą takich fajnych rzeczy jak atak na górników bitcoina, to potem nogi odmawiają posłuszeństwa i cóż.. można złamać kostkę :)

  9. Domagajcie sie by operator kopalni udostepnial kopanie po SSL/TLS. To typowy przypadek, ktory bylby wykryty natychmiast i koparki przestalyby kopac.

  10. kurcze jak piszecie “kostka” to wytłumaczcie o jaką kostkę chodzi….. człowiek siedzi, zastanawia się i czuje się jak idiota :D

    • Nie musisz się tak czuć, po prostu przyjmnij to za coś co jest czymś stałym i nie zmiennym.

    • Kostka jest jak najbardziej zmienna, gdyby tak nie było nie uległa by złamaniu.

  11. Nie bardzo rozumiem jak restart koparki pomógł rozwiązać problem, skoro po wstrzyknięciu tras na krótki okres czasu, routing wracał do stanu wyjściowego ? Wynika z tego że restart magicznie rozwiązał problem, który tak naprawdę nie leżał po stronie klienta – zatem jaki problem rozwiązywał ? Jeśli po wstrzyknięciu tras koparka bezproblemowo łączyła się w locie z podstawioną kopalnią, to czemu powrót miałby się nie udać ? Czy w opisie przypadkiem nie brakuje jakiegoś szczegółu, np. że dodatkowo coś działo się z DNSem, itp. ?

    • Po restarcie na nowo ustalał trasę, więc jeśli w momencie łączenia się koparki trasy były niepodmienione, to do kolejnego wstrzyknięcia wszystko było po staremu. Nie wiem tylko czy wstrzyknięcie wymuszało na wszystkich połączonych klientach zmianę trasy, czy tylko ci, którzy połączyli się w tym 30 sekundowym okienku były oszukiwani.

    • Ale przecież klient nie trzyma tablicy BGP u siebie (najczęściej ma po prostu bramę domyślną przez swojego ISP), więc również nie wiem, w czym miałby pomóc restart.

    • BGP był tylko pierwszym krokiem ataku mającym na sekundy przekierować ruch na maszynę hakera, który potem wykorzystał słabość softu do kopania w celu TYMCZASOWEJ zmiany kopalni dla klienta. Dlatego restart pomagał, po restarcie soft klienta podłączał się z powrotem do właściwej kopalni. Dlatego pisałem wcześniej, że artykuł wprowadza w błąd. BGP był tylko pierwszym krokiem ataku, jest to wykorzytywane w wielu atakach…

  12. “Patrząc na pasmo spektakularnych faili osób związanych z kantorami i innymi usługami dotyczącymi kryptowalut” nie wiadomo o co chodzi w tym zdaniu

    “jakoś specjalnie nas nie dziwi wykorzystanie tak kiepskiego protokołu …”
    Tak jak Maciej napisał można po SSLu kopać.

  13. Ej górnicy idźcie do biedaszybów :)

  14. Panowie ani słowa o defcon 22 ?
    Szczególnie ciekawy był temat hackowania komunikacji satelit i ruchu lotniczego i morskiego, a także wirusów w kontrolerach usb.

  15. Artykuł wprowadza w błąd to nie samo BGP, tyklo gó… soft do kopania poolowego. Brak szyfrowanych połączeń i nieudokumentowane opcje do tzw reconnect clienta kopalni, co wykorzystał hacker ( albo pracownik kanadyjskiego ISP mający dostęp do routera…). Ukrał zaledwie 83K $, jak na bitcoina to kradzież groszowa. Przy takim nakładzie pracy…

    • Artykuł nie wprowadza w błąd. Dokładnie opisuje zarówno mechanizm zmiany routingu (BGP) konieczny do wykonania ataku, jak i opisuje dlaczego nie zostało to wykryte przez klienta (i dlaczego przy poprawnej implementacji szyfrowania w koparkach byłoby wykryte).

  16. […] Olesiński i Wspólnicy poruszamy kwestię wirtualnych walut, a konkretnie — Bitcoina. Wielokrotnie na łamach naszego serwisu informowaliśmy o kradzieżach tej waluty, która nie wszędzie […]

  17. […] Do routera trzeba wysłać odpowiednio zmodyfikowane ciasteczko. Dzięki błędowi w jego obsłudzie router “głupieje” i uznaje osobę przesyłającą to ciasteczko za administratora. Atakujący korzystający z tej dziury, którzy dostaną się na poziom domowych routerów, zapewne będą podmieniali DNS-y na złośliwe, albo wykonywali inne ataki typu Man in the Middle (np. zmiana w routingu może prowadzić do przejmowania Bitcoinów). […]

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.