Crypto Currency Tracker logo Crypto Currency Tracker logo
Forklog 2024-01-18 11:00:00

Фишинг в Web3: как защитить себя и свои активы

Спам и фишинг — две извечные беды интернета на любом этапе его развития. Web3 здесь не исключение. О том, как противостоять фишинговым атакам на ваши криптоактивы, для читателей ForkLog рассказывает Владимир Менаскоп.  Три кита: безопасность, диверсификация, кастомизация Если для вас это просто набор слов — самое время задуматься: без этих трех шагов ваш криптомир никогда не станет прекрасным. Начнем с безопасности. Про нее я уже рассказывал здесь и здесь, поэтому сейчас подчеркну лишь те моменты, о которых не писал ранее: Если вы уделяете безопасности время лишь раз в год, то вы уже потенциально взломаны. И неважно, будет это попадание вашей почты в спам-базу или слив пароля с какого-то сайта (скажем, обменника).  Если используете только удобное, но закрытое ПО, то вы уже потенциально взломаны. OS-сообщество работает, как правило, и оперативней, и дружней, но главное — всегда, а не от случая к случаю.  Если не пробовали работать со сложными расширениями, кошельками и другими официальным dapps вроде Bitcoin Core или Polkadot JS, то, скорее всего, вы не до конца «прощупали» процесс и потенциально — да — уже взломаны.  Конечно, все три тезиса звучат как страшилка для детей, но следующие примеры доказывают обратное.  Пример №1. Наш заклятый враг — нет, не лестница, но реклама Однажды поздно вечером мне нужно было обменять небольшую сумму в ETH. Куда в этом случае пойдет большинство из нас? Вот и я пошел на BestChange. Но нарушив собственное правило: «Набирать адрес руками, а не через поиск».  Вбил в Google (что было роковой ошибкой, но так уж случается, что ошибки всегда следуют друг за другом) и перешел по первой ссылке.  Как нетрудно догадаться, она оказалась фишинговая. «Корпорация добра» отфильтровывала в своем поисковике криптопроекты, но только честные. А вот фишинговые сайты, подражающие самому крупному агрегатору, — нет. Да и сделана была реплика сервиса на отлично: ни багов, ни опечаток, даже SSL-сертификат стоял. И разница — в одной букве. В общем, классика, хорошо отрежисированная и нарисованная.  Данные: Google.  В итоге нашел нужное мне направление и перешел на сайт, который, конечно же, тоже был фейковым. Более того, похож как две капли воды на тот, на котором я когда-то менялся. И тут я совершил третью непростительную ошибку: не вошел в личный кабинет, так как сумма казалось небольшой и время было уже не детское.  Все. Эфир мой навсегда осел в карманах мошенников.  Как можно было этого избежать?  Вот набор простых рецептов: Адреса сайтов, которыми пользуетесь (DEX, кошельки, агрегаторы), надо запоминать и вводить вручную, а также добавлять в закладки: уже как минимум два источника для сверки будет. И лишь потом можно использовать поисковики как третий независимый источник: и желательно не Google, Yandex или Baidu, а что-то без рекламы и прочего спама. Несколько рабочих вариантов можно найти здесь. Везде, где можно что-то кастомизировать, это нужно обязательно сделать: обои в Gmail, авторизация в партнерке на BestChange, личный кабинет в обменнике и многое другое. Особенно хорошо действуют приветственные записи и внутренние названия аккаунтов: даже CEX до этого доросли и применяют, а в децентрализованном мире обходиться без этого — грех.  И, конечно, всегда нужно проверять сами кошельки (номера): у обменников они часто индексируются.  По отдельности эти пункты работают плохо, но вместе — вполне. Фишинговая реклама до сих пор попадается в Facebook, так что мой пример будет актуален еще долго.  Пример №2. Апрувы — боль криптомира Этот случай, в отличие от предыдущего, произошел не со мной и совсем недавно. Попробую восстановить хронологию. Изначально у криптоэнтузиаста (назовем его для краткости Е.) был сид от аппаратного кошелька Trezor, на котором хранился BTC под passphrase, что само по себе отличный набор.  Но далее началась серия ошибок. Цитирую: «Этот сид импортировал в [мобильный кошелек]. Видимо, чтобы проверить, как работает импорт, и убедиться, что наличия биткоина в мобильном кошельке не видно. Так и было, убедился».  Импорт сид-фразы из аппаратного кошелька в мобильный — серьезная ошибка: теряется весь смысл нахождения ключей на устройстве. Но цитирую дальше: «Осенью 2022 года сменил PC на Mac и поставил на него MetaMask как расширение Chrome, потому что без него тоже неудобно жить. [Но долгое время не] использовал его. Решив использовать этот же сид для операций с токенами BEP-20, пополнил [кошелек] 1 декабря 2022 года небольшой порцией BNB от кого-то и, видимо, стал куда-то коннектиться через Wallet Connect (куда и зачем, не помню)».   И вот здесь хорошо заметна разница: сама библиотека Wallet Connect не раз подвергалась атакам, в том числе фишинговым, и фактически средства находились уже не офлайн, а онлайн (после импорта сид-фразы). То есть опасность возросла минимум в два раза в сравнении со стандартным хранением на Trezor.  Идем далее по рассказу потерпевшего: «В процессе коннекта и [тестов] сделал апрув мошеннику на операции с BUSD (зачем, не помню), а поскольку это был Wallet Connect и интерфейс там не очень, [плюс] — торможение, [то] этого не понял или не придал значения. Важно, что апрув сделан мною на [мобильном кошельке] через Wallet Connect. Уточнил [это] у [разработчиков мобильного кошелька], скрин это показывает точно. То есть MetaMask тут ни при чем». Важно из этой части цитаты вынести следующий факт: все в криптомире постоянно меняется. Поэтому, когда мы что-то делаем неосознанно, потом сложно восстановить полную картину и определить контролируемый уровень безопасности. Дальнейшее изложение — прямое тому свидетельство. Цитирую: «[Позже в мобильном кошельке] не работал Wallet Connect, а мне надо было сделать SBT, и я перешел в MetaMask и [стал] делать операции в сети BSC с него, коннектиться к сайту dapps... Все было ок, а поскольку токен BUSD BEP-20 тут не участвовал, красть скамеру, у которого был доступ, было нечего, апрув ждал своего часа».  Так оно и есть. Апрув, выданный на скомпрометированный адрес или смарт-контракт, может висеть почти бесконечно. Поэтому первое, что нужно при восстановлении действий с тем или иным аккаунтом (кошельком), — это проверить выданные апрувы. Где и как? Расскажу ниже.  Идем дальше по рассказу: «На прошлой неделе прошла информация о том, что Binance будет делистить оригинальный BUSD от Paxos до 15 декабря [2023 года], и я под это дело решил избавиться от всех централизованных стейблов. Поменял крупную сумму USDT TRC-20 на биткоин (удачно, он пошел в рост), оставался BUSD BEP-20 на другом кошельке ($2640 — вся сумма). Тут коллеге в [городе] потребовалась [фиатная валюта] на карту [банка], в связи с чем я [помаялся c] MetaMask и оставил вопрос на потом, решив, что, пожалуй, обменяю таким образом часть BUSD BEP-20 на рубли в [обменнике] и переправлю человеку. В общем, BUSD в уме я решил израсходовать на текущие дела, так как избавляться от CEX-стейблов фундаментально надо. Мотив — „BUSD в расход полностью...“»  То есть, как видим, средства лежали на кошельке какое-то время, и поэтому аккаунтом человек активно не пользовался. А вот чем история закончилась: «Сегодня ночью перед сном думаю, не поменять ли в [мобильном кошельке] BUSD на биткоин, чтобы не гонять его туда-сюда (лучше б поменял). Отказываюсь, решаю таки перекинуть BUSD BEP-20 полностью ($2640) на сид в MetaMask, чтобы потестить [обменник]... ну и вообще избавиться путем расходования. Выполняю операцию в [мобильном кошельке] из одного сида, убеждаюсь, что на второй сид (который в [мобильном кошельке] и MetaMask) токены пришли в полном объеме, и засыпаю. Ну а утром вижу уведомления на почте от BscScan, что токены списаны на левый адрес сразу после поступления вот этой транзакцией… Написал тебе, и ты выяснил, что апрув годичной давности лежал и ждал своего часа. Дождался».  История грустная. Итог плачевный. Но давайте попробуем выудить нечто позитивное. 1. Холодный кошелек и горячий на одном MetaMask быть не могут. Также нет смысла куда-то интегрировать аппаратный кошелек через сид (кроме случаев экстренного восстановления). А вот интеграция Trezor и MetaMask вполне уместна. 2. Если долго не пользовались кошельком, обязательно проверьте апрувы. Где? По ссылкам (условно можно выделить работу с аппрувами через сканеры и через специальные сервисы, но здесь будет единый перечень): Ethereum — etherscan.io/tokenapprovalchecker; Polygon — polygonscan.com/tokenapprovalchecker;  BSC — bscscan.com/tokenapprovalchecker;  Optimism — optimistic.etherscan.io/tokenapprovalchecker;  Arbitrum — arbiscan.io/tokenapprovalchecker;  approvals.xyz; cointool.app/approve; approved.zone; revoke.cash. 3. И, конечно, всегда надо рассчитывать не только на себя, но на выстроенную и верифицируемую (важно: кем угодно, а не единожды и вами) систему безопасности. Примеров обратного хоть отбавляй: вот один из последних, а вот еще один. Ломают всех: и если против вас еще не совершались векторные атаки, то это лишь потому, что вы как Неуловимый Джо — пока в списках не значитесь.  Нулевое правило безопасности для меня потому и звучит так: «Взломать можно любую систему». Вопрос всегда в цене и во времени. Если это слишком долго или дорого, то ломать не будут (кроме деструктивных атак, речь о которых надо вести отдельно).  Пример №3. Диверсификация работает, но требует привычки Представим, что вы охотник за баунти, аирдропами и подобными вещами. Что именно вы делаете? Тестируете новые сервисы и системы. Сначала немного, потом больше, затем несколько сразу, и вот вы уже наловчились работать с разными стартапами: от нишевых до отраслевых.  Но в этот момент ваш базовый кошелек становится буквально переполнен апрувами для смартов и разрешениями для сервисов, а браузер — закладками сайтов и прочими атрибутами интенсивного цифрового погружения.  В этот момент на вас непременно начнут нападать: Через поддельные аккаунты в X. Даже если вы устоите в игре «найди 10 отличий», никто не застрахован от взлома официального аккаунта и фишинговых ссылок от него. Такое, как видимо, происходит даже с SEC или Виталиком Бутериным.  Через электронную почту. Спамить будут много и хорошо, как через специальные сервисы, так и стандартные рассылочные, а еще через подписки. Поэтому у меня Gmail открыт как адрес для всех, а для важных сервисов есть адреса непубличные — тем более что в Web3 давно нет дефицита необходимых инструментов. Через Telegram, Discord и прочие мессенджеры. С этим жить вообще тяжело. Если вы активный участник криптокомьюнити, то сами замечали, что спам по группам рассылается молниеносно и параллельно.  Все это перечислил для того, чтобы вы сделали один вывод: взломать могут каждого. Но от этого есть противоядие: диверсификация.  Скажем, получили ретродпроп на кошелек, предварительно проделав все описанные выше процедуры (проверили апрувы и тому подобное). Что потом? Надо все перевести на другой кошелек, который или вообще не взаимодействует с онлайном, или делает это крайне редко. Так вы сможете оставлять на горячем кошельке только то, что готовы потерять — и не более.  Здесь стоит привести еще ряд немаловажных советов: Надо всегда оставаться в курсе. Читать ForkLog и другие издания — скажем, через агрегатор. Кажется, что совет так себе, но он на самом деле позволяет выявить до двух третей атак. Каким образом? Взломали чей-то сайт, протокол, подменили DNS, а вы уже в курсе и не идете на тот ресурс сегодня. Когда восстановят — пожалуйста, а сегодня — нет. Благо жизнь фишинговых сайтов крайне короткая.  Хотя бы бегло изучать что-то по безопасности: Xakep.ru — мой личный гость в выходные вот уже лет 15;  AuditDB, Dynamic и другие специализированные ресурсы; закрытые форумы вроде Exploit.in. Обязательно нужно подтверждать любые аирдропы и прочее через несколько ресурсов. Вспомните о взломе Galxe — хотя бы для предотвращения подобного. Стандартный набор: а) официальный сайт; б) социальные сети; в) СМИ.  Опять же, все по отдельности это работает плохо, а вот в совокупности дает преимущество. К перечисленному добавлю еще три эмпирических правила (читай — закона): Если можешь подождать — подожди. Но не слишком долго: не так давно мне удалось пропустить ретродроп, потому что просто перепутал даты. Если взломали кого-то из ваших знакомых, от открытого комьюнити до друзей, родственников и прочих близких — будьте на чеку. Если считаете, что все знаете, то вспомните про взлом через обратный апрув в BSC и забудьте об окончательности и универсальности подобных знаний. Навсегда.  Ваши ключи — ваши деньги Многие считают: все рассказанное выше и подобные случаи — прямое свидетельство того, что абстракция аккаунта и разного рода отзывные (обратимые) транзакции решат проблему.  Я же, напротив, уверен в обратном. Если вы гуляете по темной улице в ночное время даже в спокойной Швейцарии, не обладая навыки самообороны, то рискуете нарваться на одного-единственного хулигана, который даст вам по голове «тяжелым тупым предметом» и заберет ваш кошелек, смартфон и обручальное кольцо.  Поэтому цифровая гигиена должна стать для каждого из нас такой же необходимостью, как чистить зубы по утрам или мыть руки перед едой. По другому нельзя, и это подтверждают взломы разного масштаба. Приведу еще один пример.  Пример №4. KYA, или знай с чем и кем работаешь Случай произошел недавно. Человек торговал через CEX и решил вывести средства. Скопировал адрес и вставил в строку вывода. Нажал подтверждение и ушел пить чай.  Вернувшись, он увидел, что средства ушли не туда. Сработала стандартная система подстановки адреса. И модификаций у нее множество: «отравленные» транзакции и адреса, с которыми теперь приходится бороться и кошелькам, и сканерам;  стандартные кейлогеры, трояны и прочее вредоносное ПО, которого пруд пруди в даркенте и которым могут пользоваться, что самое страшное, скрипт-кидди;  подмена кошелька: мобильного, десктопного или в виде расширения — неважно. Скачали не тот бинарник — и все. И даже загрузка с офсайта не поможет — достаточно вспомнить случай Atomic Wallet.  Но и с этим можно бороться. Вот простые механики: обновляйтесь после просмотра новостей, а не до; если обновление не критическое, подождите несколько дней и понаблюдайте за лентой: от уязвимостей нулевого дня это не спасет, но от многих более мелких бед — вполне;  постарайтесь изучить документацию того ПО, которым пользуетесь: почитайте гит, познакомьтесь с разработчиками (в мире OS это не так сложно), полистайте форумы, а главное — попробуйте стать хотя бы продвинутым пользователям этого софта;  если есть возможность, а она почти всегда есть, сверять хеш-суммы, SSL-сертификаты, PGN и так далее. Нельзя забывать, что в технологиях самое слабое звено — человек. Усталость, работа без перерывов и без жесткого финансового графика ведут в итоге к потерям, а не дополнительному заработку. Помните об этом.  Итог. Идеальная схема брони против фишинга Ее не существует. Почему? Потому что идеальная в данном случае значит индивидуальная. Конечно, какие-то моменты игнорировать не стоит, но в остальном фантазия — лучший помощник.  Попробую собрать базовые механизмы самозащиты в виде чек-листа. Ограничьте себя во времени. С 9:00 до 21:00 в будние дни — вполне хватает, чтобы решать 99% задач. Но можете индивидуализировать и здесь: например, работать с активами больше определенной суммы только по выходным.  Кастомизируйте все, что можно: от почты и мессенджеров до кошельков и личных кабинетов DEX. Чем больше деталей, о которых знаете только вы, тем сложнее будет вас подловить.  Не гнушайтесь разного рода уведомлениями и дополнительными средствами защиты. Разграничивайте холодные и горячие кошельки, ставьте оповещения на сканерах и специальных сервисах (HAL.xyz, Cielo). Словом, учитесь создавать IFTTT-режим под себя.  Диверсифицируйте активы хотя бы по трем категориям: базовые инвестиции, рабочие инструменты, стабилизационный фонд. И помните, что диверсификации, как и децентрализации, много не бывает.  Будьте в курсе. Изучайте новости до того, как перевести крупную сумму денег со скомпрометированной сервиса, а не после. Помните, что уже сегодня есть видео- и голосовые дипфейк-сообщения и ищите свои способы верификации на ОТС/P2P-обменах.  Не забывайте, что мы работаем в недоверенной среде. Спам-фильтры Gmail не идеальны, кошельки на CEX — не кошельки, ваши ERC-20 с апрувом на любом протоколе — не ваши. И если подверглись атаке, помогите другим: сообщите о фишинге в Google, Yandex и специализированные ресурсы вроде AMLBot и Chainabuse. Не проходите мимо новых функций кошельков. Меня, к слову, не так давно спасла вот эта наработка от MetaMask.  Постарайтесь усложнять уровень работы с сервисами. Скажем, фишинговых токенов в Ethereum полно, но в 9 из 10 случаев сканер отображает их довольно оперативно и точно, а продвинутые инструменты — тем более.   И главное правило безопасности: взломать можно любую систему. Исходите из этого тезиса, тогда станут понятны и объяснимы все вышеперечисленные пункты. 

Read the Disclaimer : All content provided herein our website, hyperlinked sites, associated applications, forums, blogs, social media accounts and other platforms (“Site”) is for your general information only, procured from third party sources. We make no warranties of any kind in relation to our content, including but not limited to accuracy and updatedness. No part of the content that we provide constitutes financial advice, legal advice or any other form of advice meant for your specific reliance for any purpose. Any use or reliance on our content is solely at your own risk and discretion. You should conduct your own research, review, analyse and verify our content before relying on them. Trading is a highly risky activity that can lead to major losses, please therefore consult your financial advisor before making any decision. No content on our Site is meant to be a solicitation or offer.