Децентрализованная природа Web3 предлагает захватывающие возможности для пользователей, разработчиков и новаторов, но, как и в любой сети, существуют риски. Понимание этих проблем и принятие упреждающих мер является ключом к построению безопасной и устойчивой экосистемы Web3 для всех участников.
Эти проблемы безопасности делятся на два основных типа: риски на уровне пользователя, такие как фишинг, и уязвимости на уровне протокола, такие как проблемы контроля доступа в смарт-контрактах.
Атаки на уровне пользователя
Наиболее уязвимым местом в любой экосистеме, включая Web3, часто является пользователь. Фишинговые атаки, социальная инженерия и мошенничество широко распространены в Интернете, и пользователи Web3 не являются исключением. Мошенники могут попытаться обмануть пользователей, чтобы те раскрыли личную информацию, авторизовали вредоносные транзакции или подключились к опасным веб-сайтам.
Хотя подобные атаки характерны не только для экосистемы Web3 или Sui, растущая ценность цифровых активов сделала пользователей Web3 основными целями для злоумышленников.
Фишинг и мошенничество
Фишинговые атаки обычно происходят, когда мошенники выдают себя за легитимные проекты или предлагают заманчивые эйрдропы, чтобы заставить пользователей раскрыть конфиденциальные учетные данные кошелька или авторизовать вредоносные транзакции. Эти атаки часто включают распространение мошеннических профилей в социальных сетях и NFT, которые маскируются под легитимные проекты. Ничего не подозревающие пользователи могут попасться на эти мошеннические уловки, подключив свои кошельки к фишинговым сайтам или взаимодействуя с вредоносными смарт-контрактами.
Хранители Суи спешат на помощь
В ответ на эти растущие угрозы сообщество Sui (в частности Suiet) разработало Sui Guardians — инициативу, которая отслеживает и предотвращает мошенничество на Sui. Sui Guardians поддерживает постоянно обновляемый репозиторий вредоносных доменов и объектов, таких как монеты и NFT.
Эти списки доступны через репозиторий Suiet GitHub, что позволяет приложениям на Sui включать защиту от мошенничества в режиме реального времени. Например, приложения, использующие Sui Guardians, могут проверять URL-адреса и активы в цепочке и предупреждать пользователей, если они собираются получить доступ к известному вредоносному сайту, помогая им оставаться в безопасности.
Разработчики, строители и пользователи призываются сообщать о любых подозрительных действиях, способствуя постоянной безопасности сети. Интегрируясь и внося вклад в Sui Guardians, каждый может помочь сохранить целостность экосистемы и обеспечить более безопасную среду для взаимодействий Web3.
Атаки на уровне протокола
На уровне протокола Web3 сталкивается с различными потенциальными атаками, нацеленными на смарт-контракты и базовую инфраструктуру блокчейна. Некоторые из наиболее распространенных атак включают в себя повторный вход, переполнение/недополнение и уязвимости контроля доступа. К счастью, объектно-ориентированный дизайн и язык программирования Суи Move обеспечивают надежную защиту от многих угроз.
Атаки с повторным входом
Атаки с повторным входом происходят, когда один смарт-контракт вызывает другой контракт, а вызванный контракт делает рекурсивный обратный вызов исходному контракту до завершения первоначального выполнения. Другими словами, атака с повторным входом происходит, когда один смарт-контракт обманывает другой, заставляя его вызвать его обратно до завершения обработки. Это может привести к неожиданному поведению, такому как слив средств или манипулирование состоянием. В классических атаках, таких как печально известный взлом DAO, злоумышленники используют эту уязвимость, чтобы вывести больше средств, чем им положено.
Move on Sui предотвращает атаки повторного входа, не допуская динамической диспетчеризации, когда программа определяет, какую функцию вызывать во время выполнения, а не при написании кода. Другими словами, смарт-контракты не могут делать повторные вызовы, которые изменяют что-то до завершения первого действия, блокируя основной способ осуществления атак повторного входа. Такая конструкция обеспечивает изначально более безопасную среду как для разработчиков, так и для пользователей.
Переполнение/Недополнение
Переполнение и недополнение происходят, когда число превышает максимальное или минимальное допустимое значение, что может привести к неожиданным результатам. Например, если счетчик превышает свое ограничение, он может сбросить значение на неправильное число, что позволяет злоумышленникам воспользоваться этим, чтобы изменить работу системы.
В Sui язык Move автоматически обрабатывает переполнение и опустошение, прерывая транзакции, когда они происходят, тем самым предотвращая уязвимости от плохой математики. Это гарантирует, что смарт-контракты более устойчивы к ошибкам и сбоям, и злоумышленники не могут использовать уязвимости в числовых вычислениях.
Уязвимости контроля доступа
Уязвимости контроля доступа позволяют неавторизованным пользователям получать доступ к ограниченным функциям в смарт-контракте. Если конфиденциальные действия (например, перевод средств или изменение данных) не защищены должным образом, злоумышленники могут использовать эти уязвимости для манипулирования поведением программы.
Собственная модель владения объектами Sui гарантирует, что доступ к принадлежащим активам строго контролируется. Например, только владелец объекта может инициировать транзакции для мутации или передачи объекта. Это устраняет необходимость в сложной логике управления доступом в самом смарт-контракте, снижая риск неправильной конфигурации или эксплуатации.
Кроме того, стандарт киоска Sui допускает сценарии частичного владения (например, выставленный на продажу NFT) с явными разрешениями контроля доступа, предотвращая несанкционированный доступ к общим объектам. Это упрощает разработчикам реализацию безопасных и эффективных проектов контрактов, не подвергая пользователей ненужному риску.
Другие атаки на уровне протокола
Хотя дизайн Sui минимизирует риск многих распространенных уязвимостей, другие угрозы, такие как зависимость от временных меток, логические ошибки, небезопасная случайность и уязвимости ограничения газа, все еще могут существовать. Вот краткий обзор того, как Sui справляется с ними:
Зависимость от временных меток: Sui использует временные метки BFT из объекта Clock, что смягчает проблемы, связанные с временными метками.
Логические ошибки: Как и любой другой блокчейн, Sui не застрахован от логических ошибок, но его объектно-ориентированный дизайн сводит вероятность возникновения таких ошибок к минимуму.
Небезопасная случайность: Sui предлагает разработчикам собственный маяк случайности, чтобы гарантировать использование более безопасной случайности.
Уязвимости, связанные с ограничением по газу: Sui имеет предсказуемое потребление газа, что снижает неопределенность при исполнении.
Непроверенные внешние вызовы: в Sui это невозможно, поскольку язык Move требует строгой проверки байт-кода.
Более безопасное будущее с Sui
Sui — это экосистема Web3, разработанная с безопасностью в основе. Устраняя угрозы на уровне пользователя с помощью таких инструментов, как Sui Guardians, и защищая протоколы с помощью таких функций, как собственное владение объектами и язык программирования Move, Sui обеспечивает прочную основу для безопасного взаимодействия в децентрализованной экосистеме.
Поскольку Web3 продолжает развиваться, как пользователи, так и разработчики должны быть в курсе событий и бдительны в отношении потенциальных угроз. Понимая эти векторы атак и используя функции безопасности, предлагаемые Sui, мы все можем внести свой вклад в более безопасную и устойчивую экосистему для будущего Web3.
Примечание: данный контент предназначен только для общеобразовательных и информационных целей и не должен толковаться или рассматриваться как одобрение или рекомендация покупать, продавать или удерживать какой-либо актив, инвестиционный или финансовый продукт, а также не является финансовой, юридической или налоговой консультацией.