⛓ Как взломать блокчейн: 10 самых распространенных атак на криптовалюты и распределенные базы данных
Автор статей по блокчейну, криптовалюте и безопасности В последнее время все чаще можно услышать о скандалах, связанных со взломами и утечками информации. Блокчейн кажется абсолютно безопасным, но так ли это на самом деле? Рассказываем о десятке самых распространенных атак на распределенные базы данных. Любая технология не может быть на 100% защищенной, и блокчейн не является исключением. Атаки на распределенные базы данных отличаются способом взлома: целью является механизм консенсуса, что позволяет изменять информацию, которая вносится в реестр. Майнеры обладают уникальным правом подтверждать правомерные транзакции внутри сети и доля каждого из них определяется хешрейтом – вычислительной мощностью блокчейна. Чем больше “власти”, тем проще совершить одну из следующих видов атак. Самая распространенная угроза для сети блокчейн. Название атаки – аналогия с контрольным пакетом акций в бизнес-сфере. Проблема в протоколе Proof-of-Work, который используют такие проекты как Bitcoin, Litecoin, Monero и другие: атака заключается в сговоре более половины владельцев всего включенного вычислительного оборудования. Такие условия позволяют хакеру провести атаку double-spending, при которой он может потратить большую сумму, чем есть у него в кошельке. В итоге происходит захват блокчейна, а все средства участников переходят в собственность хакеров. В крупных сетях шанс проведения такой атаки в несколько раз ниже из-за большого количества участников и дорогостоящего оборудования. Она же атака затмения – особый тип кибератаки, когда хакер формирует искусственную область возле одного нода для контроля его действий. Злоумышленник перенаправляет исходящие и входящие данные с целевого узла на свои собственные, отделяя обманутого пользователя от реальной сети. Изоляция узла-цели позволяет подтверждать неправомерные транзакции от его имени и отрезать его от сообщения с соседними узлами – хакеру не нужно взламывать сеть целиком, он ограничивается небольшим набором узлов. Для блокировки нода используется ботнет или фантомная сеть для заполнения узла IP-адресами для синхронизации при следующем подключении. Последствиями атаки затмения обычно являются атаки двойного расхода, о котором уже было сказано выше, а также нарушение питания майнера, когда взломанный пользователь тратит электроэнергию и время на решение задач искусственных блоков, не существующих в реальной сети блокчейна. Свое название атака, также известная как «атака одного подтверждения», получила благодаря пользователю Bitcointalk под ником Vector76, который поделился точным описанием способа двойного расходования еще в 2011 году. Это союз атаки-гонки и атаки Финни, о которых мы поговорим ниже. Методами борьбы с такой атакой являются обрыв входящих подключений к ноду и исходящее подключение только к подтвержденным узлам. Для осуществления атаки злоумышленнику нужно пожертвовать одним блоком, который не будет транслироваться в сеть, а отправится только узлу жертвы. Для успеха такой атаки должны быть выполнены следующие условия: Самый популярный тип атаки на р2р-сети (одноранговые системы с равноправными участниками). Название этот метод получил в честь известного случая, когда женщина страдала диссоциативным расстройством личности: узел в блокчейне также приобретает несколько сущностей. Для проведения атаки злоумышленники объединяются и контролируют значительное количество узлов в сети. После проведенных манипуляций и захвата нужного числа нодов, хакеры пытаются вывести сеть из строя, управляя валидными и создавая невалидные транзакции. Впервые атаку Сивиллы описал эксперт из Microsoft Джон Досье, по мнению которого сеть не может различить физическое оборудование. Были предприняты попытки создания и внедрения механизмов для распознавания и идентификации ПК, но безрезультатно. Вред от такой атаки может проявляться по-разному – от накрутки рейтинга до фальсификации голосов. В случае успеха злоумышленник может отключить взломанных пользователей от сети, провести атаку 51% и двойного расхода, а также видеть поток всех проводимых транзакций благодаря специальным программам. В блокчейне сети Биткоин этот тип атаки исключается благодаря перечню требований к генерации новых блоков. Согласно правилам консенсуса – способность создания блока равна вычислительной мощности механизма Proof-of-Work. Ограничение по генерации делает невыгодной атаку Сивиллы в блокчейне первой криптовалюты. Первым получателем биткоин-транзакции был Хэл Финни и именно он первым заговорил о запуске биткоина. Он также был первым, кто предположил возможность двойной атаки на сеть. По этой причине атака была названа Финни Хаком или Атакой Финни в его честь. Финни Хак – это тип атаки с двойными расходами, что может произойти, когда человек принимает неподтвержденную транзакцию в сети. Финни объяснил, что майнер может сгенерировать блок, в который он включит транзакцию с адреса A на другой адрес B, где оба адреса принадлежат ему. Затем вы произведете еще один платеж в той же валюте, отправив с адреса A на адрес C (который принадлежит другому пользователю). Если указанный пользователь принимает транзакцию без подтверждений из сети, злоумышленник может освободить блок, в который включена его первоначальная транзакция. Это делает недействительной совершенную продавцом транзакцию, позволяя злоумышленнику удвоить расходы. Это тип атаки, возможный при внедрении постороннего программного обеспечения в работу клиент-провайдера. Специалисты по всему миру обращают контролируют вероятность такого взлома. Несмотря на то, что узлы в сети блокчейна разбросаны по разным уголкам планеты, разные интернет-провайдеры сообщаются между собой и могут оказывать воздействие на сеть. Еще один тип двойного расходования. Неопытные и торопливые продавцы могут отдать товар даже при неудачной попытке перевода средств, поскольку была сама попытка транзакции. Некоторые предприниматели используют “быстрые платежи” без необходимого подтверждения при небольших суммах. В кошельке принимающей стороны такая транзакция будет “в обработке”, а у адресанта – “не подтверждено”. Мошенник может обратить такой перевод: отправить транзакцию ноду продавца и на свой адрес в сети, транслируя в блокчейн только вторую. Валидной при проверке сочтут именно последнюю транзакцию, а первый перевод будет недействительным. Для предотвращения такой атаки не рекомендуется принимать входящие подключения в узел и дожидаться нескольких подтверждений перевода (3 подтверждения для суммы от 1000$ до 10000$, 6 – от 10000$ до миллиона $, а для еще более крупных транзакций – до 60 подтверждений). Специалисты по кибербезопасности в один голос говорят, что самым уязвимым местом в любой системе является человек и хакеры этим пользуются. Еще одним следствием человеческого фактора называют ошибки в коде, обнаружив которые, злоумышленник может взломать всю сеть. Как пример, в сети Ethereum мошенник обнаружил уязвимость в исходном коде и присвоил около 50 миллионов $ в коинах проекта, что составляло примерно 30% всего объема монет. Из-за произошедшего сообщество раскололось на две группы. Первая, во главе с создателем Эфира, возмутилась кражей, предложив сделать хардфорк и вернуть коины законным держателям. Их оппоненты были уверены, что настоящим владельцем монет теперь является хакер (“Код — это закон”). В итоге сообщество пришло к соглашению по созданию софтворка. Такой случай впервые произошел в уже далеком 2015-м году. Coinwallet.eu проводила стресс-тест блокчейн-сети первой криптовалюты, отправляя несколько тысяч транзакций на обработку. Так компания хотела разрешить дискуссию в сообществе по поводу размера блока реестра. Через месяц F2Pool совершил подобные манипуляции, проведя более 80 тысяч транзакций за небольшой промежуток времени. Разногласия касательно размера блока продолжаются и сегодня: они привели к созданию форка биткоина – Bitcoin Cash. Пользователей этой криптовалюты обвиняют в применении этого способа атаки с целью привлечения больших инвестиций в собственные проекты. Так называемые DDoS-атаки строятся на отправке большого количества идентичных запросов. У Биткоина есть встроенная защита для подобных случаев. Например, размер блоков и скриптов в сети ограничен, что усложняет возможность засорения пулов памяти нодов. Помимо этого, количество подписей для проверки и запросов проверки мультиключей также лимитировано. Клиенты блокчейна блокируют транзакции узлов с подозрительной активностью. В одном из последних обновлений Bitcoin Satoshi была внедрена функция для регистрации нестандартных транзакций весом более 100 килобайт. Кроме адресанта проверяется кошелек и валидность адресата. *** Наш список включает только самые распространенные атаки на системы блокчейна – их разнообразие поражает. Некоторые типы взломов сети интересны и выгодны мошенникам с финансовой точки зрения, а другие проводятся из любопытства или стремления показать обществу хрупкость цифрового мира. Не стоит также сбрасывать со счетов прогресс в области кибербезопасности. Разработчики постоянно тестируют и внедряют в системы защитные механизмы, модернизируют программное обеспечение и контролируют возможные атаки. Если вы хотите инвестировать в криптовалюту или заняться созданием собственных решений на блокчейне, следует учесть риски. Удачи. MarinB08
1. Атака 51%
2. Атака Eclipse
3. Атака Vector76
4. Атака Сивиллы (Сибиллы)
5. Атака Финни
6. Атака маршрутизации
7. Атака-гонка
8. Атаки по уязвимостям криптографических функций
9. Намеренное переполнение очереди транзакций
10. Отказ в обслуживании
- 3 views
- 0 Comment