Jak dobry samarytanin zhakował portfel miłośnika kryptowaluty

dodał 17 czerwca 2017 o 11:27 w kategorii Wpadki  z tagami:
Jak dobry samarytanin zhakował portfel miłośnika kryptowaluty

Czasami komuś zdarza się zrobić w internecie coś głupiego, jak na przykład ujawnić prawie prawdziwe hasło do swojego zapasu kryptowaluty. Na szczęście zdarza się, że interweniuje wtedy ktoś o dobrych intencjach.

Zacznijmy od krótkiego wprowadzenia – siacoin to jeden z wynalazków świata kryptowalut, umożliwiający udostępnianie naszej wolnej przestrzeni dyskowej w zamian za wynagrodzenie – lub kupowanie tejże przestrzeni na cudzych dyskach. Pomysł ciekawy, ale to nie o nim chcemy dzisiaj napisać. W momencie tworzenia portfela siacoin losowanych jest 29 wyrazów z dość sporego słownika, które mogą służyć do odzyskania dostępu do portfela. Kto zna te słowa, ten kontroluje portfel.

Hasło jest, ale nie działa

Jeden z użytkowników siacoin miał problem, ponieważ mimo wielu prób nie udało mu się dostać do jego portfela. Magiczne słowa zapisał do pliku tekstowego, który zgubił, a słowa zapisane (jako kopia bezpieczeństwa) na kartce nie działały. Jego post na Reddicie wyglądał następująco:

Przekonany, że zapisane przez niego słowa są błędne, opublikował je w internecie. W portfelu miała być równowartość ok. 2000 EUR, zatem trzeba przyznać, że ruch z publikacją klucza dostępu (nawet błędnego) był dość odważny.

W tym miejscu na scenę wkracza dobra dusza, czyli Michael Lynch. Zauważył on post poszkodowanego i postanowił przyjrzeć się problemowi. Najpierw przeczytał opublikowaną listę słów. Spojrzał do kodu źródłowego siacoin, gdzie znalazł słownik, z którego losowane są słowa do hasła. Niestety wszystkie słowa z listy opublikowanej na Reddicie były także w słowniku. Problem był zatem bardziej skomplikowany. Wtedy Michael postanowił podejść do sprawy bardziej naukowo. Przypomniał sobie o tzw. odległości Levenshteina, czyli sposobie pomiaru różnicy między dwoma ciągami tekstowymi. Jeśli zmierzymy odległość Levenshteina między słowami kot oraz koc to otrzymamy 1, bo różnią się tylko jedną literą. Michael zatem zmierzył odległości Levenshteina między wszystkimi słowami w słowniku siacoin a zestawem słów z hasła i odkrył, że tylko 12 słów ze słownika różni się 1 literą od użytych w haśle.

"wise" -> "wife"
"tagged" -> "jagged"
"tagged" -> "nagged"
"aptitude" -> "altitude"
"push" -> "lush"
"brunt" -> "grunt"
"tonic" -> "ionic"
"tonic" -> "sonic"
"tonic" -> "topic"
"tonic" -> "toxic"
"adapt" -> "adept"
"adapt" -> "adopt"

Pozostało już tylko sprawdzić, która literówkę zrobił poszkodowany zapisując hasło na kartkę. Okazało się, że zamiana „tonic” na „ionic” odblokowuje feralny portfel.

To nie koniec zagadki

Co ciekawe, w zhakowanym portfelu było tylko 10 EUR. Michael zastanawiał się, czy 2000 EUR miało być tylko bajką czy tez przynętą by zachęcić internautów do zmierzenia się z problemem. Historia portfela pokazywała, że nigdy nie było na nim 2000 EUR. Michael przypomniał sobie jednak, że Poloniex, największa giełda handlująca siacoin, ma problemy z zaległymi transakcjami, więc podejrzewał, że być może 2000 EUR czeka w kolejce do rozliczenia. Na wszelki wypadek ustawił skrypt regularnie opróżniający feralny portfel i próbował skontaktować się z poszkodowanym. Ten jednak długo nie odpowiadał na próby kontaktu. Gdy w końcu odpowiedział okazało się, że faktycznie transakcja nie opuściła giełdy i udało się 2000 EUR odzyskać bez dostępu do portfela. Michael oddał pozostałe 10 EUR i opisał całą historię, dzięki czemu mogliśmy się nią z Wami podzielić.

Michaelowi gratulujemy pomysłu na złamanie hasła, a Wam przypominamy o wadze dobrej kopii bezpieczeństwa. Gdyby plik z hasłem nie zniknął, poszkodowany nie miałby takiego problemu. Tym razem na szczęście wszystko dobrze się skończyło, ale mógł stracić 2000 EUR. Jeśli chcecie posłuchać, jak nie stracić swoich danych, to już w najbliższy poniedziałek i wtorek będziemy opowiadać na naszym webinarze – serdecznie zapraszamy.