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 случаев сканер отображает их довольно оперативно и точно, а продвинутые инструменты — тем более.   И главное правило безопасности: взломать можно любую систему. Исходите из этого тезиса, тогда станут понятны и объяснимы все вышеперечисленные пункты. 

Прочтите Отказ от ответственности : Весь контент, представленный на нашем сайте, гиперссылки, связанные приложения, форумы, блоги, учетные записи социальных сетей и другие платформы («Сайт») предназначен только для вашей общей информации, приобретенной у сторонних источников. Мы не предоставляем никаких гарантий в отношении нашего контента, включая, но не ограничиваясь, точность и обновление. Никакая часть содержания, которое мы предоставляем, представляет собой финансовый совет, юридическую консультацию или любую другую форму совета, предназначенную для вашей конкретной опоры для любых целей. Любое использование или доверие к нашему контенту осуществляется исключительно на свой страх и риск. Вы должны провести собственное исследование, просмотреть, проанализировать и проверить наш контент, прежде чем полагаться на них. Торговля - очень рискованная деятельность, которая может привести к серьезным потерям, поэтому проконсультируйтесь с вашим финансовым консультантом, прежде чем принимать какие-либо решения. Никакое содержание на нашем Сайте не предназначено для запроса или предложения