Rambler's Top100
Статьи ИКС № 1 2018
Николай НОСОВ  17 апреля 2018

Блокчейн – новый рынок информационной безопасности

Рост популярности технологий распределенного реестра приводит к созданию нового рынка услуг.

In Code we trust – такой девиз характеризует наиболее последовательных сторонников использования технологий распределенного реестра и криптовалют. Убрать армию посредников, обеспечивающих доверие, и заменить их программным кодом. Успешный пример блокчейна Bitcoin показывает, что это реально. Цепочка блоков, работающая в максимально недоверенной, а часто и преступной среде, не была взломана за девять лет успешной работы. Но даже такая надежная технология не решила всех проблем* информационной безопасности. Злоумышленники атаковали менее защищенные участки технологической цепи – кошельки пользователей и криптобиржи, так что работы у специалистов по расследованию инцидентов безопасности хватало. Резкий всплеск интереса к криптовалютам в прошлом году только обострил существующие проблемы.

Уязвимости методов консенсуса

Технология распределенного реестра базируется на понятии консенсуса – механизма синхронизации данных распределенных узлов сети. В системе постоянно формируются альтернативные цепочки блоков, что является совершенно нормальным, ведь разные майнеры, конкурирующие за премию за формирование нового блока, могут почти одновременно приходить к правильному решению. Механизм консенсуса позволяет выбрать основную цепочку – определить победителя Вi + 2 (1) и отбросить альтернативные цепочки Вi + 2 (2) и Вi + 1 (3) (рис. 1).

В блокчейн-системах, использующих метод консенсуса Proof-of-work (PoW), очередной блок подтверждается участником (майнером), который первым выполнил сложную вычислительную задачу подбора хеш-функции блока в соответствии с заданными в системе условиями. Например, в Bitcoin требуется подобрать такое значение поля nonce, чтобы хеш-функция содержимого нового блока и хеша предыдущего (таким образом новый блок подвязывается к существующей цепочке) имела в первых полях заданное системой количество нулей** (значение меньше числа, определяющего сложность расчета).

В сети Bitcoin половина узлов получает информацию о новом блоке за 12 секунд. Разрыв во времени между лидерами может быть небольшим по сравнению со временем распространения информации о новом блоке. Майнер, пославший решенный блок Bi (1) первым, успеет получить поддержку большего числа узлов (нод) пиринговой сети (узел получает решенный блок и передает его дальше). Тем не менее есть вероятность появления альтернативной цепочки (форка) в узлах, первыми получивших решение другого майнера – Bi (2). Вероятность решения следующего блока Bi+1 (1) будет выше у майнеров первой группы – получив решение блока Bi (1), они сразу приступают к поиску решения Bi + 1 (1), – и сторонников первой ветки станет еще больше. При этом цепочки могут и дальше делиться, так на рис. 1 вторая цепочка блоков разделилась на Bi + 1 (2) и решенный чуть позже блок Bi + 1 (3).

Вероятность получения поддержки узлов у Bi + 1 (3) совсем мала, поэтому на следующем этапе конкурировать будут блоки более длинных цепей Вi + 2 (1) и Вi + 2 (2), причем у Вi+2 (1) шансов на победу будет больше. В результате такого итерационного механизма узлы приходят к консенсусу, и данные в них синхронизируются. Считается, что в блокчейне Bitcoin консенсус гарантированно достигается через шесть решенных блоков.

Для быстрого расчета нужны большие вычислительные мощности. Альтернативный вариант – использование метода Proof-of-stake (PoS). Тогда вероятность формирования участником очередного блока пропорциональна доле, которую составляют принадлежащие этому участнику расчетные единицы данной криптовалюты. Идея привлекательна и понятна – отказаться от майнинга за счет вероятностного подхода, при этом давать предпочтение участникам, наиболее заинтересованным в правильном функционировании системы.

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

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

В своей «Белой книге биткойна» Сатоши На­ко­мото писал: «Если какой-то жадный злоумышленник сможет собрать больше процессорных мощностей, чем есть у всех честных узлов, ему придется выбирать между тем, чтобы с их помощью обманывать людей и красть их платежи либо атаковать сеть иным образом, и тем, чтобы создавать новые денежные единицы, используя свои мощности. Гораздо выгодней для него стало бы играть по правилам, которые поощряли бы его большим количеством новых денег, чем у всех остальных, нежели наносить вред системе и таким образом и его собственному благосос­тоя­нию».

