Zapomniał hasła do archiwum ZIP. Nie przeszkodziło to ekspertom w odzyskaniu z niego BTC o wartości 300 000 USD… Jak tego dokonano?
W zeszłym tygodniu na konferencji DEFCON, CTO firmy Pyrofex, Michael Stay opowiedział, jak pomógł odzyskać klucze prywatne do BTC o wartości ponad 300 000 USD. Klucze były zablokowane w archiwum zip. Stayowi powierzono zadanie ich odzyskania.
100 000 USD za odzyskanie BTC o wartości 300 000 USD
Niejaki „The Guy” to obywatel Rosji, który po lekturze ZIP Attacks with Reduced Known Plaintext Michaela Staya zwrócił się do niego z prośbą o próbę odzyskania dostępu do swoich bitcoinów.w październiku ubiegłego roku.
„The Guy” kupił BTC o wartości 10 000 USD już w 2016 roku. Niedługo potem zapomniał hasła do zaszyfrowanego archiwum ZIP, w którym ukrył swoje klucze prywatne. Do Slaya odezwał się za pośrednictwem LinkedIn w październiku ubiegłego roku:
„Jeśli uda nam się z powodzeniem znaleźć hasło, podziękuję Ci” – napisał „The Guy” do Staya.
Po wstępnej analizie problemu, Stay podał swoją cenę. Za odzyskanie dostępu do zaszyfrowanego archiwum zażądał kwoty 100 000 USD. „The Guy” przystał na tę ofertę. Było nie było, w środku znajdowały się bitcoiny o wartości przekraczającej wówczas 300 000 USD!
Zawężenie możliwości uzyskania dostępu do „trylionów”
Plik zip używany przez Rosjanina wykorzystywał szyfrowanie ZIP 2.0 Legacy. I chociaż szyfr został zaprojektowany przez „kryptografa-amatora” dziesiątki lat temu, nie można go było się do niego dostać za pomocą zwykłych narzędzi.
Dlatego Stay i jego firma nadali temu zleceniu tak wysoką wartość. Zespół Staya twierdził, że została ona podyktowana również tym, że „The Guy” dysponował minimalną ilością informacji, które mogły ułatwić wykonanie tego zadania.
The Guy wiedział tylko, że zaszyfrował klucze prywatne zip-em. Znał wersję oprogramowania. Dysponował również Miał też znacznik czasu z dnia utworzenia pliku.
Z tą wiedzą Stay zabrał się do pracy. Zaczęło się od tego, że zawęził możliwości hasła / klucza szyfrowania do rzędu „trylionów”.
Przełom i porażka
Stay podjął współpracę z dyrektorem generalnym Pyrofex, Nashem Fosterem, aby „wdrożyć kod kryptoanalizy i uruchomić go na procesorach GPU ogólnego przeznaczenia Nvidia Tesla”.
To, według Staya, pomogło znacznie w udoskonaleniu ataku na archiwum. Pomogło to również skrócić czas potrzebny na uzyskanie dostępu do pliku. Jak powiedział Foster:
„Mike był w stanie wykonać bardziej efektywną pracę z kryptoanalizą, więc spędziliśmy więcej czasu na opracowywaniu ataku, ale potem musieliśmy puścić go tylko przez około tydzień. To zaoszczędziło facetowi dużo pieniędzy na kosztach infrastruktury. Dziesięć lat temu nie dałoby się tego zrobić bez budowy specjalnego sprzętu, a koszt prawdopodobnie przekroczyłby wartość jego BTC”.
Michael i Nathan musieli pracować z „zaszyfrowanymi„ nagłówkami ”lub notatkami informacyjnymi o pliku, jako że The Guy nie do końca ufał im w kwestii zawartości pliku. W końcu mogliby ukraść jego BTC po złamaniu zip-a.
Minęło 10 dni i atak zakończył się porażką. „The Guy” już się denerwował, cena bitcoina spadała…
W końcu się udało…
Michael Stay dokonał przeglądu dotychczasowego procesu, mając nadzieję na znalezienie anomalii i wpadł na pomysł, aby obliczyć liczbę lub seed „jako punkt wyjścia dla generatora liczb losowych używanego w schemacie kryptograficznym”.
Poza tym The Guy przeczesał dane testowe i stwierdził, że „GPU nie przetworzył prawidłowego hasła za pierwszym razem”. Duet z Pyrofex rozwiązał problem i wznowił atak alternatywną metodą Staya
W końcu dostali się do środka i odzyskali klucze prywatne do BTC.
Koszty infrastruktury osiągnęły skromne 6000-7000 USD, w przeciwieństwie do początkowo podawanych 100 000 USD. Ostatecznie „The Guy” zapłacił Pyrofex 25 000 dolarów za ich pracę. Komentując powodzenie powierzonego zadania, Foster powiedział:
„Takie projekty są po prostu zupełnie nietypowe. Gdyby szczegóły jego sytuacji były inne, gdyby użył nieco nowszej wersji zip, byłoby to niemożliwe. Ale w tym konkretnym przypadku było coś, co mogliśmy zrobić”.