Kryptolompakot, jotka eivät tuota riittävän satunnaisia allekirjoitusnumeroita, menevät vuonna 2025 pidemmälle kuin huolimattomuudesta.
Tansel Kaya
Tansel Kaya29.11.2025
Upbit-hakkeroinnissa mainittu "avainten poimiminen allekirjoituksista" on edistynyt kryptanalyysihyökkäys Elliptic Curve Digital Signature Algorithm (ECDSA) -algoritmiin, jota käytetään Solanassa (ja monissa muissa lohkoketjuissa). Upbitin lompakkoohjelmiston tuottaman ennustettavan noncen (kertaluonteinen satunnaisluku k) ansiosta hyökkääjät havaitsivat allekirjoituksissa piilotetun kuvion, jonka avulla he pystyivät matemaattisesti laskemaan lompakon yksityisen avaimen. 1. Miten ECDSA yksinkertaisesti toimii? Kun allekirjoitat jokaisen tapahtuman: Yksityinen avain: d (ei koskaan jaettu) Kertaluonteinen satunnaisluku: k (nonce) → täytyy olla täysin satunnainen ja salainen jokaiselle allekirjoitukselle Tuloksena oleva allekirjoitus: (r, s) pari (näkyvissä kaikille lohkoketjussa) Jos k ei ole satunnainen tai sillä on ennustettava kuvio, yksityinen avain d voidaan poimia useista allekirjoituksista. 2. Haavoittuvuus Upbitissä Upbitin oma lompakkoohjelmisto ei pystynyt tuottamaan nonce-arvoja tarpeeksi satunnaisesti. Tämä loi tilastollisen harhan allekirjoitusten arvoihin (r, s). Hyökkääjät keräsivät kymmeniä/satoja tapahtumia Upbitin kuumasta lompakosta, analysoivat näitä allekirjoituksia selvittääkseen, mitkä nonce-bitit olivat ennustettavissa, ja laskivat yksityisen avaimen sekunneissa/minuuteissa matemaattisilla menetelmillä (hilahyökkäys). 3. Käytetyt matemaattisten hyökkäysten tyypit Piilotetun luvun ongelma (HNP) + hilareduktio (LLL/BKZ-algoritmit) Jo pelkkä ennustettavuus 3–8 bittiä riittää avaimen murtamiseen kokonaan 20–100 allekirjoituksella. Vaikka vinouma olisi heikompi (1–2 bittiä), se voidaan silti murtaa tuhansilla signatuureilla 4. Miksi sanotaan, että "vain Lasarus voi tehdä sen"? Tämä hyökkäys vaatii: tohtoritason osaamista kryptografiassa (HNP, hilakryptanalyysi) Lohkoketjudatan analyysin asiantuntemus Tehokkaat laskentaresurssit (GPU-klusterit) Kärsivällisyys ja pitkäaikainen seuranta 5. Opetukset ja varotoimet Nonce-tuotanto on tehtävä RFC 6979:llä (deterministinen mutta turvallinen) tai todellisella laitteiston satunnaislähteellä (HWRNG). Satunnaisustestit (NIST, Dieharder) läpäisemiseksi on vaadittava allekirjoituksia.
En ole varma, mitä yksityiskohtia tässä on. Kuten jotkut ovat huomauttaneet, Solanan pitäisi käyttää Ed25519:ää, jossa on deterministisiä nonceja. Mutta se on Schnorrin allekirjoitus ja siinä on sama haavoittuvuus, jos joku on toteuttanut virheellisesti prosessin, jossa näytteenotto tehdään yhtenäisesti.
Haluan myös sanoa: jos löytäisin kryptovaluuttalompakossa käytetystä allekirjoitusjärjestelmästä satunnaisuuden/yhdenmukaisuuden puutteen, erityisesti sellaisessa, jota valtion tukema ryhmä hyödyntää, en välttämättä hyppäisi "vahinkoon" ainoaksi selityksekseni.
14,36K