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

Bitculator на Android

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

$1,995,421,489,076

Объём за 24ч:

$196,800,200,171

июн. 23 Ликвидации:

$0

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

Скоро

Bitculator · Узнать

Integer Overflow Attack

Что означает термин Integer Overflow Attack в мире криптовалют?

# 400·Обновлено июнь 2026·3 мин чтения

Атакa Integer Overflow Attack возникает, когда математическая операция приводит к числу, слишком большому для обработки системой, что вызывает его «переполнение» и потенциально создает уязвимости.

Что такое Integer Overflow Attack?

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


Миф

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


Как работает Integer Overflow Attack

Краткий проход на примере контракта токена.

  • Шаг 1: Контракт хранит балансы в целых числах фиксированного размера и имеет функцию, которая добавляет, вычитает или умножает суммы.
  • Шаг 2: Атакующий подбирает входные данные, которые толкают число за его максимум, вызывая оборачивание к маленькому значению или нулю.
  • Шаг 3: Это оборачивание переворачивает проверку. Например: после оборачивания баланс может выглядеть огромным или лимит перевода крошечным, поэтому require проходит.
  • Шаг 4: Атакующий чеканит незаработанные токены, обходит ограничение эмиссии или переводит средства, которые не должен иметь возможность перемещать.
  • Шаг 5: Они прогоняют полученное через обмены или мосты и уходят до того, как это обнаружат.

Реальная история: несколько токенов ERC 20 имели баг пакетного переполнения, который позволял атакующим чеканить абсурдные объёмы, а затем сливать их на биржах. Да, такое случалось.


Почему Integer Overflow Attack важен

Если вы держите токены, создаёте приложения или торгуете в DeFi, вам стоит обращать внимание. Речь о числах, а числа управляют крипто.

  • Выгода: Понимание механики помогает раньше заметить тревожные признаки и защитить средства.
  • Взгляд: Арифметические ошибки не устаревают. Появляются новые сети и инструменты, но ошибки в вычислениях всё ещё находят профессионалы.
  • Актуальность: Вы встретите это в расчётах эмиссии токенов, в системах вознаграждений, счётчиках NFT и в популярных dApps, которые оперируют балансами пользователей.

Совет

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


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

Чем это отличается от других ошибок:

  • Переполнение по кругу: Значения прыгают от максимума обратно к нулю, как циклический счётчик.
  • Тихий: При непроверенной арифметике нет встроенной ошибки, поэтому сбои выглядят как корректные результаты.
  • Триггерится: Часто именно входные данные пользователей могут спровоцировать нужный момент.
  • Повторяемый: Найдя уязвимость, атакующие могут автоматизировать её и запускать против множества целей.

Вариации

Основные варианты, одна группа ошибок, разные механизмы:

  1. Underflow: При вычитании значение уходит ниже нуля и оборачивается в очень большое число.
  2. Addition: Добавление к балансу или эмиссии приводит к превышению максимума и обратному обнулению.
  3. Multiplication: Множители вознаграждений или коэффициенты масштабирования увеличивают значение сверх допустимого предела.
  4. Counter: Счётчики ID токена или эмиссии прокручиваются и позволяют продолжать чеканку за пределом установленного лимита.

Напоминание

Integer Overflow Attack не ограничивается Solidity. Он может проявляться в Vyper, Rust, Move или в пользовательских ассемблерных вставках, и многие известные exploits сводились к непроверенной арифметике вокруг балансов или эмиссии.


Пример

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


Интересный факт

Классическая аркада с экраном проблем на уровне 256? Эта печально известная зависание возникло из-за переполнения целого числа, что показывает, что даже ретро-игры иногда демонстрируют похожие ошибки.


Итог

Думайте о Integer Overflow Attack как о числе, которое делает полный круг, и о злоумышленниках, пробегающих через возникшую брешь; держите арифметику проверяемой, и будете спокойнее.

Мы что-то забыли??

Ваш вклад помогает нам поддерживать точность. Свяжитесь с нами, если что-то неверно или отсутствует.

Свяжитесь с нами