Translated by Karolina Laine (ITKST56 course assignment at JYU.FI)
♪ (38C3 intromusiikki) ♪
aplodit
Hei kaikki! On kunnia olla täällä
ja on hienoa nähdä niin monia tuttuja ja niin monia uusia kasvoja.
Tiedän, että kello on 11.00 viimeisenä päivänä, joten
olen vaikuttunut nähdessäni niin monia ihmisiä täällä.
Ja tervetuloa Kaiken Kaaokseen. Olen John Naulty, puhun tänään.
Joku, joka ei ole lavalla, mutta on jokaisessa diassa täällä,
on Chritian, Milks Sad -ryhmän johtava tutkija.
Aion kertoa Milks Sad´in tarinasta.
Tarina kryptovaluuttojen lompakkovarkauksien tutkimisesta
vuonna 2023.
Kerron siitä mielelllään. On suuri kunnia olla täällä..
Tässä on iso ryhmä. Tässä on joitain heidän nimistään.
Näet heidät niminä, minä näen heidät ystävinä,
luotettavina työkavereina, entisinä työkavereina,
satunnaisina ihmisinä, joita en ole koskaan tavannut internetissä.
Ainoa asia, joka meitä eniten yhdisti oli se,
että olimme kaikki samalla Matrix-kanavalla tutkimassa ongelma.
Kuuntelijat - olkaa tietoisia,
en ehkä ole 100% tosissani kaikessa, mitä sanon.
Olen innoissani siitä, että olen täällä. Sekä hieman hermostunut.
On paljon asioita joita käydä läpi. Liikaa 30 minuutin puheelle.
Liikaa 45 minuutin keskusteluun. Tiimi teki paljon tutkimusta.
Lisää tietoa löytyy osoitteesta https://milkssad.info.
Voit nähdä keskustelumuistiinpanot sivulla/38C3.
Voit skannata tämän QR-koodin.
Luota minuun, se on turvallista, Toivottavasti.
Aloitetaan tämä puhe.
Pidetään pieni johdanto kryptovaluuttalompakoista.
Kuka täällä on koskaan kuullut kryptovaluutoista?
Okei. Jotkut juovat täällä Urban Mate -juoma ja kahvia.
Kiva nähdä joitain reaktioita.
Puhumme varkaudesta, joka tapahtui noin puolitoista vuotta sitten,
heinäkuussa 2023.
Sitten kerron lisätöistä, joita teimme.
Sekä paljon eettisistä ongelmista ja konflikteista
ryhmän sisällä ja ulkopuolella.
Kuinka moni teistä on turvallisuustutkijoita?
Haluaisin tuntea hieman yleisöstä, jolle puhun.
Okei, teitä on siis muutama.
Joten täällä saattaa olla ihmisiä, jotka eivät ole
joutuneet etismään haavoittuvuuksia luonnosta
eivät tiedä kaikesta, mitä siellä voi tapahtua.
Joten varmistan, että selitän siitä.
Ja sitten puhumme myös ihmisistä, jotka menettivät
rahaa internetissä, taianomaista internet-rahaa.
Ja ehkä kerron keinoista miten puolustautua sitä vastaan.
Joten aluksi puhutaan kryptovaluuttalompakoista.
Okei, toinen kysymys.
Kuka täällä on koskaan käyttänyt kryptovaluuttalompakkoa?
Olen niin pahoillani puolestanne. Se on niin vaikeaa
niin paljon asioita tapahtuu, kun asetat lompakon.
Monia asioita ei ole selitetty hyvin.
Asennat sovelluksesi tai ajat ohjelmiston.
Saat joskus 12 taikasanaa tai 24 taikasanaa
ja laitat ne taskuusi.
Otat kuvan ja laitat sen pilvitallennustilaan.
Todellakin, kukaan ei kerro, mikä on
turvallinen tapa tehdä kryptovaluuttalompakkoasioita.
Joten se voi olla todella hämmentävää.
Loppujen lopuksi tapahtuu seuraavaa:
yrität kaapata jonkin tyyppistä entropiaa,
yrität luoda jonkin tyyppistä satunnaista siementä
ja saada tästä siemenestä joukko
yksityisiä avaimia ja julkisia avaimia.
Kryptovaluutoissa on paljon salausoperaatioita,
jotka perustuvat epäsymmetriseen kryptografiaan.
Joten siellä on julkinen/yksityinen avainpari.
Julkisen avaimesi voit jakaa maailmalle.
Sinut voidaan tunnistaa siitä avaimesta.
Sinua on varoitetttu.
Se on työkalu kyseisen osoitteen tunnistamiseen,
kyseisen identiteetin seuraamiseen.
Sitten on yksityinen avain. Ja se on todellakin yksityinen.
Et halua näyttää sitä kaikkialle.
Nämä ovat julkiset/yksityiset avaimet.
Ja kauan sitten ihmiset vain loivat yksittäisiä avaimia
ja tallensivat niitä, varmuuskopioivat niitä.
Ja se oli iso vaiva.
Joten Bitcoin-ihmiset ja yhteisö
keksivät tämän parannusehdotuksen: BIP39.
He miettivät, miksi emme säilyttäisi tätä pientä siementä,
tätä pientä taianomaista entropian siementä sanoina.
Mnemonic -siemen, mnemonic -lauseet.
On paljon helpompi muistaa 12 sanaa tai 24 sanaa
kuin muistaa joukko satunnaisia merkkejä,
jotka ovat ehkä Base58- tai Base64-koodattuja.
BIP39 oli tapa tehdä asioista hieman luettavampia
salaisuuden säilyttämiseksi.
Tästä salaisuudesta voit saada joukon yksityisiä avaimia.
BIP32 on Bitcoin Improvement Proposal, ehdotus numero 32,
jolla luodaan hierarkkisia deterministisia lompakoita.
Joten alkuperäisestä siemenestä voit johtaa
suuren määrän julkisia/yksityisiä avainpareja.
Voit käyttää niitä kaikenlaisiin asioihin.
Jos minulla on lompakko, saatan haluta vastaanottaa rahaa
yhdellä osoitteella ja lähettää rahaa toisella.
Joskus en halua käyttää osoitettani uudelleen.
Ja on monia syitä, miksi en ehkä halua tehdä sitä.
Yksi niistä on yksityisyys, toinen turvallisuus.
On salauselementtejä, joita voidaan käyttää uudelleen ja joita ei.
Mutta loppujen lopuksi opetus on:
yksinkertaisella siemenellä voit saada
suuren määrän yksityisiä avaimia.
Ja tämä yhdessä on kryptovaluuttalompakko.
On ohjelmistoja, jotka auttavat sinua tekemään tämän,
ja osa niistä on hyviä, osa huonoja.
Nykyään mielestäni suurin osa niistä ovat
vain hankalia tavalliselle käyttäjälle.
Toinen huomioitava asia on:
tämän tekemiseksi tarvitset satunnaisuutta.
Tarvitset kaaosta universumista.
Sinun on hankittava se kaaos jollakin tavalla
ja laitettava se pieniin palasiin
ja pakattava se turvallisesti.
Kryptografia tarvitsee tätä ydinprimitiviä.
Jos sinulla ei ole hyvää satunnaisuutta,
tapahtuu kauheita asioita.
Ei ole liian tylsää.
Ongelmana on, että tietokoneet ovat
todella huonoja luomaan hyvää satunnaisuutta.
Ne ovat todella hyviä noudattamaan ohjeita.
Ne ovat todella huonoja tekemään satunnaisia asioita.
Ne haluavat tehdä mitä niille käsketään.
En osaa sanoa New Age Quantum Cryptographysta
tai tietokoneista.
Tietokoneet, joilla olen työskennellyt,
ovat melko satunnaisia tai ei oikeastaan.
Ne ovat melko tavallisia. Ne tekevät sen mitä käsket.
Joten on monia syitä, miksi tarvitset
satunnaisuutta tietokoneellesi.
Jos teet videopelejä, haluat hahmosi alkavan satunnaisista paikoista.
Jos teet API-avaimia, et halua niiden olevan ennustettavissa.
Ja siksi sinulla on oltava hyvä tapa saada satunnaisia lukuja.
On olemassa hyviä ja helppoja tapoja
sekä kryptografisesti turvallisia tapoja saada satunnaisia lukuja.
Niitä käytetään eri tarkoituksiin.
Jotkut ovat kevyitä, nopeita, eivätkä vaadi paljon laskentaresursseja.
Toiset saattavat viedä enemmän resursseja,
mutta antavat sinulle tuloksia, jotka
eivät ole ennustettavissa eivätkä paljasta mitään syötteitä.
Kryptografisesti turvalliset PRNG:t, pseudosatunnaislukugeneraattorit,
ovat ihanteellisia monissa tilanteissa,
kun olet tekemisissä lompakon avainten kanssa.
Se on siis sattumaa.
Toinen huomioitava asia on, että tässä puhutaan kryptovaluutoista,
mutta ihmiset käyttävät BIP39:ää, muistolauseita,
kaikenlaisten asioiden varmuuskopioimiseen.
Kuka täällä on kuullut PGP:stä? Joo, kiva, kiva.
Joten muut ihmettelevät, mitä se on?
Se on melko hyvä yksityisyys. On olemassa tapoja
käyttää 24-sanaista muistolausetta PGP-avaimien johtamiseen,
mikä on aika siistiä.
Joka tapauksessa pointti on: Se ei ole vain kryptovaluutta.
Puhutaanpa varkaudesta.
En ole koskaan nähnyt pankin ryöstöä, paitsi Hollywood-elokuvissa.
Ai, diat eivät näy. Lopettivatko ne vain näyttämisen vai
eivätkö ole olleet kunnossa? Laitan johdon takaisin kiinni.
Okei, kiitos tiedosta. Joka tapuksessa.
Varkaus.
Kuka on koskaan nähnyt ryöstöä? Minä en ole.
Toivottavasti sinun ei koskaan tarvitse.
Mutta Redditissä se näyttää tältä.
Näet vain jonkun kirjoittavan:
"Hei, minun rahani ovat kadonneet.
Luulen, että muidenkin ihmisten rahoja on kadonnut. Mitä tapahtui?"
Siitä meidän matkamme ei kuitenkaan alkanut.
Matkani alkoi, kun sain ystävältäni viestin:
"Hei, onko sinulla vielä Bitcoinisi?"
Ja minä sanoin: "Mitä? En tiedä, anna kun tarkistan" .
Minun täytyy mennä uimaan vedenalaiseen luolaani,
ruokkia alligaattorit, ponnahtaa ylös, avata holvi.
Kyllä, ne ovat edelleen talelssa.
Itse asiassa se ei ole niin vaikeaa.
Jos tiedät osoitteesi, voit vain katsoa.
Bitcoinini, rahani, olivat siellä.
En tiedä mitä raha on, mutta pidän Bitcoinista rahana,
jota tykkään käyttää.
Ja kysyin: "Kaveri, missä ovat sinun?".
Ja hän vastasi: "Ne eivät ole enää siellä".
Se on syvältä. Avaat lompakkosi ja dollarin seteli
on siellä tänään ja huomenna katsot, niin sitä ei ole.
Paperi ei vain haihdu. Ehkä se kastuu ja hajoaa, mutta
jäänteitä on silti.
Ihmiset laittavat esimerkiksi keraamisia levyjä
ja muuta tavaraa ja aina on jälki siitä,
mihin rahat menivät.
Lohkoketjussa asia ei ole erilainen.
Näimme, että joukko rahaa liikkui ja se yhdistettiin.
Tunsimme kaksi uhria lähipiiristämme.
Minulla ei ole paljon ystäviä, joten tuntui kuin suuri osa
sosiaalisesta verkostostani olisi vaarantunut.
Olin utelias ymmärtämään: "miten?" ja "miksi?".
Ehkä en koskaan ymmärrä "miksi".
Paitsi inhimillinen ahneus.
Mutta "miten" oli minulle erittäin mielenkiintoinen,
koska tämä on taikamatematiikkaa.
Taikamatematiikka ei eroa tavallisesta matematiikasta.
Sen ymmärtäminen vaatii joskus hieman enemmän miunun kaltaisiltani jästeiltä.
Kaiken kaikkiaan näimme 37 Bitcoinin liikettä.
Näimme, että se ei koskenut vain kahta ystävääni.
Se koski monia muitakin ihmisiä.
Muodostui joukkue.
Me emme ole kuin Avengers, meillä ei ole hienoja pukuja.
Työskentelen autotallissa kotonani ja muut ihmiset
työskentelevät ympäri maailmaa.
Hyvä asia oli, että meillä oli ihmisiä, jotka tiesivät,
kuinka he luovat avaimensa.
He tiesivät kuinka ne säilytettiin.
He tiesivät, millaisia turvallisuusmalleja he kohtasivat.
Sanotaan, että he ryhtyivät varotoimiin.
He eivät vain lataaneet sovellusta, joka suorittaa jotain online-tietokoneella.
He olivat erittäin tarkkoja hyökkäyspinnan suhteen ja
loivat avaimia ja ilmavälikoneita, jotka eivät olleet koskaan
koskettaeet Internetin valoa ja joissa oli
minimaaliset Linux-käyttöjärjestelmät.
Joten olin erittäin utelias.
Tutkimuksessamme havaitsimme, että yhteinen
nimittäjä oli Bitcoin Explorer -niminen ohjelmisto.
Yrität ymmärtää kuinka kaivosi myrkytetään
ja katsot ylä- tai alavirtaan.
Seisomme jättiläisten harteilla ja joskus jättiläiset
vain mätänevät ja kuolevat.
Tässä tapauksessa havaitsimme jonkin verran mätää
ja päätimme tarkastella tätä ohjelmistoa tarkemmin.
Bitcoin Explorer on eräänlainen satunnaisohjelmisto.
Yksi kysymyksistä, joita jotkut kysyivät, oli:
"Kuinka nämä ihmiset edes alkoivat käyttää tätä ohjelmistoa?"
He yrittivät tehdä asioita kirjan mukaan, kirjaimellisesti.
Kuolleiden puiden ongelmana on, että ne eivät päivity
niin usein kuin digitaaliset ohjeet.
Se mikä on totta eilen, ei ole aina totta tänään.
Kun kirja sanoo jotain, luo satunnaisen siemenen
käyttöjärjestelmän satunnaislukugeneraattorilla
ja käyttöjärjestelmäsi on Linux,
sinusta tuntuu, että sinulla on joitain takuita.
"Kun on tuhat silmää, kaikkia virheitä on vähän."
tai mikä se sanonta sitten onkaan.
Valitettavasti tämä ei osoittautunut todeksi.
Libbitcoinin "bx seed" -komento luo lompakot Mersenne Twisterin kautta,
eikä se ole vain pientä tanssia.
Puhumme numeroista ja muusta,
mutta myös numerot voivat tanssia, jos katsot niitä oikein.
Jotkut niistä viuhtovat, toiset kiemurtelevat tämän
Mersenne Twisterin muunnelman kanssa. Tämän koko MT19937.
Haluaisin tietää, tietääkö joku mikä tuo numero on?
Se on alkuluku, kaksi 199:ään. Joka tapauksessa
32 bittiä alkutilaa oli kaikki, mikä tässä toteutuksessa sallittiin.
satunnaislukujen luomiseen.
32 bittiä on luku, mutta se ei salli monia mahdollisia tuloksia.
Ja kun näimme tämän, päämme räjähti.
Odotimme 256 bitin kaaosta ja entropiaa
tulevan pieneen satunnaislukugeneraattoriimme.
Oli shokki, kun emme nähneetkään sitä ja tuntui, että
olimme oikeilla jäljillä.
Jälleen nämä luvut: 32 bittiä on hieman yli 4 miljardia,
128 bittiä on hieman yli 340 undesiljoona.
Taitaa olla 10 potenssiin 36, en tiedä.
Undesiljoona on mielenkiintoinen sana.
Brittienglanniksi se tarkoittaa jotain muuta.
Joka tapauksessa, tarkista se, undesiljoona.
Kun hyökkääjä tietää pääavaimesi, peli on ohi
koko tämän avaimen johtamisjutun takia.
Kun he tietävät alkuperäisen tilan siitä,
kuinka olet saanut kaikki nämä muut avaimet,
he voivat vain kävellä polkuasi ja tarkistaa onko kirsikoita jäljellä.
Näissä tapauksissa kirsikat ovat kryptovaluuttoja, omaisuutta.
Ja siksi varkaus on vähäpätöinen.
32 bitillä voit vuokrata halvan laatikon Hetzner´ilta.
Sinulla voi olla pelitietokone,
raa'alla voimalla voit murtaa tämän muutamassa päivässä,
ellei nopeammin.
Tämä ei koske vain Bitcoineja.
Ihmiset käyttivät tätä Ethereumia varten.
Tämä koskee joukkoa muitakin kryptovaluuttoja.
Ehkä ihmiset käyttivät sitä myös PGP:hen, en tiedä.
Joka tapauksessa, puhumme nyt kryptovaluutoista.
Mitä teimme? Se, mitä näimme, oli aktiivista hyväksikäyttöä.
"Me" tarkoitan Milks Side -tiimiä. Näimme, että tämä tapahtui luonnossa.
Tiesimme, että jokin taho siirsi rahaa.
Ja se ei ollut entiteetti, joka alun perin omisti tuon rahan tai sen valuutan.
Halusimme siksi nopeuttaa paljastamisprosessia
ja tiedottaa yleisölle, jotta he olisivat voineet päättää,
Tiedättekö, on sosiaalinen normi paljastaa se 90 päivässä.
Google Project Zerolla he asettavat standardin noin 7 päiväksi,
jos näet hyökkäyksen aktiivisena luonnossa.
Ja niin me teimme. Täytimme CVE:n.
Teimme yksityiskohtaisen julkisen kirjoituksen.
Otimme yhteyttä ohjelmiston ylläpitäjiin
ja kerroimme heille ennen kuin teimme koordinoitun julkistamisen.
He eivät nähneet maailmaa niin kuin me ja se on okei.
Mutta kun ihmisten rahat ovat vaarassa, meidän oli tehtävä valinta.
Päätimme tehdä valinnan, joka sai meidät nukkumaan yöt rauhassa.
Halusimme kehottaa ihmisiä suojelemaan itsensä.
Nimi. Rakastan nimeä Milk Sad.
Olin hyvin surullinen, kun sain tietää tästä.
Ihmiset eivät menettäneet vain maitorahoja. He menettivät säästönsä.
He menettivät uskonsa kryptovaluuttajärjestelmään.
Ja sitä on vaikea rakentaa takaisin.
Kun huomasimme ensimmäisen kerran, että alkutila oli toistettavissa,
että voisimme luoda saman muistisanan siemenen
kerta toisensa jälkeen asettamalla joitain parametreja,
riippuen oletettavasti järjestelmän entropiasta.
Ja kun saimme saman muistisanan siemenen,
olimme joksenkin hämmästyneitä ja tajusimme,
mikä oli ongelmana.
Kaikki muu sen jälkeen oli vain syventymistä ongelmaan.
Sen ymmärtämistä täysin.
Sen dokumentointia ja valmistelua julkistamista varten.
Olimme myös kiinnostuneita siitä, kuinka hyökkääjät tekivät tämän.
Ja kuinka suuri tämä ongelma olikaan.
Ja käytimmekö vain me tätä ohjelmistoa.
Oliko siellä muita ohjelmistoja, kryptovaluuttalompakko-toteutuksia,
joilla oli samanlaisia ongelmia?
Jälleen kerran, et tarvitse edistyneitä salaustutkintoja.
Et tarvitse erikoislaitteita tehdäksesi saman, mitä me teimme.
Sinun tarvitsee vain ymmärtää kuinka nämä numerot toimivat.
Ja kun ymmärrät näiden järjestelmien alkuperäiset PRNG-siementilat,
voit yksinkertaisesti luetella koko potentiaalisen osoiteavaruuden,
jonka johtamiseen ja tarkistamiseen haluat käyttää aikaa,
voit tarkistaa, oliko osoitetta koskaan käytetty lohkoketjussa.
Ja jos on, voit nähdä, että osoite oli haavoittuvainen
ja että rahat olivat haavoittuvia ja ehkä ne varastettiin, ehkä ei.
Ja saat vastauksia siihen, kuinka paljon rahaa liikkui
näiden heikkojen lompakkojärjestelmien kautta.
Vei paljon aikaa sukeltaa tämän hyväksikäytön
kaikkiin jälkivaikutuksiin. Ja voimme edelleen viettää
tunteja, päiviä, kuukausia, vuosia, perehtymällä kaikkeen.
Voit olla ZachXBT:n tapainen kryptohullu ja jäljittää
minne kaikki rahat menivät. Me emme tehneet sitä.
Emme löytäneet kaikkia vastauksia kaikkiin kysymyksiin.
Olisimme voineet tarkastella paljon muita
kolikoita ja kryptovaluuttoja, mutta joita emme tutkineet.
Bitcoin, Ethereum, Doge, XRP nämä ovat kaikki kuin kryptovaluuttoja.
Nämä ovat kaikki järjestelmiä, jotka olivat alttiita tälle vaarantumiselle.
Emme myöskään ole täällä yksin.
Oli muitakin tutkijoita, jotka jotka työskentelivät tämän ongelman parissa.
Heistä saimme inspiraatiota ja teimme yhteistyötä.
En tiedä. Onko täällä Drake-faneja?
Okei, olen pahoillani yhden henkilön puolesta, joka nosti kätensä.
Joten, Trust Wallet Not Like Us.
Tietyllä tavalla he eivät pitäneet käyttäjistä.
He tekivät joitain virheitä.
Ei vain yhden virheen, he tekivät useita virheitä.
Mikä on surullista jatkokäyttäjille. Surullista tiimille,
joka rakensi tämän tuotteen ja rakensi maineen
luottamuksen ympärille.
Jos sanon: "Luota minuun, veli", luotat minuun, olen varma, ehkä.
Mutta luultavasti ei.
Olen vain vieras internetissä suurimman osan ajasta.
Jälleen kerran. Tämä taas on luonnossa.
Nämä eivät olleet löytämiämme haavoittuvuuksia.
Nämä ovat vain siellä. Voit etsiä niitä.
Tässä tapauksessa PRNG jämähti ajaksi,
mikä ei todellakaan ole hyvä idea.
Unixin aika alkaa vuodesta 1970 ja me olemme vuodesta 2024.
Vuosia ei vain ole paljon jäljellä, minkä vuoksi asetan kelloni aina
100 vuotta etukäteen. Juoneni mitataan vuosisadoissa.
Ja vain tätä meemiä varten. En tiedä mistä Drakessa on kyse.
Hän on kuitenkin erittäin ennakoitava ihminen.
Ja hän ei vain pidä hyvistä asioista.
Hän ei vain ole kuin me. Joten vältämme häntä.
Emme yritä olla hänen kaltaisiaan.
Olen pahoillani, jos hän on idolisi.
Tämä on minun mielipiteeni.
En puhu Milksin tutkimusryhmän tai kenenkään muun puolesta.
Ja jos loukkaan sinua, pyydän anteeksi.
Haluan vain olla rehellinen itselleni ja yleisölle.
Mutta siirtykäämme kohokohtiin. Drake on nyt käsitelty.
Löysimme yhdeksän lompakkoa, joissa oli paljon rahaa.
Kryptovaluuttamaassa sellaisia lompakoita kutsutaan valaiksi.
Ja näillä valailla oli melkoinen nörtin lompakko.
67 000 plus Bitcoinia kulki näiden lompakoiden läpi.
Tuolloin se on noin miljardi dollaria.
20 000 dollaria yhdestä Bitcoinista.
Nykypäivänä viisi kertaa enemmän.
Bitcoin arvo liikkuu 100 000 dollarin tuntumassa.
Minun maailmassani yksi Bitcoin on aina yksi Bitcoin
ja kaikki muu on kaikkea muuta.
Mutta jälleen kerran. Tämä osoittaa, että kirjoja
eivät lukeneet vain vähittäiskaupan satunnaiset ihmiset.
Kirjoja lukivat ihmiset, jotka käyttivät paljon aikaa ja energiaa.
Heillä oli paljon varoja ja ne varat olivat alttiita.
Mikä oli varsin vaikuttavaa ja yllättävää.
Emme tiedä mitä näille rahoille tapahtui.
Emme tiedä, siirsivätkö nämä ihmiset tai tahot lompakkonsa turvaan.
Oletamme, että näin he tekivät.
Emme tiedä, tiesivätkö he mitä täällä tapahtuu vuonna 2020.
Huomasimme tämän ongelman vuonna 2023.
Vasta 3 vuotta myöhemmin. Mikä on vähän hullua.
Paljon rahaa vain kelluu internetissä ja on kiinniotettavissa.
Kakku. Pidän kakusta.
Vihaan, kun kakussani on myrkkyä tai partakoneen teriä.
Jos syöt omenan Halloweenina, ole varovainen.
Tarkista se kahdesti.
Jotkut ihmiset ovat tuhmia, jotkut ihmiset ovat mukavia.
Ja tässä tapauksessa Cake Wallet ei ollut niin mukava.
Monilla ohjelmointikielillä on satunnaisia SDK:ita.
Helppoja, alkuperäisiä kirjastototeutuksia,
joissa voit saada satunnaisuutta.
Ja monilla heistä ei ole oletuksena
kryptografisesti suojattua satunnaisuutta,
mikä on mielestäni todella hankalaa.
Minusta meidän pitäisi puhua siitä täällä.
Miksi emme tarjoa turvallisia oletusasetuksia
kaikille ohjelmointikielille?
Kuten tiedät, enissijainen asia,
Jotain pohdittavaksi, jos olet kehittämässä kieliä.
Oletuksena turvallisuus ensin, kiitos.
Tiesimme, että tämä oli turvaton,
mutta monet ihmiset eivät tienneet miten.
Tai miten nämä osoitteet johdetaan.
Onneksi johtava tutkija Christian,
meidän loistava ritarimme näki pulman ja päätti,
että hänen täytyi ratkaista se.
Hän hurhathi tähän kuin eräänlainen nörtti.
Monet meistä eivät käyttäneet niin paljon aikaa
Cake Wallet -lompakkoon tutkimiseen,
koska olimme jo siirtymässä eteenpäin.
Mutta Christianin pakkomielle oli sen arvoista.
Hän huomasi, etteivät he käyttäneet 32 bittistä siementämistä,
kun odotuksena oli 256.
He käyttivät itse asiassa 20 bittiä.
20 bittiä tarkoittaa, että voin tehdä laskelmia käsilläni ja varpaillani.
Menetin paljon tuntoa pikkuvarpaissani pakkasen pureman vuoksi,
joten se olisi minulle vaikeaa.
Mutta jos olet lahjakas numeroidesi kanssa, voit näyttää minulle,
kuinka laskea niillä. Olisi erittäin siistiä laskea binääriä.
Mutta 20 bittiä ei ole paljon. Helppo murtaa raa'alla voimalla.
Cake Wallet on ohjelmistotuote, jota monet ihmiset käyttävät.
Se on hienoa. Se ei ole hienoa. En tiedä. Minun ei pitäisi sanoa niin.
Se on mitä se on. Hienoa siinä on, että voit tavoittaa käyttäjiä.
Toisin kuin avoimen lähdekoodin projektit, jotka ovat hieman vaikeampia.
Voit lähettää tai olla lähettämättä jotain postituslistalle.
Joten tiimimme, Christian, otti yhteyttä Cake Wallet -ihmisiin
ja he sanoivat:
"Joo, laitamme ilmoituksen ja kerromme ihmisille".
Ongelmana on, että ihmiset eivät päivitä ohjelmistojaan.
He eivät saaneet ilmoitusta.
He luultavasti vain sanoivat sen ja unohtavat sen.
Odotimme 6 kuukautta ennen kuin paljastimme tämän ongelman.
6 kuukautta istuttiin toivoen, että asiat menevät hyvin.
Kaksi päivää julkistamisen jälkeen jäljellä olevat varat
ja haavoittuvat lompakot poistettiin.
Epäilemme, että ne poistettiin jonkun muun kuin
varojen alkuperäisten omistajien toimesta.
Surullisia, surullisia aikoja. Surullisia, surullisia, surullisia aikoja.
Joten takaisin tiimiimme ja siihen, mitä olimme tekemässä.
Keskustelimme paljon. Oli paljon sekasortoa.
Sanoisin, että luotan kaikkiin, joiden kanssa olen työskennellyt.
Oli pakko luottaa, kun maassa on iso säkki rahaa
ja kuka tahansa voi vain nostaa ja ottaa sen.
Kuka tahansa tiimistämme olisi voinut tehdä tämän.
Kuka tahansa maailmassa, joka tiesi tämän, olisi voinut tehdä tämän.
Se, joka tarkasti avoimen lähdekoodin ohjelmiston.
Ja mitä sinä sillä teet?
Kuten laupias samarialainen, kun näet maassa 100 euron setelin,
voit viedä sen poliisiasemalle ja sanoa: "Hei, löysin nämä rahat.
En tiedä kenelle ne kuuluvat, mutta olen varma, että hän
tarvitsee sitä. Hän haluaa sen."
Mutta kuinka voit varmistaa kryptovaluuttamaassa,
kuka omistaja todella oli?
Miten kukaan voi varmistaa, että se on hänen 100 euron setelinsä?
Se on jotenkin hankalaa. Ehkä alueella on valvontalaitteita.
Voit nähdä jonkun liukastavan hansikkaansa ja dollarin putoaavan maahan.
Mutta kryptovaluuttamaassa se voi olla melko vaikeaa.
Ja siihen liittyy paljon oikeudellisia ja verotuksellisia seurauksia.
Me olemme kotoisin monilta lainkäyttöalueilta
Kanadasta, Yhdysvalloista ja Saksasta.
En tiedä mistä koko tutkimusryhmämme tulee.
Mutta ehdottomasti keskustelimme tästä ja se oli kuuma aihe.
Toinen kuuma aihe oli: Julkaisemmeko lähdekoodia avoimena?
Koodia, jota käytimme osoitteiden johtamiseen?
Jaammeko sen maailman kanssa?
Olemme ylpeitä tekemästämme työstä.
Vietimme paljon tunteja. Vietimme paljon aikaa
yhdessä työskennellessämme varmistaaksemme, että
ymmärrämme joidenkin näiden ongelmien laajuuden.
Emmekä saaneet yksimielistä suostumusta koko lähdekoodin julkaisemiseen.
Meillä oli paljon erimielisyyksiä.
Jotkut ihmiset elävät ja kuolevat avoimen lähdekoodin miekalla
sosiaalisessa ryhmässämme, tutkimusryhmässämme.
Heille oli tragedia olla jakamatta tätä yhteisölle.
Sitten oli muita, jotka eivät vain halua antaa ihmisille,
jotka eivät halua käyttää aikaa tilanteen ymmärtämiseen,
–vaikka heillä olisi pahat aikeet–
helppoja resursseja tehdä tämä kryptovaluutoilla
ja laajentaa se muihin mahdollisiin verkkoihin,
joita ei ehkä alun perin murrettu.
Se oli taas hankala tilanne.
Halusimme jakaa joitain asioita yleisön kanssa.
Emme halunneet jakaa kaikkea yleisön kanssa.
Annoimme ihmisten tarkistaa, olivatko heidän muistolauseet vaarantuneet.
Voisit mennä verkkosivustolle, antaa siemenlauseen SHA256-hajautuksen
ja tarkistaa, onko se tietokannassamme.
Ilmeisesti tätäkin käsiteltiin sisäisesti, koska entä jos
ihmiset laittavat koko siemenlauseensa sinne
ja syyttävät meitä siementen vaarantamisesta.
Ja se oli hankala, tahmea tilanne.
Mutta halusimme silti tarjota jonkinlaisen julkisen palvelun ihmisille,
jotta he voisivat tarkistaa ennen kuin siirtävät varansa.
Joitakin numeroita. Paljon rahaa.
Tämä ei ole välttämättä varastettua rahaa.
Rahalla tarkoitan vain Bitcoinia. Sitä me tarkastelemme tässä.
Nämä ovat Bitcoineja, jotka liikkuvat vaarantuneiden lompakoiden läpi.
Nämä olisi voitu varastaa milloin tahansa.
Minusta se on vain kiehtovaa. Tämä on maailmaa muuttava raha.
Tämä voi rahoittaa ydinarsenaaliasi.
Tämä voi ostaa sinulle monia saaria tai poliitikkoja
tai Twitteriä tai mitä tahansa.
Itse asiassa ei ehkä Twitteriä. En tiedä, riippuu hinnasta.
Mutta tämä on paljon.
Ja oli hullua nähdä niin suuri osa tästä omaisuudesta menevän
heikkojen järjestelmien läpi. Se vain tuntui oudolta.
Mitä voit tehdä? Se on hyvä kysymys.
Kuinka voit suojata itseäsi kehittäjänä?
Kuinka voit suojata ihmisiä, joille luot ohjelmistoja?
Monet meistä rakentavat ohjelmistoja ihmisille.
joskus ihmiset rakentavat ohjelmistoja, kuten robotteja ja tavaraa ja ei-ihmisiä.
Se on myös hienoa.
Sinun pitäisi silti suojata myös näitä tahoja.
Kyseenalaistaa kaikki.
Äitini kehotti minua aina kyseenalaistamaan auktoriteetin.
Noudatan sitä kaikkialla, missä menen.
Epäilen todella kaikkea mitä näen.
Ja todella täytyy pyrkiä ymmärtämään,
jotta voi tuntea itsensä varmaksi ja mukavaksi
käyttää teknologiaa, jota käyttäisin turvallisessa järjestelmässä.
Kun rakennan ohjelmistoa, haluan aina tarkistaa sen kahdesti.
Pidän siitä, että se tarkastetaan ulkoisesti.
Kun käytät satunnaisuutta, varmista, ettet tee vain typeriä virheitä.
Seuraava kysymys:
Kuinka saamme ihmiset katkaisemaan tämän kierteen,
jossa toistetaan sama virhe yhä uudelleen ja uudelleen?
Keskivertokäyttäjänä, jos luotat rahasi ohjelmistoihin.
Jos luotat kriittisiä asioita, kuten yksityisyyttäsi, ohjelmistojärjestelmiin.
Vaadi turvallisuustarkastuksia. Pyydä niitä. Vaadi niitä. Maksa niistä.
Tee kaikkesi auttaaksesi näitä järjestelmiä. Pidä pinosi ajan tasalla.
Tämä ei ole täydellinen luettelo.
Nämä ovat vain hyödyllisiä asioita, jotka minusta ovat hyödyllisiä.
Yksi asia, joka on syytä huomioida
BIP39-salasanalauseen muistisanassa, on:
Jos ihmiset olisivat lisänneet salasanan,
joka on osa BIP39-spesifikaatiota,
tunnuslauseen asetuksiinsa, he eivät todennäköisesti
olisi vaarantuneet ensimmäisessä hyökkäyksessä.
Hyökkääjien olisi täytynyt yrittää murtaa salasana
voidakseen sitten luetella kaikki alavirran osoitteet.
Se oli mielenkiintoista tässä tapahtumassa.
Jotkut ihmiset suojattiin vain lisäämällä
tämä yksinkertainen tunnuslause.
Avoin lähdekoodi on hienoa, mutta se ei takaa turvallisuutta,
kuten me kaikki tiedämme. Yhteenvetona:
Kaaosta vaaditaan joissakin asioissa laskennassa
ja elämässä, kuten tiedämme Chaos Congressissa.
Kaikkialla on yleensä hyvä kaaosta.
Yritä välttää pahaa kaaosta. Ole varovainen.
Käytä kaikkialla salasanojen istuntoavaimia.
Kaikki tämä. Yritä olla antamatta sen tapahtua sinulle.
Yritä ymmärtää ja tee tutkimusta.
Ja tee mitä voit rakentaaksesi luottamusta käyttämääsi teknologiaan.
Ja se koskee kaikkea. Mihin mennään tästä eteenpäin?
Käytimme paljon aikaa todistaaksemme, että
kryptovaluuttaekosysteemissä oli yli 20 000 heikkoa lompakkoa.
Monilla meistä on kokopäivätöitä, perheet,
suita ruokittavana, taukoja pidettävänä ja tiedäthän, nukuttava.
Teemme siis monia muita asioita, mutta olemme edelleen
erittäin kiinnostuneita tästä aiheesta.
Ja täällä voi vielä tapahtua paljon tutkimuksia
ja selvityksiä, joita voidaan tehdä.
Joten päivitämme jatkuvasti päivityksiä.
Meillä tarkoitan tyypillisesti Christiania, johtavaa tutkijaa.
Jos sinulla on jotain kerrottavaa, kommentteja tai palautetta
tai haluat tietää lisää, ota aina meihin yhteyttä.
Isännöimme pidemmän Q&A-istunnon tutkimusryhmän kanssa.
Olen vain nukke täällä, diojen ohjaamana.
Jos haluat tavata meidät, ole hyvä ja tee se.
Olemme Saal 6:ssa, joka on mielestäni kerrosta alempana.
Haluamme nähdä teidät, keskustella kanssanne tästä ongelmasta
ja löytää ratkaisuja, jotka voivat todella
katkaista huonon entropian kierteen muuten hyvissä järjestelmissä.
Haluaisin myös kiittää Moe @ Milliways. Nämä diat ja malli tulevat häneltä.
Alun perin ne oli johdettu CCC-suunnittelutiimistä. Pidän tästä designista.
Joten paljon kiitoksia kaikille,
jotka tulitte tänne kuuntelemaan tätä esitystä.
Ja olisin iloinen saadessani kuulla kysymyksenne,
joihin voisin vastata.
Ja jos en osaa vastata, vien teidät vain alas Saal 6:seen.
aplodit
- John Naulty ja Milk Sad -tiimi!
Kiitos paljon tästä tutkimuksesta.
Kiitos paljon esityksestä. Kiitos paljon paljastuksesta.
Onko kellään kysymyksiä?
Näen tässä muutamia kysymyksiä, mutta odottakaa hetki.
Haluamme vilkaista internetiä.
Onko verkossa kysymyksiä? Ole hyvä.
- Ensimmäinen kysymys internetistä olisi:
"Käyttivätkö tuolloin kaikki lompakot
Mersenne Twisteriä siemenen tuottamiseen?
Jos eivät, kuinka hakkerit tunnistivat ne,
jotka käyttivät sitä?"
- En tiedä kuinka hakkerit tunnistivat
heikot lompakot ja niiden järjestelmät.
Mutta vastaus ensimmäiseen kysymykseen on:
Ei, ne eivät kaikki käyttäneet Mersenne Twisteria.
Voit katsoa muiden toteutusten yksityiskohdat kirjoituksistamme.
Mutta siellä oli joitain toteutuksia ja ongelmia.
- Onko internetistä muuta kysyttävää?
- Kyllä, meillä on vielä yksi kysymys.
Kysymys kuuluu: "Onko tämä virhe yhä vapaana luonnossa,
etenkin ei-Bitcoin-kryptovaluutoissa?"
- Onko virhe vielä luonnossa? Kyllä.
Kun julkaiset ohjelmistoversion, se on siellä pysyvästi
suurimman osan ajasta.
On ihmisiä, jotka arkistoivat kaikenlaisia asioita.
Joten suurin osa internetin asioista ei kuole.
Se mikä on kuollut, ei voi koskaan kuolla.
Mitä tulee aktiivisiin hyväksikäyttöihin.
Jos laitat rahaa johonkin näistä vaarantuneista lompakoista,
olisi hauska peli nähdä, kuinka nopeasti se liikkuu
muun kuin sinun toimiesi ja järjestelmän ulkopuolella.
Oletan, että nyt on vain ihmisiä tai järjestelmiä,
jotka kuuntelevat, odottavat rahan menevän
heikon lompakon sisään ja sitten nappaavat rahat välittömästi.
Olisi hauska peli nähdä, maksavatko he
enemmän kuluja kuin ansaitsevat rahaa.
Jos he ovat sivistyneitä, he tarkistavat sen ensin.
Jos ne ovat vaatimattomia, he eivät tee sitä.
Mutta kyllä, se on ehdottomasti edelleen aktiivinen.
Näitä ongelmia on edelleen.
Ja on järjestelmiä, joita emme ole vielä tunnistaneet.
Asia on siis vielä auki.
- Okei, kaikille muille huoneessa tiedoksi.
Asettukaa mikrofonien eteen.
Mikrofoni numero kolme, kiitos.
- Kiitos. Hieno puhe. Haluaisin tietää,
koskeeko tämä myös Moneroa?
Ja oletteko tutkineet Microsoft Research Z3:a?
- Vastaan ensin toiseen kysymykseen.
Emme ole. Haluaisin tietää mikä se on.
Joten yritän muistaa sen, mutta luultavasti unohdan sen,
joten yritän kirjoittaa sen muistiin myöhemmin.
Mutta koska tämä on nauhoitettu,
itse asiassa katson vain tallenteen.
Mutta mitä tulee Moneroon ja muihin
kryptovaluuttoihin, jotka on vaarannettu.
Ne ovat kryptovaluuttojen ulkopuolella.
Se on enemmänkin lompakon kryptografisen toteutuksen virhe.
Ja ihmiset käyttivät näitä muistisanan siemeniä
kaikenlaisiin asioihin.
Ei pelkästään Bitcoin. Ei pelkästään Ethereum.
Emme tehneet tutkimusta Monerosta.
Se on mielenkiintoinen alue yksityisyyskolikoille.
Luulen, että näimme Zcashin.
En usko, että kaikki tekevät Zcashista yksityistä,
mutta olettaisin, että Monero-lompakot olisivat vaarantuneet,
jos ne olisivat luoneet siemenensä tällä ohjelmistopinolla.
- Okei, kiitos. - Kiitos.
- Ja taas mikrofoni numero kolme, kiitos.
- Joten käyttämällä ei-kryptografisesti turvallista PRNG:tä,
se on ainakin eräänlainen pentest-löytö.
Näin olen kokenut ammatillisessa kehittymisessäni.
Joten olisin aika peloissani, jos näkisin sen
tällaisten ohjelmistojen kohdalla, joiden on tarkoitus
olla kehitetty pätevien kehittäjien toimesta.
Ovatko ihmiset pitäneet tätä toimitusketjun
hyökkäyksenä ekosysteemiä vastaan?
- Se oli vaarantunut toimitusketju.
Näin tässä kävi. Kuin kaivo olisi myrkytetty.
Ihmiset luottivat ohjelmistoihin ja seisoivat jättiläisten harteilla
ja ymmärsivät, että näillä jättiläisillä ei ollut vahvaa perustaa.
Ja kaikki, mikä heillä oli, romahti tomuksi.
Joten 110%, toimitusketjun ongelma.
Suosittelen ehdottomasti käyttämään
toimitusketjun turvallisuusratkaisuja,
jotta voidaan lieventää tätä.
Ja juuri silloin koodikatselmoinnilla on suuri rooli.
Koodikatselmointi olisi todennäköisesti saanut tämän kiinni.
Kukaan ei ollut vaarantanut build-palvelinta,
Oli kuitenkin julkaistu build-artifakti, joka oli ongelman ytimessä,
mutta lähdekoodi oli puhdasta. Kuten aurinkotuulet tai vastaava.
Joten oli vain huono koodi, joka laitettiin järjestelmään virheellisenä.
En tiedä.
- Okei. On hyvä, etten ole niin vainoharhainen sen suhteen.
Mutta kaikkea tapahtuu.
- Ole edottomasti vainoharhainen!
Jokainen pull request on potentiaalinen kompromissin lähde.
joten 'jatkuva valppaus',
kuten yksi suosikkihahmoistani Harry Potterista, 'Mad-Eye' Moody, sanoisi.
Hänetkin oli vaarannettu. Joka tapauksessa.
Toimitusketjun hyökkäyksellä. Onko muita kysymyksiä?
- Ei kiitos. - No, täällä mikrofonit ovat tyhjiä.
Entä internet? Onko lisää kysymyksiä sieltä? Ei?
Kiinnostaako ketään jostain erityisestä Johnilta?
Ei? No, kiitämme sitten Johnia vielä kerran tästä.
aplodit
♪ (38C3 loppumusiikki) ♪
Translated by Karolina Laine (ITKST56 course assignment at JYU.FI)