Michael Stay, CTO společnosti Pyrofex vyvíjející blockchainový software, na konferenci DEFCON vylíčil, jak pomohl zachránit soukromé klíče pro bitcoiny v hodnotě více než 300 000 dolarů. Klíče byly uzamčeny v souboru zip a Stay byl pověřen, aby se do složky naboural a získal je.
Bitcoiny v hodnotě 300 000 dolarů za pouhých 100 000?
V lednu 2016 klient zakoupil bitcoiny v hodnotě 10 000 dolarů. Bohužel zapomněl heslo k zip souboru, ve kterém měl uložené soukromé klíče BTC.
Po přečtení Stayovy práce o dešifrování zakódovaných zip souborů se rozhodl jej loni v říjnu kontaktovat.
Po prvotní analýze problému Stay uvedl účtovatelnou částku 100 000 dolarů, s kterou klient souhlasil. Konec konců, bitcoiny ve složce teď měly hodnotu kolem 300 000 dolarů. I za cenu 100 000 by byl klient v zisku.
Snížení kombinací na pouhé ‘triliony’
Zip soubor, který použil klient, používal šifrování ZIP 2.0 Legacy. I když byla šifra navržena před několika dekádami ‘amatérským kryptografem’, bylo nemožné ji prolomit běžnými nástroji.
Naštěstí klient věděl, který zip program a jakou verzi použil k uzamčení soukromých klíčů. Také měl časovou značku ze dne vytvoření souboru.
Začalo to tím, že Stay zúžil počet možnosti hesla na pouhé ‘triliony’.
Průlom a selhání
Stay a Nash Foster pracovali na ‘implementaci kódu kryptoanalýzy a jeho spuštění na obecných GPU Nvidia Tesla’.
Foster řekl:
Mikeovi se povedla účinnější práce s kryptoanalýzou, takže jsme mohli věnovat více času vývoji útoku. Ten pak stačilo vést zhruba týden. To ušetřilo hodně peněz za infrastrukturu. Před deseti lety by tohle nešlo udělat bez nutnosti postavit speciální hardware a náklady by pravděpodobně přesáhly hodnotu bitcoinů.
Museli pracovat se ‘zašifrovanými informačními poznámkami o souboru’, protože klient jim plně nedůvěřoval s obsahem souboru.
Po deseti dnech však útok selhal. Stay se obával, že potrvá dlouho věci napravit a klient ztrácel nervy, protože cena Bitcoinu klesala.
Úspěch
Mikea napadlo, že mohou zkusit záměrně vybrat číslo nebo zdroj, ‘jako startovní bod pro generátor náhodných čísel používaný v kryptografickém schématu.’
Mezitím se zjistilo, že ‘GPU nezpracovalo správné heslo na první pokus’. Problém se vyřešil a pomocí Mikeovi alternativní metody se spustil útok znovu.
Prolomili heslo.
Náklady na infrastrukturu stáli nakonec pouhých 6-7 000 dolarů, oproti původnímu odhadu 100 000 dolarů. Klient nakonec zaplatil za práci 25 000 dolarů.