Факторы, влияющие на устойчивость блокчейн-приложений против кибератак

Факторы, влияющие на устойчивость блокчейн-приложений против кибератак

Источник · Перевод автора

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

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

Факторы устойчивости в блокчейн-решении

Безопасность проекта – Архитектура блокчейн-решения, существенно зависит от степени децентрализации решений. В Интернете доступно несколько руководств, которые обеспечивают хорошее понимание и схему построения безопасных решений, начиная с момента принятия решения о том, может ли данная проблема быть решена с помощью решения, основанного на блокчейне. Два самых замечательных чтения: «Блокчейн – от публичного к частному» Лай и Ли (Lai & Lee) и «Таксономия систем на основе блокчейна для проектирования архитектуры» Инго Вебера (Ingo Weber) и др., недавно выпустивших книгу «Архитектура для блокчейн-приложений». Однако, как и другие доступные зрелые архитектуры, я думаю, что пора исследователям во всем мире собраться вместе и предоставить набор стандартных руководящих принципов, которые могут обеспечить некоторую степень уверенности для отраслей и, следовательно, ускорить их принятие.

Безопасное кодирование – блокчейн является разработкой с открытым исходным кодом, почти наверняка можно ожидать множество уязвимостей, таких как DAO-атака и Parity-кошелек, учитывая, что он все еще находится в стадии эволюции. Необходимо срочно предоставить разработчикам блокчейн-платформу для тщательного тестирования кода, прежде чем они смогут развернуть их в реальной среде. В настоящее время GitHub и Ethereum предоставляют тестовой сети бесплатные фальшивые эфиры, первые из которых являются частными, а затем общедоступными. Кроме того, органам управления следует поручить использование инструментов анализа безопасности, таких как Mythril, которые специально проверяют коды на наличие стратегий обнаружения атак и кодов самоуничтожения операций, таких как SUICIDE (используется в атаке с использованием кошелька Parity).

Атаки из-за плохой практики кодирования

Механизм консенсуса – Хорошо разработанная бизнес-логика, развернутая в блокчейне, во многом зависит от поведения его алгоритма консенсуса, основанного на трех факторах триады. Честность сервера подразумевает, что если один узел честно проверяет блок транзакций, то все остальные честные узлы также смогут сообщать точно такой же блок как действительный. Живость подразумевает способность достичь консенсуса (в конечном итоге) с отказоустойчивостью противника. В то время как пропускная способность подразумевает задержку всей сети для достижения консенсуса.

Триада Консенсуса

На основании этих факторов на сегодняшний день разработано множество алгоритмов, и их можно широко распределить по категориям: обработка при отказе или византийская отказоустойчивость (Byzantine Fault Tolerant, BFT). Алгоритмы обработки аварийных остановок утверждают, что обеспечивают 51% терпимости противника, но не обеспечивают сопротивления злонамеренным узлам, посылающим конфликтующие голоса. Более популярными являются алгоритмы варианта BFT, которые обеспечивают 33% -ную устойчивость к противодействию и разрабатываются с использованием или без использования токенов. Некоторые из них видели живое развертывание, например Ethereum с использованием Proof-of-Work (PoW) и переходом к Proof-of-Stake (PoS), BitShares и NXT используют делегированный PoS, Tendermint использует DLS BFT (Dwok Lynch Stockmeyer BFT), Ripple и Stellar использует Federated BFT, тогда как Hyper-Ledger Fabric использует Practical BFT.

Несмотря на определенную терпимость противника, протоколы майнинга привлекли несколько успешных эксплойтов, таких как Selfing Mining, атака живучести, гонка, блокирующая атака или атака на большие расстояния. Можно утверждать, что контрмеры для таких атак были также предложены экспертами и исследователями. Эгоистичную атаку майнинга можно предотвратить, используя параметр отношения между цепями эгоистичного майнера и честных майнеров, или опубликовав хэш конкурирующих промежуточных блоков. Атака на живучесть и блокирование атаки могут быть предотвращены путем вычисления максимально допустимого времени для получения блока (алгоритм нулевого блока или методы отметки времени). Атаке с двойными затратами можно противостоять путем включения наблюдателей для передачи оповещения о двойных расходах или наблюдения за монетами с двойным расходом в пределах пул памяти.

