Атаки на блокчейн, их виды

Фото - Атаки на блокчейн, их виды
Сообщения об очередных взломах баз данных регулярно появляются в медиапространстве. Блокчейн воспринимается как более защищенное решение. Однако он также подвергается атакам. Собрали для вас наиболее распространенные виды атак на блокчейны.
Блокчейн является инновационной технологией и инструментом информационной безопасности, но как известно, ни одна технология или программное обеспечение не могут быть защищены на 100%. И блокчейн не исключение. Атаки на распределенные реестры отличаются по способам взлома и в большинстве случаев нацелены воспользоваться пробелами в механизме консенсуса для получения монопольного контроля над хешрейтом или отдельных структурных элементов инфраструктуры – нод. Такой контроль позволяет изменять информацию, внесенную в реестр, и на время создать транзакционный хаос для кражи монет.

Атака 51%

Это самая распространенная угроза для блокчейнов. Такое название атака получила по аналогии с владением контрольным пакетом акций или голосов в мире крупных корпораций. Эта атака актуальна для Proof-of-Work блокчейнов, использующих такие криптовалюты как Bitcoin, Litecoin, Monero и другие.

Атака состоит в том, что один человек или группа лиц получают контроль над значительной долей хешрейта в объеме более 50% (над майнинговыми мощностями, используемыми для эмиссии монет). Это дает злоумышленникам возможность изменить порядок транзакций, удалить или предотвратить их подтверждения. Кроме того, атакующие пытаются помешать другим майнерам добывать новые монеты. Такие действия направлены на создание искусственного сбоя в работе сети. Например, удаление транзакций позволяет хакерам использовать криптовалюту несколько раз — практика, известная как двойная трата (double spending).

Блокчейн фактически захвачен в результате такой атаки, и есть риск, что все средства участников будут принадлежать злоумышленникам.  В крупных сетях, таких как Bitcoin, где число участников (узлов) велико, а оборудование для майнинга довольно дорогостоящее, шансы на атаку все еще очень низки. Однако небольшие сети с малым количеством валидаторов, к сожалению, не застрахованы от этого.

Блокчейны таких монет, как Zencash (ZEN), Litecoin Cash (LCC), MonaCoin (MONA), Verge (XVG), Bitcoin Gold (BTG) и ряд Ethereum-блокчейнов, таких как Krypton и Shift, подвергались атаке 51%. 

Атака Eclipse

Также известная как атака затмения. Является особым типом угрозы для блокчейна, при которой злоумышленник сосредотачивает свои усилия на захвате контроля над одной нодой или целой группой, перенаправляя исходящие и входящие данные на собственные узлы, тем самым изолируя обманутого пользователя от реальной сети и реальных данных. Детали атаки этого типа мы уже описывали ранее.

Атака Сивиллы (Сибиллы)

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

Для атаки злоумышленники объединяются и стремятся контролировать значительное количество нод в сети. Захватив достаточное количество узлов, злоумышленники пытаются вывести сеть из строя, управляя валидными и создавая невалидные (ложные) транзакции. Впервые атаку Сивиллы описал эксперт из Microsoft Джон Досье, который высказал мнение, что блокчейн не способен различать физические и виртуальные узлы сети. С тех пор были предприняты попытки создать и внедрить механизмы распознавания и идентификации оборудования, на котором развернуты ноды, но они не принесли желаемых результатов.

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

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

Атака Финни

Первым получателем перевода в BTC, как известно, был Хэл Финни. Он является одним из наиболее вероятных кандидатов на звание создателя биткоина, который скрывает свою личность под псевдонимом Сатоши Накамото. Он также был первым, кто допустил возможность создания атаки на блокчейн. Поэтому угроза была названа в его честь атакой Финни.

Это еще один тип double spending атаки, основанный на неподтвержденных транзакциях в сети. Финни предположил, что любой майнер имеет возможность сгенерировать блок, в который он включит транзакцию с адреса A в адрес B, где оба адреса принадлежат одному лицу. Затем он совершит перевод в той же валюте, отправив монеты с адреса A в адрес C, который принадлежит другому пользователю. И если получатель перевода примет транзакцию без подтверждения из сети, злоумышленник может освободить блок, в который была включена его первоначальная транзакция. Это сделает такой перевод недействительным, позволяя злоумышленнику удвоить расходы.

Атака-гонки

Это тоже double-spending угроза. Неопытные и торопливые продавцы рискуют продать товар или услугу в результате неудачного перевода средств благодаря имитации попытки платежа. Некоторые предприниматели принимают микроплатежи, не дожидаясь подтверждения. Мошенник может попытаться сымитировать такой перевод: осуществить транзакцию на адрес продавца и одновременно на свой адрес в сети, транслируя на блокчейн только вторую. Последняя транзакция будет считаться действительной при проверке, в то время как первая (поздняя) транзакция будет недействительной.

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

Атака Vector76

Свое название атака, известная также как атака одного подтверждения, получила благодаря пользователю форума Bitcointalk под ником Vector76, который поделился точным описанием такого способа double-spending еще в далеком 2011 году. Этот тип атаки базируется на синергии атаки-гонки и атаки Финни.

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

Чтобы атака была успешной, должны быть выполнены следующие условия:

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

Атака на криптографические функции (дыры в коде)

Проблему человеческого фактора никто не отменял. Наиболее известный случай произошел, когда мошенник обнаружил уязвимость в исходном коде блокчейна Ethereum, благодаря чему присвоил себе монет в эквиваленте около $50 млн (тогда это составляло почти 30% от всей эмиссии монет).Этот печальный инцидент расколол комьюнити на две группы. Первая, во главе с известными соучредителем Ether, была возмущена кражей и предложила совершить хардфорк и вернуть монеты их законным владельцам. В то же время оппоненты из другой группы считали, что неписаное правило "код – это закон" делает хакеров настоящими владельцами монет. В результате обе группы тогда смогли найти консенсус и сошлись на решении по созданию софтфорка.

В завершение

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