Основные выводы

  • Подписывание сообщений является важным аспектом транзакций в блокчейне, но если с этим не обращаться осторожно, это может подвергнуть пользователей значительным рискам безопасности.

  • Функция ‘eth_sign’, которая позволяет пользователям подписывать произвольные сообщения, особенно уязвима к злоупотреблениям, потенциально позволяя злоумышленникам получить полный контроль над активами жертвы.

  • Чтобы защитить себя, всегда используйте доверенные платформы, избегайте подписания незнакомых сообщений и оставайтесь в курсе общих мошенничеств.

Для тех, кто исследует пространство Web3, подписывание сообщений необходимо для авторизации транзакций, проверки личностей и взаимодействия с децентрализованными приложениями (DApps). Например, платформа эирдропа может требовать от пользователя подписать сообщение, чтобы подтвердить право собственности на конкретный адрес кошелька, имеющий право на эирдроп. Хотя этот процесс позволяет выполнять многие критически важные функции блокчейна, он также вводит значительные риски безопасности.

В этой статье мы исследуем потенциальные опасности, связанные с подписанием сообщений на и вне блокчейна, и подчеркиваем общие сценарии, где пользователи могут понести финансовые потери в результате подписания злонамеренных сообщений.

Подписывание сообщений и транзакций: понимание различий

В децентрализованном пространстве подписи необходимы как для авторизации транзакций, так и для взаимодействия с DApps. Они бывают двух основных типов: на цепи (транзакция) и вне цепи (сообщение).

Подписи на цепи (Подписание транзакции)

Подписи на цепи используются для авторизации действий, которые изменяют состояние блокчейна, такие как перевод средств или выполнение смарт-контрактов. Вот как это работает:

Процесс подписания и верификации на цепи

  • Генерация сообщения: Когда кто-то инициирует транзакцию в блокчейне, сеть генерирует сообщение, связанное с этой транзакцией, которое содержит информацию о ней, такую как адреса отправителя и получателя, сумму, которую нужно перевести, и другие соответствующие детали.

  • Подписание сообщения: Пользователь, инициирующий транзакцию, 'подписывает' это сообщение своим приватным ключом. Этот процесс включает применение криптографического алгоритма к сообщению и приватному ключу пользователя, в результате чего получается цифровая подпись.

  • Отправка подписанного сообщения: Подписанное сообщение вместе с оригинальным сообщением отправляется в сеть.

  • Верификация: Сеть проверяет подпись, используя публичный ключ транзакционного пользователя, который получается из его приватного ключа, но может быть безопасно передан. Если подпись совпадает с сообщением и публичным ключом, это подтверждает, что владелец аккаунта авторизовал транзакцию.

  • Обработка транзакции: Если подпись действительна, сеть обрабатывает транзакцию. В противном случае транзакция отклоняется.

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

Подписи вне цепи (Подписание сообщения)

Подписи вне цепи, с другой стороны, используются для действий, которые не влияют на состояние блокчейна, таких как проверка личности пользователя, вход в DApp или предварительная авторизация переводов средств. Вот как это работает:

  • Генерация вызова: Приложение генерирует уникальное сообщение, которое служит 'вызовом' – запросом к пользователю аутентифицироваться, доказывая, что он владеет указанным адресом. Это сообщение может включать конкретные детали, связанные с попыткой входа, такие как временная метка или случайное число.

  • Создание подписи: Пользователь подписывает сообщение своим приватным ключом, создавая цифровую подпись. Эта подпись служит доказательством того, что он владеет приватным ключом, связанным с кошельком.

  • Верификация подписи: Получатель проверяет подпись, используя ваш публичный ключ. Если подпись действительна, это подтверждает личность пользователя и предоставляет ему доступ.

Это подписи вне цепи, с которыми пользователи Web3 часто взаимодействуют для различных целей, и именно этот тип подписи имеет потенциал для злоупотребления преступниками.

Риск: Непреднамеренная авторизация

Существует несколько методов для подписания сообщений, включая eth_sign, personal_sign и eth_signTypedData. Эти функции имеют разные уровни безопасности, и в зависимости от кошелька, который вы используете, некоторые методы могут или не могут поддерживаться.

  • Функция eth_sign позволяет пользователям подписывать произвольные сообщения с помощью их приватных ключей, что может потенциально представлять собой риски безопасности. Этот метод использует сырой, нечитаемый формат сообщения без каких-либо префиксов или контекста.

Из-за этого пользователи часто не понимают последствий того, что они подписывают. Самый серьезный риск заключается в том, что подписание злонамеренного сообщения может предоставить злоумышленнику полный контроль над вашими активами.

  • Метод personal_sign разработан для большей безопасности и удобства для пользователя. Он добавляет префикс к сообщению с помощью стандартной строки перед хэшированием и подписанием, что делает ясным, что сообщение предназначено для подписания. Этот префикс помогает защитить от определенных типов атак, таких как атаки повторного воспроизведения, когда подписанное сообщение может быть повторно использовано в другом контексте.

  • Метод eth_signTypedData используется для подписания структурированных данных, предоставляя больше контекста и ясности относительно того, что подписывается. Он позволяет разработчикам определить структуру данных, которые подписываются, делая это более прозрачным и легким для понимания.

