Autor: PERSPECTIVA

Compilat de: Shenchao TechFlow

Disclaimer

Nimic din acest ghid nu este garantat și nu este scris din perspectiva unui „expert în criptare sau securitate cibernetică”, ci se bazează pe învățarea continuă din surse multiple și pe experiența personală.

De exemplu, eu însumi am fost înșelat din cauza fricii de a rata (FOMO) și a lăcomiei când am intrat pentru prima dată pe teren (escrocherie falsă în flux live și înșelătorie falsă MEV bot), așa că mi-am făcut timp să învăț, să configurez și să înțeleg cu atenție. securitate.

Nu fi acea persoană care este forțată să învețe securitatea pentru că și-a pierdut totul sau multe dintre bunurile sale.

Hacking sau eroare de utilizator?

„Hack-uri” sau compromisuri ale tuturor tipurilor de portofele, jetoane sau NFT pot fi împărțite în general în două categorii:

  1. Abuz de aprobarea tokenului acordată anterior.

  2. Chei private sau scurgeri de fraze mnemonice (de obicei se întâmplă cu portofelele fierbinți).

Aprobare token

Aprobarea jetoanelor este în esență permisiuni care permit unui contract inteligent să acceseze și să mute un anumit tip sau o cantitate de jetoane în portofel.

De exemplu:

  1. Oferiți permisiunea OpenSea de a vă muta NFT, astfel încât să îl puteți vinde.

  2. Acordați permisiunea Uniswap de a face schimb cu jetoanele dvs.

Ca informații de fundal, practic totul din rețeaua Ethereum, cu excepția ETH, este un token ERC-20.

O caracteristică a jetoanelor ERC-20 este capacitatea de a acorda permisiuni de aprobare altor contracte inteligente.

Dacă doriți să faceți interacțiuni de bază DeFi (cum ar fi schimbarea sau crearea de punte), aceste aprobări sunt necesare la un moment dat.

NFT-urile sunt jetoane ERC-721 și, respectiv, ERC-1155. Mecanismul lor de aprobare este similar cu ERC-20, dar pentru piața NFT.

Solicitarea inițială de aprobare a simbolului MetaMask (MM) oferă mai multe informații, dintre care cele mai relevante sunt:

  • Acordați jetoane aprobate

  • Site-ul web cu care interacționați

  • Contractul inteligent cu care interacționați

  • Posibilitatea de a edita numărul de permisiuni pentru token

În meniul derulant Detalii complete, vedem o informație suplimentară: Caracteristici de aprobare.

Toate jetoanele ERC-20 trebuie să aibă anumite caracteristici și proprietăți, așa cum sunt subliniate de standardul ERC-20.

Una dintre acestea este capacitatea contractelor inteligente de a muta jetoane pe baza unei sume aprobate.

Pericolul cu aceste aprobări este că, dacă acordați permisiuni pentru token unui contract inteligent rău intenționat, activele dvs. pot fi furate sau epuizate.

Aprobari nelimitate vs. limită personalizate (jetoane ERC-20)

Multe aplicații DeFi vă vor solicita aprobarea nelimitată a jetoanelor ERC-20 în mod implicit.

Acest lucru se face pentru a îmbunătăți experiența utilizatorului, deoarece este mai convenabil și nu necesită aprobări suplimentare în viitor, economisind astfel timp și taxe de gaz.

De ce este acest lucru important?

Permiterea aprobării unui număr nelimitat de jetoane vă poate pune capitalul în pericol.

Setarea manuală a unei aprobări de jetoane la o anumită sumă limitează numărul maxim de jetoane pe care dApp-ul le poate muta fără a semna o nouă aprobare mai mare.

Acest lucru vă reduce riscul dacă contractul dvs. inteligent este exploatat. Dacă acordați aprobare nelimitată unei dApp și acel dApp devine vulnerabil, este posibil să pierdeți toate jetoanele aprobate din portofelul care deține acele active și care a acordat acea aprobare.

De exemplu, Multichain WETH (WETH este un înveliș de token ERC-20 pentru ETH) a suferit de o astfel de vulnerabilitate.

Această punte folosită în mod obișnuit a fost compromisă pentru abuzarea de drepturi nelimitate anterior de token, rezultând în furtul fondurilor utilizatorilor.

