17. toukokuuta 2023

Ledger Nano X takaportitettu - Vaihtoehtoja?

Ledger on profiloitunut luotettavana rautapohjaisten kryptolompakoiden valmistajana jo vuosikaudet. Nyt firmasta on kuitenkin paljastunut varsin karmivaa tietoa, tahattomasti, firman oman uuden "ominaisuuden" myötä. Ominaisuus on "Ledger Recover".

Ledger Recover "ominaisuus"/"palvelu" mahdollistaa kryptolompakon palauttamisen pelkästään todistamalla identiteettisi henkilöpapereillasi. Tämä on mahdollista, koska Ledger Nano X sylkee ulos laitteensa turvasirulta "Shamir's secret sharing" systeemiä käyttäen kryptojesi salaisen avaimen, joka sitten lähetään netin ylitse kolmeen eri paikkaan (kaksi näistä yhdessä riittää palauttamaan tuon salaisen avaimen). Tämä Ledger Recover ominaisuus on tietenkin itse aktivoitava käyttöön ja hyväksyttävä. Aiemmin palauttaminen on onnistunut vain siten, että käyttäjä itse kirjoittaa muistiin 12- tai 24- seedwordsia ja tarvittaessa syöttää ne uudestaan uuteen laitteeseen tai ohjelmaan.

Tässä vielä tarkennusta Ledgeriltä, että kyllä avaimet luodaan turvasirulla ja sitten ne ulostetaan sieltä (eli kyse ei ole "kahdesta eri jutusta, eli luodaan avaimet turvasirulla ja käyttäjä kertoo seed wordsit itse erikseen palautuspalvelulle")! Tässä itse isoherra CZ Binancesta hämmästelee tätä juttua myöskin. Tässä vielä tarkennusta itse asiaan, kyllä se salainen avain tosiaan lähtee turvasirulta, vaikka Ledger koettaa selitellä, että joojoo mutta salattuna (SSS), mutta lähtee silti, eli ottamalla nuo SSS talteen voi de facto luoda sen salaisen avaimen uudelleen! Tässä myös Foobarin hyvä ketju asiasta.

No mikä on ongelma? Älä aktivoi sitä palvelua, jos et halua sitä, niinkö?!?

Jos sanoit juuri tuon äsken aivoissasi, niin ole hyvä, lopeta tämä jutun lukeminen tähän, ota olutta, katso lätkää, äläkä ikinä yritä tehdä elämässäsi mitään älyä vaativaa toimintaa tai esittää tietäväsi mitään kryptovaluutoista tai kryptolompakoista, koska sinusta selvästikään ole sellaiseen älylliseen toimintaan.

 

Ongelman ydin on siinä, että tähän päivään saakka Ledger on mainostanut kryptolompakoitaan, että niissä kryptojen avain luodaan/palautetaan ja säilötään turvasiruille sisään siten, ettei sitä ole mahdollista sieltä mitenkään ulostaa pois laitteesta, koska, no, se on siellä turvasiruilla joiden rakenne estää sen. Turvasirun rakenne. Turvasirun ominaisuus. Se pitää sen salassa. Ei firmware. Ei ohjelma tietokoneessa tai puhelimessa. Turvasiru. PIN-koodilla ja tunkeutumisenestolla varustettu turvasiru. Tämä on ollutkin ns. koko homman idea. Se salaisuus on ja pysyy siellä kaikissa tilanteissa ja olosuhteissa vaikka mikä tulisi. Se. Juuri se. Se. Turvasiruun voidaan vain tallentaa tietoa tai tyhjentää se. Ei lukea sieltä koskaan suoraan mitään, ainoastaan vastaanottaa turvasirun antamat vastaukset laskutoimituksiin (kolikkojen lähetys ja osoitteidenmuodostus). Näinhän sen pitäisikin tietenkin olla!

Mutta miten "tähän päivään asti olleessa mallissa", on sitten tarjottu käyttäjälle "seedwords" muistiin kirjoitettavaksi, eli huolehdittu tuosta palauttamisen (recovery) mahdollisuudesta? Yksinkertaista: satunnaislukugeneraattori luo avaimen ja antaa sitten sen käyttäjälle muistiin kirjoitettavaksi (seed words) ja vasta tämän jälkeen tallentaa sen tuonne turvasiruun. Tämän tulisikin tietenkin olla ainoa hetki, kun tuota avainta tulisi olla ikinä mahdollista ottaa talteen minnekään mitenkään ja näin sen pitäisikin ehdottomasti olla, koska avainten kuuluu pysyä aina turvasirun suojissa!

