Hyökkääjillä on ollut mahdollisuus kaatua yli vuoden ajan Bitcoin rajoittamaton ja Bitcoin Classic solmut. Eilen joku todella teki sen. Sivustojen mukaan kuten Kolikkotanssi, Bitcoin Unlimited -solmujen määrä laski voimakkaasti lähes 800: sta alle 250: een muutamassa tunnissa. Bitcoin Classic osui pian sen jälkeen.
Päivää aiemmin haavoittuvuuden löytänyt turvallisuustutkija oli tavoittanut Bitcoin-lehti.
“Olen aivan vieressäni siitä, kuinka 20 miljardin dollarin verkon käyttämiseen tähtäävä projekti voi tehdä tällaisia aloittelijoiden virheitä.”
Haavoittuvuudet
Bitcoin Unlimited ja Bitcoin Classic ovat haarukoita Bitcoin-ydin jotka aikovat lisätä Bitcoinin lohkokokorajoitusta. Molemmat käynnistettiin vuonna 2015, ja omat kehitystiiminsä ovat ylläpitäneet niitä siitä lähtien. Vaikka Bitcoin Classic oli viime vuonna suhteellisen suosittu vaihtoehto Bitcoin Coreille, Bitcoin Unlimited on viime aikoina kasvanut. Maailman suurin kaivosallas – AntPool – ilmoitti se vaihtaisi Bitcoin Unlimitediin, samoin kuin useita pienempiä altaita.
Mutta kaikki eivät usko, että se on hyvä idea.
“Olen melko tyrmistynyt huonosta koodin laadusta Bitcoin Unlimitedissä ja epäilen, että [on] joukko muita asioita”, tietoturvatutkija tunnisti itsensä vain “Charlotte Gardneriksi” Bitcoin-lehti maanantaina.
Sähköpostiviestinnässä Gardner kertoi tarkastavansa ohjelmistoa omaan käyttöönsä, mutta tuli nopeasti siihen tulokseen, että se on erittäin vaarallista: “Minua huolestuttaa se, että tätä ohjelmistoa käyttää nyt valtava osa Bitcoinin kaivosekosysteemistä.”
Gardner paljasti, että hän oli toimittanut kaksi haavoittuvuutta – tarkalleen “kriittiset kaatumisongelmat” – tarkalleen – Bitcoin Unlimited -kehitystiimille.
Ensimmäinen tunnetaan nimelläNULL osoittimen poikkeama,”Toinen a”saavutettavissa oleva väite.”Molemmissa tapauksissa hyökkääjät voivat lähettää erityisen muotoiltuja viestejä Bitcoin Unlimited- tai Bitcoin Classic -solmuille saadakseen nämä solmut kaatumaan. Bitcoinin kaltaisessa avoimessa vertaisverkossa tämä tarkoittaa, että hyökkääjä voi saada luettelon Bitcoin Unlimited- ja Bitcoin Classic -solmuista julkisesti saatavilla olevista lähteistä, kuten Bitnodit, ja yksinkertaisesti koputtaa kaikki heistä offline-tilaan.
“Olen yllättynyt siitä, ettei kukaan ole vielä huomannut heitä”, Gardner kertoi Bitcoin-lehti päivää ennen hyökkäystä. “Luulen, että monet ihmiset eivät todellakaan käytä Bitcoin Unlimited -ohjelmistoa. Mutta “nousunsa” myötä hyökkääjät saattavat kiinnostaa enemmän. “
Ilmoitus
Kun otat yhteyttä Bitcoin-lehti maanantaina Gardner ei halunnut heti julkistaa haavoittuvuuksia. Se olisi ollut vastuutonta, hän selitti, koska virheitä voitiin silti hyödyntää ennen kuin Bitcoin Unlimited -kehitystiimillä oli mahdollisuus korjata.
Mutta hän esitti myös haavoittuvuudet Mitren yleisten haavoittuvuuksien ja altistusten (CVE) tietokanta. Tämä varmistaa, että Mitre paljastaa virheet kuukauden kuluessa, mikä painostaa kehittäjiä korjaamaan ongelman ajoissa.
Jopa tämän vastuullisen paljastamisen jälkeen Gardner ajatteli kuitenkin olevan vaarana, että haavoittuvuuksia väärinkäytetään heti, kun ne on korjattu Bitcoin Unlimited -koodivarastossa. Loppujen lopuksi ongelmaa ei ole vielä ratkaistu: kaikki, jotka käyttävät julkaistua Bitcoin Unlimited -ohjelmistoa, ovat edelleen haavoittuvia, kunnes he lataavat ja suorittavat uuden, tarkistetun version. Tämä avaa ikkunan hyökkääjille.
“Ongelmana on, että virheet ovat niin ilmeisen ilmeisiä, että korjaamalla ongelman on helppo huomata kuka tahansa, joka seuraa heidän kehitysprosessiaan”, hän sanoi.
Nyt näyttää siltä, että juuri sitä on tapahtunut. Vaikka Bitcoin Unlimited -kehittäjät todellakin korjasivat ongelman pian sen jälkeen, kun heille oli ilmoitettu, he tekivät sen aivan liian näkyvästi GitHubilla sitoutumisviesti, Gardner kertoi Bitcoin-lehti kerran se ilmestyi, virheet vaikuttivat korjatuilta ja ennen hyökkäysten alkamista.
“Heidän sitoutumisviestinsä soi hälytyskelloja. En ole varma, kukaan huomaa, mutta heidän olisi todennäköisesti pitänyt hämärtää viestiä vielä hieman. Sanamuoto saattaa houkutella tarkempaa tarkastelua. Mutta jos se meni huomaamatta niin kauan, ehkä se jää huomaamatta. “
Se ei selvästikään ole.
Kuten Gardner varoitti, hyökkääjien ei tarvinnut kauan hyödyntää yhtä heikkouksista: ensimmäisiä hyökkäyksiä tapahtui pian vikojen korjaamisen jälkeen. Hieman myöhemmin käyttäjä “shinobimonkey” vei asian Reddit, Bitcoin Core -kehittäjä Peter Todd twiittasi bugista ja sosiaalinen media räjähti.
Joku sitten jopa julkaisi hyödyntää koodia kenenkään käyttöön, ja ennen pitkää useimmat Bitcoin Unlimited -solmut olivat alhaalla, joita monet Bitcoin Classic -solmut seuraavat.
“Siksi on tarkoitus olla” vastuullinen paljastus “-protokolla”, Gardner kertoi Bitcoin-lehti hyökkäysten jälkeen. “Mutta sitten ei auta, jos ohjelmistoprojekti ei ole huomaamaton korjaamaan tällaisia kriittisiä asioita.”
Koodin laatu
Tämä ei ole ensimmäinen kerta, kun Bitcoin Unlimitedin tai Bitcoin Classicin koodinlaatu on tutkittu.
Tunnetuimpana esimerkkinä bitcoin.com kaivosaltaan, joka toimii Bitcoin Unlimited, louhittu virheellinen lohko aiheuttama vika viime tammikuussa. Kaikki lohkon tuottamiseen investoitu energia meni hukkaan, kun taas kelpaamattoman lohkon päälle louhittavat kaivosaltaat hukkasivat myös energiaa.
Ennen sitä Bitcoin Core -kehittäjät olivat jo varoittaneet bugikoodista useaan otteeseen. Bitcoin-kehityksen postituslistalla Matt Corallo sanoi että hän oli löytänyt Bitcoin Classicin joustavan transaktiokoodin olevan ”täynnä räikeitä ja massiivisia turva-aukkoja”. Redditissä Gregory Maxwell huomautti että Bitcoin Unlimited -solmut kaatuivat, koska kehitystiimi poisti koodin, jota ei olisi pitänyt poistaa.
Puhuminen Bitcoin Unlimitedin pääkehittäjälle Andrew Stonelle vastauksena eilisiin tapahtumiin, Maxwell ehdotti Bitcoin Unlimitedin kooditietokannassa on enemmän ongelmia, joita ei ole vielä käytetty väärin:
“Unlimitedissä on haavoittuvuuksia, joista Bitcoin Core -henkilöt ovat ilmoittaneet sinulle yksityisesti Unlimitedissä, joiden suhteen et ole valitettavasti toiminut. Itse asiassa vakavampi kuin tämä. “
Ehkä suurin ongelma Bitcoin Unlimitedille, kuten huomautti tietoturva-asiantuntijan Andreas Antonopoulosin mukaan sillä ei ole merkittävää kehitysyhteisöä tekemään asianmukaista laatuanalyysiä. Bitcoin Unlimitedin ja Bitcoin Classicin parissa työskentelevien kehittäjien määrä on suhteellisen pieni, ja hyödynnettyä haavoittuvuutta sisältävä koodi yhdistettiin sen jälkeen, kun vain yksi henkilö oli tarkastanut sen – ei paljoakaan ihmisten rahaa suojaavasta turvallisuuden kannalta kriittisestä koodista..
Gardner suostui tähän arvioon:
“Tässä tapauksessa haavoittuvuudet ovat niin ilmeisen ilmeisiä, on selvää, ettei kukaan ole auditoinut koodiaan, koska ne tarttuvat kuin kipeä peukalo”, hän sanoi. “Olen hämmästynyt kaivosteollisuudesta, joka käyttää tätä ohjelmistoa. Mutta koska he ovat, ja monet ihmiset voivat vahingoittua, paras mitä voin tehdä, lukuun ottamatta suositusta, että he eivät käytä Bitcoin Unlimitedia, on paljastaa ongelmat ja toivoa, että he ovat riittävän päteviä korjaamaan sen. “
Bitcoin-lehti otti yhteyttä Bitcoin Unlimited -kehittäjiin Andrew Stoneen ja Andrea Suisaniin, mutta ei saanut vastausta julkaisuhetkellä.