Что такое фишинг eth_sign?

В своей основе eth_sign является криптографическим механизмом, который позволяет пользователям подписывать произвольные сообщения. Эта подпись служит цифровым доказательством того, что владелец аккаунта авторизовал содержание сообщения. Однако проблема возникает, когда эти подписанные сообщения могут быть интерпретированы и выполнены смарт-контрактами способами, которые не очевидны пользователю. Сообщение, которое кажется безобидной строкой символов, на самом деле может разрешить злоумышленникам взять полный контроль над вашим аккаунтом. Давайте разберем механизмы типичной атаки фишинга eth_sign:

1. Подготовка: Злоумышленники часто создают поддельные веб-сайты или приложения, которые имитируют законные платформы. Это могут быть децентрализованные биржи, NFT-рынки или другие услуги на основе блокчейна.

2. Приманка: Пользователи заманиваются подключиться к этим поддельным платформам различными способами – фишинговыми электронными письмами, вводящими в заблуждение объявлениями или даже поддельными ссылками в группах в социальных сетях. Злоумышленники часто создают чувство срочности, утверждая, что пользователю нужно быстро подписать, чтобы воспользоваться ограниченным предложением или предотвратить некоторые негативные последствия.

3. Зацепка: Сайт злоумышленников запрашивает у пользователя подписать сообщение с помощью eth_sign. Однако сообщение, которое подписывает пользователь, очень отличается от того, что он думает. Оно может предоставить разрешение на выполнение любого злонамеренного действия, которое хочет мошенник.

Этапы атаки фишинга eth_sign

Популярные тактики для эксплуатации подписания сообщений включают поддельные эирдропы; злонамеренные DApps, созданные для того, чтобы выглядеть законными, но единственной целью которых является кража средств; поддельные услуги по чеканке NFT; фишинговые электронные письма; выдача себя за поддержку клиентов; и создание поддельных интерфейсов кросс-цепочного моста. Все эти зловредные инструменты служат для того, чтобы заставить пользователей поверить, что они подписывают законное сообщение, в то время как на самом деле они предоставляют преступникам доступ к своим цифровым средствам.

Что делает эти атаки особенно опасными, так это то, что они эксплуатируют условное поведение пользователей Web3 подписывать сообщения для проверки своей личности или утверждения действий. Многие пользователи склонны подписывать такие сообщения, не полностью понимая последствий.

Примеры из реальной жизни

Поддельный эирдроп NFT

Мошенники часто манипулируют своими жертвами обещанием неожиданных вознаграждений. Пользователь в этом реальном примере получил непрошенный эирдроп NFT в своем кошельке, отправители утверждали, что пользователь выиграл значительное вознаграждение и только нужно конвертировать свой NFT ваучер в деньги.

Чтобы получить приз, пользователя переводят на связанный веб-сайт, чтобы подписать сообщение, которое представлено в нечитаемом шестнадцатеричном формате. Предполагая, что это стандартная часть процесса верификации, пользователь подписывает. Однако это сообщение является хитро замаскированной авторизацией, которая предоставляет мошеннику контроль над активами пользователя, что приводит к несанкционированным переводам из его кошелька.

Вскоре после этого пользователь замечает, что значительное количество токенов переводится из его кошелька без его согласия, осознавая слишком поздно, что его обманули.

Основной вывод: остерегайтесь любых непрошенных предложений или эирдропов, особенно тех, которые обещают значительные вознаграждения. Всегда проверяйте законность источника перед тем, как предпринимать какие-либо дальнейшие действия.

Выдача себя за известный проект

Мошенники часто выдают себя за уважаемые проекты или аккаунты, чтобы создать чувство доверия. В этом примере преступники создали поддельный аккаунт на X, имитируя официальный аккаунт Baby Doge Coin. Выдающий себя за человека получил золотой значок верификации, чтобы добавить уровень доверия.

 

Поддельный аккаунт объявил о новом эирдропе для держателей Baby Doge Coin и включил ссылку на веб-сайт, где пользователи могли получить новый токен. Пост быстро набрал популярность, что добавило еще больше к его виду законности. Пользователи посетили предоставленную ссылку, подключили свои кошельки и подписали сообщение, чтобы подтвердить свою личность и получить эирдроп.

Что жертвы не знали, так это то, что подписанное сообщение авторизовало перевод токенов из их кошельков на адрес злоумышленника. Большинство пользователей поняли, что это мошенничество, только когда заметили, что их токены Baby Doge Coin исчезли из их кошельков.

