Атакуем проекты: как можно взломать ICO

КриптачКриптач

Атакуем проекты: как можно взломать ICO

$225 миллионов, или 10% от всех вложений через Ethereum удалось украстьмошенникам во время ICO в 2017 году, деньги были похищены в одном случае из десяти. По итогам исследований от различных групп безопасности, становится понятно, что зачастую хакеры не применяют сверхъестественное оборудование и не придумывают ничего нового, а используют самые примитивные методы.

Виноват человек

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

«Если расценивать в целом, то безопасность в блокчейн-индустрии удовлетворительная. Есть такие ресурсы, которые так и просят: “Взломай меня”. Это все по причине халатности организаторов любого проекта. Атакуют тех, кто мало уделяет внимания безопасности системы», — говорит в комментарии для DeCenter Magazine бывший хакер Владислав Хорохорин (известен под псевдонимом BadB), который более семи лет отбывал наказание в американской тюрьме за кибермошенничество в крупном размере.

Из этого утверждения можно выделить несколько уязвимостей, которые были допущены ввиду отсутствия навыков или желания у участников проекта в проработке деталей информационной неприкосновенности системы. Компания Positive Technologies, занимающаяся анализом защищенности, соответствия стандартам веб-приложений банков и других финансовых организаций, в феврале 2018 года опубликовала отчет, где говорилось о том, что в среднем каждый ICO-проект содержит 5 уязвимостей, а именно:

Ошибки при написании смарт-контрактов, которые происходят по причине отсутствия компетентных, знающих принципы безопасности разработчиков и программистов;

Ошибки при настройке архитектуры, устройства и развертывания блокчейн-платформы;

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

Отсутствие мониторинга подозрительных транзакций на протяжении всех этапов ICO.

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

Команда атакована

Социальная инженерия является уязвимой и все чаще используется в кибератаках как точка проникновения, ведь человеческое доверие, и невнимательность по-прежнему остаются главными причинами утечек данных. Личные и корпоративные аккаунты подвергаются нападению, ведь информацию об участниках ICO-команды со всеми ссылками на страницы можно найти на сайте проекта. Организаторы выкладывают биографические справки, фотографии и другие данные создателей, это необходимо для демонстрации серьезных намерений и открытости к коммуникациям с потенциальными инвесторами. Хакеры собирают данные и управляют ими, опираясь на свои технические способности и фантазии.

«Веб-инжекты (технология, позволяющая изменить содержимое веб-страницы на стороне клиента и добавить свой контент. — DeCenter Magazine) и нерадивость персонала, то есть социальная инженерия, являются очень незащищенной точкой. Сломать можно все, но здесь большой вопрос — стоит ли овчинка выделки», — говорит Хорохорин и добавляет, что к каждому проекту разрабатывается собственный подход.

Специалисты из компании по предотвращению и расследованию киберпреступлений Group-IB в своем исследовании за 2017 год, где были проанализированы порядка 450 кибер-вмешательств в ICO-проекты по всему миру, поставили атаки с социальным вектором на 3-е место среди популярных методов. В эту категорию включили атаки на членов команд проектов и воровство монет у представителей комьюнити через социальные сети, тематические форумы и медиа-ресурсы.

«В последние месяцы 2017 года и в начале 2018 мы зафиксировали всплеск мошенничеств в социальных сетях, где злоумышленники используют хорошо известные методы социальной инженерии: сообщения от “имени” службы безопасности криптовалютного сервиса, объявление о выигрыше монет в конкурсе, приглашение принять участие в каком-либо важном для комьюнити типе активности и другое», — говорится в отчете Group-IB.

Атаки осуществляются с помощью известных, уже давно изобретенных приемов, которые не отличаются креативом и уникальностью, но все равно продолжают работать. К ним относятся:

Фишинг — самый опасный и распространенный тип угроз, который заключается в краже идентификационных паролей и пользовательских данных с помощью спам-рассылки. Мошенники выстраивают сложные многоэтапные программы и схемы, которые побуждают на открытие запрещенных ссылок, это охватывает все комьюнити ICO-проекта. В электронных письмах мошенники представляются членами ICO-проекта и под каким-либо заманивающим предлогом просят пройти по скомпроментированной ссылке — эта процедура перенаправления на мошеннический сайт с ложным IP-адресом называется фармингом. После клика вся конфиденциальная информация о пользователе остается на сайте киберпреступников. На долю фишинга приходится более 50% всех похищенных средств. По данным Group-IB, группировки похищают таким способом от $30,000 до $1.5 миллиона в месяц. Манипуляции осуществляются через фишинговые сайты — клоны официального ресурса проекта. Например, клон американского проекта Numeraire был зарегистрирован в августе 2017 года и распространялся через мессенджер Slack от хакера, который представлялся сотрудником хедж-фонда. Злоумышленники выпрашивали приватный ключ и выводили все средства с аккаунта пользователей. Эти же мошенники создали копии сайтов 7 других криптовалютных проектов. Только в августе 2017 года они аналогичным образом опустошили почти 350 кошельков на $1.4 миллиона. Фишеры настраивают контекстную рекламу в поисковиках и забрасывают адреса своих сайтов во все каналы коммуникации. Ведь, как правило, пользователи в ажиотаже ICO при желании заработать зачастую не проверяют сайт, на котором покупают токены.

Слева представлена главная страница официального сайта проекта Numeraire, справа — фишинговый сайт. Отличие в клавишах «learn more about airdrop» и «sing in» почти незаметно и может ввести в заблуждение даже самых внимательных пользователей.

Кража электронной почты организаторов ICO — незамысловатый прием, который предоставляет возможность открыть все привязанные к ящику социальные сети. Информация об участниках проекта есть на каждом сайте для того, чтобы инвесторы видели серьезные намерения членов команды. Хакеры с помощью логина почты могут воспользоваться функцией восстановления пароля через мобильный номер (для этого стоит лишь купить полную детализацию смс-сообщений на черном рынке) и пройти всю аутентификацию, угадав ответы на контрольные вопросы. При успешной реализации атаки кибер-мошенники получают возможность писать инвесторам проекта от лица организаторов, дезинформировать и требовать перечислить дополнительные средства и прочее. Восстановленный пароль от хостинга открывает почти безграничные возможности перед хакерами, например, они могут заменить ID кошелька проекта на свой. Таким образом у Coindash.io было похищено $7 миллионов.

Чтобы предотвратить все хакерские нападки на членов команды, необходимо соблюдать правила безопасности:

Отказаться от использования простых числовых и словарных паролей типа 123456, qwerty, а также имен, дат рождений, названий улиц и так далее, разработать строгие правила для корпоративной парольной политики и беспрекословно выполнять их. Главное — не открывать ссылки с незнакомых адресов;

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

Защитить инфраструктуру от атак через восстановление учетных записей с помощью установки новых версий ОС и включения группы привилегированных, изолированных от несанкционированного доступа пользователей;

Удалить те данные с сайтов проекта, которые представляют особую значимость для команды и привязаны к источникам конфиденциальной информации;

Провести анализ защищенности беспроводных сетей, проверить надежность используемых методов аутентификации, настроить изоляцию пользователей точки доступа;

Периодически интересоваться данными по атакам и методам их нивелирования, контролировать всю сеть, использовать SIEM-систему;

Архитектуру могут разрушить

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

Некоторые уязвимости связаны с безопасностью самого блокчейна и механизма его внедрения в серверную часть веб-приложения (например, при использовании web3.js). Проблемным местом является неправильная настройка CORS — технологии современных браузеров, которая предоставляет веб-странице доступ к ресурсам другого домена. Спецификация CORS помогает определять разрешенные и запрещенные запросы. Поэтому часть уязвимостей ICO свойственна всем веб-приложениям вне зависимости от сферы их использования: раскрытие информации веб-сервером, небезопасная передача данных, чтение произвольных файлов и так далее. Например, как говорится в исследовании Positive Technologies, в одном из проверенных проектов была обнаружена уязвимость чтения произвольных файлов — arbitrary file reading. Благодаря этому недостатку системы хакеры могут зарегистрировать учетную запись у того хостинг-провайдера, где размещается веб-приложение, и получить доступ к тому же серверу, где находится домен веб-приложения ICO. Таким образом злоумышленники смогут получить доступ к файлам конфигурации, а значит, и загружать на сервер любые данные. В этом случае все деньги от инвесторов попадают к хакерам.