Mai jos este un exemplu (folosind portofelul Zerion) care arată cum să schimbați aprobarea nelimitată implicită la aprobare manuală.

Aprobare NFT

„setApprovalForAll” pentru NFT

Aceasta este o aprobare utilizată în mod obișnuit, dar potențial periculoasă, care este de obicei acordată unei piețe NFT de încredere atunci când doriți să vindeți un NFT.

Acest lucru permite contractelor inteligente ale pieței să vă transfere NFT-urile. Deci, atunci când vindeți un NFT unui cumpărător, contractele inteligente ale pieței pot muta automat NFT către cumpărător.

Această aprobare oferă acces la toate jetoanele NFT la o anumită adresă de colectare sau contract.

Acest lucru ar putea fi folosit și de site-uri web sau contracte rău intenționate pentru a vă fura NFT-urile.

Exemple de actori rău intenționați care abuzează de „setApprovalForAll”

Clasica „reducere a contului de portofel” în cazul baterii gratuite FOMO arată astfel:

Un utilizator vizitează un site web rău intenționat pe care îl consideră legitim.

  • Când își conectează portofelul la un site web, site-ul poate vizualiza numai conținutul portofelului.

  • Cu toate acestea, site-ul web rău intenționat scanează portofelul pentru cea mai mare valoare NFT și solicită utilizatorului să „seteze toate aprobările” de la MetaMask (MM) pentru adresa contractului NFT respectiv.

  • Utilizatorii care cred că bate NFT-uri acordă de fapt permisiunea unui contract rău intenționat pentru a muta acele jetoane.

  • Escrocii fură apoi jetoanele și le lichidează în licitații pe OpenSea sau Blur înainte ca articolul să fie marcat ca furat.

Semnătura și aprobarea

Aprobarile necesită taxe de gaz deoarece implică procesarea tranzacțiilor.

Semnarea nu necesită gaz și este de obicei folosită pentru a vă conecta la o aplicație dApp pentru a dovedi controlul dvs. asupra portofelului.

Semnarea este, în general, o operațiune cu risc scăzut, dar poate fi folosită în continuare pentru a exploata aprobările acordate anterior pentru site-uri de încredere precum OpenSea.

Pentru jetoanele ERC-20, vă puteți modifica aprobările și prin semnături fără gaz, deoarece funcția de permisiune a fost introdusă recent pe Ethereum.

Puteți vedea acest lucru dacă utilizați un schimb descentralizat (DEX) precum 1 inch.

Puncte de aprobare a jetoanelor

Fiți atenți când dați aprobări și asigurați-vă că știți ce jetoane aprobați și la ce contract inteligent (utilizați etherscan).

Limitați-vă riscul de aprobare:

  1. Utilizați portofele multiple (aprobările sunt specifice portofelului) - nu semnați aprobări pentru seifurile dvs. sau portofelele de mare valoare.

  2. În mod ideal, reduceți sau evitați complet acordarea de aprobări nelimitate pentru jetoanele ERC-20.

  3. Aprobarile sunt verificate si revocate periodic prin etherscan sau revoke.cash.

Hardware/portofel rece

Portofelele fierbinți se conectează la internet prin computer sau telefon, iar cheile și acreditările portofelului sunt stocate online sau local în browser.

Portofelele reci sunt dispozitive hardware în care cheile sunt generate și stocate complet offline și fizic aproape de tine.

Având în vedere că un Ledger costă în jur de 120 USD, dacă aveți peste 1000 USD în cripto, probabil că ar trebui să cumpărați și să configurați un Ledger. Vă puteți conecta portofelul Ledger la MetaMask (MM) pentru a vă bucura de aceeași funcționalitate ca și alte portofeluri fierbinți, menținând în același timp un nivel de securitate.

Ledger și Trezor sunt cele mai populare alegeri. Îmi place Ledger pentru că are cea mai bună compatibilitate cu portofelele de browser (asemănător cu Rabby și MM).

Cele mai bune practici atunci când cumpărați Ledger

Cumpărați întotdeauna de pe site-ul oficial al producătorului, niciodată de pe Ebay sau Amazon - este posibil să fie manipulat sau să aibă malware preinstalat.

Asigurați-vă că ambalajul este sigilat atunci când primiți articolul.