"Pahin hyökkäys", mitä edes teoriassa olisi tähän päivään saakka ollut mahdollista tehdä, olisi, että joku kirjoittaisi vääränlaisen firmwaren ja asentaisi sen Ledgeriisi, joka väärentää vaikkapa lähetettyjä kryptosiirtoja (saa sinut luulemaan siirron sisältävän tiedot X ja Y vaikka se sisältääkin tiedot A ja B). Tämä siis äärimmäisin pahin mahdollinen skenaario, jota ei ole koskaan tullut vastaan ja jonka toteuttaminen olisi äärimmäisen vaikeaa, ehkä silti mahdotonta.

Jos tuo "pahin hyökkäys" toteutuisi, se myöskin voitaisiin havaita VÄLITTÖMÄSTI, koska jokainen käyttäjä huomaisi, että kryptorahat lähtivät mystisesti lompakosta väärään osoitteeseen. Hälytys soisi ja lujaa. Vahinko jäisi hyvin rajalliseksi, koskien vain yksittäisiä käyttäjiä. "Pahin hyökkäys" olisi siis vain kerran käytettävissä oleva ja ajallisesti vain silloin, kun käyttäjä menee PIN-koodinsa laitteeseen naputtamaan, ei muulloin, ei myöhemmin, eikä mitenkään muuten ja rajoittuisi vain ja ainoastaan kryptovaluutan siirtoon lompsasta pois (sekä teoriassa view-keyn ulostamiseen laitteelta, ehkä, teoriassa, eli että siirtoja voisi ehkä seurata jatkossa sillä).

