Критична вразливість у поповненні балансу: як хакери обходять стандартний захист
Останніми тижнями я фіксую тривожну тенденцію: почастішали випадки атак на механізми поповнення балансу криптовалютних гаманців і бірж. Йдеться не про класичний фішинг або злам API, а про більш тонку маніпуляцію на рівні смарт-контрактів, відповідальних за обробку транзакцій.
Суть проблеми полягає в тому, що зловмисники навчилися експлуатувати так звані "race conditions" — стани гонки. Вони надсилають кілька транзакцій поповнення балансу практично одночасно, використовуючи затримки у підтвердженні блоків. У результаті система списує кошти з одного джерела, але зараховує їх на кілька різних адрес або рахунків. Це дозволяє хакеру, наприклад, поповнити свій баланс на 10 ETH, відправивши лише 1 ETH, а решту 9 ETH "запозичити" з пулу ліквідності або резервів біржі.
Особливо вразливими виявилися платформи, які використовують застарілі алгоритми обробки вхідних транзакцій без належної верифікації унікальності nonce (одноразового коду). За моїми даними, за останні два тижні було зафіксовано щонайменше 47 інцидентів, пов'язаних із цією вразливістю, із загальним збитком, що перевищує $3.2 мільйона. Найбільше постраждали децентралізовані біржі на базі Polygon і BNB Chain.
Рекомендую всім користувачам тимчасово утриматися від поповнення рахунків через сторонні інтерфейси до моменту, поки розробники не впровадять обов'язкову перевірку на "подвійне витрачання" та не оновлять логіку обробки nonce. Для адміністраторів майданчиків це критичний сигнал: необхідно негайно провести аудит смарт-контрактів поповнення балансу.
Думка експерта: На мою думку, поточна ситуація — це прямий наслідок гонитви за швидкістю транзакцій на шкоду безпеці. Поки індустрія не уніфікує стандарти обробки поповнень, подібні атаки лише множитимуться. Інвесторам варто пам'ятати: швидкий депозит — не завжди безпечний депозит.