10 декабря 2021

⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных

Автор статей по блокчейну, криптовалюте, безопасности и общим темам
В последнее время все чаще можно услышать о скандалах, связанных со взломами и утечками информации. Блокчейн кажется абсолютно безопасным, но так ли это на самом деле? Рассказываем о десятке самых распространенных атак на распределенные базы данных.
⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных
Любая технология не может быть на 100% защищенной, и блокчейн не является исключением. Атаки на распределенные базы данных отличаются способом взлома: целью является механизм консенсуса, что позволяет изменять информацию, которая вносится в реестр.

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

1. Атака 51%

Самая распространенная угроза для сети блокчейн. Название атаки – аналогия с контрольным пакетом акций в бизнес-сфере. Проблема в протоколе Proof-of-Work, который используют такие проекты как Bitcoin, Litecoin, Monero и другие: атака заключается в сговоре более половины владельцев всего включенного вычислительного оборудования.

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

  • В августе 2016 года блокчейны Ethereum, Krypton и Shift подвергались атаке 51%. При помощи double-spending были украдены миллионы коинов. После нападения разработчики усилили защиту сетей, например, в Krypton количество необходимых для проведения транзакции подтверждений увеличили до одной тысячи.
  • В 2014 году майнинговый пул Ghash.io превысил 51% собственной вычислительной мощности в биткоине из-за популярности сети. Руководство добровольно отказалось от части своей доли и значение больше не превышает 39,99%.
⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных

2. Атака Eclipse

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

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

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

3. Атака Vector76

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

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

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

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

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

Самый популярный тип атаки на р2р-сети (одноранговые системы с равноправными участниками). Название этот метод получил в честь известного случая, когда женщина страдала диссоциативным расстройством личности: узел в блокчейне также приобретает несколько сущностей.

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

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

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

5. Атака Финни

Первым получателем биткоин-транзакции был Хэл Финни и именно он первым заговорил о запуске биткоина. Он также был первым, кто предположил возможность двойной атаки на сеть. По этой причине атака была названа Финни Хаком или Атакой Финни в его честь.

Финни Хак – это тип атаки с двойными расходами, что может произойти, когда человек принимает неподтвержденную транзакцию в сети. Финни объяснил, что майнер может сгенерировать блок, в который он включит транзакцию с адреса A на другой адрес B, где оба адреса принадлежат ему. Затем вы произведете еще один платеж в той же валюте, отправив с адреса A на адрес C (который принадлежит другому пользователю).

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

6. Атака маршрутизации

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

⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных

7. Атака-гонка

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

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

Для предотвращения такой атаки не рекомендуется принимать входящие подключения в узел и дожидаться нескольких подтверждений перевода (3 подтверждения для суммы от 1000$ до 10000$, 6 – от 10000$ до миллиона $, а для еще более крупных транзакций – до 60 подтверждений).

8. Атаки по уязвимостям криптографических функций

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

Как пример, в сети Ethereum мошенник обнаружил уязвимость в исходном коде и присвоил около 50 миллионов $ в коинах проекта, что составляло примерно 30% всего объема монет. Из-за произошедшего сообщество раскололось на две группы. Первая, во главе с создателем Эфира, возмутилась кражей, предложив сделать хардфорк и вернуть коины законным держателям. Их оппоненты были уверены, что настоящим владельцем монет теперь является хакер (“Код — это закон”). В итоге сообщество пришло к соглашению по созданию софтворка.

9. Намеренное переполнение очереди транзакций

Такой случай впервые произошел в уже далеком 2015-м году. Coinwallet.eu проводила стресс-тест блокчейн-сети первой криптовалюты, отправляя несколько тысяч транзакций на обработку. Так компания хотела разрешить дискуссию в сообществе по поводу размера блока реестра. Через месяц F2Pool совершил подобные манипуляции, проведя более 80 тысяч транзакций за небольшой промежуток времени.

Разногласия касательно размера блока продолжаются и сегодня: они привели к созданию форка биткоина – Bitcoin Cash. Пользователей этой криптовалюты обвиняют в применении этого способа атаки с целью привлечения больших инвестиций в собственные проекты.

⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных

10. Отказ в обслуживании

Так называемые DDoS-атаки строятся на отправке большого количества идентичных запросов. У Биткоина есть встроенная защита для подобных случаев. Например, размер блоков и скриптов в сети ограничен, что усложняет возможность засорения пулов памяти нодов. Помимо этого, количество подписей для проверки и запросов проверки мультиключей также лимитировано.

Клиенты блокчейна блокируют транзакции узлов с подозрительной активностью. В одном из последних обновлений Bitcoin Satoshi была внедрена функция для регистрации нестандартных транзакций весом более 100 килобайт. Кроме адресанта проверяется кошелек и валидность адресата.

***

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


Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