Ledger Recovery sen sijaan mahdollistaa yksittäisen siirron tai siirtojen varastamisen lisäksi itse avainten varastamisen! Avainten, joita voidaan sitten hyökkääjän toimesta käyttää siirtojen seuraamiseen koko ajan ja halutulla hetkellä, VAIKKA VUOSIA MYÖHEMMIN, varastamaan kaikki ko. lompakon rahat millä hetkellä hyvänsä. Tämän tyyppinen hyökkäys ei paljastu helpolla, ei ehkä lainkaan, etenkään, jos sitä ei kohdisteta kaikkiin käyttäjiin. "No joku pölli avaimesi varmuuskopiosta, pidä parempaa huolta niistä!" voi kuka tahansa sanoa uhrille, eikä mitään todisteita mistään muusta ole, eikä voi olla. (Vertaa tätä edellä mainittuun "pahin hyökkäys skenaarioon, jossa hyökkäys näkyy välittömästi ja täysin kiistattomasti lohkoketjussa siirtona, jonka käyttäjä tietää, koska hän tietää, ettei hyväksynyt moista siirtoa!)


Kuka ja miten tätä Ledger Recovery tietoturvaongelmaa voisi hyväksikäyttää?

No, oletetaanpa, että jokin viranomaistaho (vaikkapa NSA, verovirasto, poliisi, tuomari, hallitus, jne.) haluaa kaikkien Ledger käyttäjien kaikki kryptot tietoonsa/seurantaansa tai haltuunsa. Se määrää oikeuden päätöksellä Ledgerin olemaan asiasta hiljaa ja tekemään firmwaren, joka de facto aktivoi pakolla esimerkiksi tuon "Ledger Recover" ominaisuuden kaltaisen ominaisuuden hiljaa kaikille käyttäjille siten, että salainen avain menee (myös) tuolle valtion viranomaiselle jokaisesta Ledger Nano X kryptolompakosta automaattisesti, kun ne kytketään kiinni Ledgerin ohjelmaan tai muuhun ja käyttäjä näpyttää PIN-koodinsa suorittaakseen jotain normaaleja touhujaan sillä.

Hupsista keikkaa vaan. Sinne lähti juuri kaikkien Ledger Nano X käyttäjien kryptojen avaimet myöhempääkin, jopa vuosia myöhemminkin alkavaa seurantaa tai takavarikkoja varten!

Tai oletetaan, että joku hakkeri päättää tehdä saman: Hän hakkeroi Ledgerin firman, ujuttaa sinne oman firmwarensa joka tekee tuon saman ja lähettää salaa hakkerille kaikkien noiden Ledger Nano X kryptolompakoiden salaiset avaimet sitä mukaa, kun ne kytketään kiinni johonkin sovellukseen tai tietokoneeseen ja käyttäjä näpyttää PIN-koodinsa suorittaakseen jotain normaaleja touhujaan sillä.

Hupsista keikkaa vaan. Sinne lähti juuri kaikkien Ledger Nano X käyttäjien kryptojen avaimet myöhempääkin, jopa vuosia myöhemminkin alkavaa seurantaa tai varastamista varten!

Oletetaanpa, että Euroopan Keskuspankki ja FED yms. haluavat ottaa käyttöön digitaalisen valuutan ja ajaa kryptovaluutat pois markkinoilta, mitä veikkaatte, käyttävätkö ne tämmöistä mahdollisuutta hyväkseen siinä kohtaa / sitä ennakoiden voidakseen seurata ja kaapata ihmisten kryptovaluuttoja? Arveletko, ettei niillä ole laillisia mahdollisuuksia pakottaa Ledgeria suostumaan moiseen temppuun? Kyllä on. Ja kun ovi on kerran rakennettu järjestelmään, tässä tapauksessa Ledger Nano X:ään, niin sitä voidaan käyttää aina jatkossa erilaisissakin tilanteissa, kun se eri tahoille parhaiten sopii.

TÄMÄ ON SE ONGELMA. TÄMÄ. JUURI TÄMÄ. Ei se, että tuollainen Ledger Recover -ominaisuus on nyt otettu käyttöön, vaan JUURIKIN TÄMÄ, että koko Ledger Nano X on suunniteltu siten, että moinen ominaisuus on edes mahdollista ottaa käyttöön - se todistaa, että avaimet eivät tosiasiassa ole turvasirujen takana ilman, että niitä voisi suoltaa sieltä ulos. Ja se todistaa, että sitä voi väärinkäyttää yksinkertaisesti firmware ohjelmoimalla! Näinhän sen ei pitänyt olla! Avainten piti olla ja pysyä turvasirujen takana kaikissa olosuhteissa! Ledger Nano X ja muissa Ledger tuotteissa ei pitänyt olla mitään mahdollisuutta mihinkään takaportille, joka voisi varastaa itse avaimet laitteesta mitenkään! Mutta kun on! Se on nyt todistettu Ledger itse toimesta!


Ja voi herranisä jos saat tässä kohtaa päähäsi ajatuksen, että "no mutta se pitää hyväksyä itse laitteessa se toiminto" niin pyydän kohteliaasti taas kerran: Ole hyvä, lopeta tämä jutun lukeminen tähän, ota olutta, katso lätkää, äläkä ikinä yritä tehdä elämässäsi mitään älyä vaativaa toimintaa tai esittää tietäväsi mitään kryptovaluutoista tai kryptolompakoista, koska sinusta selvästikään ole sellaiseen älylliseen toimintaan.

Kaikki "pitää hyväksyä laitteessa" ovat samaa luokkaa kuin "pitää hyväksyä ohjelmassa", eli pelkästään softan sanelemia kysymyksiä. Jos kirjoitat firmwaren, voit kirjoittaa firmwareen myös, että mitään hyväksyntää ei kysytä yhtään missään mitään tai että hyväksyntä kätketään toisenlaisen ilmoituksen ja kysymyksen taakse tms. mitä tahansa, mahdollisuudet ovat rajattomat.

Ja voi luoja minua varjelkoon jos alat tässä kohtaa hokemaan, että "No firmwaren kirjoittaja voi tehdä mitä vaan, on ne turvassa kato ne firmwaret, ei se oo helppoa niitä väärentää, ei se onnistu, jne." niin pyydän kohteliaasti taas kerran: Ole hyvä, lopeta tämä jutun lukeminen tähän, ota olutta, katso lätkää, äläkä ikinä yritä tehdä elämässäsi mitään älyä vaativaa toimintaa tai esittää tietäväsi mitään kryptovaluutoista tai kryptolompakoista, koska sinusta selvästikään ole sellaiseen älylliseen toimintaan.

Et silloin selvästikään ymmärrä, mikä funktio sillä turvasirulla siellä laitteessa on ja että koko homman pointti on juurikin nimenomaan ollut koko ajan se, että niitä avaimia ei saa sieltä millään teknisesti mahdollisella keinolla ulostettua nettiin millään firmwaren puukottamisellakaan, koska ne ovat ja pysyvät siellä turvasirulla suojassa, kuten olen koko helvetin ajan koettanut sinulle hokea, että niiden pitäisi olla.


Nyt on korkea aika siirtyä pois Ledgeristä uusiin turvallisiin lompakoihin, esimerkiksi Trezor, Coldcard, Ellipal, Safepal, KeevoKeystone tai Ngrave Zero rautalompakoihin.

Trezor ja Coldcard mahdollistavat myös joissain tilanteissa avainten viennin turvasirulta ulos (tavallaan myös Keystone mutta tämä on jo hiusten halkomista), jos käyttäjä itse sen hyväksyy laitteesta ja näpyttelee PIN-koodinsa oikein jne. yms....mutta...mitkään näistä EIVÄT tuossakaan tilanteessa mahdollista avainten lähettämistä NETIN VÄLITYKSELLÄ kolmannelle osapuolelle, vaan korkeintaan pystyy tallentamaan ne microsd-muistikortille, jos käyttäjä on sen paikoilleen laittanut (Keystone vie avaimet turvasiruille varmuuskopiohärveliin pin-koodin ja sormenjäljen taakse). Mitään mahdollisuutta avainten ulosvientiin "vahingossa" tai "pahantahtoisen hyökkääjän toimesta" ei näissä laitteissa ole - puhumattakaan, että puolivahingossa NETIN VÄLITYKSELLÄ, kuten nyt on Ledgerissä! Muistakaa myös, että Ledger on tähän mennessä kertonut, että avaimia ei voi mitenkään viedä laitteista ja turvasiruilta pois - Coldcard ja Trezor eivät ole tämmöistä väittäneet, vaan ovat avoimesti kertoneet näistä ominaisuuksistaan käyttäjilleen.

Trezor ja Coldcard voi myös käyttää täysin offline-modessa sd-muistikorttien kautta, jolloin edes firmware hyökkäykset eivät kykene varastamaan sen enempää kryptoavaimia kuin myöskään tekemään valheellisia kryptorahasiirtoja, koska homma hoituu kaikki muistikorttien kautta (toki hyvin teoreettinen "nonce covert channel attack" voi silti onnistua - toisaalta BitBox02 taas on siltä suojattu). Ellipal, Safepal, Keevo, Keystone ja Ngrave Zero ja muut vastaavat "always airgapped" rautalompakot ovat niin ikään turvassa tämän tyyppisiltä hyökkäyksiltä, koska toimivat aina täysin offline ilman mitään mahdollisuutta nettiyhteyteen tai edes firmwaren peukalointiin sellaisella tavalla, että se vaarantaisi avaimet tai siirrot, koska siirrot yms. hoidetaan näissä QR-koodeja luomalla ja QR-koodeja lukemalla.

Toki nyt jos koskaan olisi tilausta rautapohjaiselle kryptolompakolle, joka OIKEASTI tallentaa avaimet turvasirun suojiin siten, että niitä ei saa MITENKÄÄN IKINÄ sieltä urkittua esille, vaan ainoa, mitä voidaan tehdä, on joko käskeä turvasiru suorittamaan tarkkaan harkittuja laskutoimituksia (kryptorahojen lähetys tai avaintenluonti) tai tyhjentää ko. siru uusia avaimia varten. Vain tämän tyyppinen rautapohjainen kryptolompakko on ehdottoman varma suojaus salausavainten varastamista vastaan ja takaa sen, että mikään taho ei pysty, ei edes valmistajaa pakottamalla, varastamaan avaimia käyttäjiltään. Valitettavasti moista ei ole vielä olemassakaan, mutta ehkä pian on?


Ei kommentteja:

Lähetä kommentti