introducere
Un atac de reîncărcare fals se referă la un atacator care trimite informații de tranzacție falsificate la adresa portofelului schimbului prin exploatarea vulnerabilităților sau erorilor de sistem în procesarea de reîncărcare a schimbului. Aceste informații despre tranzacție falsificate sunt confundate de schimb ca fiind o cerere de reîncărcare reală sau monede în contul atacatorului. Prin utilizarea acestei metode, atacatorii pot obține active digitale neplătite, ceea ce duce la pierderi de active la bursă.
Acest articol își propune să exploreze în profunzime modul în care atacurile de depozit false pot sparge mecanismul de apărare al bursei. Vom analiza principiile atacurilor false de reîncărcare și vom dezvălui vulnerabilitățile și strategiile exploatate de atacatori. În același timp, vom analiza atacurile false de reîncărcare prin exemple pentru a înțelege mai bine metodele de atac și impactul. În plus, vom discuta, de asemenea, măsurile de urgență și preventive pentru schimburi pentru a face față atacurilor de depozit false pentru a oferi sugestii relevante pentru protejarea activelor și răspunsul la atacuri similare.
Analiza principiului reîncărcării
Înainte de a înțelege reîncărcarea falsă, trebuie să înțelegem mai întâi principiul de reîncărcare al schimbului.
Un proces tipic este următorul:
1. Generarea adresei portofel
Schimbul atribuie fiecărui utilizator o adresă unică de portofel pentru a primi depozitele utilizatorului. Aceste adrese sunt de obicei generate automat de sistemul bursei. Când utilizatorii se reîncarcă, trebuie să trimită active digitale la o anumită adresă de portofel din contul de schimb.
2. Scanarea registrului blockchain
Nodurile schimbului se vor sincroniza cu alte noduri din rețeaua blockchain pentru a obține cele mai recente informații despre starea blockchain și despre tranzacție. Când nodul de schimb primește un nou bloc, va extrage ID-ul tranzacției de reîncărcare al utilizatorului și suma corespunzătoare din conținutul tranzacției conținut în bloc sau evenimentul de execuție a tranzacției declanșat de bloc și îl va adăuga la lista de reîncărcat.
3. Confirmați intrarea în cont
Schimburile necesită de obicei ca o tranzacție să primească un anumit număr de confirmări în rețeaua blockchain înainte ca aceasta să fie considerată validă. Confirmarea înseamnă că blocul tranzacției este referit de un anumit număr de blocuri și verificat și confirmat de alți mineri. Numărul de confirmări stabilit de schimburi poate varia în funcție de diferitele active digitale și rețele.
așa cum arată imaginea:

Mod de atac de reîncărcare fals
Schimburile sunt cel mai greu afectate de hackeri, așa că schimburile își plasează de obicei serverele în spatele unor sisteme grele de apărare și chiar trebuie să le găzduiască offline pentru servicii de bază care gestionează fonduri. Cu toate acestea, din cauza cerințelor de integritate a datelor ale sistemului blockchain, tranzacțiile rău intenționate nu vor fi interceptate de sistemul de securitate periferic.
Trebuie menționat că atacul de reîncărcare fals nu este o vulnerabilitate a blockchain-ului, dar atacatorul folosește unele caracteristici ale blockchain-ului pentru a construi tranzacții speciale. Aceste tranzacții rău intenționate vor face ca schimbul să o confunde cu o cerere de reîncărcare reală sau să proceseze aceeași cerere de reîncărcare de mai multe ori. După o luptă reală pe termen lung, echipa de securitate SlowMist a rezumat mai multe metode comune de atac de reîncărcare falsă:

Din 2018, echipa de securitate SlowMist a dezvăluit mai multe atacuri false de reîncărcare pentru prima dată, inclusiv:
Analiza USDT a riscurilor de securitate a transferurilor false [1]
Reîncărcare falsă EOS (atac de stare hard_fail) alerta roșie detalii dezvăluire și plan de reparare [2]
Detaliile vulnerabilității de „reîncărcare falsă” a jetonului Ethereum au fost dezvăluite și planul de reparații [3]
Analiza riscului de reîncărcare falsă Bitcoin RBF [4]
Pe lângă aceste atacuri false de reîncărcare care au fost dezvăluite, există și multe metode de atac clasice pe care nu le-am dezvăluit, precum și unele metode de atac universale. De exemplu:
Reîncărcare falsă cu semnături multiple Bitcoin
Reîncărcare falsă de plată parțială Ripple
Filecoin cheltuiește dublu reîncărcare falsă
Depozit fals de recuperare TON
Dacă doriți să aflați mai multe detalii, vă rugăm să ne contactați pentru a discuta în profunzime.
Studiu de caz: reîncărcare falsă TON rebound
Aproape toate blockchain-urile au probleme de reîncărcare false, dar unele atacuri sunt ușor de evitat, în timp ce altele necesită un studiu foarte aprofundat al caracteristicilor blockchain-ului pentru a le evita.
Luând ca exemplu depozitul fals al TON, vă vom arăta cum atacatorii vicleni pot folosi caracteristicile TON pentru a ataca schimburile.
TON (The Open Network) este un proiect blockchain lansat de cunoscutul software de comunicare Telegram, care sprijină implementarea de contracte inteligente pe conturile utilizatorilor.
Când schimbul se conectează la TON pentru reîncărcare, va genera mai întâi o adresă de reîncărcare pentru utilizator conform metodei descrise anterior, apoi utilizatorul va transfera activele la adresa de reîncărcare și, în final, va confirma depozitul.
Cum confirmă un schimb că o tranzacție aparține utilizatorului său? Folosim interfața RPC pentru a vizualiza un transfer normal:

