Bitculator

Preuzmite Bitculator za Android

Tržišna kapitalizacija:

$2.74 T

Promet 24h:

$11.02 B

okt 03 Likvidacije:

$1.60 M

Registrujte se

Bitculator · Učenje

Integer Overflow Attack

Šta znači Integer Overflow Attack u kripto terminologiji?

# 400·Ažurirano okt 2026·3 min čitanja

Napad prelivanja celog broja nastaje kada matematička operacija proizvede broj koji je prevelik da bi ga sistem obradio, zbog čega dolazi do „prelivanja“ i potencijalnog stvaranja ranjivosti.

Šta je napad prekoračenja celog broja?

Napad prekoračenja celog broja nastaje kada broj u programu dostigne svoju maksimalnu vrednost i vrati se na početak, što napadaču omogućava da manipuliše saldima ili ograničenjima. U kriptu, takav povratak na početak može da pretvori proveru poput „imaš li dovoljno tokena?“ u potvrdan odgovor, iako bi trebalo da bude odričan. Zamislite stari brojač kilometara na automobilu koji se sa 999999 vrati na 000000, samo što je sada novac u pitanju.


Mit

„Moderni kompajleri čine ovo nemogućim.“ Ne baš. Mnogi pametni ugovori i dalje na pojedinim mestima koriste aritmetiku bez provera, prilagođene matematičke operacije ili asembler, što može ponovo da uvede greške usled prekoračenja.


Kako funkcioniše napad prekoračenja celog broja

Evo kratkog pregleda na primeru ugovora za tokene.

  • Korak 1: Ugovor čuva salda kao celobrojne vrednosti fiksne veličine i sadrži funkciju koja sabira, oduzima ili množi iznose.
  • Korak 2: Napadač bira ulazne vrednosti koje guraju broj preko njegove maksimalne vrednosti, zbog čega se on vraća na početak kao veoma mala vrednost ili nula.
  • Korak 3: To vraćanje na početak preokreće rezultat provere. Na primer, nakon prekoračenja saldo izgleda ogroman, a ograničenje za transfer veoma malo, pa uslovna provera prolazi.
  • Korak 4: Napadač kreira tokene koje nije zaradio, zaobilazi ograničenje ili prebacuje sredstva koja ne bi trebalo da može da pomeri.
  • Korak 5: Dobit prebacuje kroz trgovine ili bridževe i odlazi pre nego što iko primeti šta se dogodilo.

Istinita priča: nekoliko ERC 20 tokena je nekada imalo grešku prekoračenja pri grupnoj obradi, koja je napadačima omogućila da kreiraju apsurdno velike količine tokena, a zatim ih rasprodaju na berzama. Da, stvarno se dogodilo.


Zašto je napad prekoračenja celog broja važan

Ako posedujete tokene, pravite aplikacije ili trgujete u DeFi svetu, trebalo bi da obratite pažnju. Ovde je reč o brojevima, a kripto počiva na brojevima.

  • Korist: Ako znate kako ovo funkcioniše, lakše ćete na vreme uočiti znake upozorenja i zaštititi svoj novac.
  • Perspektiva: Aritmetičke greške ne zastarevaju. Pojavljuju se novi lanci i alati, ali stručnjaci i dalje iskorišćavaju matematičke greške.
  • Relevantnost: S ovim se možete susresti u proračunima ponude tokena, sistemima nagrađivanja, brojačima za NFT i popularnim dApp aplikacijama koje upravljaju saldima korisnika.

Savet

U Solidity-ju podrazumevano koristite aritmetiku sa proverama, a blokove unchecked držite što kraćim i podvrgnite ih reviziji. Dodajte fuzz testove koji isprobavaju ekstremne vrednosti, a ne samo scenarije u kojima sve funkcioniše kako treba.


Ključne karakteristike napada prekoračenja celog broja

Po čemu se razlikuje od drugih grešaka:

  • Povratak na početak: Brojevi skaču sa maksimalne vrednosti na nulu, poput brojača koji se neprekidno vrti u krug.
  • Neprimetno: Ako se aritmetika ne proverava, nema ugrađene greške, pa pogrešni rezultati deluju ispravno.
  • Može se izazvati: Korisnik često može da kontroliše ulazne vrednosti i tako izazove problem u tačno određenom trenutku.
  • Ponovljivo: Kada ga pronađu, napadači mogu da automatizuju napad i izvedu ga na velikom broju meta.

Varijante

Najčešće varijante koje ćete čuti pominjati — ista porodica, različiti načini izvođenja:

  1. Podkoračenje: Oduzimanje spusti vrednost ispod nule, pa se ona vrati na početak kao ogromna vrednost.
  2. Sabiranje: Dodavanje vrednosti saldu ili ponudi prebaci broj preko maksimuma, pa se on vrati na malu vrednost.
  3. Množenje: Množioci nagrada ili faktori skaliranja podignu vrednost preko ograničenja.
  4. Brojač: Brojači ID-jeva tokena ili ponude se prevrte i omoguće nastavak kovanja tokena preko dozvoljenog maksimuma.

Podsetnik

Napad prekoračenja celog broja nije vezan samo za Solidity. Može se pojaviti i u Vyper-u, Rust-u, Move-u ili prilagođenom asembleru, a mnogi javno poznati exploiti svodili su se na aritmetiku bez provera u obračunu salda ili ponude.


Primer

Funkcija za nagrade množi broj koji je uneo korisnik velikim bonusom. Vrednost se vrati na početak, provera ograničenja prođe, a napad prekoračenja celog broja omogući napadaču da kreira mnogo više tokena nego što je predviđeno.


Zanimljivost

Legendarna arkadna igra sa ekranom za poraz na 256. nivou? Do čuvenog zamrzavanja došlo je zbog prekoračenja celog broja, što dokazuje da čak i retro igre mogu nenamerno da prikažu greške koje se javljaju u kriptu.


Zaključak

Zamislite napad prekoračenja celog broja kao brojeve koji naprave pun krug i lopove koji jurnu kroz nastali procjep; koristite aritmetiku sa proverama i bićete mirniji.

Da li smo nešto propustili?

Vaš doprinos nam pomaže da podaci budu tačni. Kontaktirajte nas ako je nešto netačno ili nedostaje.

Kontakt