Ціни активів тимчасово затримуютьсяДеякі активи перестали отримувати свіжі дані про ціни. Оновлення відновляться автоматично після відновлення потоку даних.
Bitculator

Bitculator на Android

Капіталізація ринку:

$1,993,178,180,086

Обсяг за 24 год:

$198,583,650,129

черв. 23 Ліквідації:

$0

24Г Лонг/Шорт:

Скоро

Bitculator · Навчитися

Integer Overflow Attack

Що означає термін Integer Overflow Attack у криптословнику?

# 400·Оновлено черв. 2026·3 хв читання

А Integer Overflow Attack виникає, коли математична операція призводить до отримання числа, яке є занадто великим для системи, що викликає його "переповнення" і потенційно створює вразливості.

Що таке Integer Overflow Attack?

Integer Overflow Attack відбувається, коли число в програмі досягає свого максимального значення й обертається назад, дозволяючи зловмиснику спотворювати баланси або ліміти. У крипто це обертання може перетворити перевірку «чи достатньо у вас токенів?» на так, коли насправді має бути ні. Уявіть собі старий одометр, що зскакує з 999999 на 000000, але тут на кону гроші.


Міф

«Сучасні компілятори роблять це неможливим.» Не зовсім. Багато розумні контракти досі використовують неперевірену арифметику в окремих місцях, власні математичні реалізації або асемблер, що можуть знову ввести помилки переповнення.


Як працює Integer Overflow Attack

Короткий опис на прикладі контракту токена.

  • Крок 1: Контракт зберігає баланси у цілих числах фіксованого розміру і має функцію, яка додає, віднімає або множить суми.
  • Крок 2: Зловмисник підбирає вхідні дані, що штовхають число за межу максимуму, викликаючи обертання до дуже малого або близького до нуля значення.
  • Крок 3: Це обертання міняє результат перевірки. Наприклад: після обертання баланс виглядає гігантським або ліміт переказу наче дуже малий, тому require проходить.
  • Крок 4: Зловмисник карбує незаслужені токени, обходить ліміт випуску або переводить кошти, якими не повинен розпоряджатися.
  • Крок 5: Вони перетирають прибуток через обміни або бриджі й виходять ще до того, як хтось помітить.

Реальна історія: кілька токенів ERC20 мали баг переповнення в пакетній операції, що дозволяв зловмисникам карбувати абсурдні обсяги токенів, а потім зливати їх на біржах. Таке справді траплялося.


Чому Integer Overflow Attack має значення

Якщо ви тримаєте токени, створюєте застосунки або торгуєте в DeFi, вам варто звернути увагу. Тут йдеться про числа, а числа керують крипто.

  • Перевага: Розуміння механіки допомагає виявляти сигнали тривоги на ранніх стадіях і захищати ваші кошти.
  • Огляд: Арифметичні помилки давно існують. З'являються нові блокчейни та інструменти, але помилки в математиці досі експлуатують фахівці.
  • Актуальність: Ви побачите це в обчисленні загальної пропозиції токенів, системах винагород, лічильниках NFT та популярних децентралізованих застосунках, що оперують балансами користувачів.

Порада

У Solidity тримайте арифметику під контролем за замовчуванням і робіть блоки unchecked маленькими та перевіреними. Додайте fuzz тести, що пробують крайні значення, а не лише звичні сценарії.


Ключові характеристики Integer Overflow Attack

Чим це відрізняється від інших багів:

  • Обертання: Числа стрибають від максимуму назад до нуля, як циклічний лічильник.
  • Без помилки: Нативної помилки немає, якщо математика не перевіряється, тому результати виглядають легітимно.
  • Можна викликати: Часто вхідні дані від користувача можуть спричинити потрібний момент.
  • Повторюваний: Якщо знайдено, зловмисники можуть автоматизувати його і запускати проти багатьох цілей.

Варіації

Головні варіанти, одна сім'я різні шляхи:

  1. Underflow: Віднімання опускає значення нижче нуля і обертається в величезне значення.
  2. Addition: Додавання до балансу або пропозиції перевищує максимум і повертається до малого значення.
  3. Multiplication: Множники винагород або фактори масштабу підривають значення понад межі.
  4. Counter: Ідентифікатор токена або лічильник пропозиції прокручується і дозволяє карбування понад ліміт.

Нагадування

Integer Overflow Attack не лише у Solidity. Він може з'явитися в Vyper, Rust, Move або в кастомному асемблері, і багато розкритих експлойти зводилися до неперевіреної математики навколо балансів або пропозицій.


Приклад

Функція винагород множить число, надане користувачем, на великий бонус, значення обертається, перевірка ліміту проходить, і Integer Overflow Attack дозволяє зловмиснику карбувати значно більше токенів, ніж передбачалося.


Цікавий факт

Класична аркада з екраном смерті на рівні 256? Той відомий злам виник через переповнення цілого числа, що доводить: навіть ретроігри можуть випадково демонструвати баги, схожі на криптопомилки.


Підсумок

Уявіть Integer Overflow Attack як числа, що роблять повне коло, а зловмисники вриваються через щілину; перевіряйте арифметику, і спатимете спокійніше.

Ми щось забули??

Ваші відгуки допомагають нам підтримувати все правильно. Зв'яжіться з нами, якщо щось неправильно або відсутнє.

Контакт