Când configurați pentru prima dată un registru, acesta generează o frază mnemonică.

Scrieți fraza mnemonică numai pe hârtie fizică sau, în viitor, pe o placă de oțel, pentru a vă asigura că fraza mnemonică este rezistentă la foc și la apă.

Nu fotografiați și nu tastați niciodată expresia mnemonică pe orice tastatură (inclusiv telefoanele mobile) - aceasta va digitiza fraza mnemonică și portofelul dvs. rece va deveni un portofel fierbinte nesecurizat.

Criptoactivele nu sunt stocate pe un portofel hardware, ci mai degrabă „într-un portofel generat dintr-o frază mnemonică.

Expresia mnemonică (12-24 de cuvinte) este tot ceea ce există și trebuie protejată și sigură cu orice preț.

Oferă control deplin și acces la toate portofelele generate sub acea expresie mnemonică.

Expresia mnemonică nu este specifică dispozitivului și o puteți „importa” într-un alt portofel hardware ca rezervă, dacă este necesar.

Dacă expresia mnemonică este pierdută sau deteriorată și portofelul hardware original este, de asemenea, pierdut, deteriorat sau blocat, veți pierde definitiv accesul la toate activele.

Există diferite moduri de a stoca mnemonice, de exemplu, împărțirea lui în părți, creșterea distanței fizice dintre părți, depozitarea lor într-un loc discret (de exemplu, o cutie de supă în partea de jos a frigiderului, undeva sub pământ pe proprietatea dvs. etc.) .

Cel puțin ar trebui să aveți 2-3 copii, dintre care unul să fie din oțel pentru a proteja împotriva apei și a focului.

O „cheie privată” este similară cu o expresie mnemonică, dar numai pentru un anumit portofel. Este de obicei folosit pentru a importa portofele fierbinți în noile conturi MetaMask (MM) sau pentru utilizarea în instrumente automate, cum ar fi roboții de tranzacționare.

Cuvântul 25 - Registrul contabil

În plus față de expresia mnemonică originală de 24 de cuvinte, Ledger oferă o funcție suplimentară de securitate opțională.

Fraza de acces este o funcție avansată care adaugă un al 25-lea cuvânt la alegere de până la 100 de caractere la expresia de recuperare.

Folosirea unei expresii de acces generează un set complet diferit de adrese care nu pot fi accesate doar cu o expresie de recuperare de 24 de cuvinte.

Pe lângă adăugarea unui nivel de securitate, frazele de acces oferă o refuz rezonabil dacă sunteți compromis.

Dacă utilizați o expresie de acces, asigurați-vă că o stocați în siguranță sau o amintiți cu precizie, caracter cu caracter și ținând cont de majuscule și minuscule.

Aceasta este singura și finală apărare împotriva unei situații amenințătoare fizic, cum ar fi „atacul cu cheie de 5 USD”.

De ce să treci prin toate aceste probleme pentru a configura un portofel hardware?

Portofelele fierbinți stochează cheile private într-o locație conectată la internet.

Este extrem de ușor să fii păcălit, indus în eroare și manipulat pentru a dezvălui aceste acreditări pe Internet.

A avea un portofel rece înseamnă că escrocii trebuie să găsească și să obțină fizic registrul sau expresia mnemonică pentru a accesa aceste portofele și activele din ele.

Odată ce expresia mnemonică este compromisă, toate portofelele fierbinți și activele din ele sunt în pericol, chiar și cele care nu au interacționat cu site-uri web sau contracte rău intenționate.

Modalități comune în care oamenii au fost „pirați” în trecut

  1. Modalitățile obișnuite în care oamenii au fost „pirați” (scurgeri de fraze mnemonice) prin intermediul portofelelor fierbinți în trecut includ:

  2. Păcăliți să descarce programe malware, cum ar fi prin PDF-uri cu oferte de muncă, jocuri beta, rularea de macrocomenzi prin Foi de calcul Google sau uzurparea identității site-urilor și serviciilor legitime.

  3. Interacțiunea cu contracte rău intenționate: baterea FOMO pe site-uri de imitație sau interacțiunea cu Airdrops necunoscute sau contracte NFT.

  4. Introduceți sau trimiteți cheia și expresia mnemonică către Asistența pentru clienți sau programul/formularul asociat.