Основной вывод: всегда проверяйте подлинность аккаунтов в социальных сетях, с которыми вы взаимодействуете, и проявляйте осторожность с любыми сообщениями, запрашивающими вашу подпись. Небольшие несоответствия, такие как немного другое или неправильное имя пользователя, являются ключевыми для отличия настоящего от поддельного. В этом примере X-имя аккаунта мошенника было слегка изменено, чтобы читаться почти как настоящее, с удвоением одной гласной в конце.

Поддельный эирдроп нового токена

Создание чувства срочности – еще одна тактика, которую мошенники используют, чтобы заставить пользователей принимать поспешные решения. В этом примере пользователь, прокручивая свою ленту в социальных сетях, заметил пост от того, что кажется законным криптовалютным проектом, объявляющим о новом эирдропе токена под названием “Sunwaves”. Пост утверждает, что есть ограниченное 24-часовое окно, чтобы получить эирдроп.

Заинтригованные объявлением, пользователи посещают сайт, упомянутый в посте, который предлагает им подключить свои кошельки и пройти несколько шагов верификации, включая подписание сообщения для подтверждения своей личности и получения эирдропа.

Однако это подписанное сообщение предоставляет мошеннику разрешение на перевод токенов из кошелька пользователя. Пользователь быстро замечает, что токены, включая ценные активы, были переведены без его согласия.

Основной вывод: будьте скептичны к любым предложениям, которые создают чувство срочности. Мошенники часто давят на пользователей, чтобы те действовали быстро, не позволяя им потратить время на оценку и проверку законности предложения.

Как Binance Web3 Wallet защищает вас

Чтобы исключить возможность того, что пользователи попадут в ловушку мошенничества с eth_sign, эта функция запрещена в Binance Web3 Wallet. Что это означает на практике, так это то, что как только eth_sign инициируется для транзакции, пользователям немедленно сообщают, что эта транзакция является высоко рискованной из-за потенциально злонамеренного запроса подписи. Завершить такую транзакцию не будет возможности.

Защита от мошенничества

Чтобы избежать мошенничества с подписанием сообщений в пространстве Web3, крайне важно принять меры предосторожности:

1. Используйте доверенные платформы: подписывайте сообщения только на платформах, которым вы доверяете. Если платформа кажется подозрительной по какой-либо причине, лучше избегать ее.

2. Не доверяйте неожиданным эирдропам: будьте осторожны с непрошенными предложениями, которые кажутся слишком хорошими, чтобы быть правдой, особенно с теми, которые обещают значительные вознаграждения.

3. Проверяйте URL DApp: всегда проверяйте, что URL законен, прежде чем взаимодействовать с децентрализованным приложением. Мошенники часто создают URL, которые выглядят похожими на настоящие.

4. Используйте безопасные кошельки: используйте авторитетные кошельки, которые предоставляют меры безопасности против злонамеренных сообщений. Например, Binance Web3 Wallet запретил функцию eth_sign, чтобы предотвратить такие атаки.

5. Оставайтесь в курсе: следите за последними тактиками мошенничества и лучшими практиками безопасности в блокчейн-пространстве.

Заключительные мысли

Исследование децентрализованного пространства услуг и приложений Web3 может быть великолепным приключением. Однако эта среда имеет свои риски, требуя от пользователей быть бдительными и информированными. Мошенники могут эксплуатировать такие инструменты, как подписывание сообщений и выдача себя за других, чтобы проводить несанкционированные транзакции, что приводит к значительным финансовым потерям. Осознавая эти риски и принимая некоторые простые меры безопасности и привычки, вы можете защитить себя. Всегда проявляйте осторожность и оставайтесь бдительными, чтобы обеспечить безопасность ваших активов в экосистеме Web3.

Дополнительные материалы

  • Защитите свои криптовалюты: понимание текущих глобальных атак вредоносных программ и что мы делаем, чтобы остановить их

  • Как избежать и сообщить о подделках сервисов

  • Binance предотвращает потерю пользователей на сумму 2,4 миллиарда долларов в 2024 году на данный момент

Отказ от рисков: Криптовалюты подвержены высокому рыночному риску и волатильности цен. Вы должны инвестировать только в продукты, с которыми вы знакомы и где понимаете связанные риски. Вам следует внимательно рассмотреть свой инвестиционный опыт, финансовую ситуацию, инвестиционные цели и толерантность к риску и проконсультироваться с независимым финансовым советником перед тем, как совершать любую инвестицию. Этот материал не должен рассматриваться как финансовый совет. Прошлые результаты не являются надежным индикатором будущих результатов. Стоимость ваших инвестиций может как увеличиваться, так и уменьшаться, и вы можете не вернуть сумму, которую инвестировали. Вы несете полную ответственность за свои инвестиционные решения. Binance не несет ответственности за любые убытки, которые вы можете понести. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Предупреждением о рисках. Это общее объявление. Продукты и услуги, упомянутые здесь, могут быть недоступны в вашем регионе.