Vulnerabilități Web2: Un pericol trecut cu vederea pentru proiectele Web3
Idei principale
Proiectele DeFi sunt atacate prin vulnerabilități Web2.
În două cazuri recente, sistemele de management al etichetelor și de nume de domenii au fost folosite pentru a compromite securitatea proiectelor DeFi.
Echipele Web3 pot proteja ecosistemul mai larg acordând atenție cerințelor de securitate Web2.
În ultimele luni, am văzut o serie de proiecte Web3 vizate de hackeri care folosesc vulnerabilități Web2 pentru a fura sute de mii de dolari din fondurile utilizatorilor. Alte proiecte ar putea învăța câteva lecții din asta. Merită să reflectăm asupra acestor vulnerabilități Web2, astfel încât să putem colabora pentru a proteja ecosistemul Web3.
Tehnologia blockchain a revoluționat finanțele. Utilizatorii au putut să-și gestioneze în mod direct propriii bani și investițiile datorită contractelor inteligente cu custodie proprie și produselor Web3. Dar în acest peisaj în schimbare trebuie să existe un echilibru între descentralizare și securitate. Aceasta din urmă este deosebit de importantă atunci când sunt implicate fondurile oamenilor obișnuiți. Având în vedere natura descentralizată a Web3, accentul se pune adesea pe asigurarea faptului că protocoalele blockchain și contractele inteligente din centrul diferitelor produse și platforme sunt robuste, sigure și lipsite de exploatări.
Cu toate acestea, multe proiecte Web3 se bazează în continuare pe cadre și tehnologie Web2 pentru a rula funcționalități suplimentare pe lângă protocoalele blockchain de bază. Și astfel, hackerii încep să folosească vulnerabilitățile Web2 ca vectori de atac atunci când încearcă să fure fondurile proiectelor și utilizatorilor. Un exemplu este exploatarea codului sau sistemelor front-end, mai degrabă decât atacarea contractelor inteligente în sine.
Care sunt aceste vulnerabilități Web2? Cum funcționează? Și ce se poate face în ceea ce le privește? Vom răspunde la aceste întrebări în acest articol, analizând două proiecte majore DeFi care au căzut victime ale exploatării Web2 în ultimele luni — KyberSwap și Curve Finance — și vom trage câteva concluzii din aceste exemple pentru a ajuta comunitatea mai largă să fie în siguranță.
KyberSwap pierde 265.000 USD din cauza unei vulnerabilități a Google Tag Manager
Platforma de schimb descentralizată KyberSwap a fost atacată prin exploatarea unei vulnerabilități front-end pe 1 septembrie 2022. Atacul a dus la pierderea a 265.000 de dolari. Deci, ce s-a întâmplat? Pe scurt, hackerii au introdus cod rău intenționat în Google Tag Manager (GTM) al KyberSwap, ceea ce le-a permis să transfere fondurile utilizatorilor către propriile adrese.
Google Tag Manager (GTM) — o vulnerabilitate Web2
Aceasta este o vulnerabilitate Web2, deoarece GTM nu are nimic de-a face cu contractele inteligente ale KyberSwap sau cu funcționalitatea protocolului blockchain. Mai degrabă, GTM este un sistem de gestionare a etichetelor care ajută la adăugarea și actualizarea etichetelor de marketing digital pentru lucruri precum urmărirea conversiilor și analiza site-urilor. Hackerii au putut să obțină acces la contul GTM al KyberSwap prin phishing, ceea ce le-a permis apoi să introducă acel cod rău intenționat. Acest lucru le-a oferit infractorilor acces la fondurile utilizatorilor din cauza front-endului compromis al KyberSwap și a dus la pierderi de 265.000 USD.
Scriptul a vizat în mod special portofelele balenelor. Kyber Network, centrul de lichiditate din spatele KyberSwap, a reușit să dezactiveze GTM și să elimine scriptul respectiv, oprind astfel orice activitate infracțională ulterioară. Ca o notă secundară: KyberSwap a anunțat că toate pierderile vor fi compensate. Dar dacă s-ar fi acordat mai multă atenție securității Web2, acest atac front-end ar fi putut fi prevenit.
Curve Finance pierde 570.000 USD (USD) din cauza exploatării unei vulnerabilități DNS
KyberSwap nu este singurul proiect DeFi care a suferit recent o exploatare a unei vulnerabilități front-end. Pe 9 august 2022, un grup de atacatori a exploatat o vulnerabilitate de pe platforma de schimb descentralizată Curve Finance, furând 570.000 USD în Ethereum (ETH) din portofelele utilizatorilor. De data aceasta, atacul front-end a fost cauzat de otrăvirea cache-ului DNS - o vulnerabilitate care a permis hackerilor să redirecționeze utilizatorii care încercau să ajungă la domeniul Curve Finance. Utilizatorii au fost în schimb direcționați pe un site fals imitator.
Otrăvirea cache-ului DNS — o vulnerabilitate Web2
DNS este prescurtarea pentru sistem de nume de domenii. Este unul dintre instrumentele fundamentale care le permit oamenilor să navigheze pe internet fără efort. Ori de câte ori cineva tastează un nume de domeniu, dispozitivul său trimite o interogare către un server DNS solicitând adresa IP asociată.
De obicei, această interogare va trece prin mai multe servere DNS până când va găsi adresa corespunzătoare. Gândiți-vă la internet ca la un sistem de autostrăzi masiv și complicat, fiecare drum ducând la un site web diferit. Pe aceste drumuri, serverele DNS funcționează ca agenți de circulație care ghidează mașinile în direcția corectă.
În cazul Curve Finance, hackerii au creat o copie identică a serverului DNS real al Curve și au redirecționat utilizatorii către un site web fals care arăta exact ca site-ul proiectului original. Acest lucru a permis infractorilor să implanteze un contract rău intenționat în „pagina de pornire” Curve. Când utilizatorii au aprobat utilizarea contractului în portofelele lor, fondurile lor au fost scurse, pagubele ridicându-se în total la 570.000 USD.
Cum își pot proteja proiectele utilizatorii? Lecții de învățat
Cea mai importantă lecție este că nu contează cât de puternice sunt contractele dvs. inteligente dacă un proiect nu ia securitatea Web2 în serios la fel de mult. Echipele trebuie să se gândească la decalajele care pot exista între spațiile Web2 și Web3 și să-și asume o responsabilitate mai mare pentru securitatea globală a proiectului.
Ce putem învăța din exploatarea vulnerabilității GTM
În cazul KyberSwap și a exploatării vulnerabilității GTM, de exemplu, echipele trebuie să-și amintească să folosească autentificarea cu doi factori (2FA) pentru a proteja instrumentele auxiliare, cum ar fi conturile lor GTM. De asemenea, proiectele ar trebui să permită doar numărului minim necesar de persoane să acceseze conturile care pot implementa codul la alegere pe site-ul lor. Având în vedere cât de periculos este să ai această capacitate, trebuie să existe un sistem adecvat de control al accesului. La Binance, de exemplu, separăm accesul pe trei roluri diferite: dezvoltator de etichete, verificator de securitate și editor. Niciunul dintre ei nu poate adăuga pe cont propriu un cod nou de site - toate trei sunt necesare pentru a finaliza procesul.
Ce putem învăța din exploatarea DNS
Va fi întotdeauna mai ușor să evitați un server DNS compromis decât să recuperați daunele ulterior. Iată ce pot face utilizatorii obișnuiți pentru a-și proteja fondurile:
Nu faceți clic pe linkuri suspecte.
Ștergeți memoria cache DNS periodic.
Scanați în mod regulat pentru a găsi eventuale programe dăunătoare pe dispozitivul dvs.
Există însă limite pentru ce pot face oamenii obișnuiți pentru a se proteja în astfel de situații. Serverele DNS compromise vor redirecționa adesea utilizatorii către o pagină de pornire identică, iar aceasta este aproape imposibil de diferențiat de pagina pe care intenționau să o vadă.
Responsabilitatea revine companiilor cripto. Proiectele trebuie să se asigure că folosesc un furnizor de gestionare a domeniilor sigur și de încredere. În cazul hackului Curve Finance, CEO-ul Binance CZ a remarcat pe Twitter că au folosit „un DNS care este nesigur. Niciun proiect Web3 nu ar trebui să facă asta. Foarte susceptibil la ingineria socială.”
Echipele nu ar trebui să încerce să reducă costurile prin utilizarea unui furnizor DNS low-end. Un furnizor de încredere ar trebui să accepte protocoale personalizate care împiedică hackerii să modifice setările numelor de domeniu.
Web3 oferă o cantitate imensă de oportunități, dar nu ar trebui să ignorăm amenințările de securitate care au existat încă din epoca anterioară a internetului. Să fim vigilenți și să ne protejăm ecosistemul împreună, pe toate fronturile.