211service.com
Kādreiz blokķēdes tika pasludinātas par neuzlaužamām, tagad tās tiek uzlauztas
Atvērts bloks, kurā redzamas digitālās monētas Tehniķa kundze
Pagājušā mēneša sākumā Coinbase drošības komanda pamanīja kaut ko dīvainu, kas notiek Ethereum Classic — vienā no kriptovalūtām, ko cilvēki var pirkt un pārdot, izmantojot Coinbase populāro apmaiņas platformu. Tā blokķēde, visu tās darījumu vēsture tika uzbrukta.
Uzbrucējs kaut kādā veidā bija ieguvis kontroli pār vairāk nekā pusi no tīkla skaitļošanas jaudas un izmantoja to, lai pārrakstītu darījumu vēsturi. Tas ļāva tērēt vienu un to pašu kriptovalūtu vairāk nekā vienu reizi, ko sauc par dubultiem tēriņiem. Tika pamanīts, ka uzbrucējs to izvilka līdz 1,1 miljonam dolāru. Coinbase apgalvo, ka neviena valūta faktiski netika nozagta no neviena no tās kontiem. Bet otra populāra birža, Gate.io, ir atzinis tas nebija tik laimīgs, zaudējot aptuveni 200 000 USD uzbrucējam (kurš, dīvainā kārtā, pusi no tā atdeva dienas vēlāk).
Vēl pirms gada šis murga scenārijs lielākoties bija teorētisks. Taču tā sauktais 51% uzbrukums pret Ethereum Classic bija tikai pēdējais no nesenajiem uzbrukumiem blokķēdēm, kas ir palielinājuši topošās industrijas likmes.
Kopumā kopš 2017. gada sākuma hakeri ir nozaguši kriptovalūtu gandrīz 2 miljardu dolāru vērtībā, galvenokārt no biržām, un tas ir tikai tas, kas tika atklāts publiski. Tie nav arī oportūnistiski vientuļi uzbrucēji. Tagad to dara arī sarežģītas kibernoziedzības organizācijas: analītikas uzņēmums Chainalysis nesen paziņoja, ka tikai divas grupas, kuras abas acīmredzot joprojām ir aktīvas, varētu būt nozagušas no biržām kopā 1 miljardu ASV dolāru.
Mums nevajadzētu būt pārsteigtiem. Blokķēdes ir īpaši pievilcīgas zagļiem, jo krāpnieciskus darījumus nevar atcelt, jo tie bieži vien var būt tradicionālajā finanšu sistēmā. Turklāt mēs jau sen zinām, ka tāpat kā blokķēdēm ir unikālas drošības funkcijas, tām ir unikālas ievainojamības. Mārketinga saukļi un virsraksti, kas sauca tehnoloģiju par neuzlaužamu, bija nepareizi.
Tas ir saprasts, vismaz teorētiski, kopš Bitcoin parādījās pirms desmit gadiem. Taču pagājušajā gadā, kembrijas laikmeta jaunu kriptovalūtu projektu eksplozijas laikā, mēs esam sākuši redzēt, ko tas nozīmē praksē un ko šīs raksturīgās nepilnības varētu nozīmēt blokķēžu un digitālo aktīvu nākotnei.
Kā uzlauzt blokķēdi?
Pirms ejam tālāk, precizēsim dažus terminus.
UZ blokķēde ir kriptogrāfiska datu bāze, ko uztur datoru tīkls, no kuriem katrs saglabā jaunākās versijas kopiju. Blokķēde protokols ir noteikumu kopums, kas nosaka, kā tiek saukti datori tīklā mezgli , vajadzētu pārbaudīt jaunos darījumus un pievienot tos datu bāzei. Protokols izmanto kriptogrāfiju, spēļu teoriju un ekonomiku, lai radītu stimulus mezgliem strādāt, lai nodrošinātu tīkla drošību, nevis uzbruktu tam personīga labuma gūšanai. Ja šī sistēma ir iestatīta pareizi, tā var ārkārtīgi sarežģīt un dārgi padarīt nepatiesu darījumu pievienošanu, bet salīdzinoši viegli pārbaudīt derīgus darījumus.
Tas ir padarījis tehnoloģiju tik pievilcīgu daudzām nozarēm, sākot ar finansēm. Drīzumā tiks uzsākti pakalpojumi no tādām lielām institūcijām kā Fidelity Investments un Intercontinental Exchange, kas ir Ņujorkas fondu biržas īpašnieks, esošajā finanšu sistēmā iejaukt blokķēdes. Pat centrālās bankas tagad meklē iespējas tos izmantot jaunām nacionālās valūtas digitālajām formām.
Bet jo sarežģītāka ir blokķēdes sistēma, jo vairāk iespēju tās iestatīšanas laikā var kļūdīties. Šī mēneša sākumā uzņēmums, kas atbild par Zcash — kriptovalūtu, kas izmanto ārkārtīgi sarežģītu matemātiku, lai ļautu lietotājiem veikt darījumus privāti, atklāja, ka tas ir slepeni salabojis smalks kriptogrāfijas defekts nejauši iecepts protokolā. Uzbrucējs to varēja izmantot, lai neierobežoti daudz viltotu Zcash. Par laimi, šķiet, ka neviens to nav darījis.
Protokols nav vienīgais, kam jābūt drošam. Lai patstāvīgi tirgotu kriptovalūtu vai vadītu mezglu, jums ir jāpalaiž programmatūra klients , kurā var būt arī ievainojamības. Septembrī Bitcoin galvenā klienta Bitcoin Core izstrādātājiem bija jācenšas novērst kļūdu ( arī slepenībā ), kas varēja ļaut uzbrucējiem kalt vairāk bitkoinu, nekā sistēmai ir paredzēts.
Tomēr lielākā daļa neseno virsrakstu sagrābšanas bija nevis uzbrukumi pašām blokķēdēm, bet gan maiņas , vietnes, kurās cilvēki var iegādāties, tirgot un turēt kriptovalūtas. Un daudzās no šīm laupīšanām var vainot sliktu pamata drošības praksi. Tas mainījās janvārī ar 51% uzbrukumu pret Ethereum Classic.
51% noteikums
Uzņēmība pret 51% uzbrukumiem ir raksturīga lielākajai daļai kriptovalūtu. Tas ir tāpēc, ka lielākā daļa no tām ir balstītas uz izmantotajām blokķēdēm darba apliecinājums kā savu protokolu darījumu pārbaudei. Šajā procesā, kas pazīstams arī kā ieguve , mezgli tērē milzīgu daudzumu skaitļošanas jaudas, lai pierādītu, ka ir pietiekami uzticami, lai datubāzei pievienotu informāciju par jauniem darījumiem. Kalnracis, kurš kaut kādā veidā iegūst kontroli pār lielāko daļu tīkla ieguves jaudas, var apkrāpt citus lietotājus, nosūtot tiem maksājumus un pēc tam izveidojot alternatīvu blokķēdes versiju, kurā maksājumi nekad nav notikuši. Šo jauno versiju sauc a dakša . Uzbrucējs, kurš kontrolē lielāko daļu ieguves jaudas, var padarīt dakšu par autoritatīvu ķēdes versiju un turpināt tērēt to pašu kriptovalūtu.
Populārajām blokķēdēm šāda veida aplaupīšanas mēģinājums, visticamāk, būs ārkārtīgi dārgs. Saskaņā ar tīmekļa vietni Kripto51 , īrējot pietiekami daudz ieguves jaudas, lai uzbruktu Bitcoin, pašlaik būtu jāmaksā vairāk nekā 260 000 USD stundā. Taču tas ātri kļūst daudz lētāks, kad virzāties uz leju vairāk nekā 1500 kriptovalūtu sarakstā. Monētu cenu samazināšanās padara to vēl lētāku, jo ogļrači izslēdz savas iekārtas, atstājot tīklus ar mazāku aizsardzību.
Tuvojoties 2018. gada vidum, uzbrucēji sāka 51% uzbrukumu virknei salīdzinoši mazu, viegli tirgotu monētu, tostarp Verge, Monacoin un Bitcoin Gold, kopumā nozagot aptuveni 20 miljonus ASV dolāru. Rudenī hakeri nozaga aptuveni 100 000 USD, izmantojot uzbrukumu sērija valūtā, ko sauc par Vertcoin. Rezultāts pret Ethereum Classic, kas ienesa vairāk nekā 1 miljonu ASV dolāru, bija pirmais pret 20 labāko valūtu.
Deivids Voriks, blokķēdes bāzes failu glabāšanas platformas Sia līdzdibinātājs, to prognozē 51% uzbrukumu turpinās pieaugt biežums un nopietnība, un apmaiņa uzņemsies lielāko daļu zaudējumu, ko rada dubulti tēriņi. Viena lieta, kas veicina šo tendenci, viņš saka, ir tā saukto hasrata tirgu pieaugums, ko uzbrucēji var izmantot, lai iznomātu skaitļošanas jaudu uzbrukumiem. Apmaiņai galu galā būs jābūt daudz stingrākām, izvēloties, kuras kriptovalūtas atbalstīt, Vorick rakstīja pēc Ethereum Classic uzlaušanas.
Pilnīgi jauna bundža ar tārpiem
Papildus 51% uzbrukumiem ir pilnīgi jauns blokķēdes drošības trūkumu līmenis, kuru sekas pētnieki tikai sāk izpētīt: viedo līgumu kļūdas. Nejaušība ir tāda, ka Ethereum Classic — jo īpaši stāsts par tās izcelsmi — ir arī labs sākumpunkts to izpratnei.
UZ viedais līgums ir datorprogramma, kas darbojas blokķēdes tīklā. To var izmantot, lai automatizētu kriptovalūtas kustību saskaņā ar noteiktiem noteikumiem un nosacījumiem. Tam ir daudz potenciālu izmantošanas veidu, piemēram, reālu juridisku līgumu vai sarežģītu finanšu darījumu atvieglošana. Vēl viens lietojums — šeit interesējošais gadījums — ir izveidot balsošanas mehānismu, ar kura palīdzību visi riska kapitāla fonda ieguldītāji var kopīgi izlemt, kā piešķirt naudu.
Tieši šāds fonds ar nosaukumu Decentralizētā autonomā organizācija (DAO) tika izveidots 2016. gadā, izmantojot blokķēdes sistēmu ar nosaukumu Ethereum. Neilgi pēc tam uzbrucējs nozaga kriptovalūtu vairāk nekā 60 miljonu ASV dolāru vērtībā, izmantojot neparedzētu trūkumu viedajā līgumā, kas regulēja DAO. Būtībā šis defekts ļāva hakeram turpināt pieprasīt naudu no kontiem, sistēmai nereģistrējot, ka nauda jau ir izņemta.
Kā parādīts uzlaušanas attēlā, kļūda tiešā viedā līgumā var radīt unikālu ārkārtas situāciju. Tradicionālajā programmatūrā kļūdu var novērst ar ielāpu. Blokķēdes pasaulē tas nav tik vienkārši. Tā kā darījumus blokķēdē nevar atsaukt, viedā līguma izvietošana līdzinās raķetes palaišanai, saka Petars Tsankovs, ETH Cīrihes pētnieks un viedā līguma drošības starta līdzdibinātājs. Ķēdes drošība . Programmatūra nevar kļūdīties.
Ir sava veida labojumi. Lai gan dažus līgumus nevar salabot, tos var jaunināt, izvietojot papildu viedos līgumus, lai ar tiem mijiedarbotos. Izstrādātāji tīklā var arī izveidot centralizētus iznīcināšanas slēdžus, lai apturētu visas darbības, tiklīdz tiek atklāts uzlaušana. Bet lietotājiem, kuru nauda jau ir nozagta, būs par vēlu.
Vienīgais veids, kā atgūt naudu, ir faktiski pārrakstīt vēsturi — atgriezties pie blokķēdes punkta pirms uzbrukuma, izveidot jaunu blokķēdi un panākt, lai visi tīkla lietotāji piekristu izmantot šo blokķēdi. Tieši to izvēlējās Ethereum izstrādātāji. Lielākā daļa, bet ne visi, kopienas pārgāja uz jauno ķēdi, ko mēs tagad pazīstam kā Ethereum. Mazāka turētāju grupa pielipa oriģinālajai ķēdei, kas kļuva par Ethereum Classic.
Pagājušajā mēnesī Tsankova komanda ChainSecurity izglāba Ethereum no iespējamas DAO katastrofas atkārtošanās. Tikai dienu pirms lielās plānotās programmatūras jaunināšanas uzņēmums Ethereum vadošajiem izstrādātājiem paziņoja, ka tam būs neparedzētas sekas, ka daži blokķēdes līgumi būs tikko neaizsargāti pret tāda paša veida kļūdu, kas izraisīja DAO uzlaušanu. Izstrādātāji nekavējoties atlika jaunināšanu un to darīs vēl šomēnes.
Neskatoties uz to, simtiem vērtīgu Ethereum viedo līgumu jau bija neaizsargāti pret šo tā saukto atgriešanās kļūdu, norāda Viktors Fangs, blokķēdes drošības firmas AnChain.ai līdzdibinātājs un izpilddirektors. Saskaņā ar pagājušajā gadā veiktajiem pētījumiem desmitiem tūkstošu līgumu var ietvert cita veida ievainojamību. Publisko blokķēžu būtība nozīmē, ka, ja pastāv viedā līguma kļūda, hakeri to atradīs, jo avota kods bieži ir redzams blokķēdē. Tas ļoti atšķiras no tradicionālās kiberdrošības, saka Fangs, kurš iepriekš strādāja kiberdrošības uzņēmumā FireEye.
Buggy līgumi, jo īpaši tie, kuru turējums ir tūkstošiem vai miljoniem dolāru, ir piesaistījuši hakerus, kas ir tikpat progresīvi kā tie, kas uzbrūk bankām vai valdībām. Augustā AnChain identificēja piecas Ethereum adreses aiz ārkārtīgi sarežģīta uzbrukuma, kurā tika izmantots līguma trūkums populārā azartspēļu spēlē, lai nozagtu 4 miljonus ASV dolāru.
Vai hakerus var uzvarēt?
AnChain.ai ir viens no vairākiem nesen izveidotiem jaunuzņēmumiem, kas izveidoti, lai novērstu blokķēdes uzlaušanas draudus. Tas izmanto mākslīgo intelektu, lai uzraudzītu darījumus un atklātu aizdomīgas darbības, un tas var skenēt viedā līguma kodu, lai atklātu zināmas ievainojamības.
Citi uzņēmumi, tostarp Tsankov’s ChainSecurity, izstrādā audita pakalpojumus, kuru pamatā ir izveidota datorzinātnes tehnika, ko sauc par formālo verifikāciju. Mērķis ir matemātiski pierādīt, ka līguma kods patiešām darīs to, ko tā veidotāji ir iecerējuši. Šie audita rīki, kas ir sākuši parādīties aptuveni pagājušajā gadā, ir ļāvuši viedo līgumu veidotājiem novērst daudzas kļūdas, kas agrāk bija zemu, saka Tsankovs. Bet process var būt dārgs un laikietilpīgs.
Var būt arī iespējams izmantot papildu viedos līgumus, lai iestatītu uz blokķēdi balstītas kļūdu piemaksas. Tas mudinātu cilvēkus ziņot par trūkumiem apmaiņā pret kriptovalūtas atlīdzību, saka Filips Daians , Kornela universitātes kriptovalūtu un līgumu iniciatīvas pētnieks.
Bet, pārliecinoties, ka kods ir tīrs, tas būs tikai tik tālu. Galu galā blokķēde ir sarežģīta ekonomikas sistēma, kas ir atkarīga no cilvēku neparedzamās uzvedības, un cilvēki vienmēr meklēs jaunus veidus, kā to izspēlēt. Daians un viņa kolēģi ir parādījuši, kā uzbrucēji jau ir izdomājuši, kā to izdarīt gūt peļņu, spēlējot populāros Ethereum viedos līgumus , piemēram.
Īsāk sakot, lai gan blokķēdes tehnoloģija jau sen tiek reklamēta tās drošības dēļ, noteiktos apstākļos tā var būt diezgan neaizsargāta. Dažreiz var vainot nekvalitatīvu izpildi vai nejaušas programmatūras kļūdas. Citreiz tā ir vairāk pelēkā zona — sarežģīts rezultāts mijiedarbībai starp kodu, blokķēdes ekonomiku un cilvēku alkatību. Teorētiski tas ir zināms kopš tehnoloģijas sākuma. Tagad, kad pasaulē ir pieejams tik daudz blokķēžu, mēs uzzinām, ko tas patiesībā nozīmē — bieži vien grūtākajā veidā.