Мошенничество в транзакциях – эти атаки связаны с использованием слабых мест приложений цифрового кошелька, гибкости транзакций или конфиденциальности данных. Поставщики услуг кошелька, которые предоставляют своим пользователям услуги по управлению личным ключом, часто подвержены мошенничеству, что приводит к огромным потерям за счет невозмещаемых средств. Хорошо известен случай с Coinhoarder, 2018. Транзакционная податливость относится к способности мошенника изменять данные транзакции, такие как идентификатор транзакции, для того, чтобы они выглядели как законные, не нарушая согласованный алгоритм. Например, при сравнении чисел 022 и 22 они математически одинаковы, однако приводят к совершенно разным значениям хеш-функции. Биткойн BIP65 исправил это, сделав вывод транзакции нерасходимым до определенного момента в будущем, тем самым демотивировав злоумышленника.

Транзакции с использованием кошелька, которые являются псевдонимами и не связаны с личностью владельца, блокчейн-транзакции считаются анонимными. Тем не менее, исследователи продемонстрировали, что идентичность может быть установлена вне блокчейн-системы для отслеживания транзакционных ссылок и деанонимизации данных. Чтобы удержать злоумышленников от таких попыток, Zerocash использует одноразовые учетные записи и доказательства с нулевым разглашением для обеспечения безопасности транзакций, а также проверки без раскрытия информации о вовлеченных сторонах. Альтернативное использование «mixins» или «chaffs» в качестве секретного значения принято в Monero, хотя было доказано, что это привело к утечке конфиденциальности из-за единого шаблона службы микширования. Предлагаемые решения – либо использовать сервис распределенного микширования, не полагаясь на единую сущность, как в CoinSwap, либо использовать централизованную стороннюю работу, как в CoinJoin.

Надежная инфраструктура. Сосредоточив внимание на базовой инфраструктуре, было установлено, что любые распределенные системы или сети могут быть подвержены атакам Sybil и Eclipse. Sybil-атаки могут быть начаты путем введения нескольких поддельных идентификаторов и, таким образом, влияют на алгоритм консенсуса. С другой стороны, при атаке Eclipse сговоры могут накладывать наложение (overlay) или eclipsе на другие узлы, тем самым доминируя над соседними узлами, и в крайних случаях инициировать атаку отказа в обслуживании или цензуру.

Sybil-атаки не новы, и решения для их обхода предлагаются путем использования доверенного центрального узла регистрации или использования случайной секретной передачи, количества соединений с соседними узлами или сравнения соответствующих маршрутизаторов для проверки узлов. Аналогично, атаки затмения могут быть предотвращены путем использования таблиц детерминированного отображения (распределенных хеш-таблиц / DHT), внесения в черный список ненадлежащего поведения узлов или ограничения обмена между равноправными узлами.

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

Обнаружение мошенничества. Известно, что криминальная валюта использует криптовалюту в качестве своего метода работы, прежде всего из-за легкости неясности транзакций в реальном мире. Чтобы помешать такой деятельности, важно установить связь между этими транзакциями. Этот метод известен как кластеризация адресов, который чрезвычайно сложен из-за разреженного характера данных. Для повышения прозрачности этих псевдоанонимных транзакций используются методы кластеризации адресов, продвижение машинного обучения и искусственного интеллекта. Модель оценки, продемонстрированная Yin & Vatrapu, использует три основных компонента, а именно: 1) конвейер данных для извлечения данных из категоризированных и некатегоризированных источников, 2) выбор классификатора моделей машинного обучения, использующих предварительно обработанные наборы данных для анализа данных, и 3) подготовка окончательного результата с помощью предварительных категорированных наблюдений для прогнозирования некатегоризованных адресов и, таким образом, улучшения кластеризации. Skry IBM является первым коммерческим программным обеспечением, разработанным на основе такой модели оценки, и заявляет, что оно способно не только расследовать случаи мошенничества, такие как соответствие нормам AML, но и проводить криминалистический анализ кибербезопасности.

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