⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных
В последнее время все чаще можно услышать о скандалах, связанных со взломами и утечками информации. Блокчейн кажется абсолютно безопасным, но так ли это на самом деле? Рассказываем о десятке самых распространенных атак на распределенные базы данных.
Майнеры обладают уникальным правом подтверждать правомерные транзакции внутри сети и доля каждого из них определяется хешрейтом – вычислительной мощностью блокчейна. Чем больше “власти”, тем проще совершить одну из следующих видов атак.
1. Атака 51%
Такие условия позволяют хакеру провести атаку double-spending, при которой он может потратить большую сумму, чем есть у него в кошельке. В итоге происходит захват блокчейна, а все средства участников переходят в собственность хакеров. В крупных сетях шанс проведения такой атаки в несколько раз ниже из-за большого количества участников и дорогостоящего оборудования.
- В августе 2016 года блокчейны Ethereum, Krypton и Shift подвергались атаке 51%. При помощи double-spending были украдены миллионы коинов. После нападения разработчики усилили защиту сетей, например, в Krypton количество необходимых для проведения транзакции подтверждений увеличили до одной тысячи.
- В 2014 году майнинговый пул Ghash.io превысил 51% собственной вычислительной мощности в биткоине из-за популярности сети. Руководство добровольно отказалось от части своей доли и значение больше не превышает 39,99%.
2. Атака Eclipse
Изоляция узла-цели позволяет подтверждать неправомерные транзакции от его имени и отрезать его от сообщения с соседними узлами – хакеру не нужно взламывать сеть целиком, он ограничивается небольшим набором узлов. Для блокировки нода используется ботнет или фантомная сеть для заполнения узла IP-адресами для синхронизации при следующем подключении.
Последствиями атаки затмения обычно являются атаки двойного расхода, о котором уже было сказано выше, а также нарушение питания майнера, когда взломанный пользователь тратит электроэнергию и время на решение задач искусственных блоков, не существующих в реальной сети блокчейна.
3. Атака Vector76
Методами борьбы с такой атакой являются обрыв входящих подключений к ноду и исходящее подключение только к подтвержденным узлам. Для осуществления атаки злоумышленнику нужно пожертвовать одним блоком, который не будет транслироваться в сеть, а отправится только узлу жертвы.
Для успеха такой атаки должны быть выполнены следующие условия:
- электронный кошелек для вывода средств с одним подтверждением сети;
- разрешение прямых входящих подключений в узле от провайдера кошелька;
- узел жертвы должен обладать фиксированным IP-адресом.
4. Атака Сивиллы (Сибиллы)
Для проведения атаки злоумышленники объединяются и контролируют значительное количество узлов в сети. После проведенных манипуляций и захвата нужного числа нодов, хакеры пытаются вывести сеть из строя, управляя валидными и создавая невалидные транзакции. Впервые атаку Сивиллы описал эксперт из Microsoft Джон Досье, по мнению которого сеть не может различить физическое оборудование. Были предприняты попытки создания и внедрения механизмов для распознавания и идентификации ПК, но безрезультатно.
Вред от такой атаки может проявляться по-разному – от накрутки рейтинга до фальсификации голосов. В случае успеха злоумышленник может отключить взломанных пользователей от сети, провести атаку 51% и двойного расхода, а также видеть поток всех проводимых транзакций благодаря специальным программам.
В блокчейне сети Биткоин этот тип атаки исключается благодаря перечню требований к генерации новых блоков. Согласно правилам консенсуса – способность создания блока равна вычислительной мощности механизма Proof-of-Work. Ограничение по генерации делает невыгодной атаку Сивиллы в блокчейне первой криптовалюты.
5. Атака Финни
Первым получателем биткоин-транзакции был Хэл Финни и именно он первым заговорил о запуске биткоина. Он также был первым, кто предположил возможность двойной атаки на сеть. По этой причине атака была названа Финни Хаком или Атакой Финни в его честь.
Если указанный пользователь принимает транзакцию без подтверждений из сети, злоумышленник может освободить блок, в который включена его первоначальная транзакция. Это делает недействительной совершенную продавцом транзакцию, позволяя злоумышленнику удвоить расходы.
6. Атака маршрутизации
Это тип атаки, возможный при внедрении постороннего программного обеспечения в работу клиент-провайдера. Специалисты по всему миру обращают контролируют вероятность такого взлома. Несмотря на то, что узлы в сети блокчейна разбросаны по разным уголкам планеты, разные интернет-провайдеры сообщаются между собой и могут оказывать воздействие на сеть.
7. Атака-гонка
Мошенник может обратить такой перевод: отправить транзакцию ноду продавца и на свой адрес в сети, транслируя в блокчейн только вторую. Валидной при проверке сочтут именно последнюю транзакцию, а первый перевод будет недействительным.
Для предотвращения такой атаки не рекомендуется принимать входящие подключения в узел и дожидаться нескольких подтверждений перевода (3 подтверждения для суммы от 1000$ до 10000$, 6 – от 10000$ до миллиона $, а для еще более крупных транзакций – до 60 подтверждений).
8. Атаки по уязвимостям криптографических функций
Как пример, в сети Ethereum мошенник обнаружил уязвимость в исходном коде и присвоил около 50 миллионов $ в коинах проекта, что составляло примерно 30% всего объема монет. Из-за произошедшего сообщество раскололось на две группы. Первая, во главе с создателем Эфира, возмутилась кражей, предложив сделать хардфорк и вернуть коины законным держателям. Их оппоненты были уверены, что настоящим владельцем монет теперь является хакер (“Код — это закон”). В итоге сообщество пришло к соглашению по созданию софтворка.
9. Намеренное переполнение очереди транзакций
Разногласия касательно размера блока продолжаются и сегодня: они привели к созданию форка биткоина – Bitcoin Cash. Пользователей этой криптовалюты обвиняют в применении этого способа атаки с целью привлечения больших инвестиций в собственные проекты.
10. Отказ в обслуживании
Клиенты блокчейна блокируют транзакции узлов с подозрительной активностью. В одном из последних обновлений Bitcoin Satoshi была внедрена функция для регистрации нестандартных транзакций весом более 100 килобайт. Кроме адресанта проверяется кошелек и валидность адресата.
Наш список включает только самые распространенные атаки на системы блокчейна – их разнообразие поражает. Некоторые типы взломов сети интересны и выгодны мошенникам с финансовой точки зрения, а другие проводятся из любопытства или стремления показать обществу хрупкость цифрового мира. Не стоит также сбрасывать со счетов прогресс в области кибербезопасности. Разработчики постоянно тестируют и внедряют в системы защитные механизмы, модернизируют программное обеспечение и контролируют возможные атаки. Если вы хотите инвестировать в криптовалюту или заняться созданием собственных решений на блокчейне, следует учесть риски. Удачи.