De obicei, schimbul va determina dacă destinația din in_msg este adresa de reîncărcare a utilizatorului. Dacă da, atunci valoarea sumei va fi convertită în funcție de acuratețe și creditată în contul utilizatorului. Dar este asta sigur?
O caracteristică a tranzacțiilor TON este că aproape toate mesajele interne trimise între contractele inteligente ar trebui să poată fi respinse, adică semnalul lor de respingere ar trebui setat. În acest fel, dacă contractul inteligent țintă nu există sau se aruncă o excepție netratată în timpul procesării acestui mesaj, mesajul va fi „repus” înapoi, purtând soldul valorii inițiale (minus toate taxele de transfer de mesaje și de gaz).
Cu alte cuvinte, dacă un atacator rău intenționat transferă bani într-un cont care nu a implementat un contract prin setarea semnalului de respingere, suma de reîncărcare va fi returnată în contul inițial după deducerea taxei de gestionare. Schimbul a detectat înregistrarea de reîncărcare a utilizatorului, dar nu se aștepta ca monedele reîncărcate să revină efectiv în contul atacatorului.
Să ne uităm la această tranzacție, în comparație cu tranzacția normală, putem descoperi că există un out_msg suplimentar.

Dacă schimbul bifează doar in_msg, va ține cont eronat de atacator, provocând o pierdere a activelor platformei.
Cele mai bune practici pentru prevenirea atacurilor false de reîncărcare
Câteva strategii de bază pentru a preveni atacurile false de reîncărcare sunt:
1. Mecanism de confirmare multiplă: setați cerințe multiple de confirmare pentru reîncărcare pentru a vă asigura că tranzacțiile sunt considerate valide numai după o confirmare suficientă pe blockchain. Numărul de confirmări ar trebui stabilit pe baza securității diferitelor active digitale și a vitezei de confirmare a blockchain-ului;
2. Potrivire riguroasă a tranzacțiilor: La filtrarea tranzacțiilor utilizatorului din bloc, numai tranzacțiile care se potrivesc complet cu modul normal de transfer pot fi setate automat pentru a fi creditate, iar în final trebuie verificate modificările soldului;
3. Sistem de control al riscului: Stabiliți un sistem complet de control al riscului pentru a monitoriza și detecta activitățile de tranzacționare anormale. Sistemul poate identifica riscurile potențiale și comportamentele anormale analizând factori precum tiparele de reîncărcare, frecvența tranzacțiilor, dimensiunea tranzacției etc.;
4. Revizuire manuală: pentru sume mai mari sau tranzacții cu risc ridicat, se utilizează un mecanism de revizuire manuală pentru o revizuire suplimentară. Examinarea manuală poate crește credibilitatea tranzacțiilor, poate detecta tranzacții anormale și poate preveni reîncărcările rău intenționate;
5. Securitate API: Efectuați autentificarea și autorizarea de securitate pe interfețele API externe pentru a evita accesul neautorizat și potențialele vulnerabilități. Examinați în mod regulat securitatea interfețelor API și efectuați actualizări și remedieri de securitate în timp util;
6. Restricții privind retragerile: după ce are loc o reîncărcare, utilizatorii au restricții temporare de a retrage activele reîncărcate. Acest lucru va oferi schimbului de timp suficient pentru a confirma validitatea reîncărcării și pentru a preveni potențialele atacuri false de reîncărcare;
7. Actualizări de securitate: actualizați software-ul și sistemele de schimb în timp util pentru a remedia eventualele vulnerabilități de securitate. Monitorizați în permanență starea de securitate a schimbului și colaborați cu experți în securitate cibernetică pentru a efectua audituri regulate de securitate și teste de penetrare.
Pentru prevenirea reîncărcărilor false pe un anumit blockchain, trebuie să citiți documentația oficială pentru a înțelege caracteristicile tranzacției.
Sistem de detectare a reîncărcării false Badwhale
Echipa de securitate SlowMist a dezvoltat sistemul de testare a reîncărcării false Badwhale prin practici ofensive și defensive pe termen lung, dezvoltat special pentru platformele de gestionare a activelor digitale. Sistemul este conceput pentru a-i ajuta să detecteze și să evalueze capacitatea lor de a preveni atacurile false de reîncărcare și de a-și optimiza mecanismele de apărare pentru a asigura securitatea activelor utilizatorilor și fiabilitatea platformelor de management al activelor digitale.
Badwhale este un sistem comercial unic pentru echipa de securitate SlowMist și a fost dezvoltat de mulți ani. Acesta deservește zeci de platforme de mulți ani și a evitat riscul unor reîncărcări false estimate la miliarde de dolari.
Caracteristica speciala:
1. Simulați atacuri false de reîncărcare: Badwhale poate simula diferite tipuri de atacuri de reîncărcare false și poate trimite automat cereri de reîncărcare false către platforma digitală de gestionare a activelor testată. Acest lucru ajută la evaluarea punctelor slabe ale platformelor de management al activelor digitale și la identificarea potențialelor vulnerabilități și riscuri de securitate;
2. Scenarii de testare diversificate: Sistemul oferă scenarii de testare diversificate și moduri de atac, care pot testa în mod cuprinzător apărarea falsă la reîncărcare a platformei de gestionare a activelor digitale în funcție de situația actuală;
3. Foarte scalabil: Badwhale este conceput ca un sistem de testare extrem de scalabil, care acceptă testarea pentru diferite platforme de management al activelor digitale și platforme blockchain și se poate adapta în mod flexibil la nevoile diferitelor arhitecturi de sistem și medii tehnice.
Badwhale acceptă în prezent teste de reîncărcare false pe sute de lanțuri publice și zeci de mii de jetoane, inclusiv:
Familii Bitcoin (BTC/LTC/DOGE/QTUM...)
BitcoinCash
Familiile Ethereum
(ETH/BSC/HECO/RON/CFX-evm/FIL-evm/AVAX-evm/FTM-evm/RSK/GNO/MOVR-evm/GLMR-evm/KLAY/FSN/CELO/CANTO/EGLD/AURORA-evm /TLC/WEMIX/CORE/VS/WAN/KCCL/OKX...)
Jetoane ERC20 (USDT...)
Ethereum L2 (ARB/OP/METIS...)
Poligon
Jetoane de poligon
Familii Cosmos (ATOM/LUNA/KAVA/IRIS/OSMO...)
Familii EOS și jetoane EOS (EOS/WAX/XPR/FIO/TLOS...)
Clipoci
curgere
Apartamente
Solana
Solana SPL-Tokens
Confuz
Familii Polkadot (DOT/ASTR/PARA/MOVR/GLMR...)
Tron
Filecoin
Tonă
Mina
Haide
Ordinale (ORDI...)
…
Cu funcțiile puternice ale Badwhale, platforma de gestionare a activelor digitale poate efectua teste complete de apărare împotriva reîncărcării false pentru a înțelege performanța sa în fața atacurilor de reîncărcare falsă, pentru a-și optimiza mecanismul de apărare și pentru a îmbunătăți securitatea activelor utilizatorilor. Introducerea Badwhale va ajuta platforma de gestionare a activelor digitale să consolideze protecția securității, să-și îmbunătățească capacitatea de a rezista atacurilor false de reîncărcare și să asigure fiabilitatea tranzacțiilor cu active digitale și încrederea utilizatorilor.
Concluzie
Prin studiul aprofundat al metodelor inovatoare ale atacurilor false de reîncărcare, putem înțelege mai bine importanța platformelor de gestionare a activelor digitale în protejarea activelor utilizatorilor și menținerea securității. Numai prin îmbunătățirea măsurilor de apărare a securității, monitorizarea continuă a vulnerabilităților și luarea de contramăsuri adecvate pot platformele de management al activelor digitale să facă față în mod eficient atacurilor false de reîncărcare și altor amenințări de securitate și să asigure credibilitatea și fiabilitatea tranzacțiilor cu active digitale.
Link-uri de referință:
[1] https://mp.weixin.qq.com/s/CtAKLNe0MOKDyUFaod4_hw
[2] https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA
[3] https://mp.weixin.qq.com/s/3cMbE6p_4qCdVLa4FNA5-A
[4] https://mp.weixin.qq.com/s/OYi2JDbAoLEdg8VDouqbIg

