Масштаб атаки через UTXO-помилку
Уразливість у системі Gateway Addresses дозволила зловмиснику створити 9 мільйонів токенів ZANO та 8 квадрильйонів стейблкоіна fUSD. Ці активи були технічно ідентичні до легітимних токенів і могли використовуватися для операцій. Атакувач сплатив 100 ZANO для активації механізму, що дозволив генерувати кошти без реального забезпечення. Перші 4 мільйони ZANO були випущені 29 вересня, ще 4 мільйони, 25 жовтня. Ці транзакції викликали підозри у внутрішньої команди. Невиявлені токени могли досягти ринку, але їх обіг обмежувала ліквідність бірж. Загалом, несанкціоновані активи становили значну частку, що загрожувала стабільністю мережі.
Зловмисник використав логічну помилку в моделі UTXO при взаємодії з новими Gateway Addresses. У традиційній архітектурі Zano кожен вихід транзакції має бути явно витраченим. Атакувач створив транзакції, які імітували витрату неіснуючих виходів, ефективно друкуючи нові токени. Цей метод дозволив масштабно випустити fUSD, оскільки система не розрізнювала справжні та сфабриковані активи. Відсутність механізму перевірки дозволила уникнути виявлення до моменту масового випуску.
Наслідки відкоту блокчейну
28 вересня команда Zano відкотила блокчейн до блоку 3,833,000, що відповідає стану перед активацією Hard Fork 6. Це скасувало всі транзакції за останній місяць, включаючи легітимні платежі, депозити та виведення коштів. Відновлення балансів здійснюватиметься через біржі та платіжні сервіси: скасовані виведення будуть повторно оброблені, а депозити, відновлені за рахунок фонду розробників, особистих коштів команди та зовнішніх внесків. Однак операції, вже завершені на інших блокчейнах, не підлягатимуть відкату. Це створило ризики для користувачів, які втратили доступ до активів через скасування транзакцій.
Команда визнала, що без відкоту несанкціоновані токени залишилися б у обігу, що призвело б до неконтрольованої інфляції та обесцінення активів усіх користувачів. Протокол не мав механізму для ізоляції або видалення таких токенів. Відкат вважається єдиним способом відновити довіру до мережі та запобігти майбутнім атакам, оскільки залишення ситуації без змін стимулювало б зловмисників. Рішення вплине на репутацію проекту, але забезпечить довгострокову стабільність.
Тестування після інциденту з Zano
Система тестування Zano, яка включає AI-асистенти, внутрішні аудити та програму винагород за помилки, не виявила проблему до моменту експлуатації. Уразливість залишалася непоміченою навіть після запуску Gateway Addresses. Це викликає сумніви щодо ефективності автоматизованих методів тестування при інтеграції нових функцій з базовою архітектурою блокчейну. Команда планує переглянути підхід до тестування, щоб уникнути подібних ситуацій у майбутньому. Також розглядається введення додаткових перевірок взаємодії між новими функціями та базовою логікою мережі.

