Bitcoin Magazine
Problema Centrală: Nodul Tău Versus Junglă Digitală
La peste 50 de ani după primul mesaj inter-rețea, rețelele peer-to-peer rămân animale rare în jungla Internetului. Capacitatea Bitcoin de a furniza un sistem monetar deschis depinde de arhitectura sa peer-to-peer, iar pe întreaga sa suprafață de atac, stratul de rețea – modul în care peerii se descoperă și se conectează între ei – este cel mai vulnerabil. Există două locuri principale unde pot apărea probleme: propriul protocol de peering al Bitcoin și protocoalele Internet de care depinde protocolul Bitcoin. În această lumină, Core are un mandat dublu de a preveni vectorii de Denial of Service (DOS) care pot fi abuzați între noduri și de a permite nodurilor să comunice în siguranță în mediul adversarial mai larg care este Internetul.
"Guvernele sunt bune la tăierea capetelor rețelelor controlate centralizat, precum Napster, dar rețelele P2P pure precum Gnutella și Tor par să își mențină poziția."
– Satoshi, 7 noiembrie 2008 [1]
Protocolul P2P cuprinde modul în care nodurile schimbă mesaje despre tranzacții, blocuri și alți peeri. Acest schimb de informații este necesar înainte ca orice tranzacție sau validare de consens să poată avea loc și este, prin urmare, o preocupare primară.
Au existat mai multe erori în această zonă de-a lungul anilor. În 2017, de exemplu, o vulnerabilitate a serverului SOCKS malițios a fost remediată și divulgată [2]. Această vulnerabilitate de "buffer overflow" ar putea conduce teoretic la multe atacuri diferite: prăbușirea nodului, injectarea de payload-uri malițioase sau modificarea datelor pe nod. În 2020, a fost raportată și remediată o vulnerabilitate de severitate ridicată în care un peer de la distanță putea face ca adresele să fie interzise, crescând lista de interdicții în mod pătratic, și este prin urmare un DOS pe nod [3]. Vulnerabilitatea nu a fost divulgată până în 2024. Acest bug este marcat corect ca "severitate ridicată" deoarece atacul este simplu de executat, efectul său rezultă într-o pierdere a funcției pentru nod și necesită câteva precondiții pentru a funcționa. Acestea sunt tipul de bug-uri care îi țin pe dezvoltatorii Core treji noaptea și de aceea este extrem de încurajat să actualizezi nodul la o versiune încă menținută (versiunile mai vechi de Core nu sunt menținute/actualizate activ).
Această rețea distribuită pe care o numim Bitcoin rămâne relativ mică: numărul de noduri clearnet oscilează în jurul a 20.000 de noduri, iar chiar presupunând un număr generos de 100.000 de noduri TOR, avem încă o rețea mică, ușor de supravegheat. Recent, Daniela Brozzoni și naiyoma au arătat [4] că dacă un nod rulează cu clearnet și Tor, este trivial să mapezi adresele IPv4 și Tor ale unui nod. Este foarte probabil că acest lucru este deja făcut de agențiile de informații și companiile de chainalysis. Apoi devine ușor să observi care noduri publică care tranzacții primele, deducând IP-ul original al tranzacției și, prin urmare, locația. Deși acesta nu este un bug per se, deoarece nodul nu se prăbușește sau nu se comportă greșit, poate fi considerat o vulnerabilitate, deoarece prezintă o metodă de legare a unei adrese IP date de o tranzacție.
Cum să previi acest lucru în mod eficient este în prezent o întrebare deschisă.
"Ne construim computerele așa cum ne construim orașele. În timp, fără un plan, deasupra ruinelor." – Ellen Ullman [5]
Bitcoin funcționează pe Internet, iar capacitatea sa de a rămâne un sistem distribuit și descentralizat depinde de proprietățile Internetului însuși. Din nefericire, arhitectura Internetului așa cum o cunoaștem astăzi rămâne lamentabil de nesigură, cu atacuri cunoscute folosite în mod obișnuit. Majoritatea acestor atacuri sunt efectuate nedetectate până când daunele au fost făcute, și asta fără a menționa regimurile de supraveghere care pătrund Internetul astăzi.
Cel mai cunoscut și practic vector de atac de care trebuie să ne îngrijorăm se numește atac eclipse, în care peerii unui nod victimă sunt toți malițioși și furnizează o viziune specifică a lanțului sau rețelei nodului victimă. Această clasă de atac este fundamentală în sistemele distribuite, dacă controlezi peerii unui nod, îi controlezi conștientizarea rețelei. Ethan Heilman și colaboratorii au prezentat unul dintre primele atacuri eclipse practice asupra Bitcoin la USENIX 2015 [6], iar în 2018, lucrarea despre atacul Erebus a descris un atac eclipse "furtiv" printr-un Sistem Autonom (AS) malițios [7].
Aceste atacuri exploatează în mare parte slăbiciunile în modul în care rețelele Internetului comunică între ele, cum ar fi topologia de rutare a AS-urilor sau printr-un protocol numit Border Gateway Protocol (BGP). Deși există inițiative în curs de a securiza protocolul BGP – BGPsec, RPKI – ambele au limitări care sunt bine înțelese și îi lasă pe administratorii Internetului să tânjească după soluții mai puternice. Până atunci, Internetul va rămâne vestul sălbatic.
O analiză recentă realizată de cedarctic la Chaincode Labs a descoperit că nodurile Bitcoin sunt găzduite în doar 4.551 de AS-uri, o subsecțiune destul de mică a rețelelor constituente care alcătuiesc Internetul. Aceștia descriu un set de atacuri care pot duce la atacuri eclipse prin compromiterea AS-ului upstream în care operează nodurile [8]. Distribuția mică a nodurilor printre AS-uri și relațiile specifice dintre aceste AS-uri creează un vector de atac unic. Deși există remedieri, nu este clar dacă acest vector de atac a fost bine înțeles în prealabil de bitcoineri sau de adversarii lor.
Orice atac care se bazează pe compromiterea unuia sau mai multor AS-uri necesită resurse, coordonare și abilități pentru a fi realizat. Deși nu a fost raportat niciun atac de succes de acest tip pe un nod Bitcoin, astfel de atacuri au fost montate cu succes împotriva minerilor [9], portofelelor [10], platformelor de swap [11] și punților [12]. Deși nu vom repara Internetul, putem arma nodurile cu instrumentele necesare pentru a opera în acest mediu adversarial.
Mai jos sunt câteva caracteristici și funcționalități pe care Bitcoin Core le-a dezvoltat sau pentru care a integrat suport pentru a arma utilizatorii împotriva atacurilor la nivel de rețea:
TOR (the Onion Router) este cea mai veche rețea de suprapunere axată pe confidențialitate încorporată în Bitcoin Core. Aceasta creează salturi între o rețea aleatorie de peeri pentru a obfusca traficul.
v2transport [13] criptează conexiunile între peeri, ascunzând traficul de curioși și cenzori. Scopul este de a împiedica observatorii pasivi ai rețelei să spioneze conținutul comunicațiilor tale cu alte noduri.
I2P (the Invisible Internet Project [14]) este o caracteristică opțională a Core care permite un strat adițional, privat, criptat pentru conexiunile cuiva. Este o rețea de anonimat similară cu Tor care se bazează pe peeri pentru a obfusca traficul între clienți și servere.
ASmap [15] este o altă caracteristică opțională a Core care implementează o atenuare pentru atacul Erebus pe care autorii l-au deja schițat în lucrare și se aplică tuturor atacurilor bazate pe AS. Făcând mecanismul de peering al Bitcoin conștient de AS-ul din care provin peerii pentru a asigura diversitatea printre peeri, un eclipse devine exponențial mai dificil, deoarece un atacator ar trebui să compromită multe AS-uri, ceea ce este foarte puțin probabil și aproape imposibil fără a fi detectat. Bitcoin Core suportă luarea unei hărți a rețelelor IP către AS-ul lor (o hartă AS) din Core 20.0, iar proiectul Kartograf permite oricărui utilizator să genereze un astfel de ASmap cu ușurință.
Având în vedere că este probabil ca Internetul să continue să fie vulnerabil la multe atacuri, unul dintre lucrurile pe care le putem face este să observăm comportamentul peerilor noștri pentru a încerca să detectăm comportamentul malițios. Acesta este impulsul din spatele proiectului peer-observer de 0xb10c [16]. Acesta oferă un sistem complet de logging bazat pe tracepoint eBPF (o modalitate de a observa cele mai mici acțiuni într-un program care rulează pe un sistem de operare) pentru a observa activitatea unui nod, inclusiv comportamentul peerilor. De asemenea, îți oferă tot ce ai nevoie pentru a construi propriile sisteme de logging.
Securizarea capacității de a se conecta la peeri și de a schimba mesaje este o componentă cheie a ceea ce face Bitcoin să funcționeze.
Bitcoin operează într-un mediu adversarial multidimensional, în care multe dintre amenințări sunt create de limitările arhitecturii internetului însuși. Dacă Bitcoin urmează să supraviețuiască și să prospere, dezvoltatorii și utilizatorii săi trebuie să învețe să navigheze în aceste ape ciudate.
Prețul rețelelor deschise este vigilența eternă.
Obține-ți exemplarul din The Core Issue astăzi!
Nu rata șansa de a deține The Core Issue — cu articole scrise de mulți Dezvoltatori Core care explică ei înșiși proiectele la care lucrează!
Această piesă este Scrisoarea de la Editor prezentată în ultima ediție Tipărită a Bitcoin Magazine, The Core Issue. O distribuim aici ca o privire timpurie asupra ideilor explorate pe parcursul întregii ediții.
[0] https://web.mit.edu/gtmarx/www/connect.html
[1] https://satoshi.nakamotoinstitute.org/emails/cryptography/4/
[2] https://bitcoincore.org/en/2019/11/08/CVE-2017-18350/
[3] https://bitcoincore.org/en/2024/07/03/disclose-unbounded-banlist/
[4] https://delvingbitcoin.org/t/fingerprinting-nodes-via-addr-requests/1786/
[5] https://en.wikiquote.org/wiki/Ellen_Ullman
[6] https://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-heilman.pdf
[7] https://ihchoi12.github.io/assets/tran2020stealthier.pdf
[8] https://delvingbitcoin.org/t/eclipsing-bitcoin-nodes-with-bgp-interception-attacks/1965
[9] https://www.theregister.com/2014/08/07/bgp_bitcoin_mining_heist/
[10] https://www.theverge.com/2018/4/24/17275982/myetherwallet-hack-bgp-dns-hijacking-stolen-ethereum
[11] https://medium.com/s2wblog/post-mortem-of-klayswap-incident-through-bgp-hijacking-en-3ed7e33de600
[12] www.coinbase.com/blog/celer-bridge-incident-analysis
[13] https://bitcoinops.org/en/topics/v2-p2p-transport/
[14] https://geti2p.net/en/
[15] https://asmap.org
[16] https://peer.observer
[13] https://github.com/asmap/kartograf
Această postare The Core Issue: Your Node Vs. The Digital Wilderness a apărut pentru prima dată pe Bitcoin Magazine și este scrisă de Julien Urraca, Fabian Jahr, 0xb10c și CedArctic.