В открытых блокчейнах, основанных на PoW, такой подход работает. Теоретически возможная атака «51 процент», когда злоумышленник задействует более половины мощности сети (в действительности есть вероятность успешной атаки и при меньшей контролируемой мощности), так и остается гипотетической. Риски ее успешного проведения увеличиваются для альт­чейнов с низким хешрейтом (т.е. вычислительной мощностью) сети.

А вот в простейших вариантах PoS-консенсуса наиболее экономически выгодным поведением может быть размножение ответвлений цепочки (форков) блока для повторной траты средств (атака double-spending). Ничем особенно не рискует при PoS-консенсусе и проводящий «атаку предвычислением», когда злоумышленник добавляет транзакцию в блок Bi (2) так, чтобы иметь возможность решить следующий блок Bi + 1 (2). Атакующий может строить свою цепочку в секрете, чтобы потом обогнать правильный блокчейн с транзакцией, которую хочет отменить. В борьбе с такими махинациями помогают более сложные алгоритмы доказательств доли (DPoS, deposit based proof of stake), в которых используется залог, конфискуемый в случае некорректного поведения участника.

Общей проблемой для всех видов консенсуса является атака «отказ в облуживании», или DoS, когда злоумышленник наполняет сеть транзакциями малой стоимости. Такая атака на сеть Bitcoin была проведена в июле 2015 г.

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

Ошибки в ПО

Мощный удар по вере в принцип In Code we trust был нанесен в 2016 г. При атаке на The Dao (децентрализованную автономную организацию, созданную на платформе Ethereum) злоумышленник не нарушал правила, а использовал логическую ошибку в алгоритме, позволяющую повторно выводить уже потраченные средства. Деньги перечислялись из кошелька, но из-за временного разрыва сразу не снимались, так что появлялась возможность организовать «насос»: получающий кошелек возвращал уже потраченные средства и удваивал сумму в кошельке злоумышленника.

Часть денег участники смогли спасти, выведя их из децентрализованной организации на другие кошельки, но итог все равно впечатлил: украденная сумма превышала 50 млн в долларовом эквиваленте.

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

В код можно верить, но нельзя забывать о возможных ошибках программистов. Причем в проектах на основе технологии блокчейн их особенно много. Бывший председатель совета Bitcoin Foun­dation Питер Вессенес оценил среднее количество ошибок в смарт-контрактах Ethereum как 100 на 1 тыс. строк кода, в среднем по криптовалютной отрасли – 15–50. Для сравнения: компания Microsoft выпускает код с 0,5 ошибок на 1 тыс. строк.

Традиционные угрозы

Для блокчейн-решений актуальны и традиционные риски информационной безопасности. В апреле 2016 г. на криптовалютной бирже Shape­Shift через программу удаленного администрирования на компьютере разработчика были украдены персональные данные пользователей. В результате атаки удалось похитить сумму, эквивалентную $600 тыс. Халатность и мошенничество сотрудников, социальная инженерия, не измененные скомпрометированные пароли – вот причины наиболее крупных хищений в 2017 г. (табл. 2).

По-прежнему представляют проблему фишинговые сайты. Набрал в поисковике «Яндекс» название криптокошелька для Ethereum и получил в результатах поиска на первой позиции фишинговый сайт, где в доменном имени незаметно изменены буквы (рис. 2).

Резкий рост рынка ICO в 2017 г. не остался незамеченным для мошенников. Новый нерегулируемый рынок привлек большое количество желающих украсть часть собираемых средств. Согласно данным компании Group-IB, каждое ICO атакуют в среднем около 100 раз в течение месяца. Среди атак – фишинг, дефейс (deface – подмена сайта во время ICO), DDoS, а также целенаправленные атаки с целью компрометации секретных ключей и получения контроля над счетами.

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

Новый рынок

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

Общие рекомендации: использовать наилучшие практики защиты, проводить аудит кода, инфраструктуры, искать уязвимости в логике выполнения программ. Хорошим решением будет проведение тестов на проникновение. Клас­си­ческие решения области ИБ, включающие технические и организационные меры, вполне применимы и для блокчейн-технологий.

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

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

____________________________________________ 

* Блокчейн: технология не решает проблему доверия. «ИКС» № 3–4’2017, с. 66, № 5–6’2017, с. 69.
** Блокчейн и облака. «ИКС» № 3–4'2016, с. 48. 

Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!