Покушение на самое главное

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

В смарт-контрактах не должно быть изъянов для вариаций и манипуляций действиями — все функции должны четко следовать только одному плану развития. Нарушение действий приводит к колоссальным потерям. Так, например, в июне 2016 года инвестиционный проект The DAO, построенный на базе Ethereum, за несколько часов потерял десятки миллионов долларов из-за ошибки, допущенной разработчиками при описании одной из функций. Годом позже у клиентов Parity было похищено $30 миллионов из-за уязвимости кода одного из пользователей сети, а через несколько месяцев из-за другой ошибки в смарт-контракте Parity были заморожены $285 миллионов. Ошибок программирования, которые влекут за собой взломы ICO, немало:

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

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

Целочисленное переполнение — integer overflow — ситуация, при которой вычисленное значение в результате операции не может быть помещено в n-битный целочисленный тип данных. Переполнение может возникнуть в исходном коде программы из-за ошибки разработчиков и из-за недостаточной проверки выходных данных. Так, например, при знаковом переполнении может случиться неопределенное поведение, когда компиляция пойдет по незапланированному сценарию;

«Состояние гонки», или неопределенность параллелизма, — race condition — ошибка проектирования многопоточной системы или приложения, при которой работа сети зависит от порядка выполнения частей кода. Данный гейзенбаг («глюк») системы появляется в случайные моменты и пропадает при попытке ее локализации;

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

«Вряд ли вам удастся на 100% обезопасить себя. Если хакеры захотят, они взломают вас. Но есть набор правил и политик, следуя которым можно минимизировать риски», — говорит Хорохорин.

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

Не обошлось без DDoS-атак

DDoS-атака (Distributed-Denial-of-Service — атака с распределенным отказом в обслуживании) — популярный вид кибератаки, главная цель — вывести из строя информационную систему предприятия-жертвы (например, веб-сайт или базу данных), заспамить ресурс до перегруженного состояния. Ввиду атаки легитимные пользователи не смогут получить доступ к интернет-странице проекта. Это достигается благодаря тому, что атаки происходят с разных серверов, которые могут располагаться по всему миру и заполнять трафик. При данном кибер-нападении невозможно отличить хакеров от легальных членов сети, что оборачивается риском для любого ICO, утверждает директор специальных проектов Group-IB Руслан Юсуфов.

«По-прежнему опасными остаются и DDoS-атаки, которые, как правило, используются в комбинации с фишинговыми сайтами. Недоступность основной площадки проекта позволяет перенаправить инвесторов на поддельные сайты. Кроме этого, известны случаи вымогательства за прекращение атаки. Большинство проектов неправильно конфигурирует анти-DDoS защиту. При этом DDoS-атакам подвергается практически каждый проект, выходящий на ICO. Несмотря на то, что для реализации таких атак нужна достаточно серьезная технологическая подготовка, подобные сервисы доступны на черном рынке», — говорит Юсуфов.

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

Для избежания атак необходимо регулярно следить за работой всех структур проекта. Для этого нужно:

Установить программы, расширенные службы защиты анти-DDoS. CloudFlare, Incapsula, Akamai или DoS Arrest помогают эффективно смягчать атаки. Но эти системы могут дать сбой, и мошенники найдут способ их обхода, поэтому постоянный контроль за системами лишним не будет.

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

Установить WAF — web application firewall, который будет генерировать правила безопасности и проверять влияние вредоносных полезных нагрузок в режиме реального времени.

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

Следить за официальным сайтом ICO-проекта. Необходимо регулярно отслеживать любые изменения на веб-страницах и в социальных сетях, фиксировать всю активность, а также изменения контента. Чем жестче и чаще будет контроль, тем быстрее можно будет найти вектор атак.

Пожалуйста, будьте внимательны

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

«Никогда не пренебрегайте собственной безопасностью, а если не хотите, то лучше и вовсе оставить эту работу и заняться чем-то другим», — напоследок советует Владислав Хорохорин, который неоднократно взламывал электронные сети.

03:01
594