January 24

DeFi. Безопасность. Виды атак. Часть I 

DeFi-безопасность: виды атак

Список

Будет длинным и всегда - открытым, но вот общий перечень:

  1. Социальная инженерия;
  2. Фишинг: очень разный и очень потому много подвидов;
  3. Пылевые атаки: классические, рассылка скам-токенов и т.п.;
  4. Отравленные транзакции: часто используются с п. выше;
  5. Подбор адреса: не только профанити этим страдает;
  6. Rug pull: тоже разного рода;
  7. Дрейнеры: очень много в паблике и самописных;
  8. Подмена транзакций и симуляций;
  9. Кейлоггеры;
  10. MEV-атаки;
  11. 0-day;
  12. Иные.

Пройдёмся хотя бы по этому списку. Но сначала - ещё одна градация. И крайне важная. Все атаки по вектору делятся на:

  1. Индивидуальные;
  2. Массовые;
  3. Смешанные.

Последние добавил, чтобы закрыть весь объём, но они крайне редко случаются на самом деле.

Социальная инженерия

Здесь рекомендую два источника:

  1. Wiki: см. статью базовую;
  2. Xakep: см. подборку статей.

Фактически же, социальная инженерия часто бывает в синтезе с другими видами атак, поэтому, первое, что вам нужно сделать, это обзавестись собственными паттернами (шаблонами) поведения, когда работаете с DeFi: скажем, начинаете в 09:00 и заканчиваете в 21:00, не работаете в выходные, не используете в одном аккаунте больше 2-х кошельков и т.д.

Зачем? Если видите, что поведение поменялось, а вы ничего не меняли: RPC не прогружается, токены попали в кошелёк, в кот. не должны были попасть, письмо пришло не на тот ящик и прочее, то это повод задуматься. Конечно, если у вас на кошельке нет десятков тыс. долларов, то индивидуально под вас копать не будут, но вы можете быть частью команды и/или даже слабым звеном в каком-то протоколе, дапсе, сервисе и т.д.

Поэтому соц. инженерия “лечится” тремя способами:

  1. Развитие критического мышления;
  2. Работа с DeFi только в состоянии трезвого ума и светлой памяти;
  3. Разработка собственных шаблонов поведения, а позже и создание социальных honeypots.

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

И помните, что соц. инженерия не только на вас воздействует, но и на ваш лист контактов, поэтому, когда совершаете значимые p2p/OTC сделки - всегда вводите двухфакторную проверку: голосом, видео, etc. (Про дипфейки молчу, т.к. до них ещё надо всем дорасти).

Фишинг

Здесь много уже писал, поэтому - подборка статей:

  1. Азы безопасности;
  2. Ваши цифровые следы;
  3. Анти-фишинг как таковой;
  4. Видео-формат;
  5. Значимость анти-фишинга.

Суть в том, что с фишингом бороться помогают 2 вещи:

  1. Привычки (о них - см. выше);
  2. Кастомизация: email, кошелька, рабочего стола, браузера, etc.

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

Конечно, общие правила, навроде:

  1. Не разрешать картинки в почте от незнакомых, как и pdf, и прочие вложения;
  2. Отключить автоматические картинки в telegram и др. мессенджерах;
  3. Не переходить по незнакомым ссылкам;
  4. Прочее -

Это всё тоже нужно, но это всё частности, которые описаны выше, а вот общее правило таково именно (и в нём - два под-правила): 1) чем выше ваша кастомизация - тем ниже уровень воздействия фишинга на вас; 2) чем больше паттернов поведения вы контролируете - тем ниже уровень воздействия фишинга на вас.

Пылевые атаки

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

Но также рассылку пыли используют и не в UTXO-системах: можно ли их смешивать? Не знаю, но решил сделать это. Но лишь отчасти.

Отравленные транзакции

Суть в том, что вам на кошельки приходят транзакции, которые напоминают те, что вы делали недавно и/или могли сделать. Вы видите адрес - копируете его и бац… Ваши деньги - уже не ваши.

