Zadnje dni hekerji pospešeno kradejo bitcoine, ki jih imajo lastniki shranjene v strojnih denarnicah Coldcard kanadskega podjetja Coinkite. V firmwaru so odkrili ranljivost, zaradi katere je trivialno ugotoviti, s katerim ključem je zavarovana posamezna denarnica. Sredstva lahko lastnikom denarnic ukradejo, ne da bi denarnico sploh videli ali vanjo vdrli. Coinkite je vse stranke že pozval k takojšnjemu prenakazilu kriptovalute na druge denarnice.
Napaka se je
zgodila, ko so leta 2021 izdali popravek firmwara. V njem so želeli izključiti MicroPythonov generator naključnih števil in uporabiti svojega strojnega. Pri tem pa so kodo popravili napačno, tako da knjižnic libngu ni preverjala vrednosti parametra MICROPY_HW_ENABLE_RNG, temveč le njegov obstoj. Namesto strojnega generatorja naključnih števil se je uporabljal le preprost psevdonaključni generator.
V praksi so se zato ključi pet let generirali iz 32-bitne serijske številke denarnice, točnega časa in časovnega registra. Denarnice Mk3 so imele vsega 40 bitov entropije, Mk4, Mk5 in Q pa 72, a se je nato skrčil na vsega nekaj milijard kombinacij.
Tako hekerjem sploh ni treba hekati, temveč lahko preprosto preizkusijo vse kombinacije. Na svojih računalnikih generirajo vhod za naključna števila (seed) in preverijo, kateri naslov bi v tem primeru nastal. Ti so javni, prav tako stanje na njih. Ko ustvarijo obstoječi naslov, imajo takoj že ključ zanj. Coinkite je 31. julija izdal izredni popravek, ki ga morajo uporabniki namestiti, nato pa ustvariti nov naslov!
Kdor tega ne stori, mu bodo hekerji prej ali slej ukradli bitcoine. Do nedelje so prečesali 4585 naslovov in ukradli 1637 bitcoinov, ki so vredni okoli 76 milijonov evrov.[st.slika 76537][st.slika 76538]