Безпека NFT-контрактів: огляд подій першої половини 2022 року та основні моменти аудиту
У першій половині 2022 року у сфері NFT часто траплялися інциденти безпеки, що призвели до величезних збитків. За даними моніторингової платформи, за цей піврічний період сталося 10 значних інцидентів безпеки NFT, загальні збитки склали близько 6490 мільйонів доларів. Основні способи атак включали використання вразливостей контрактів, витік приватних ключів та фішинг. Серед іншого, сервери Discord часто піддавалися атакам, і користувачі зазнали великих втрат через натискання на фішингові посилання.
Аналіз типових інцидентів безпеки
Подія ### TreasureDAO
3 березня платформа торгівлі TreasureDAO зазнала хакерської атаки, було вкрадено понад 100 NFT. Причиною стала логічна уразливість в контракті, змішування токенів ERC-1155 та ERC-721 призвело до помилок в оцінці, що дозволило зловмисникам купувати NFT без жодних витрат. Це підкреслює ризики змішування різних стандартів токенів.
Подія розподілу APE Coin
17 березня хакери використали.flash loan для отримання понад 60 тисяч монет APE Coin в аеродропі. Вразливість полягала в тому, що контракт аеродропу лише перевіряв миттєвий стан володіння NFT викликувачем, не враховуючи, що.flash loan може маніпулювати цим станом. Це нагадує нам про необхідність обережно проектувати механізми аеродропу.
Захід Revest Finance
27 березня Revest Finance зазнав атаки з втратами в 120 000 доларів. Причина - наявність вразливості повторного входу в контракті ERC-1155, що дозволяє зловмиснику повторно виконувати операції зі створення. Це ще раз підтверджує ризики безпеки стандарту ERC-1155.
подія NBA
21 квітня проект NBA зазнав атаки. У контракті під час перевірки в білому списку були проблеми з підробкою та повторним використанням підписів, не було зафіксовано та перевірено використані підписи. Це виявило вразливість механізму перевірки підписів.
подія Akutar
23 квітня проект Akutar через вразливість контракту заблокував 11,5 тисяч ETH( на суму близько 3,4 мільйона доларів). Основною причиною стала логічна помилка у функції повернення коштів, яка не враховувала ситуацію з багаторазовими ставками користувачів. Це підкреслює важливість всебічного тестування.
подія XCarnival
24 червня XCarnival зазнав атаки, в результаті якої було втрачено 3087 ETH( приблизно 380 тисяч доларів США). Уразливість полягала в помилках у логіці стейкінгу та кредитування, а також у неперевірці адреси xToken та статусу записів застави. Це свідчить про те, що платформи для кредитування NFT стикаються з унікальними проблемами безпеки.
Поширені питання щодо аудиту NFT-контрактів
Підробка та повторне використання підписів: відсутність перевірки nonce, недостатня строгість перевірки підписів тощо.
Логічні вразливості: нерегульоване загальне кількість монет, вразливості аукціону тощо.
ERC721/ERC1155 повторний напад: функція сповіщення про переказ може призвести до повторного входу.
Занадто широкий обсяг повноважень: непотрібні глобальні повноваження збільшують ризики.
Маніпуляція цінами: залежність від стану зовнішніх контрактів робить їх вразливими до атак з використанням миттєвих позик.
Ці проблеми не є рідкістю під час реальних атак, що підкреслює необхідність професійного аудиту безпеки. Команди проектів NFT повинні приділяти увагу безпеці контрактів, повністю оцінювати потенційні ризики, щоб запобігти їх виникненню.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Огляд десяти найбільших інцидентів безпеки NFT за перше півріччя 2022 року, збитки майже 65 мільйонів доларів
Безпека NFT-контрактів: огляд подій першої половини 2022 року та основні моменти аудиту
У першій половині 2022 року у сфері NFT часто траплялися інциденти безпеки, що призвели до величезних збитків. За даними моніторингової платформи, за цей піврічний період сталося 10 значних інцидентів безпеки NFT, загальні збитки склали близько 6490 мільйонів доларів. Основні способи атак включали використання вразливостей контрактів, витік приватних ключів та фішинг. Серед іншого, сервери Discord часто піддавалися атакам, і користувачі зазнали великих втрат через натискання на фішингові посилання.
Аналіз типових інцидентів безпеки
Подія ### TreasureDAO
3 березня платформа торгівлі TreasureDAO зазнала хакерської атаки, було вкрадено понад 100 NFT. Причиною стала логічна уразливість в контракті, змішування токенів ERC-1155 та ERC-721 призвело до помилок в оцінці, що дозволило зловмисникам купувати NFT без жодних витрат. Це підкреслює ризики змішування різних стандартів токенів.
Подія розподілу APE Coin
17 березня хакери використали.flash loan для отримання понад 60 тисяч монет APE Coin в аеродропі. Вразливість полягала в тому, що контракт аеродропу лише перевіряв миттєвий стан володіння NFT викликувачем, не враховуючи, що.flash loan може маніпулювати цим станом. Це нагадує нам про необхідність обережно проектувати механізми аеродропу.
Захід Revest Finance
27 березня Revest Finance зазнав атаки з втратами в 120 000 доларів. Причина - наявність вразливості повторного входу в контракті ERC-1155, що дозволяє зловмиснику повторно виконувати операції зі створення. Це ще раз підтверджує ризики безпеки стандарту ERC-1155.
подія NBA
21 квітня проект NBA зазнав атаки. У контракті під час перевірки в білому списку були проблеми з підробкою та повторним використанням підписів, не було зафіксовано та перевірено використані підписи. Це виявило вразливість механізму перевірки підписів.
подія Akutar
23 квітня проект Akutar через вразливість контракту заблокував 11,5 тисяч ETH( на суму близько 3,4 мільйона доларів). Основною причиною стала логічна помилка у функції повернення коштів, яка не враховувала ситуацію з багаторазовими ставками користувачів. Це підкреслює важливість всебічного тестування.
подія XCarnival
24 червня XCarnival зазнав атаки, в результаті якої було втрачено 3087 ETH( приблизно 380 тисяч доларів США). Уразливість полягала в помилках у логіці стейкінгу та кредитування, а також у неперевірці адреси xToken та статусу записів застави. Це свідчить про те, що платформи для кредитування NFT стикаються з унікальними проблемами безпеки.
Поширені питання щодо аудиту NFT-контрактів
Підробка та повторне використання підписів: відсутність перевірки nonce, недостатня строгість перевірки підписів тощо.
Логічні вразливості: нерегульоване загальне кількість монет, вразливості аукціону тощо.
ERC721/ERC1155 повторний напад: функція сповіщення про переказ може призвести до повторного входу.
Занадто широкий обсяг повноважень: непотрібні глобальні повноваження збільшують ризики.
Маніпуляція цінами: залежність від стану зовнішніх контрактів робить їх вразливими до атак з використанням миттєвих позик.
Ці проблеми не є рідкістю під час реальних атак, що підкреслює необхідність професійного аудиту безпеки. Команди проектів NFT повинні приділяти увагу безпеці контрактів, повністю оцінювати потенційні ризики, щоб запобігти їх виникненню.