Поэтому противостоять здесь можно и нужно:

  1. Не копируйте данные из эксплореров, но проверяйте их и там тоже;
  2. Заведите книгу контактов: внутри кошелька и т.д.;
  3. Верифицируйте адрес отправки по 3-4 первым и 3-4 последним символам, а также по 2-4 случайным в середине (об этом - см. ниже);
  4. Обращайте внимание на то, что вам “говорят” ММ, Rabby и другие кошельки;
  5. Применяйте многослойные связки (навроде: ММ + Трезор), чтобы увеличить количество шагов для совершения транзакции;
  6. Используйте разные кошельки для минимизации рисков: на горячем не храните много, аппаратный не считайте холодным, если он в связке с тем же ММ, холодным считайте мультисиг, например, созданный из аппаратных;
  7. Изучайте транзакцию в 2-3 источниках: скажем, в эксплорере и Debank.

В целом, эта проблема мне кажется имеет лишь 1 причину: лень. Люди ленятся проделать ритуал, чтобы не стать жертвой. Если фишинг, соц. инженерия и ряд других атак - весьма уникальный рисунок (вектор) создают, то в этом случае 9 999 из 10 000 транзакций будут в виде спама с расчётом на массовый эффект.

Подробней см. также: https://t.me/web3news/3726. Идём дальше.

Подбор адреса

Сам по себе он не так страшен, если только это не профанити-взлом, но всё же: вы получаете кошелёк от человека, с которым раньше менялись, проверяете первые 2-3 цифры и последние 2-3 цифры, Rabby что-то там шепчет, что адрес не в белом списке, вы ругаете “тупой” кошелёк, который должен быть умным, и переводите средства… Через минуты выясняется, что вашего знакомого взломали, а вам выслали похожий адрес, а не тот, что был постоянно. Всё - профит… но не ваш: у вас - убыток.

То есть адрес может выглядеть так: 0x42….01, а “легальный”: 0x42…01. Не видите разницы? Верно, но в целом первый это: 0x423aa1….3201, а легальный: 0x423B83….4201.

Такая атака обычно нужна, чтобы использовать её вкупе с фишингом, соц. инженерией, разного рода эксплойтами и т.д., т.к. сам по себе адрес мало чем интересен / полезен - надо, чтобы вы туда (по какой-то причине) за-хотели сделать перевод: будет этот обмен, ввод на биржу, пожертвование, работа с DeFi-протоколом - не так важно.

Rug pull

Это уже атака на массового зрителя и связана она с тем, что из пары “Токен - Ликвидность” забирают ликвидность, оставляя людей с “фантиками”. Смотрят на этот вектор часто шире: “Rug pull или «вытягивание ковра» — вид финансового мошенничества, при котором команда внезапно отказывается от проекта и исчезает со средствами инвесторов. Такой тип скама крайне распространен на рынке цифровых активов”.

Для этого мы в DAO Synergis разработали методику 4К, которая оценивает проект по четырём векторам: команда, концепт, коин и код. Подробней: https://t.me/web3news/6278.

Конечно, 4К - не панацея, но меня лично подход спасает от 99% скамов, а ещё 1% просто не входит в зону моей видимости, т.к. это 1% для меня, но как раз для большинства - это 99%: особенно - в области мем-токенов.

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

Дрейнеры

Коротко: “Криптодрейнеры — они же дрейнеры крипто-кошельков, — это появившийся чуть больше года назад тип вредоносного ПО, который угрожает владельцам криптовалютных активов. Дрейнеры представляют собой программные комплексы, предназначенные для быстрого и автоматизированного опустошения криптокошельков — то есть вывода из них всех (или наиболее ценных) активов на кошельки злоумышленников”.

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

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

  1. На странице airdrop, если будет DNS-атака;
  2. На странице квест-комнаты: как это было с Galxe;
  3. На странице мини-апки (хотя пока это не тренд);
  4. На странице GameFi-игры и/или play-2-earn, move-2-earn, etc. проекта;
  5. Да где угодно может быть спрятан дрейнер.

