Одноранговые сети могут быть подвержены разным видам атак. Что если на рынке криптовалют конкретный запрос в одноранговой сети будет обрабатываться группой узлов, которые окажутся не независимыми, а контролируемыми одним злоумышленником? При таком сценарии мы будем иметь дело с атакой Сивиллы.

Что такое атака Сивиллы

Атака Сивиллы (она же «Атака Сибиллы») получила свое название в честь романа 1973 года «Сивилла» писательницы Флоры Риты Шрайбер — о лечении женщины по имени Сивилла Дорсетт от диссоциативного расстройства личности. Страдающий таким расстройством человек как бы обладает несколькими разными личностями в одном теле.

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

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

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

Гипотетически этот вид атаки может быть использован в любой p2p-сети. Атака была известна еще до создания Биткоина, криптовалют и распространения блокчейн-технологий. До 2002 года использовался термин Pseudospoofing («псевдоспуффинг»), также существует сходный термин Sock Puppet (с английского: «носок-марионетка»), но лучше прочих прижился именно термин «Атака Сивиллы». Его предложил Брайан Зил (Brian Zill) для исследования Джона Дусура (John R. Douceur). Оба работали в Microsoft.

Прямая и непрямая атаки

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

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

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

Если проводить грубые аналогии, то на публичном голосовании может происходить следующее:

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

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

То есть вне зависимости от вида атаки (прямой или непрямой) цель одна и та же — повлиять на работу всей сети. Но достигается это за счет разных методов: через прямое воздействие или через манипуляцию топологией.

Риски децентрализации

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

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

Атака способна поставить под угрозу децентрализацию криптопроекта. Злоумышленник может использовать множество подставных личностей для манипулирования записями в блокчейне, транзакциями, пытаться всячески оказывать влияние на сетевой консенсус и в целом подрывать доверие к проекту. Если скоординированная атака Сивиллы оказалась достаточно масштабной, она может привести к «Атаке 51%» (то есть к получению «контрольного пакета» проекта). Хотя атака Сивиллы сама по себе не является атакой 51%, в некоторых сетях она может использоваться как подготовительный этап для захвата контроля.

Двойная трата и атака 51%

Проблема двойной траты (double-spending) рассматривалась в Белой книге Биткоина Сатоши Накамото. Анонимный разработчик с помощью алгоритма консенсуса разрешил следующую гипотетическую проблему:

Когда Боб покупает у Элис товар, который он оплачивает в электронной платежной системе, Элис должна убедиться, что деньги за товар поступили безвозвратно. В противном случае Боб может отменить транзакцию и потратить деньги повторно у другого продавца. Тогда Элис останется без денег и без товара.

Когда мы имеем дело с централизованной финансовой системой, валидацией (подтверждением) транзакции Боба занимается третье лицо — доверенный участник. Например, это происходит при банковском переводе, когда гарантом валидности транзакции выступает сам банк. Но как быть, когда сеть децентрализована?

В этом случае требуется универсальный сигнал, указывающий, что некая транзакция является конечной и никаких других конфликтующих транзакций принято не будет. Валидность транзакции в сети Биткоина достигается за счет алгоритма консенсуса proof of work. Сигналом к «необратимости» транзакции выступает включение ее в очередной блок блокчейна. Чем длиннее будет цепь последующих блоков, ссылающихся на включающий транзакцию блок, тем надежнее проведение транзакции.

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

Можно ли защититься от атаки

В устойчивой PoW-сети вроде Биткоина наличие нескольких фальшивых узлов у злоумышленника не позволит эффективно провести атаку, поскольку для того, чтобы манипулировать блокчейном, нужны значительные вычислительные мощности. То есть атака попросту нерентабельна. Что касается PoS-сетей, то нерентабельность может достигаться за счет большой суммы залога для валидаторов. Для проведения атаки Сивиллы потребуется оставить в залоге значительную денежную сумму. Помимо этого, сеть может штрафовать недобросовестных валидаторов.

Еще один способ защиты от атаки Сивиллы — доказательство личности (Proof-of-Personhood). При этом методе устанавливается личность участника, что затрудняет создание аккаунтов-марионеток.

Атака Сивиллы и Monero

В ноябре 2020 года стало известно, что сеть криптовалюты Monero подверглась атаке Сивилы на протяжении десяти дней. Об этом рассказал Рикардо Спаньи, один из разработчиков анонимного альткоина. Злоумышленник пытался сопоставить транзакции с IP-адресом узла, который их транслировал, и атака провалилась.

По словам Спаньи, атака не повлияла ни на один из механизмов конфиденциальности Monero. Задействованные вредоносные узлы продемонстрировали разные формы аномального поведения, в том числе:

  • активное внедрение в списки честных узлов;

  • использование ошибки, которая повышала шансы попадания вредоносных узлов в список дружественных узлов;

  • преднамеренный отказ от трансляции транзакций в сеть;

  • запись IP-адресов и попытка их сопоставления с определенными транзакциями и так далее.

Ранее, весной 2020 года в сеть Monero добавили протокол Dandelion++, который значительно усложнил последнюю задачу для злоумышленников.

Атака Сивиллы и проект Nym

В ноябре 2020 года с атакой Сивиллы столкнулась тестовая сеть проекта Nym. Технический директор проекта Дэйв Грицишин (Dave Hrycyszyn) сравнил алгоритм нападения на сеть с действиями сотни агентов Смитов из фильма «Матрица». По его мнению, если разработчики хотят остановить нежелательную репликацию вредоносных элементов в системе, то наиболее эффективным методом борьбы станет введение экономических издержек, перекрывающих целесообразность атаки.

Вывод

Атака Сивиллы — одна из наглядных концептуальных угроз для децентрализованных сетей. Она менее эффективна в устойчивых PoW-сетях вроде Биткоина, но в PoS-сетях при недостаточной децентрализации и низком пороге входа может гипотетически представлять угрозу. Лучший способ предотвращение атаки — создание экономических стимулов и издержек, которые попросту сделают атаку нецелесообразной. Впрочем, атака может варьироваться в зависимости от целей злоумышленников, как, например, в случае атаки на Monero в 2020 году. Вот почему разработчики постоянно продумывают дополнительные методы защиты данных.