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

Атака Сивиллы (англ. Sybil attack) — это разновидность атаки на компьютерную сетевую службу, при которой злоумышленник подрывает работу системы репутации, создавая большое количество псевдонимических идентичностей и используя их для получения непропорционально большого влияния. Название происходит от книги «Sybil», описывающей женщину с диагнозом диссоциативное расстройство идентичности[1]. Термин предложил до 2002 года Брайан Зилл в Microsoft Research[2]. Ранее для обозначения такого рода атак Л. Детвейлер на списке рассылки сайферпанков ввёл термин «псевдоспуфинг», который также использовался в литературе по пиринговым сетям до 2002 года, однако не получил такого распространения, как «атака Сивиллы»[3].

Описание

Атака Сивиллы в компьютерной безопасности — это атака, при которой система репутации подрывается созданием множества идентичностей[4]. Уязвимость системы репутации к атаке Сивиллы зависит от себестоимости создания новых идентичностей, того, насколько система доверяет сущностям без цепочки доверия к доверенной стороне, и равноправного отношения системы ко всем входящим идентичностям. По состоянию на 2012 год существовали доказательства, что масштабные атаки Сивиллы могут быть осуществлены очень дешёвым и эффективным способом в современных реалистичных системах, например, в BitTorrent Mainline DHT[5][6].

«Сущность» в пиринговой сети — это программа, имеющая доступ к локальным ресурсам. Она объявляет о себе посредством представления идентичности. Одной сущности может сопоставляться сразу несколько идентичностей, то есть соответствие «идентичность — сущность» обычно многие к одному. В пиринговых сетях несколько идентичностей используются ради избыточности, обмена ресурсами, надёжности и интегритета. Идентичность используется как абстракция, чтобы удалённая сущность могла взаимодействовать на уровне идентичностей, не зная внутреннего соответствия. По умолчанию предполагается, что разная идентичность — это разная локальная сущность, однако на практике это не всегда так.

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

В контексте онлайн-сообществ подобные множественные идентичности называют кукольными аккаунтами. Реже встречается термин «обратная атака Сивиллы», когда множество сущностей выглядит как одна идентичность[7].

Примеры

Наиболее известная атака Сивиллы в комбинации с атакой на подтверждение трафика была осуществлена против анонимной сети Tor в течение нескольких месяцев в 2014 году[8][9].

Известны и другие атаки Сивиллы против пользователей сети Tor, включая инциденты с подменой Bitcoin-адресов в 2020 году. Злоумышленнику удалось контролировать до четверти всех выходных узлов Tor и применять SSL stripping для понижения уровня защищённости соединений и перехвата средств на кошелёк, связанный с BTCMITM20[10][11][12].

Другой пример — атака, проводившаяся с 2017 по 2021 год участником под псевдонимом KAX17. Этот актор контролировал более 900 вредоносных серверов (преимущественно промежуточные точки маршрутизации) в попытке деанонимизировать пользователей сети Tor[10][13].

Способы противодействия

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

Валидация идентичности

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

На практике часто используются «прокси идентичности» — подтверждение номера телефона, банковской карты или даже IP-адреса клиента. Такие методы ограничены тем, что получение нескольких прокси-идентичностей обычно возможно за плату либо с помощью таких техник, как подделка SMS или подмена IP-адреса. При этом доступ к системе могут быть ограничен для пользователей без собственного мобильного телефона, карты либо находящихся за операторским NAT, где IP-адрес разделяется между многими абонентами.

Валидация на основе идентичности подразумевает подотчётность, но ценой анонимности, что нежелательно для форумов, ориентированных на свободный обмен информацией и обсуждение чувствительных тем. Орган валидации может отказаться от обратных поисков ради сохранения анонимности, однако это делает его привлекательной целью для атак. Протоколы с пороговой криптографией могут распределять роль валидационного органа между несколькими серверами, что сохраняет анонимность даже при компрометации части серверов[14].

Графы социального доверия

Методы предотвращения атак Сивиллы, основанные на характеристиках связности социальных графов, позволяют ограничить возможный ущерб и при этом сохранить анонимность. Примеры таких алгоритмов: SybilGuard[15], SybilLimit[16], доверительная метрика Advogato, SybilRank[17], а также метрики разреженности для выявления кластеров Сивиллы в распределённых P2P-системах[18].

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

Экономические барьеры

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

Подтверждение уникальности личности

Вместо проверки по классическому принципу «один человек — одна учётная запись» можно реализовать подтверждение уникальности пользователя без знания его настоящей идентичности — например, с помощью подтверждения физического присутствия в определённое время и месте[20]. Такое доказательство личности предлагается использовать как основу для блокчейнов и криптовалют, в которых каждый человек будет обладать ровно одним голосом в консенсусе[21][22]. Существует ряд практических реализаций таких протоколов, хотя многие вопросы удобства и безопасности пока не решены[23].

Специфические защиты на уровне приложений

Ряд распределённых протоколов обеспечивают защиту от атак Сивиллы: SumUp[24] и DSybil[25] реализуют стойкие к атакам Сивиллы алгоритмы онлайн-голосования и рекомендаций. Whānau реализует подобный алгоритм для распределённой хеш-таблицы[26]. В I2P реализация Kademlia также имеет механизмы противодействия атакам Сивиллы[27].

Примечания

Литература

Ссылки

  • Querci, Daniele. Sybil Attacks Against Mobile Users: Friends and Foes to the Rescue // 2010 Proceedings IEEE INFOCOM / Daniele Querci, Stephen Hailes. — 2010. — P. 1–5. — ISBN 978-1-4244-5836-3. — doi:10.1109/INFCOM.2010.5462218.
  • Newsome, James. The sybil attack in sensor networks // Proceedings of the third international symposium on Information processing in sensor networks - IPSN'04 / James Newsome, Elaine Shi, Dawn Song … [и др.]. — 2004. — P. 259–268. — ISBN 978-1-58113-846-7. — doi:10.1145/984622.984660.