Поэтому всегда:

  1. Проверяйте страницы, а для этого - не работайте уставшим;
  2. Делайте отзывы на revoke.cash;
  3. Отвязывайте приложения в кошельке;
  4. Разделите тестовый (публичный) кошелёк и горячий для работы с DeFi: тем более - холодные;
  5. Сделайте 2х-факторную авторизацию на транзакции везде, где можно.

И не забывайте, что раз вы знаете, что знают все, то значит, это будут изменять, чтобы вы не знали.

Подмена транзакций и симуляций

Редкий вид атак, но от того - очень болезненный:

  1. Пример первый: “Пользователя заманивают на фишинговый сайт, предлагая, к примеру, «бесплатные токены». Сайт генерирует транзакцию, и кошелек показывает результат, где юзер якобы получит минимальную сумму ETH. Однако сразу после этого хакеры меняют состояние контракта. В итоге жертва подписывает транзакцию, которая вместо получения средств полностью опустошает кошелек”.
  2. Пример второй: “Атака манипулировала интерфейсом Safe Wallet, отображая данные о законных транзакциях и выполняя вредоносные операции в фоновом режиме”.

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

Отсюда простой вывод: если вы полагаетесь только на защитное ПО - антивирус, кошелёк и т.д., то рано или поздно вас взломают. Главный уровень защиты, всегда, - вы сами.

Кейлоггеры

Моего товарища так взломали несколько лет назад и вывели всё, что было можно. Вот его история: https://bits.media/istoriya-vzloma-ot-sergey-simanovsky. Добавить мне к ней почти нечего, но всё же:

  1. ОС Linux лучше Maс, Mac Ось - лучше Win. Хороший андроид лучше iOS.
  2. Виртуальная клавиатура (есть на тех же аппаратных кошельках) - спасает, хотя её тоже могут атаковать, но это уж совсем редкость.
  3. Никогда не говорите вслух то, что набираете;
  4. Старайтесь и здесь не хранить все яйца в одной корзине: если денег стало много - купите новое железо и сделайте отдельный, защищённый, периметр для хранения ваших средств.

Идём дальше.

MEV-атаки

Коротко: “Автоматизированные программы, называемые «сэндвич-ботами», заработали миллионы долларов путем обхода прибыльных ордеров на покупку популярных криптоактивов”.

С одной - это неизбежное зло, с другой - прекрасная демонстрация возможностей темпографии, с третьей - противостоять этому можно:

  1. Надо научиться не торопиться и изучать транзакции важные перед отправкой;
  2. Надо изучить, что такое проскальзывание и как с ним работать;
  3. Надо понять суть арбитража и не допускать его к себе;
  4. Надо понять особенности блокчейна и DeFi-протоколов.

Всё, простого решения здесь нет.

0-day уязвимости

С ними вы ничего не сделаете: вас просто сметёт цунами информационной атаки. Помните об этом. И храните деньги не только на ПО, но и на железе, на бумаге, на дереве (если умеете) и даже в голове: хотя в последнем случае - не забывайте про терморектальный криптоанализ.

0-day (англ. zero day) — термин, обозначающий неустранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы”. Где они? Повсюду!

  1. В вашем процессоре;
  2. В вашей ОС;
  3. В вашем ПО;
  4. В сетевых протоколах;
  5. И не в ваших - тоже.

Поэтому, ещё раз и снова: взломать можно любую систему. Вопрос всегда в: 1) деньгах; 2) времени; 3) иных затраченных ресурсов. То есть, если вас ломать дорого, долго и нудно по подбору инструментов - этого не будут делать. Более того: деструктивные атаки убивают даже это правило, но они сверх-дороги, гипер-индивидуальны и массо я их не жду раньше 2027-2030 гг. (например, на отдельные блокчейны)

Где искать больше информации?

Список:

  1. Rekt.news
  2. Xakep.ru
  3. И в подборке: https://t.me/web3news/4763

Всё и встретимся во второй части, а пока -

До!