Jak ukraść wyniki pracy cudzych koparek kryptowalut? Wystarczy przejąć kontrolę nad ważnym ruterem i przez odpowiednią konfigurację sieci oszukiwać cudze komputery i zmuszać je do przekazywania wykopanych funduszy do swojej kopalni.
Kreatywność osób mających chrapkę na cudze „kleptowaluty” wydaje się nie mieć granic. Kiedy już myśleliśmy, że widzieliśmy wszystkie możliwe rodzaje ataków na portfele pełne BTC czy DOGE, badacze z zespołu Dell SecureWorks odkryli i przedstawili nieznany wcześniej scenariusz kradzieży. Od lutego do maja 2014 ktoś przejmował ruch sieci Amazon, OVH, Digital Ocean i innych serwerowni. Jak wyglądał atak?
Znikające bitcoiny
Pod koniec marca na forum bitcointalk.org jeden z użytkowników zauważył, że jego „górnik” nie przynosi żadnych dochodów. Okazało się, że jest on połączony z kopalnią 206.223.224.225, której adres nie był nigdy wpisywany przez użytkownika. Co ciekawe, analogiczny problem zaczęło zgłaszać wielu użytkowników. Ich urządzenia i programy przełączały się z nieznanych powodów na adres tajemniczej kopalni, z której otrzymywali obliczenia do przeprowadzenia, jednak nigdy nie wypłacała ona żadnych kwot. Na problem pomagał restart, po którym górnik łączył się już bez problemów z właściwą kopalnią. Przez wiele miesięcy przyczyna takiej sytuacji pozostawała tajemnicą.
Sprytny atak
Atakujący wpadł na bardzo sprytny pomysł – po co kopać kryptowaluty, skoro można ukraść już wykopane. Najwyraźniej znał się lepiej na protokołach sieciowych niż bezpieczeństwie aplikacji www, ponieważ wybrał do tej pory nieznaną metodę kradzieży. Dzięki kontroli nad ważnym ruterem jednego z kanadyjskich operatorów wstrzykiwał do sieci błędne trasy BGP, opisujące drogę, po której poruszać się będą sieciowe pakiety (mechanizm działania BGP opisywaliśmy w tym artykule). Ogłaszane trasy dotyczyły kilkudziesięciu różnych kopalni, a wszystkie powodowały, że ruch, kierowany do prawdziwych kopalni, trafiał do kontrolowanego przez atakującego serwera. Cały atak przebiegał w następujących krokach:
- niewinny użytkownik łączy się ze swoją kopalnią, dostaje od niej zadania do obliczenia, oblicza, wysyła, dostaje wypłatę
- atakujący rozgłasza fałszywą trasę dla wybranego adresu kopalni
- gdy górnik próbuje połączyć się z kopalnią, trafia pod adres kontrolowany przez atakującego
- znajdująca się tam fałszywa kopalnia przekierowuje go poprzez odpowiedni komunikat do drugiej, też fałszywej kopalni (by uniknąć ponownego przejmowania już raz przejętego klienta)
- druga kopalnia wysyła zadania do wykonania, jednak nie wypłaca za nie nagród
- atakujący szybko wycofuje fałszywe trasy by uniknąć wykrycia (ataki trwały po 30 sekund)
- górnicy kontynuują pracę dla fałszywej kopalni do najbliższego restartu.
Ile zarobił atakujący
Co prawda pierwsze raporty o przełączaniu się górników na tajemniczą kopalnię pochodzą z 22 marca 2014, jednak analiza historycznych danych tras BGP pokazuje, że próby ich fałszowania zaczęły się już 3 lutego. W sumie przejęcia dotyczyły 51 podsieci 19 różnych dostawców internetu, wliczając takich dostawców jak Amazon, OVH czy Digital Ocean. W publikacji Dell SecureWorks możecie znaleźć kompletną listę wszystkich fałszywych tras wraz z datami ich rozgłoszenia. Przykładowe straty poniesione przez jednego z górników ładnie obrazuje poniższy wykres.
Zanim użytkownik z powyższego przykładu wpadł na pomysł zablokowania fałszywej kopalni na firewallu, górnik stracił ok. 8 000 DOGE. Nie jest to duża strata, jednak przy większej liczbie ofiar zyski atakującego mogą być znaczne. Badacze szacują, że w trakcie całego ataku górnicy stracili co najmniej 83 tysiące dolarów w różnych kryptowalutach na rzecz atakującego. Straty dotyczyły nie tylko BTC, ale także DOGE, HoboNickels czy Worldcoin. Szacowanie strat oparto na przepływach zaobserwowanych na rachunkach powiązanych z atakującym.
Kim był atakujący? Teorii jest kilka. Wszystkie przypadki ogłoszenia fałszywych tras BGP wykorzystywały jeden ruter u kanadyjskiego dostawcy internetu. Mógł to zatem być pracownik ISP, były pracownik, który znał hasło dostępu do rutera lub włamywacz, któremu udało się uzyskać kontrolę nad urządzeniem. Gdy 9 maja badacze poinformowali operatora sieci o podejrzanej aktywności, wkrótce ataki ustały i więcej się nie pojawiły. ISP nie poinformował niestety o przyczynach tych zdarzeń.
Atakującemu musimy przyznać, że choć zyski, jakie osiągnął, bledną wobec wielu ataków na giełdy BTC, to styl, w jakim przeprowadził atak, zrobił na nas duże wrażenie. Rzadko mamy okazję opisywać tak oryginalny pomysł. Szczególnie przełączanie górników na drugą, niezależną kopalnię było majstersztykiem pozwalającym prowadzić ataki w bardzo krótkich oknach czasowych, a czerpać z nich korzyści przez dłuższy czas. Chapeau bas.
Komentarze
Pięknie. Wreszcie ktoś mądry ujarzmił grono tych pieprzonych debili od kryptowalut. Gromkie brawa!
kto tu jest debilem .. pewnie siedzisz 14 h przed kompem z brylami -10 i dissujesz wszystko czego nie rozumiesz .. niestety polacy mają mentalność cebulaków
Nie denerwuj się, to szkodzi na cerę ;-)
Wpis w hosts na sztywno byłby złym pomysłem w tym przypadku? (dla użytkownika ofc)
Jeśli na routerze ktoś Ci zmanipuluje pakiety to nie zorientujesz się z poziomu swojego komputera, że coś takiego miało miejsce. Przypadek dotyczy ruchu nieszyfrowanego, w przypadku ruchu po TLSie pewnie byłoby trudniej.
Pięknie to typ rozegrał.
Czyli soft napisany na zasadzie „nieważne, jaki adres podasz w konfiguracji klienta, serwer może podać nowy adres serwera”. Cud, że nie zapisywał tego do konfiga. I w sumie błąd, bo jeśli chciano uzyskać możliwość przepięcia adresu kopalni w locie, to w obecnej sytuacji i tak by nie zadziałało (tj. tylko do restartu).
Kolejny dowód na to, że BGP to niezabezpieczone gówno
bgp really…?