Historia bot`a Willy z giełdy Mt.Gox listopad 2013 r. część 1

Raport Willy’ego: dowód masowego oszukańczego handlu w Mt. Gox, i jak to wpłynęło na cenę Bitcoin
Wysłany 25 maja 2014 przez willyreport
Gdzieś w grudniu 2013 r. Wielu handlarzy, w tym ja, zaczęło zauważać podejrzane zachowania bota na Mt. Gox. Zasadniczo losowa liczba od 10 do 20 bitcoinów byłaby kupowana co 5-10 minut, bez przerwy, przez co najmniej miesiąc do końca stycznia. W pewnym momencie bot został nazwany „Willy”, którego nazwę będę nadal używać tutaj. Ponieważ Willy kupował taki rozpoznawalny wzór, pomyślałem, że łatwo będzie go znaleźć na Mt. Dzienniki transakcyjne Gox, które wyciekły około dwa miesiące temu (tutaj znajduje się torrent danych). Jednak dzienniki dotarły dopiero w listopadzie 2013 r .; na szczęście udało mi się wykryć wzór zakupu w ostatnich dniach listopada. Poniżej znajduje się skompilowany dziennik jego transakcji w ciągu ostatnich dwóch dni listopada (z pliku „2013-11_mtgox_japan.csv”):

30-11-2013 10:58 – UID: 832432 Type: buy Currency: USD BTC: 15.805611 Fiat: 18978.39
30-11-2013 11:06 – UID: 832432 Type: buy Currency: USD BTC: 14.96578741 Fiat: 18108.31
30-11-2013 11:13 – UID: 832432 Type: buy Currency: USD BTC: 18.49346572 Fiat: 22412.65
30-11-2013 11:18 – UID: 832432 Type: buy Currency: USD BTC: 12.77630467 Fiat: 15500.85
30-11-2013 11:25 – UID: 832432 Type: buy Currency: USD BTC: 13.70319422 Fiat: 16621.72
30-11-2013 11:35 – UID: 832432 Type: buy Currency: USD BTC: 14.95640049 Fiat: 18120.95
30-11-2013 11:41 – UID: 832432 Type: buy Currency: USD BTC: 15.29944656 Fiat: 18544.72
30-11-2013 11:51 – UID: 832432 Type: buy Currency: USD BTC: 14.10583655 Fiat: 17073.18
30-11-2013 11:58 – UID: 832432 Type: buy Currency: USD BTC: 14.50627441 Fiat: 17560.1
30-11-2013 12:03 – UID: 832432 Type: buy Currency: USD BTC: 13.07979536 Fiat: 15865.66
30-11-2013 12:13 – UID: 832432 Type: buy Currency: USD BTC: 11.88053668 Fiat: 14411.04
30-11-2013 12:20 – UID: 832432 Type: buy Currency: USD BTC: 11.46523059 Fiat: 13913.0
30-11-2013 12:30 – UID: 832432 Type: buy Currency: USD BTC: 19.89610521 Fiat: 24187.39

Kilka uwag o tym, jak uzyskałem te dane: najpierw usunąłem wszystkie dokładne duplikaty wpisów z dziennika. Jak zauważono we wcześniejszej analizie, transakcje obejmujące identyfikator użytkownika „THK” – którego prawdopodobna rola polegała na ułatwianiu transakcji między walutami – zostały błędnie zduplikowane w dziennikach. Po drugie, ponieważ dziennik zawiera wpis dla każdej transakcji z użytkownikiem na użytkownika, zsumowałem każdą parę transakcji dotyczących tego samego użytkownika, które wystąpiły w ciągu 2 sekund od siebie, przy założeniu, że należały do ​​tego samego kupna / sprzedaży na rynku (2 sekundy aby uwzględnić opóźnienie w pracy silnika, które, jak wie Bóg, było czasami ogromne na Górze Gox).

Możesz zauważyć, że są to w rzeczywistości wiele identyfikatorów użytkowników (oznaczonych „UID”); Willy nie był pojedynczym kontem, jego działalność handlowa była rozłożona na wiele kont. Być może dlatego inni nie mogli go znaleźć w bazie danych: było mnóstwo ludzi, którzy wiedzieli o jego istnieniu (w rzeczywistości OP tego wątku rzekomo wymyślił nazwę „Willy”). Zauważyłem tutaj, że wszystkie te konta miały jedną wspólną cechę; pola User_Country i User_State miały „??” jako wpis. To było niezwykłe. Zwykle te pola zawierały kody FIPS kraju / stanu (dla zweryfikowanych użytkowników?), Nic (niezweryfikowani użytkownicy?) Lub „!!” (użytkownicy, którym nie udało się zweryfikować lub podejrzani użytkownicy?).

Więc wróciłem i zebrałem wszystkich „??” użytkowników, zagregowałem ich transakcje i zsumowałem kwotę BTC, którą każdy z tych kont kupił (nigdy nie wykonali jednej sprzedaży). Bezproblemowo połączyli się ze sobą: gdy jeden użytkownik stał się nieaktywny, następny stał się aktywny zazwyczaj w ciągu kilku godzin. Ich działalność handlowa sięgała aż do 27 września. Pełna lista transakcji, które możesz zobaczyć poniżej:

30-11-2013 8:21 – UID: 832432 Type: buy Currency: USD BTC: 15.11078279 Fiat: 18219.15
30-11-2013 8:26 – UID: 832432 Type: buy Currency: USD BTC: 18.33760706 Fiat: 22124.66
30-11-2013 8:33 – UID: 832432 Type: buy Currency: USD BTC: 15.65679368 Fiat: 18874.16
30-11-2013 8:42 – UID: 832432 Type: buy Currency: USD BTC: 10.43778336 Fiat: 12513.83
30-11-2013 8:50 – UID: 832432 Type: buy Currency: USD BTC: 19.80923362 Fiat: 23861.22
30-11-2013 8:59 – UID: 832432 Type: buy Currency: USD BTC: 17.91868137 Fiat: 21620.78
30-11-2013 9:05 – UID: 832432 Type: buy Currency: USD BTC: 17.70558866 Fiat: 21369.78
30-11-2013 9:11 – UID: 832432 Type: buy Currency: USD BTC: 15.54998274 Fiat: 18799.67
30-11-2013 9:19 – UID: 832432 Type: buy Currency: USD BTC: 12.29697759 Fiat: 14878.67
30-11-2013 9:27 – UID: 832432 Type: buy Currency: USD BTC: 18.03343411 Fiat: 21838.91
30-11-2013 9:33 – UID: 832432 Type: buy Currency: USD BTC: 13.21652953 Fiat: 16041.43
30-11-2013 9:44 – UID: 832432 Type: buy Currency: USD BTC: 17.46274022 Fiat: 21268.82
30-11-2013 9:51 – UID: 832432 Type: buy Currency: USD BTC: 17.57018627 Fiat: 21330.73
30-11-2013 10:01 – UID: 832432 Type: buy Currency: USD BTC: 19.90458956 Fiat: 24212.63
30-11-2013 10:10 – UID: 832432 Type: buy Currency: USD BTC: 14.011528 Fiat: 16893.82
30-11-2013 10:19 – UID: 832432 Type: buy Currency: USD BTC: 16.18210837 Fiat: 19561.92
30-11-2013 10:29 – UID: 832432 Type: buy Currency: USD BTC: 18.34173105 Fiat: 22136.74
30-11-2013 10:35 – UID: 832432 Type: buy Currency: USD BTC: 18.19262893 Fiat: 21885.52
30-11-2013 10:45 – UID: 832432 Type: buy Currency: USD BTC: 11.24527636 Fiat: 13492.78
30-11-2013 10:52 – UID: 832432 Type: buy Currency: USD BTC: 14.5141487 Fiat: 17416.93
30-11-2013 10:58 – UID: 832432 Type: buy Currency: USD BTC: 15.805611 Fiat: 18978.39
30-11-2013 11:06 – UID: 832432 Type: buy Currency: USD BTC: 14.96578741 Fiat: 18108.31
30-11-2013 11:13 – UID: 832432 Type: buy Currency: USD BTC: 18.49346572 Fiat: 22412.65
30-11-2013 11:18 – UID: 832432 Type: buy Currency: USD BTC: 12.77630467 Fiat: 15500.85
30-11-2013 11:25 – UID: 832432 Type: buy Currency: USD BTC: 13.70319422 Fiat: 16621.72
30-11-2013 11:35 – UID: 832432 Type: buy Currency: USD BTC: 14.95640049 Fiat: 18120.95
30-11-2013 11:41 – UID: 832432 Type: buy Currency: USD BTC: 15.29944656 Fiat: 18544.72
30-11-2013 11:51 – UID: 832432 Type: buy Currency: USD BTC: 14.10583655 Fiat: 17073.18
30-11-2013 11:58 – UID: 832432 Type: buy Currency: USD BTC: 14.50627441 Fiat: 17560.1
30-11-2013 12:03 – UID: 832432 Type: buy Currency: USD BTC: 13.07979536 Fiat: 15865.66
30-11-2013 12:13 – UID: 832432 Type: buy Currency: USD BTC: 11.88053668 Fiat: 14411.04
30-11-2013 12:20 – UID: 832432 Type: buy Currency: USD BTC: 11.46523059 Fiat: 13913.0
30-11-2013 12:30 – UID: 832432 Type: buy Currency: USD BTC: 19.89610521 Fiat: 24187.39

I kompilacja, kiedy każde konto było aktywne, ile BTC kupili i ile wydali USD, z pewnymi sumami (wybrane bo mnóstwo transakcji) na dole:

User_ID: 807884
User: a6e1c702-e6b2-4585-bdaf-d1f00e6e7db2
Start: 27-9-2013 13:41
End: 1-10-2013 0:30
BTC bought: 17650.499699839987
USD spent: 2500000.0
User_ID: 659582
User: b337d02a-ccd5-4323-933d-35e59d228825
Start: 16-10-2013 1:45
End: 18-10-2013 11:14
BTC bought: 15695.016063759997
USD spent: 2500000.0User_ID: 825654
User: f9fc16dd-3010-4104-8c71-077596189e38
Start: 29-11-2013 13:45
End: 30-11-2013 4:18
BTC bought: 2090.5948831200003
USD spent: 2500000.0

User_ID: 832432
User: 26d62882-06c0-4e0e-a79d-3ea8592f490b
Start: 30-11-2013 7:25
End: 30-11-2013 12:30
BTC bought: 638.5403779799999
USD spent: 770744.48

Total BTC bought: 268132.73433409
Total USD spent: $111,770,744.48

Zasadniczo za każdym razem (1) utworzono konto, (2) konto wydało bardzo dokładną kwotę USD na monety kupowane na rynku (250000000 dolarów było najczęściej), (3) nowe konto zostało utworzone bardzo krótko po tym. Powtarzać. Ogółem wydano około 112 milionów dolarów na zakup blisko 270 000 BTC, z których większość została kupiona w listopadzie. Więc jeśli zastanawiasz się, jak Bitcoin nagle docenił wartość 10 razy w ciągu jednego miesiąca, cóż, może to być powód. Nie chińscy inwestorzy, a nie popiersie w Silkroad – te wydarzenia mogły się przyczynić, ale mogły nie być głównym powodem. Ale o tym później.

W tym momencie zauważyłem, że pierwsze konto Willy (utworzone 27 września), w odróżnieniu od wszystkich innych, miało bardzo zwariowany, wysoki identyfikator użytkownika: 807884, mimo że regularne konta w tym momencie wzrosły tylko do 650000 lub więcej. Więc poszedłem szukać innych niezwykle wysokich identyfikatorów użytkowników w ciągu tego miesiąca, a oto okazało się, że było jeszcze jedno konto podróżnika w czasie z identyfikatorem 698630 – i to konto, po tym, jak było aktywne przez blisko 8 miesięcy, stało się całkowicie nieaktywne 7 na kilka godzin przed aktywacją pierwszego konta Willy! Jest więc rozsądnym założeniem, że rachunki te były kontrolowane przez ten sam podmiot. Konto 698630 faktycznie miało zarejestrowany kraj i stan: „JP”, „40” – kod FIPS dla Tokio, Japonia. Poszedłem więc i skompilowałem wszystkie transakcje dla tego konta. Dla wygody będę dubować tego użytkownika „Markus”. Jego transakcje są następujące:

11-9-2013 8:40 – UID: 698630 Type: buy Currency: USD BTC: 2.4839027 Fiat: 2158.4
11-9-2013 13:24 – UID: 698630 Type: buy Currency: USD BTC: 7500.00000008 Fiat: 32489.2
11-9-2013 22:15 – UID: 698630 Type: buy Currency: USD BTC: 4999.99999996 Fiat: 86781.37
11-9-2013 22:20 – UID: 698630 Type: buy Currency: USD BTC: 151.02879897 Fiat: 435.67
11-9-2013 22:34 – UID: 698630 Type: buy Currency: USD BTC: 999.99999996 Fiat: 80522.67
11-9-2013 22:58 – UID: 698630 Type: buy Currency: USD BTC: 500.00000004 Fiat: 9535.56
12-9-2013 7:04 – UID: 698630 Type: buy Currency: USD BTC: 456.7525673 Fiat: 846.89
12-9-2013 7:07 – UID: 698630 Type: buy Currency: USD BTC: 44.27048977 Fiat: 822000.0
12-9-2013 7:07 – UID: 698630 Type: buy Currency: USD BTC: 4.55E-5 Fiat: 822000.0

Było kilka osobliwych rzeczy o Markusie. Po pierwsze, jego opłaty były zawsze 0 (w przeciwieństwie do Willy’ego, który jak zwykle płacił opłaty). Po drugie, jego fidytety wydawane przy zakupie monet były wszędzie, z pozornie całkowicie przypadkowymi cenami płaconymi za bitcoin. Dla porównania, Markus jest użytkownikiem „Usterki w Systemie” w tej doskonałej wizualizacji Gox DB (w tej notatce wszystkie konta Willy to „Greater Fools” z dużymi zielonymi plamami w okolicach Oct-Nov). Po dokładniejszym sprawdzeniu dziennika okazało się, co było przyczyną tych pozornie przypadkowych wartości:

W tej tabeli pierwsze dwie transakcje (pary kupuj / sprzedaj) są wykonywane przez zwykłego użytkownika o identyfikatorze 238168. W drugiej transakcji użytkownik ten kupuje 0,398 BTC za 15,13 USD. Następną transakcją jest zakup dużego rynku od Markusa (ID 698630): zauważ, że wartość „15,13 USD” z poprzedniego handlu wydaje się „trzymać”; niezależnie od wielkości kupionego BTC, wartość wypłacana jest zawsze 15,13 USD. Jest to spekulacja, ale być może dla Markusa, pole „Pieniądze” jest w rzeczywistości puste, a program, który generuje logi transakcyjne, po prostu bierze jakąkolwiek wartość, która już istniała. Innymi słowy, Markus w jakiś sposób kupuje tonę BTC, nie wydając ani grosza. Co ciekawe, Markus również sprzedaje co jakiś czas, i z jakiegoś powodu wartości cen są poprawne w tym przypadku. Jego największa sprzedaż miała miejsce 2 czerwca. Analizowałem te transakcje osobno tutaj:

Totals:
Start: 2-6-2013 8:22
End: 2-6-2013 9:47
User_ID: 698630
User: b2853e3c-3ec0-4fa5-8231-d21e2fd13330

BTC bought: 14770.555715840008
USD spent: $??.??
BTC sold: 31579.33902558999
USD received: $3,813,128.10

Net BTC sold: 16808.783309749982
Net USD received: $3,813,128.10 - $??.??

Sprzedaj 31k BTC, otrzymaj 4 miliony dolarów, ponownie kup 15 BTC, nic nie wydawaj. Niesamowite! Oto odpowiedni wykres na ten dzień, aby pokazać, że te transakcje (od 8:00 do 10:00) faktycznie miały miejsce „na rynku” i miały znaczący wpływ na cenę.

Start: 14-2-2013 3:37
End: 27-9-2013 6:16
User_ID: 698630
User: b2853e3c-3ec0-4fa5-8231-d21e2fd13330

BTC bought: 335203.83080579044
USD spent: $??.??
JPY spent: 0.0
EUR spent: €2110.46

BTC sold: 37575.39028677996
USD received: $4,018,376.87
JPY received: ¥2,744,463.91
EUR received: 0.0

Net BTC bought: 297628.4405190105
Net USD spent: $??.?? - $4,018,376.87

Kolejne netto ~ 300 000 BTC kupił. W połączeniu z zakupami Willy’ego to łącznie około 570 000 BTC. Chociaż nie ma żadnych dzienników handlowych po listopadzie, Willy był obserwowany przez wielu handlowców, aby być aktywnym przez większą część grudnia, aż do końca stycznia. Chociaż tempo to było wolniejsze, bardziej stabilne (około 2000 BTC dziennie), powinno to z grubsza dodać kolejne 80 000 BTC lub tak kupione. Jest to suma, która jest podejrzanie zbliżona do rzekomo straconego ~ 650 000 BTC.

Więc … haker, czy praca w domu?
W tym momencie sądzę, że prostym wnioskiem byłoby, że w ten sposób skradziono monety: haker uzyskał dostęp do systemu lub bazy danych, był w stanie przydzielić sobie konta dowolną kwotą USD i po prostu zaczął kupować i wycofywać z dala. Jest to zgodne z raportami GoxDox.org z zeszłego miesiąca (wyciekły one z akt oskarżenia w Sunlot, więc wyraźnie mają pewne wewnętrzne informacje). W końcu ciągłe tworzenie nowych kont Willy’ego wydaje się prawie zamierzone, aby uniknąć wykrycia. Niezweryfikowane wypłaty BTC mogły być możliwe do końca 2013 r. (Nie mogłem znaleźć żadnych dokładnych danych na ten temat), a może wartości lokalizacji „??” w bazie danych (w przeciwieństwie do zwykłych pustych lub „!!” dla niezweryfikowanych użytkowników) w stanie oszukać system w myśleniu, że ten użytkownik został zweryfikowany. Jest jednak wiele rzeczy, które nie łączą się z tą teorią; w rzeczywistości jest mnóstwo dowodów sugerujących, że wszystkie te konta były kontrolowane przez Mt. Sam Gox.

Po pierwsze, oczywiste: Markus ma siedzibę w Tokio w Japonii. Każdy haker mógłby jednak edytować wpis DB, aby spróbować kogoś sfałszować (lub nawet być w Tokio, choć jest to mało prawdopodobne). Jednak żadne z rachunków Willy do listopada nie pojawia się w streszczeniu bilansu wycieków w momencie zawalenia i wydaje się, że nie ma odpowiednich wypłat dla tych kupionych bitcoinów. Markus ma równowagę: około 20 BTC i niewielkie kwoty EUR, JPY i PLN. Brak salda w USD. Innymi słowy, tylko waluty, dla których Mt. Gox aktywnie kontrolował konta bankowe.

Następny dowód może być bardziej przekonujący. Przez kilka miesięcy w 2013 r. W wyciekanej bazie danych istniały dwie wersje dzienników handlowych: pełny dziennik i anonimowy dziennik z usuniętymi hasłami użytkownika i kodami kraju / stanu. W kwietniu 2013 r. Istniał plik .zip, który zawierał jeden taki anonimowy dziennik – to spekulacja, ale jednym z jego zastosowań mogło być wysłanie audytorom / inwestorom, aby pokazać niektóre elementy wewnętrzne. Po dokładniejszym sprawdzeniu okazuje się, że pełne i anonimowe wersje wszystkich dzienników różnią się w dwóch i TYLKO na dwa sposoby:

Skórki użytkownika i kody kraju / stanu są usuwane.
Markus „out-of-place” ID użytkownika (698630) został zmieniony na małą liczbę (634), a jego dziwne, stałe wartości „Money” zostały skorygowane do oczekiwanych wartości.
Interesujący szczegół: z listy wycieków z 2011 r. Użytkownik o identyfikatorze 634 ma nazwę użytkownika „MagicalTux”. Porównaj te dwie tabele:

„Naprawiony” plik ma wcześniejszą datę utworzenia niż pełny, więc nie mógł to być błąd zgłaszania, który został naprawiony później. Wszystko wskazuje na to, że te wartości zostały ręcznie edytowane, prawdopodobnie w celu usunięcia śladów podejrzanej aktywności. Chociaż inna możliwość jest taka, że w rzeczywistości jest odwrotnie – poprawny log z wcześniejszą datą utworzenia był oryginalny, a wszystkie inne dzienniki zostały zmienione na inny identyfikator, który nie jest identyfikowalny z MagicalTux, aby ukryć oszustwo w bardzo leniwy sposób (przez ustawienie wszystkich pieniędzy wydanych na ostatnią transakcję), a ktoś zapomniał, że wciąż znajduje się plik zip z niezmienionymi danymi.

Kolejna sprawa: Willy zdawał się być odporny na przestoje w sieci.

Ostatnie cztery transakcje wyświetlane w prawym dolnym rogu pokazują typową działalność handlową Willy obserwowaną od grudnia: 10-20 BTC kupuj co 5-10 minut. W tym czasie nikt nie był w stanie handlować, czy to przez API, czy w inny sposób, Willy był jakoś w stanie kontynuować, jakby nic się nie wydarzyło. To sprawia, że prawdopodobnie bot był uruchamiany z lokalnego Mt. Serwer Gox. Nie jest wykluczone, że haker mógł zainstalować rootkita na Mt. Serwery Goxa i uruchomił bota stamtąd, ale wydaje się to bardzo mało prawdopodobne.

Dodaj komentarz

Facebook