За первые шесть месяцев 2018 года ICO привлекли $11,8 млрд, тогда как сборы за аналогичный период прошлого года составили $5,5 млрд. Интересный факт — порядка 7% привлеченных в 2017 году на ICO средств были похищены хакерами. Руководитель группы исследований отдела разработки средств защиты приложений Positive Technologies Арсений Реутов рассказал, как найти ошибки в смарт-контракте, избежать обмана при ICO и обезопасить свои вложения.
Собрать деньги с помощью ICO (первичного размещения токенов) может любой. Процедура отчасти похожа на выход компании на биржу, но условия ICO, как правило, формулируются в программном коде, называемом смарт-контрактом. Умные контракты помогают также ускорить финансовые операции и повысить их прозрачность. Подобные сделки уже проводили Сбербанк и ПАО «Северсталь», Альфа-Банк и S7 Airlines, а вскоре смогут заключать банки Беларуси.
В прошлом году мы проанализировали защищенность десятков проектов ICO и реализаций блокчейн-технологий в банках в России и за рубежом. В каждом проекте ICO в среднем содержалось пять уязвимостей. В некоторых случаях злоумышленникам хватило бы одной такой ошибки, чтобы присвоить деньги инвесторов.
Ошибки в контрактах
Летом 2016 года инвестиционный проект The DAO, построенный на базе Ethereum, за несколько часов потерял более $40 млн из-за ошибки разработчиков: один из пользователей нашел способ зациклить легитимную функцию в смарт-контракте.
Поскольку злоумышленник действовал в рамках правил платформы DAO, предотвратить возможность вывода им средств инвесторов проекта удалось только с помощью хардфорка Ethereum — то есть фактического разделения криптовалюты на две. Благодаря этому действию токены DAO были заморожены и переведены на новый адрес контракта, откуда инвесторы проекта смогли их вывести. Те же, кто не согласился с таким шагом, составили ядро пользователей новой криптовалюты Ethereum Classic.l
Этот шаг вызвал бурные обсуждения в криптосообществе. По мнению многих пользователей, атака на DAO была проведена с помощью легитимных действий, а значит менять правила работы блокчейна для спасения инвесторов одного, пусть и крупного, проекта нельзя. По мнению противников хардфорка, такой шаг подрывает доверие к экосистеме Ethereum.
Язык, на котором пишутся смарт-контракты, имеет много нюансов, которые далеко не всегда учитываются в процессе разработки. В 71% исследованных нами проектов ICO смарт-контракты были уязвимы. А ведь эти контракты непосредственно определяют процедуру ICO. Они не могут быть изменены после публикации в блокчейне и доступны всем желающим для проверки своей защищенности.
В конце прошлого года была найдена уязвимость в смарт-контракте Ethereum у крупнейшей криптовалютной биржи Coinbase. Хорошо, что ее обнаружили специалисты по информационной безопасности, а не «черные шляпы» (т.е. киберпреступники), так как ошибка позволяла зачислять неограниченное количество криптовалюты Ethereum («эфир», ETH) на пользовательские счета.
Ситуация стала возможной из-за различий при обработке финансовых операций в блокчейне и в самом Coinbase. По правилам блокчейна, в том случае, если хотя бы один перевод в цепочке завершается неудачей, то «откатывается» вся транзакция. Система Coinbase не учитывала это правило, засчитывая все успешные переводы, кроме последнего — даже если финальный код статуса транзакции соответствовал ошибке.
Обман инвесторов
В январе должно было состояться официальное ICO проекта Experty, занимающегося внедрением блокчейна в VoIP. Но разработчиков опередили мошенники, разославшие подписчикам фальшивую информацию о старте процедуры размещения токенов. В письмах были номера поддельных Ethereum-кошельков. Поверившие сообщениям вкладчики в сумме потеряли минимум $150 тысяч.
Другая проблема нередко связана с поддельными доменами, похожими по написанию на официальный ресурс. Например, в ходе прошлогодней атаки на криптовалютную биржу Bittrex пользователи вместо авторизации на официальном сайте bittrex.com вводили свои аутентификационные данные на фишинговом ресурсе blttrex.com (в адресе использовалась буква L вместо i).
Затем с помощью полученной информации злоумышленники забирали со счетов криптовалюту жертв через официальный веб-сайт. Любые домены, схожие по написанию, должны отслеживаться проектами в области криптовалют и по возможности приобретаться, чтобы избежать подобных атак на пользователей.
Охота на организаторов и взлом сайта
Потерять несколько миллионов долларов за несколько минут можно и при перехвате злоумышленником доступа к управлению сайтом и контентом ICO. В 2017 году примерно через три минуты после старта размещения токенов Coindash.io злоумышленникам удалось подменить адрес Ethereum-кошелька, в результате чего были потеряны $7 млн. Предположительно атака стала возможна в результате восстановления пароля от домена.
В ряде проектов по анализу защищенности ICO нами была обнаружена возможность хищения электронной почты организатора ICO при помощи запроса на восстановление пароля, а затем его смены. Наличие двухфакторной аутентификации, использующей номера мобильных телефонов для доступа к email адресу, также не гарантирует 100% безопасность.
В 2017 году эксперты Positive Technologies показали сценарий получения доступа к электронной почте и криптокошельку, перехватывая SMS-сообщения с одноразовыми паролями с помощью уязвимостей SS7. В ходе эксперимента по взлому тестового кошелька в Coinbase исследователям достаточно было минимальных сведений о жертве (имя, фамилия и номер телефона), чтобы получить пароль от аккаунта и беспрепятственно вывести виртуальные деньги. Эксплуатируя уязвимости SS7 для перехвата SMS-сообщений с одноразовыми паролями, эксперты смогли узнать адрес электронной почты, привязанной к кошельку, захватить над ней контроль и получить доступ к кошельку.
В половине проектов ICO нами были выявлены уязвимости на сайтах. Часть ошибок типичны для всех веб-приложений: это инъекции (т.е. внедрение вредоносного кода), раскрытие чувствительной информации веб-сервером, уязвимости и недостатки настройки, позволяющие перехватывать данные и т.д. Встречаются и специфические ошибки: к примеру, неправильная настройка механизма безопасности браузеров CORS. Он используется для создания политик, позволяющим сайтам обращаться к сторонним, в том числе локальным, ресурсам: например, к ноде блокчейна.
Безопасность как необходимость
Поставим себя на месте инвестора. Например, ему понравилась команда проекта, сайт, дорожная карта, «вайт пейпер». Возможно, он оценил он и тот факт, что ICO, как в случае с Telegram, принимает исключительно фиатные деньги, что снижает вероятность нарваться на мошенников со стороны организаторов ICO.
Но сталкиваясь с потоком новостей о взломе и разорении ICO, сегодняшний инвестор будет выбирать среди стартапов, которые основательно позаботились об информационной безопасности своих проектов. В противном случае их взломают, и любые благие намерения не будут иметь никакого значения.
Процедура ICO обычно длится недолго, от нескольких часов до месяца, но этого времени вполне достаточно, чтобы проект был атакован. Важно проанализировать векторы угроз до ее начала, так как во время ICO их будут искать множество злоумышленников. А уязвимости, связанные, например, с атаками на инвесторов или организаторов, будут искать задолго до публичного размещения токенов.
Потенциальные инвесторы также должны уделять внимание вопросам информационной безопасности. Им необходимо не только использовать двухфакторную аутентификацию и «холодные» хранилища для криптовалюты и токенов, но и самостоятельно анализировать уровень защищенности рассматриваемых ICO.
Здесь важно уделять внимание не только базовым параметрам, помогающих отфильтровывать скам-проекты (рейтинги на ресурсах вроде Tokenguru и ICO Bench наличие проверяемой информации о команде, подробное описание бизнес-модели, проработанный White paper и т.д.), но и тому, насколько команда проекта внимательно подходит к вопросам безопасности. Например, доступна ли информация об участии в ICO всем, или ее получают только пользователи, подтвердившие email. Также в сообществах проектов в социальных сетях и мессенджерах часто появляются мошенники, выдающие себя за администраторов и пытающиеся выманить деньги пользователей — команда ICO должна оперативно пресекать такие попытки и регулярно публиковать данные о безопасных и легитимных способах покупки токенов.
Специалисты Positive Technologies помогли устранить уязвимости, избежать кибератак и успешно провести ICO целому ряду крупных проектов. Так, utrust.io в ходе ICO собрал $21 млн, Blackmoon — $30 млн, а trade.io — $31 млн.
![Версия для печати Версия для печати](https://www.kv.by/sites/all/modules/print/icons/print_icon.png)
Горячие темы